Curso de MySQL (I): Introducción a las Bases de Datos Relacionales Esta es la primera parte de un curso completo de MySQL para principiantes. Crea y administra ases de datos con MySQL! un potente
"estor de ases de datos utili#ado por sistemas "estores de contenidos como $ord%ress $ord%ress!! &oomla y Drupal y por empresas como! por e'emplo! el "rupo %risa. %risa. Este curso de MySQL para para principiantes principiantes consta de tres entregas: •
Introducción a las Bases de Datos Relacionales.
•
Instalación y Conceptos Bsicos de MySQL.
•
Comandoss y unciones de MySQL. Introducción a p*pMy+dmin Comando Si te interesa el tema! ,uel,e ma-ana y el 'ue,es a por las si"uientes entre"as de este curso de MySQL para principiantes. Empecemos pues con la introducción a las ases de datos relacionales.
Qu es una ase de datos /na ase de datos es un con'unto de datos organizados e interrelacionados 0ue se or"ani#an y relacionan entre s1 de manera sistemática! esto es! si"uiendo unas determinadas re"las. En muc*os sitios ,eremos 0ue se reieren a una ase de datos con atabase). la are,iatura BD o DB (del in"ls d ata
E'emplos de ases de datos: •
La ase de datos de una tienda online ! con los datos de sus clientes! productos! mtodos de pa"o! etc.
•
La ase de datos de un foro online ! almacenando las con,ersaciones! usuarios! temas! etc. La ase de datos de un blog con los art1culos! cate"or1as! eti0uetas!
•
etc.
2'etos de una ase de datos Las ases de datos normalmente presentan 3 tipos de o'etos: •
4alas
•
5istas
•
6unciones
•
7ndices
•
%rocesos almacenados
•
4ri""ers o disparadores 5eamos cada uno de estos o'etos con ms detalle.
4alas Las talas son los principales o'etos de una ase de datos. Representan la estructura 1sica donde se almacenan los datos. Las talas contienen re"istros y cada re"istro contiene campos. /n registro es cada una de las ilas de la tala!mientras 0ue el campo es cada una de las columnas de la tala.
5istas Son talas 0ue se orman a partir de otras talas como resultado de una consulta SQL. Se pueden reali#ar sore ellas las mismas operaciones 0ue sore las talas! pero es importante recordar 0ue los camios aectan a l as talas ori"inales! pues una ,ista es sólo eso! un modo de ,isuali#ar los datos de otras talas.
6unciones Son operaciones 0ue el sistema "estor de ase de datos reali#a sore l as mismas. Estas operaciones son necesarias para poder interactuar con la ase de datos. E'emplo: 2peraciones para crear los o'etos de la ase de datos: talas! ,istas! etc.
7ndices Los 1ndices permiten acceder a los elementos con mayor rapide# a los re"istros de una tala de una ase de datos. 8ormalmente se utili#an en a0uellos campos 0ue son ms recuentes en las 9s0uedas.
E'emplo: /tili#ar el n9mero de pasaporte para locali#ar a un ciudadano europeo en una ase de datos interestatal. De todos los datos de la tala ciudadano europeo;! esco"er1amos el pasaporte como 1ndice.
%rocesos almacenados Se trata de un pro"rama 0ue se almacena en la ase de datos y 0ue se e'ecuta directamente en el sistema "estor de ase de datos. E'emplo: uscar en la ase de datos todos los usuarios cuya ec*a de nacimiento sea *oy y en,iarles una elicitación de cumplea-os
4ri""ers o disparadores Es un proceso 0ue se e'ecuta 9nicamente cuando se cumple una condición preestalecida. Los tri""ers o disparadores pueden crear! editar o orrar talas en una ase de datos. E'emplo: En,1o de un correo electrónico de ien,enida a un usuario 0ue se acaa de re"istrar.
Qu es un sistema "estor de ases de datos /n sistema "estor de ases de datos es una aplicación informática 0ue permite al usuario interactuar con las ases de datos. Es una intera# 0ue permite al usuario acceder a los datos almacenados en las ases de datos 0ue lo inte"ran. 8os acostumramos a reerir a estos sistemas con las si"las DBMS! 0ue pro,ienen del nomre en in"ls: Database M anagement S ystem.
Modelos de ases de datos 4enemos dierentes modelos de ases de datos! entre ellos cae destacar:
Modelo tala. Se trata de una serie ormada por una tala idimensional compuesta por registros y por campos en la 0ue se reco"en los datos.
Modelo 'err0uico. Se asa en re"istros or"ani#ados en orma de árbol 'err0uico in,erso. •
•
5enta'as: 6acilita las relaciones <:8 unidireccionales o padre= *i'o! en el 0ue el padre es el elemento superior y el *i'o el 0ue 0ueda 'usto dea'o (i"ual 0ue sucede con CSS). !"#si"niica 0ue un padre puede tener muc*os *i'os! pero un *i'o sólo puede tener un padre. Incon,enientes: Es un modelo 0ue implica la duplicidad de re"istros! lo 0ue diiculta muc*o su "estión en casos de ases de datos "randes.
Modelo de redes. Est asado en re"istros. /n re"istro puede tener otro re"istro! es una e>tensión del modelo anterior! su dierencia undamental es la modiicación del concepto de nodo: se permite 0ue un mismo nodo ten"a ,arios padres.
Modelo relacional. Este es el modelo 0ue se acaó imponiendo y el más popular actualmente. Est asado en el modelo de talas! pero permitiendo la relación entre las
dierentes talas en ase a unas re"las. MySQL se asa en este modelo! por lo 0ue lo ,amos a ,er con ms detalle. +*ora simplemente especiicar estos puntos: •
•
•
Los elementos de una ase de datos relacional son capaces de relacionarse sin necesidad de duplicar la inormación. /tili#an SQL (Structured Query Lan"ua"e) para otener la inormación de ,arias uentes en una 9nica consulta /tili#an cla,es para estalecer estas relaciones (cla,es primarias y e>ternas! 0ue ,eremos ense"uida).
?ay otros modelos! como el transaccional! el multidimensional! o el orientado a o'etos. %ara ms inormación! os recomiendo este art1culo de la $i@ipedia sore Modelos de Bases de Datos.
Conceptos sicos de las ases de datos relacionales Los principales conceptos de las ases de datos relacionales son: •
Datos
•
Entidades
•
Cla,es primarias
•
Cla,es e>ternas
•
Relaciones
•
Restricciones de inte"ridad reerencia
•
Metadatos + continuación ,eremos cada uno de ellos con detalle y e'emplos 0ue sir,an para entender los conceptos.
Datos. Co"iendo la deinición de Rame# Elmasri! los datos son *ec*os conocidos 0ue se pueden re"istrar y 0ue tienen un si"niicado impl1cito. E'emplos" nomre! apellido! dirección! telono.
Entidades. /na entidad es todo a0uello de lo 0ue nos interesa tener unos datos "uardados. E'emplos: Clientes! personas! productos! traa'adores. En un modelo de entidad=relación! las relaciones las conorman los atriutos y los campos del tema 0ue nos interesa "uardar.
Cla,es primarias
Cada entidad tiene 0ue tener una cla,e primaria 0ue identii0ue 9nicamente al con'unto de datos. Si"uiendo con el e'emplo! la entidad Clientes tendr como cla,e primaria el códi"o cliente! la entidad acturas el n9mero acturas y la entidad producto el códi"o producto. Es muy importante 0ue la cla,e primaria sea $nica y 0ue 'ams se pueda repetir. +s1! no pueden *aer dos acturas con un mismo n9mero.
Cla,es e>ternas Las cla,es e>ternas son las cla,es e>ternas de otra entidad 0ue orman parte de la tala de la entidad actual. +s1! en nuestro e'emplo! en la entidad 6actura! el códi"o cliente y el códi"o producto son entidades e>ternas.
Relaciones
Las relaciones son lo 0ue dice el trmino! como se relacionan las entidades entre s1 a tra,s de sus campos y atriutos. +s1! en nuestro e'emplo! la entidad 6acturas se relaciona con las entidades Clientes y %roductos a tra,s del códi"o cliente y el códi"o producto de cada uno de sus campos respecti,amente.
Restricciones de inte"ridad reerencial Las restricciones de inte"ridad reerencia son las condiciones 0ue se *an de cumplir para 0ue el modelo ten"a sentido y sea co*erente. Si"uiendo con nuestro e'emplo! para 0ue en las 6acturas se pueda poner el códi"o cliente! antes *a de e>istir el cliente.
Metadatos Los metadatos son datos 0ue inorman sore los datos presentes en una ase de datos. E'emplos: lon"itud de un campo (n9mero de caracteres)! tipo de campo (te>to! n9mero..)! inormación del campo! etc.
SQL y MySQL Qu es SQL SQL (Structured Query Lan"ua"e) es un len"ua'e declarati,o estndar para la "estión de ases de datos relacionales! 0ue permite recuperar y modiicar cilmente inormación de inters de las ases de datos mediante consultas. +ctualmente! la mayor1a de sistemas "estores de contenidos utili#an SQL! por lo 0ue si se conoce SQL! se puede traa'ar con dierentes DBMS como MySQL! 2racle! SQL Ser,er! %ost"reSQL! etc.
%aracter&sticas de SQL: •
•
•
•
Es un len"ua'e declarati,o de alto ni,el 0ue permite una alta producti,idad! ya 0ue est asado en la "estión de un con'unto de re"istros. E>plota tanto la le>iilidad como la potencia de los sistemas relacionales Se di,ide en dos sulen"ua'es: Data Definition Language (DDL): len"ua'e para la creación de
o'etos de una ase de datos •
Data Manipulation Language (DML): len"ua'e para la
manipulación y consulta de los datos de una ase de datos.
Introducción a MySQL Qu es MySQL MySQL es un sistema de ase de datos basado en el modelo relacional ! multi*ilo y multiusuario.Multihilo si"niica 0ue el sistema distriuye automticamente las tareas a reali#ar entre los procesadores disponiles! optimi#ando el rendimiento. El nomre pro,iene de la unión de My con SQL. My era la *i'a del coundador de la empresa ori"inaria de la idea. 'or (u) utilizar MySQL" •
•
•
•
Es código abierto ! lo 0ue si"niica 0ue es "ratis de utili#ar y 0ue se puede modiicar. Su uso est muy e*tendido: desde sistemas "estores de contenidos como $ord%ress y Drupal! a "rupos de empresas como %risa. Es muy fácil de aprender y utilizar ! al ser muy intuiti,o. 6unciona muy ien +unto con ','! lo 0ue permite crean p"inas Ae dinmicas con acilidad.
2peraciones sicas con MySQL Con MySQL se pueden reali#ar muc*os tipos de operaciones. Las operaciones sicas son:
•
Crear ases de datos
•
Crear usuarios! "rupos de usuarios y contrase-as.
•
Crear y modiicar talas
•
Eliminar talas
•
Car"ar datos
•
+-adir y modicar re"istros en las talas
•
Consultar y actuali#ar los re"istros
•
Eliminar re"istros
•
?acer consultas con'untas a ,arias talas en modo ,ista
•
2peraciones de a"rupación! orden! comparación! etc.
•
2peraciones a,an#adas! como pro"ramación de tri""ers! procesos almacenados! etc.
Conclusión En esta primera entre"a del Curso de MySQL *emos ,isto una introducción a las ases de datos! los sistemas "estores de BD! el modelo relacional en 0ue se asa SQL y una re,e introducción a MySQL. Ma-ana pulicaremos la se"unda entre"a! donde aprenderemos a instalar MySQL y los conceptos sicos para poder empe#ar a crear y manipular ases de datos.