Observar y estudiar detenidamente el diagrama entidad/relaci�n de la figura que se muestra a continuaci�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;