Curso de Bases de Datos con MySql -Parte II- (Video) -Entidad/Relación-
Este Curso de bases de datos con MySql esta formado por las siguientes entradas:
- Parte I: Instalación del MySql Server y MySql Workbench
- Parte II: Creacción de Tablas y Relaciones entre tablas (Modelo Entidad-Relación)
- Parte III: Sentencias básicas de MySql (Definition & Manipulation)
- Parte IV: Sentencia "INNER JOIN" para la unión de Tablas
- Parte V: Sentencia "GROUP BY" para la agrupación de datos
Parte II: Creacción de Tablas y Relaciones entre tablas (Modelo Entidad-Relación)
En esta segunda parte del curso de bases de datos vamos a aprender como crear tablas con el MySql Workbench y como relacionar estas tablas. Lo más importante de todo esto es ver los tres tipos de relaciones que puede haber entre tablas y como estas relaciones "afectan" a las tablas o al Modelo entidad-Relación creado. En definitiva en esta segunda parte del curso mostraremos los conocimientos necesarios para modelar la base de datos que estemos creando.
A continuación mostramos el video explicando la creacción de tablas y como realizar el modelo Entidad-Relación.
En el video tutorial se han creado las siguientes dos tablas con los siguientes atributos:
Relación "N:M": En una relación N:M se crea una tabla intermedia con las claves de las tablas y de la relación. Si la relación tiene atributos se le añaden a la tabla los atributos de la relación:
Relación "1:N o N:1": En esta relación se añade a la tabla "N" la clave de la tabla "1". (Una persona puede tener de 1 a N coches y un coche pertenece a una unica persona).
Relación "1:1": Añadir la clave de una tabla cualquiera a la otra tabla.
o
Para crear la tabla "Persona" se ha tenido que ejecutar los siguiente:
CREATE TABLE `MiPrimeraBaseDeDatos`.`Persona` ( `id` INT NOT NULL AUTO_INCREMENT , `Nombre` VARCHAR(80) NOT NULL , `Apellido1` VARCHAR(80) NOT NULL , `Apellido2` VARCHAR(80) NOT NULL , `DNI` VARCHAR(9) NOT NULL , PRIMARY KEY (`id`) , UNIQUE INDEX `id_UNIQUE` (`id` ASC) );
Las tablas tambien se crean con la siguiente estructura:
CREATE TABLE `nombreBaseDatos`.`nombreTabla` ( `nombreAtributo1` TIPO CARACTERISTICAS , `nombreAtributo2` TIPO CARACTERISTICAS , ....................... PRIMARY KEY (`nombreAtributoPrimaryKey`);
Muy interesante, muchas gracias.
El ejemplo de la relación de 1:N y de 1:1 es el mismo, no me deja claro en realidad la diferencia.
El ejemplo 1:N quiere decir que: UNA (1) Persona puede tener VARIOS (N) Coches.
N o * (varios): significa que pueden ser entre cero y muchos.
1: Significa que como máximo solo puede tener uno (como máximo uno y como mínimo cero; es decir, en el ejemplo de 1:N los Coches siempre han de pertenecer a una persona; cualquier Coche de la tabla no podrá nunca pertenecer a varias Personas).
Por otro lado, 1:1 en el ejemplo quiere decir que: UNA (1) Persona tiene UN (1) Coche. Igual que en el anterior ejemplo, cualquier Coche de la tabla solo pertenecerá a una Persona. A diferencia al ejemplo de 1:N, cada Persona solo puede tener como máximo un Coche.
Sí es igual que el ejemplo de 1:N pero el ejemplo es válido, lo revisaremos.