Mi experiencia en Bases de Datos

1.- Bases de Datos para Ingenieros Comerciales

En las primeras etapas de la carrera como por ejemplo Analistas o Ingenieros de Estudios se pueden necesitar conocimientos de Bases de Datos para hacer reportes financieros, de ventas o Marketing e incluso para RRHH y pagos de sueldos, en donde se requiere procesar grandes bases que a veces pueden colapsar a un simple EXCEL aún  con tablas dinamicas.

Así, tener nociones de bases de datos puede ser util en ciertos casos  como cuando se trata de :

a ) Bases de datos relacionales (campos en diferentes tablas)
b ) Tablas muy grandes (supongamos 80.000 registros y 1.000 campos).
c ) Tablas de pocos campos pero 3.000.000 de registros (Employees Sample DataBase)

Para Bajar Bases de Datos de Ejemplo para practicas de SQL,  ver :

Ejemplo de Bases de Datos en MySQL
https://dev.mysql.com/doc/index-other.html

  • Menagerie db
  • World db
  • Sakila db
  • Employees db

Para nosotros esto puede ser engorroso y por lo tanto un buen programa puede ayudar a depurar tales bases para generar tablas con los campos y registros extrictamente necesarios para, por ejemplo hacer un cuadro de ventas.

De los 1.000 campos originales quizas necesitamos 5 y de los 80.000 registros a lo mejor con un año basta y entonces reducimos nuestra base a una tabla de 5 x 15.000.

Las bases de datos trabajan todo con caracteres del tipo texto, sin formatos ni caracteres adicionales que puedan hacerlos mas pesados y por lo tanto son mas rapidas y menos consumidoras de recursos, como por ejemplo de memoria RAM.

El tema es largo pero para empezar hay que escoger armas y uno puede elegir entre lenguaje SQL (Structured Query Language) o JSON (JavaScript Oracle Notation) para bases de datos en ambiente ORACLE.

En la actualidad se sabe que ORACLE ha comprado SQL por lo que quizas hagas bien en escoger Java (JSON) para programar databases en ambiente ORACLE, sin embargo también hay bases ahí que aceptan SQL.

Por lo pronto SQL [es-kiu-el] no ha muerto y aún tiene ese aire de coder juvenil y bakan, ideal para estudiantes intrepidos y avesados.

Así para enfrentar adecuadamente el tema de Bases de Datos hay que tener :

  1. Programa de Administración de Base de Datos (Toad, Sequel Pro, Navicat, SQLite Browser, ACCESS etc .. hay miles )
  2. Lenguaje (SQL o JSON)
  3. Tutorial para aprender algun lenguaje (Khan o Code Academy)
  4. Code Editor (Brackets, Sublime 2, CotEditor)

2.- Free Database Manager

2.1 Sin Conección

Hay varios disponibles en el mercado pero en general los procesadores gratis están restringidos a una conección local que a veces puede resultar dificil de realizar.  Al final en el punto 3.0.0 menciono MAMP que es un programa que hace la conección automaticamente y que permite operar con bases locales (localhost) en el disco duro HDD.  En general las aplicaciones que menciono para Mac, también están disponibles para Windows y por lo tanto también las pueden buscar para ese sistema.

2.1.1 SQLite Browser  (FREE, Win, Mac)

Es una aplicación que permite crear y abrir bases de datos en el disco duro sin necesidad de efectuar una conección a este.

SQLite Browser
http://sqlitebrowser.org

Screen Shot 2015-12-13 at 5.07.07 PM

Este tipo de bases maneja archivos con una extensión  *.sqlite  que es mas liviano que el tradicional  *.sql que es el tipico archivo de SQL [es-kiu-el] pero que en general puede ser abierto por programas mas poderosos que son multilenguaje y soportan varios formatos pero son caros, esto es arriba de 800 dolares.  Este es gratis y para hacer bases de datos funciona bien !!

2.1.2 Trial de Navicat de 14 días (Comercial,Win, Mac, Trial FREE)

Siempre desde la perspectiva de FREE database, despues de haber aprendido algo de SQL, recomiendo descargar este programa y usar el TRIAL de 14 días para aprender a manejar bien una base de datos MULTILENGUAJE y como opera cuando esta todo disponible y FREE.  En paralelo a SQLite Browser por ejemplo puede ayudar a resolver muchos problemas de importación y exportación de archivos.

Si yo tuviera que escoger un App pagado full por 700 USD, escogeria este

Navicat Premium Essentials
http://www.navicat.com/products/navicat-essentials

Screen Shot 2015-12-13 at 5.19.15 PM

2.1.3  ORACLE SQL Developer (FREE, Win, Mac)

Es un App de ORACLE con un look antiguo , pero que permite manejar bases en SQL y hacer Consultas o Queries que basicamente se tratan de extraer algunos registros y algunos campos que estén sujetos a ciertas restricciones  (Ej :  WHERE   Pais = “USA”;)

ORACLE SQL Developer
http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index-097090.html

Screen Shot 2015-12-13 at 5.23.33 PM

2.1.4  Access (Comercial, solo Win)

Menciono ACCESS que maneja bases de datos  *.mdb y que no está disponible  para Mac y funciona como la base de datos de Libre Office o Open Office que menciono mas adelante.

Es una buena base de datos, facil de usar pero solo disponible para Windows y como en este caso hago una revisión para Mac solo la mencionare.  Este programa no requiere de SQL y casi todo esta enlos comandos o en Wizards.

2.1.5  Libre Office (FREE, Win , Mac)

LibreOffice es una suite similar a MSOffice que es bastante poderosa y funciona bien.  Libre Office contiene entre sus aplicaciones una base de datos que funciona de manera casi similar a ACCESS, sin embargo genera archivos en un formato propietario que es  *.odbc

Libre Office
https://www.libreoffice.org

2.1.6  Apache Open Office (FREE, Win , Mac)

Apache Open Office es otra suite similar a MSOffice que también incorpora base de datos y que no requiere lenguaje de programación, es similar a la operación de ACCESS y cuenta con Wizards para funcionar. Genera archivos *.odbc

Apache Open Office
http://www.openoffice.org/download/

2.2 Con conección

2.2.1 Toad de Dell (FREE, Win , Mac)

Es un programa multilenguaje que tambien maneja SQL,  sin embargo para trabajar con archivos en el disco duro, requiere CONECCION lo que puede resultar muy complicado para quien no tiene bases en INFORMATICA.

La gracias de TOAD es que es gratis y puede manejar volumenes grandes de información y se pueden hacer Consultas/Queries en SQL .

Para hacer una conexión sin mayores traumas ni preguntas :  ) pasar directamente al item 3.0.0 MAMP y ver el siguiente video-screencast

Video – ScreenCast

Sequel Pro y Toad operando sobre MAMP en una conexión localhost
http://www.screencast.com/t/cIGhqNoZbup

Toad de Dell
http://www.toadworld.com

Toad

2.2.2  Sequel Pro  (FREE, solo Mac)

Es un programa que maneja lenguaje SQL y permite hacer Consultas/Queries y manejar grandes bases de datos.  requiere establecer conección para lo cual los remito al punto 3.0.0 MAMP que a mi me funciono bien.

Una vez establecida la conección en MAMP, las bases de datos pueden ser abiertas con TOAD o SEQUEL PRO usando la misma conección.

Sequel Pro
http://www.sequelpro.com

Sequel Pro

2.2.3  My SQL Workbench (FREE,Win , Mac)

Este es un APP que esta mas bien orientado al diseño de bases de datos mediante diagramas, sin embargo tienen una serie de funcionalidades que permiten hacer algunas Consultas/Queries.  También requiere de conección por lo que los remito al punto 3.0.0 MAMP

MySQL Workbench
https://www.mysql.com/products/workbench/

