40 likes | 269 Views
…Tablas. DDL. Relaciones entre tablas e integridad referencial. Para crear tablas relacionadas con MySql : Las tablas que se van a relacionar tienen que ser tipo InnoDb Tipo de tabla que permite definir estricciones de claves foráneas para garantizar la integridad de los datos).
E N D
…Tablas DDL
Relaciones entre tablas e integridad referencial • Para crear tablas relacionadas con MySql: • Las tablas que se van a relacionar tienen que ser tipo InnoDb • Tipo de tabla que permite definir estricciones de claves foráneas para garantizar la integridad de los datos). • Sintaxis: • FOREIGN KEY (campo_fk) REFERENCES nombre_tabla(nombre_campo) TYPE = INNODB; • Crear un índice en el campo que ha sido declarado claveforánea • Es necesario el uso de índices para que la verificación de las claves foráneas sea más rápida
Ejemplo Crear las Tablas clientes y privilegios relacionadas MySQL: CREATE TABLE clientes ( id_clienteINTNOT NULLAUTO_INCREMENT, nombre VARCHAR(30), PRIMARY KEY (id_cliente) ) TYPE = INNODB; CREATE TABLE privilegios ( id_privilegioINTNOT NULLAUTO_INCREMENT, id_clienteINTNOT NULL, privilegio INT(2), PRIMARY KEY(id_privilegio), INDEX (id_cliente), FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente) ) TYPE = INNODB;
Inserción de registros Tablaclientes MySQL: INSERTINTOclientesVALUES (1, 'Pedro Picapiedras'); INSERTINTOclientesVALUES (2, 'Pablo Marmol'); INSERTINTOclientesVALUES (3, 'Ana Botella'); Tabla privilegios MySQL: INSERTINTOprivilegiosVALUES (1,1,10); INSERTINTOprivilegiosVALUES (2,3,05); INSERTINTOprivilegiosVALUES (3,2,01);