Base de datos biblioteca sql
Enviado por hector31.mtz • 23 de Octubre de 2015 • Trabajo • 412 Palabras (2 Páginas) • 1.394 Visitas
drop database biblioteca;
create database biblioteca;
use biblioteca;
/*
TABLAS
*/
CREATE TABLE libro(
idlibro int NOT NULL PRIMARY KEY,
titulo varchar(50),
nombreEd varchar(50)
)ENGINE=INNODB;
CREATE TABLE editorial(
nombre varchar(50) NOT NULL PRIMARY KEY,
direccion varchar(100),
telefono varchar(10)
)ENGINE=INNODB;
CREATE TABLE autores_libros(
idlibro int NOT NULL,
nombreAutor varchar(50) NOT NULL,
PRIMARY KEY(idlibro,nombreAutor)
)ENGINE=INNODB;
CREATE TABLE copias_libros(
idlibro int NOT NULL,
idsucursal int NOT NULL,
numcopias int,
PRIMARY KEY (idlibro,idsucursal)
)ENGINE=INNODB;
CREATE TABLE prestamos(
idlibro int NOT NULL,
idsucursal int NOT NULL,
numtarjeta int NOT NULL,
fechasale date,
fechadevolucion date,
PRIMARY KEY (idlibro,idsucursal,numtarjeta)
)ENGINE=INNODB;
CREATE TABLE sucursal_biblioteca(
idsucursal int NOT NULL PRIMARY KEY,
nombresuc varchar(50),
direccion varchar(100)
)ENGINE=INNODB;
CREATE TABLE lector(
numtarjeta int NOT NULL PRIMARY KEY,
nombre varchar(50),
direccion varchar(100),
telefono varchar(50)
)ENGINE=INNODB;
/*
FOREING KEYS
*/
ALTER TABLE libro
ADD FOREIGN KEY (nombreEd)
REFERENCES editorial(nombre)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE autores_libros
ADD FOREIGN KEY (idlibro)
REFERENCES libro(idlibro)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE prestamos
ADD FOREIGN KEY (idlibro)
REFERENCES libro(idlibro)
ON UPDATE CASCADE
ON DELETE CASCADE;
ALTER TABLE prestamos
ADD FOREIGN KEY (idsucursal)
REFERENCES sucursal_biblioteca(idsucursal)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE prestamos
ADD FOREIGN KEY (numtarjeta)
REFERENCES lector(numtarjeta)
ON UPDATE CASCADE
ON DELETE CASCADE;
ALTER TABLE copias_libros
ADD FOREIGN KEY (idlibro)
REFERENCES libro(idlibro)
ON DELETE CASCADE
ON UPDATE CASCADE;
ALTER TABLE copias_libros
ADD FOREIGN KEY (idsucursal)
REFERENCES sucursal_biblioteca(idsucursal)
ON DELETE CASCADE
ON UPDATE CASCADE;
/*
POBLACION DE LA BASE DE DATOS
2 sucursales cada una con 2 lectores que vende 4 libros diferentes
*/
INSERT INTO EDITORIAL(nombre,direccion,telefono) VALUES ('omega','Sur','12345678');
INSERT INTO EDITORIAL(nombre,direccion,telefono) VALUES('mcgrawhill','Oriente','98765432');
INSERT INTO EDITORIAL(nombre,direccion,telefono) VALUES ('pearson','Occidente','68987654');
INSERT INTO EDITORIAL(nombre,direccion,telefono) VALUES ('patito','Norte','78987898');
INSERT INTO libro (idlibro,titulo,nombreEd) VALUES (10,'Perlas negras','omega');
INSERT INTO LIBRO (idlibro,titulo,nombreEd) VALUES (20,'Alquimia de la muerte','pearson');
INSERT INTO LIBRO (idlibro,titulo,nombreEd) VALUES (30,'Dios hara lo demas','patito');
INSERT INTO LIBRO (idlibro,titulo,nombreEd) VALUES (40,'Las abandonadas','patito');
INSERT INTO AUTORES_LIBROS (idlibro,nombreAutor) VALUES (10,'Amado Nervo');
INSERT INTO AUTORES_LIBROS (idlibro,nombreAutor) VALUES (20,'Amado Nervo');
INSERT INTO AUTORES_LIBROS (idlibro,nombreAutor) VALUES (30,'Julio
...