Páginas

martes, 4 de enero de 2011

Introducción a MySQL: Conceptos Básicos


 En esta entrada comenzaremos a  trabajar con el popular  manejador de Base de Datos MySQL, vamos a ir avanzando desde lo más sencillo hasta llegar a cierto nivel de complejidad, en esta entrada se darán algunos conceptos, su instalación.
Comencemos con varios conceptos importantes antes de ir a la acción, como siempre indicando que son simples resúmenes o mejor dicho, son conceptos propios con los que se desea explicar de manera sencilla algún tema, sin más preámbulo veamos los conceptos:

Que es MySQL??

Es un Manejador o Gestor de base de datos relacional, multiusuario basado en el estándar SQL sus siglas en ingles Structure Query Language (Lenguaje de Consulta Estructurado en español).

Lenguaje de Consulta Estructurado ( SQL)

 Es el lenguaje mediante el cual realizamos diferentes operaciones en nuestros sistemas o manejadores Bases de Datos, para manipular los datos a medida que esto vaya siendo necesario. El estándar SQL es utilizado en diferentes gestores de base de dato como por ejemplo ORACLE, POSTGRESQL,SQLSERVER y MySQL por supuesto.

Manejador de Bases de Datos

Los manejadores de base de datos son programas que utilizamos para manipular la información y la creación de bases de datos para nuestros sistemas, entre los más conocidos tenemos:
-ORACLE
-MySQL.
-SQLSERVER.
-POSTGRESQL
-Microsoft Access.
Entre otros.

Ya sabemos que es un manejador de base de datos pero Que es una Bases de Datos??

Es el lugar donde guardamos la información relacionada a un sistema para ser manipulada cuando esto sea necesario, entendiendo por sistema un conjunto de componentes o información relacionada entre sí para llegar a un fin.

Una vez conocido estos conceptos generales procedamos a conocer más sobre el gestor de Base de Datos MySQL

Ya sabemos que es MySQL, pero que podemos hacer con él??

MySQL nos sirve para la administración de bases de datos, podemos realizar desde realizar operaciones básicas como creación de bases de datos, inserción, actualización y eliminación de registros, hasta la creación de funciones, procedimientos almacenados, trigger, que hacen que la gestión de nuestras bases de datos sean más eficientes.
Bueno ya que conocemos un poco vayamos al trabajo con MySQL.

Primero Instalación de MySQL

Para Windows personalmente lo he trabajado con paquetes como el XAMPP o el WAMP que traen el servidor MySQL ya instalado, también instala el cliente de MySQL, además traen un Servidor APACHE y el PHP que con instalarlos solo debes de realizar tus proyectos y guardarlos en la carpeta correspondiente, en Linux lo podemos instalar ejecutando el siguiente comando en la terminal:
Instalamos el servidor MySQL
$ apt-get install mysql-server
Instalamos el Cliente MySQL
$ apt-get install mysql-client

Ya teniendo instalado MySQL en nuestro equipo estamos listos para la acción.
Si estamos en Windows para trabajar con MySQL entramos a simbología del sistema dando click en el botón de inicio, ejecutar y colocamos cmd y presionamos enter (intro), una vez en la pantalla de simbología del sistema nos ubicamos en el bin de la carpeta mysql bien sea de XAMPP o WAMP colocando lo siguiente, en caso del XAMPP ejecutando el siguiente comando
cd  c:\xampp\mysql\bin
una vez en esta carpeta ingresamos de la siguiente manera:
mysql -u root –p
Al ejecutar este comando el terminal te pedirá la clave del usuario root normalmente esta en blanco luego de este entramos en nuestro cliente MySQL y nos aparecerá algo como esto
C:\xampp\mysql\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 5.1.41 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
Cabe destacar que el paquete del XAMPP también instala un modo grafico al cual podemos acceder mediante el navegador con la siguiente URL

Si estamos en Ubuntu trabajaremos desde la terminal utilizando el cliente MySQL accediendo de esta manera
$mysql -u root -p
Al igual que se indico para Windows te pedirá la clave del usuario root normalmente esta en blanco y ya entramos en nuestro cliente MySQL nos mostrara algo como esto

carlos@carlos-desktop:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 141
Server version: 5.1.41-3ubuntu12.8 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Antes de comenzar con la creación de base de datos y las sentencias de MySQL se indicaran varios Tips para que nuestras consultas sean lo más óptimas, a medida que continúe el articulo nos iremos acostumbrando.
a)      Todas las sentencias SQL terminan en punto y coma “;“ esto es una regla del estándar SQL.
b)     En los nombres de las base de datos, tablas y los campos no pueden haber separación, si el nombre de la tabla es de dos silabas se sugiere que se utilice el underscore  para separar los nombres ejemplo:
     CREATE TABLE nombre_tabla;
c)      Las sentencias deben de ir en mayúsculas, excepto por los nombres de las bases de datos, tablas o campos de una tabla de nuestra base de datos, las funciones de MySQL siempre estarán en mayúscula, ejemplo: SELECT campo FROM database.tabla;
d)     Los nombres de las bases de datos, tablas y deben de hacer referencia a lo que estas guardaran, evitar en lo mayor posible abreviaciones de nombres de tablas, ya que mientras más claro sea el nombre más fácil de entender serán nuestras consultas. Ejemplo:      
    
Manera sugerida: 
    Base de datos: cine.
   Tabla: películas
   Campos:genero,director,actores


 Manera no sugerida:

     Base de datos: cine.
     Tabla: pel 
     Campos: gen, dir, act.  

        Aunque la creación de la base de datos y las tablas no daría error, de la manera en que se sugirió se hace referencia exacta a lo que se está almacenando y cualquier administrador de base de datos con solo ver los nombres de los campos y de la tabla entiende a que hace referencia.
e)       Se sugiere que los nombres de las tablas sean en plural ya que dentro de ellas se almacenaran una gran cantidad de registros, aunque esto no da ningún error al momento de trabajar es mas explicativo.
f)      Para velar por la integridad de nuestros datos debemos tener en cuenta que para cada tipo de dato hay un tipo de campo por lo que se sugiere que se almacenen datos en sus tipo esto evita errores, un error muy común es que las fechas se almacenen en campos tipo VARCHAR, debido a que pueden guardar la fecha en el formato que ellos quieren, esto es un error grave ya que al momento de hacer comparaciones entre fechas no será óptimo ya que están en campos de tipo string y no en su correspondiente que sería de tipo fecha, para dar formatos a fechas o hacer búsquedas de alguna existen funciones como date_format,DAY, etc.

Estas son simples sugerencias para que la administración de nuestras base de datos sean lo más optima posible, en los proyectos que he realizado he trabajado de esta manera y hasta ahora no he tenido ningún problema, aunque  cualquier sugerencia siempre será válida y tomada en cuenta incluso si tienen alguna otra convención diferente que ayude a optimizar la administración de bases de datos seria buena.

Bueno en este articulo aprendimos un poco sobre los conceptos básicos de los manejadores de base de datos en especial MySQL, vimos la instalación de de este gestor, también establecimos algunas convenciones para que el manejo de las consultas sea óptimo, espero que cree curiosidad, hay mucha más teoría que se puede investigar sobre MySQL, como sus motores de almacenamiento, tipos de datos, aunque de esto se hablara un poco cuando empecemos a trabajar con tablas, ya se está trabajando en el segundo artículo donde hablaremos del lenguaje de definición de datos en MySQL, comenzaremos el trabajo con sentencias de este pequeño tutorial de MySQL, un saludo, espero que les sea útil cualquier sugerencia es aceptada Feliz Año Nuevo!!.

No hay comentarios:

Publicar un comentario