Categorías destacadas
programacion php    
Artículo
3
¡votar!

 Integridad referencial en MySQL


Un ejemplo más

Observar y estudiar detenidamente el diagrama entidad/relación de la figura que se muestra a continuación.

Diagrama entidad/relación

Queda como ejercicio al lector verificar que a partir de este diagrama se genera un código SQL similar al mostrado a continuación, que nos sirve para la creación de las tablas con sus correspondientes definiciones de claves foráneas:

Considerar que se desean hacer eliminaciones y actualizaciones en cascada, y que en la tabla poema_libro la clave primaria está formada por ambos campos (id_poema y id_libro).

CREATE TABLE libro (
  id_libro INT NOT NULL,
  titulo VARCHAR(100) NULL,
  precio NUMERIC(5,2) NULL,
  PRIMARY KEY(id_libro)
) TYPE=InnoDB;

CREATE TABLE escritor (
  id_escritor INT NOT NULL,
  nombre VARCHAR(30) NULL,
  apellidos VARCHAR(40) NULL,
  direccion VARCHAR(100) NULL,
  PRIMARY KEY(id_escritor)
) TYPE=InnoDB;

CREATE TABLE poema (
  id_poema INT NOT NULL,
  id_escritor INT NOT NULL,
  titulo VARCHAR(50) NULL,
  contenido TEXT NULL,
  PRIMARY KEY(id_poema),
  INDEX(id_escritor),
  FOREIGN KEY(id_escritor) REFERENCES escritor(id_escritor)
        ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB;

CREATE TABLE poema_libro (
  id_poema INT NOT NULL,
  id_libro INT NOT NULL,
  PRIMARY KEY(id_poema, id_libro),
  INDEX (id_poema), INDEX(id_libro),
  FOREIGN KEY(id_poema) REFERENCES poema(id_poema)
        ON DELETE CASCADE ON UPDATE CASCADE,
  FOREIGN KEY(id_libro) REFERENCES libro(id_libro)
        ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB;
 
Publicado por:
chonchoi de tu madre
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon