/* EJERCICIO DE LA PRACTICA #5*/ create database biblioteca; use biblioteca; /*-----USANDO HERENCIA DISJUNTA UNA SOLA TABLA (DOCUMENTO<--LIBRO,CD,REVISTA) */ create table autor( id_autor int primary key, nombre varchar(30) not null, paterno varchar(30) not null, materno varchar(30) not null, sexo char(1) not null ) create table Documento( id_documento int primary key, nombre varchar(30) not null, periodo varchar(10), editorial varchar(20), formato varchar(15), tipo varchar(10) not null ) create table AutorDoc( id_autor int not null, id_documento int not null, primary key(id_autor,id_documento), foreign key(id_autor)references autor(id_autor) on update cascade on delete cascade, foreign key(id_documento)references Documento(id_documento) on update cascade on delete cascade ) create table estudiante( id_estudiante int primary key, nombre varchar(30) not null, paterno varchar(30) not null, materno varchar(30) not null, sexo char(1) not null, direccion varchar(40) not null ) create table prestamo( nro_prestamo int primary key, fecha_presta date not null, id_estudiante int, foreign key(id_estudiante)references estudiante(id_estudiante) on update cascade on delete cascade ) create table estante( id_estante int primary key, ubicacion varchar(30) not null, ) create table fila( id_fila int not null, id_estante int not null,
primary key(id_fila,id_estante), foreign key(id_estante) references estante(id_estante) on update cascade on delete cascade ) create table posicion( id_pos int not null, id_fila int not null, id_estante int not null, primary key(id_pos,id_fila,id_estante), foreign key(id_fila,id_estante) references fila(id_fila,id_estante) on update cascade on delete cascade ) create table copiadocumento( nro_copia int not null, descripcion varchar(50) not null, id_doc int not null, id_pos int not null, id_fila int not null, id_estante int not null primary key(nro_copia,id_doc), foreign key(id_doc) references Documento(id_documento) on update cascade on delete cascade, foreign key(id_pos,id_fila,id_estante) references posicion(id_pos,id_fila,id_estante) on update cascade on delete cascade ) create table copiaprestamo( nro_prestamo int not null, nro_copia int not null, id_documento int not null, fechadevolucion date not null, primary key(nro_prestamo,nro_copia,id_documento), foreign key(nro_prestamo) references prestamo(nro_prestamo) on update cascade on delete cascade, foreign key(nro_copia,id_documento) references copiadocumento(nro_copia,id_doc) on update cascade on delete cascade ) select select select select select select select select select select
*from *from *from *from *from *from *from *from *from *from
autor Documento AutorDoc prestamo estudiante copiadocumento copiaprestamo estante fila posicion