My SQL Workbench

2.2.4  phpMyAdmin (FREE, Win, Mac)

PHPAdmin es un client FREE de MySQL y viene incluido en MAMP cuya descripción se hace en el punto 3.0.0.   Una vez que se ha lanzado MAMP,  inmediatamente aparece la pagina web o puede ser lanzada desde el panel de control de la aplicación. En esta página hay una opción Tools > phpMyAdmin en donde se despliega este client y que funciona igual que los otros.

Descargas de phpMyAdmin
https://www.phpmyadmin.net

Descargas de MySQL
https://dev.mysql.com/downloads/mysql/

Hay que tener en cuenta que para que funcione apropiadamente hay que descargar el programa y posicionar la carpeta en cualquier parte en el sistema.  El comando Tools > phpMyAdmin de MAMP  (ver 3.0.0)  la tomara automáticamente.

Screen Shot 2016-04-12 at 11.55.42 AM.png

Screen Shot 2016-04-11 at 10.10.37 AM

2.2.5  DBeaver (FREE, Win, Mac)

Dbeaver es un client que está a nivel de TOAD o Sequel Pro pero que ademas tiene ventajas en diseño comodo y bonito, es rápido, autopredictivo, tiene diagramas ER y el dashboard tiene varias ventanas de control que pueden resultar muy entretenidas y fáciles de manejar.

A muchos el castor que es icono de esta aplicación no les gusta pero sus ventajas superan cualquier reticencia que pueda haber al respecto.

DBeaver puede ser descargado en
http://dbeaver.jkiss.org

Screen Shot 2016-04-11 at 10.31.19 AM

2.2.6  Wabit (FREE, Win, Mac)

Wabit es en esencia un generador de reportes y es gratis ( FREE ), permite hacer reportes, gráficos y Dashboards, paneles de control o cuadros de mando a partir de consultas o queries ejecutados en SQL desde el mismo programa que cuenta con un client de SQL sin mayores pretensiones que reducir los datos a un set de datos que pueda ser ejecutado en los wizards de reportes, gráficos y dashboard.

En el mercado hay miles de aplicaciones pagadas que son infinitamente mas poderosas que WABIT o ECLIPSE, sin embargo como introducción al tema de REPORTING, estas dos son suficientes.

Wabit puede ser descargado en
http://www.sqlpower.ca/page/wabit

Screen Shot 2016-04-11 at 10.49.25 AM
Screen Shot 2016-04-11 at 10.49.59 AM

2.2.8  Eclipse (FREE, Win, Mac)

Eclipse es una herramienta para desarrolladores de java y otros lenguajes de programación, sin embargo cuenta con una extensión de TOAD que opera como editor SQL y un WIZARD de REPORTES que opera generando archivos *.rpt_design que pueden ser usados en reportes que aceptan SQL para definir el SET de datos para posteriormente producir el reporte. 

Cuando se trata de tablas cruzadas o cross-tabs, se requiere hacer un CUBO que es análogo a la definición que requiere EXCEL en sus Tablas Dinamicas y por lo tanto fáciles de comprender.

La generación de un reporte cross-tab puede ser exportada a EXCEL para posteriormente generar un reporte de mas elaboración gráfica o de diseño.

1  ) Conectar con la base de datos original (usar driver MySQL 5.0.8 o superior)
2 ) Definir el Data set mediante un  QUERY SQL o inserción de una tabla
3  ) Definir el cubo con los atributos a cruzar y el campo a totalizar

El driver jdbc MySQL oficial mas reciente es https://dev.mysql.com/downloads/connector/j/5.0.html

Ademas de reportes específicamente conectados, ECLIPSE puede ser usado como client de base de datos con alguna de las extensiones de TOAD o DBeaver.  Adicionalmente la extensión ER Master permite importar con solo un Wright-click en el área de trabajo, los  diagramas ER (Entidad-Relación) o bien  producirlos para desarrollar una nueva Database

Cargar Extensiones de Database para ECLIPSE  :

1  ) TOAD extension for ECLIPSE
https://marketplace.eclipse.org/content/toad-extension-eclipse

2  ) Dbeaver extension for ECLIPSE
https://marketplace.eclipse.org/content/dbeaver

3  ) ER Master para Diagramas de Entidad-Relación (ERD)
http://ermaster.sourceforge.net/content/manual/en/index.html#3.1.

Screen Shot 2016-04-11 at 11.13.02 AM

Cubo OLAP

Reporte cubo Olap Screen Shot 2016-04-10 at 11.18.30 PM

2.2.9 Valentina (FREE, Win , Mac)

Valentina en su versión de prueba es poderoso porque el Trial dura un año y solo ha sido limitado sólo en caracteristicas adicionales que aun cuando no limitan la operación esencial, uno se da cuenta inmediatamente que hacen la vida mucho mas facil y por lo tanto altamente deseables.

ALTAMENTE RECOMENDABLE

Así, la experiencia de un TRIAL en SQL es muchisimo mas  completa por lo siguiente :

  • Permite hacer Queries o Consultas
  • Permite importar y construir diagramas ER (Entidad – Relación)
  • Permite usar WIZARD de Queries con diagramas ER entregando la sintaxis SQL lo que permite desarrollar scripts complejos haciendolo una gran ayuda en el aprendizaje

Screen Shot 2016-04-15 at 10.42.39 PM

Screen Shot 2016-04-15 at 10.51.21 PMScreen Shot 2016-04-15 at 11.08.29 PM

2.2.11 Visual Studio (code Editor) ( FREE, Win, Mac)

Visual Studio es un Code Editor que está para Mac y permite conecciones de localhost a bases de datos locales mediante extensiones qu eson muy basicas pero no por eso menos poderosas puesto que permiten ejecutar queries complejos.

Su ambiente evoca a los sisemas DOS y ofrece una experiencia que puede ser muy entretenida casi al estilo de una operación Trueno en Kazhaghistan x  ).

Screen Shot 2016-04-16 at 10.25.50 AM

2.2.12 Brackets (Code Editor) (FREE, Win, Mac)

Brackets también puede ser conectado a bases de datos , en particular yo he podido conectarme bien con la extension Database Client lo que permite efectuar queries complejos siendo una muy buena posibilidad en un ambiente entretenido y agradable. Así, los Code Editors a veces pueden ser una buena opción para manipular datos en SQL usando una conección de bases de datos local.

Screen Shot 2016-04-16 at 1.10.06 AM

3.0.0 Conección MAMP (FREE, Win , Mac)

Esta aplicacion es la que permite hacer un PIPING al disco duro de manera tal que establece una conección a un directorio en donde se pueden almacenar bases de datos y generar tu trabajo.

Mamp

No tengo claro cual es su objetivo o como funciona pero entrega las coordenadas para hacer la conección que permitira a TOAD o a SEQUEL PRO conectarse al disco duro con tu base.

Se instala el MAMP FREE o gratis (el de color gris)  y al final de la instalación despliega una pagina en donde entrega las coordenadas :

Screen Shot 2015-12-12 at 10.16.20 PM

Con el Host, el Port, User y Password uno debiera poder conectar la base de datos al disco duro en una conección STANDAR (el socket no es necesario y el tecnico puede esperar para cosas mas complejas) que ya ha sido establecida por el MAMP.

MAMP hace la conección !!

MAMP
https://www.mamp.info/en/

4.- Que es SQL y donde aprenderlo

4.1  Que es SQL ?

SQL es un lenguaje de programación que contiene la Sintaxis necesaria para manejar bases de datos.  Es un lenguaje sencillo, casi tanto como el BASIC y por lo tanto rapido de aprender.

En un par de semanas uno debiera poder estar realizando Consultas/Queries de mediana complejidad en bases de datos relacionales o en tablas para generar cuadros, clasificaciones o Queries sujetos a restricciones.

