#Creando 2 tablas.
drop table if exists Autores;
#Los autores.
create table Autores(id_autor int not null auto_increment, primary key(id_autor), nombre varchar(50) default "0");
#Tabla para los libros, recordar que es algo muy simple, asi que no incluire todos los campos...
drop table if exists Libros;
create table Libros(id_libro int not null auto_increment, primary key(id_libro), nombre varchar(50) default "0", año_de_publicasion date default "1978/1/25");
#Creando la tabla relacionada.
drop table if exists Relacion_Autor_vs_Libro;
create table Relacion_Autor_vs_Libro(id_relacion_AL int not null auto_increment, primary key(id_relacion_AL),id_autor int, foreign key(id_autor), id_libro int, foreign key(id_libro) );
#Creando una vista la cual hipotéticamente será consultada desde un software cliente. Las vistas actúan como tablas.
#Por medio de esta vista se mostrara el nombre del libro con su respectivo autor.
drop view if exists Libro_con_autor;
create or replace view Libro_con_autor as select a.nombre as Nombre_del_autor, L.Nombre as Nombre_del_libro, L.año_de_publicasion from Libros as L, Autores as A, Relacion_Autor_vs_Libro as RAL where A.id_autor=RAL.id_autor and L.id_Libro=RAL.id_libro;
#Insertando datos.
insert into Autores(Nombre)values("Alien");
insert into Autores(Nombre)values("Rafa");
insert into Autores(Nombre)values("Antiguo");
insert into libros(nombre)values("El triunfador");
insert into libros(nombre)values("Iliada");
insert into libros(nombre)values("Magenjo daro");
insert into libros(nombre)values("El dorado");
insert into libros(nombre)values("Reliquias");
insert into Relacion_Autor_vs_Libro(id_libro, id_autor)values((select id_libro from libros where nombre="El triunfador"), (Select id_autor from Autores where nombre="Alien"));
insert into Relacion_Autor_vs_Libro(id_libro, id_autor)values((select id_libro from libros where nombre="Magenjo daro"), (Select id_autor from Autores where nombre="Alien"));
insert into Relacion_Autor_vs_Libro(id_libro, id_autor)values((select id_libro from libros where nombre="El dorado"), (Select id_autor from Autores where nombre="Rafa"));
#Libro con 2 autores.
insert into Relacion_Autor_vs_Libro(id_libro, id_autor)values((select id_libro from libros where nombre="Reliquias"), (Select id_autor from Autores where nombre="Antiguo"));
insert into Relacion_Autor_vs_Libro(id_libro, id_autor)values((select id_libro from libros where nombre="Reliquias"), (Select id_autor from Autores where nombre="Alien"));
#En la vista aparecerá el libro Reliquias 2 veces pero en cada ocasión con un autor diferente.