Ejemplo : SELECT * FROM database WHERE field_1 >400;

Esta sentencia indica que la Consulta/Query debe listar todos ” * ” los campos de la base de datos ” database ” en donde field_1 sea mayor que 400. (no es dificil).

Alguien que ya tiene un lenguaje (Basic, Fortram, Cobol o Java) puede acceder facilmente a alguno de los cientos de cursos ON-LINE disponibles en el mercado. Por supuesto hay cursos pagados y gratis.  En particular yo tengo 2 cursos de computación hechos en la UdeC así que el tutorial gratis para mi estuvo bien.

4.2 On-Line Tutorials

Aquí sugiero 2 tutorials  o cursos gratis disponibles ON-LINE para que los puedas revisar y estimularte a aprender un lenguaje determinado.

3.2.1 Khan Academy  (Buscar SQL)
https://www.khanacademy.org

3.2.2 Code Academy
https://www.codecademy.com

4.3 Bibliografia

Begining SQL
Paul Wilton and John W. Colby
Wiley Publishing Inc.

5.- Editores de Programación o Code Editors

Como buen Coder o programador hay que escoger algun Code Editor que sea apropiado a tu personalidad, esto es tranquilo, intrepido, extravagante, osado o juvenil y por lo tanto quizas es bueno revisar alguna clasificación o modelo Psicografico para que puedas escoger tu personalidad, fonts y colores.

Hay miles de editores pero por lo pronto menciono :

5.1 Brackets de Adobe (FREE, Win , Mac)
http://brackets.io

5.2 Sublime 2 (Comercial, Win , Mac)
http://www.sublimetext.com/2

5.3 CotEditor (FREE, Win, Mac)
https://coteditor.com

Ejemplo de Code Editor en CotEditor para Mac

Code Editor

6.- Otras herramientas de Reportes o Business Intelligence (BI)

6.1 Spagobi (FREE)
6.2 Pentaho
6.3 Datavision
6.4 DBXtra
6.5 Datapine
6.6 Tableau
6.7 Click
6.8  Articulo : 20 Herramientas de Reporting
6.9  Articulo : The Best Self-Service Business Intelligence (BI) Tools of 2016

7.- Herramientas de Diagramas ER  o ERD (Entity-Relations Diagram)

7.1 ER Master  FREE  (Extension de ECLIPSE for Win,Mac)
http://ermaster.sourceforge.net/content/manual/en/index.html#3.1.

7.2 NCH Software  (FREE, Win, Mac)

ClickCharts Diagram & Flowchart Software
http://www.nchsoftware.com/chart/index.html

7.3 Dbdesigner4 (FREE, Win)
http://fabforce.net/dbdesigner4/

7.4 Erwin Data Modeler (FREE, Win)
http://erwin.com/products/data-modeler/community-edition

7.5 Code by Design (FREE, Win, Mac by request)
http://www.codebydesign.com

7.6 Open Model Sphere (FREE, Win)
http://www.modelsphere.com/org/

7.7 SQL Power Arquitect (FREE, Win , Mac)
http://www.sqlpower.ca/page/architect_download_os

7.8 Lucidchart (Comercial, web)
https://www.lucidchart.com/pages/tour/ER_diagram_tool

7.9 SQLEditor for Mac OS X (Comercial, Mac)
http://www.malcolmhardie.com/sqleditor/requirements.html

6.10 DbWrench (Comercial, Win, Mac)
http://www.dbwrench.com

8.-Programas con  ER   (ENTITY-RELATION-DIAGRAM)

8.1 DBeaver  (FREE, Win, Mac)
8.2 My SQL Workbench  (FREE, Win, Mac)
8.3 NAVICAT (Comercial, Win, Mac)
8.4 Valentina (Comercial, Win, Mac)  FREE TEST

 

One response to “Mi experiencia en Bases de Datos

  1. Pingback: Customer Relationship Manager (CRM) | Tools & Tech·

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s