Control de Prestamos de Biblioteca

September 22, 2017 | Author: Patrizio Santoyo | Category: Books, Databases, Computer Engineering, Data, Areas Of Computer Science
Share Embed Donate


Short Description

Descripción: Pequeño proyecto de bases de datos que muestra el proceso desde el modelo entidad relación hasta el modelo ...

Description

INSTITUTO TECNOLÓGICO DE TIZIMÍN

INGENIERIA EN INFORMATICA 5 SEMESTRE MATERIA: TALLER DE BASE DE DATOS PROFESOR:

DR. MANUEL ALEJANDRO CORONADO ARJONA INTEGRANTES: DIAZ FUENTES ZELMAN SANTOYO CASTILLO IRVING 3 DE OCTUBRE DEL 2013

Control de prestamos de Biblioteca “Una biblioteca desea llevar el contro de los préstamos de libros. Se manejan fichas de autores y libros. En la ficha de cada autor se tiene el código de autor y el nombre. De cada libro se guarda el código, título, ISBN, editorial y número de página. Un autor puede escribir varios libros, y un libro puede ser escrito por varios autores. Un libro está formado por ejemplares. Cada ejemplar tiene un código y una localización. Un libro tiene muchos ejemplares y un ejemplar pertenece sólo a un libro. Los usuarios de la biblioteca del centro también disponen de ficha en la biblioteca y sacan ejemplares de ella. De cada usuario se guarda el código, nombre, dirección y teléfono. Los ejemplares son prestados a los usuarios. Un usuario puede tomar prestados varios ejemplares, y un ejemplar puede ser prestado a varios usuarios. De cada préstamos interesa guardar la fecha de inicio de préstamo, fecha de fin, la fecha de devolución y multa”. Se debe tener en cuenta que los usuarios pueden ser estudiantes de licenciatura, posgrado, semiescolarizado y gente externa y que una persona puede prestar el mismo libro en diferentes fechas. Realizar modelo E/R, relacional, normalizar hasta 3FN y el modelo físico. E/R

Relacional Autor(Codigo, Nombre) Escribe(CodAutor, CodLibro)

Libro(Codigo, Titulo, ISBN, Editorial, NoPag)

Ejemplares(Codigo, Localizacion, CodLibro)

Presta(CodUsu, CodEjem, Finicio,Ffin, Fdev, Multa)

Usuario(Codigo, Nombre, Direccion, Telefono)

Normalizacion 3FN Escribe CodAutor A0001 A0002 A0003 A0001 A0003

CodLibro L0001 L0002 L0003 L0002 L0001

1FN: si, hay un solo valor para cada atributo. 2FN: si, todos los atributos son principales. 3FN: si, es una relación binaria.

Presta CodUsu L13AD001 M11SI011 E0000015 L13AD001 L13AD001

CodEjem E001 E325 E056 E001 E026

Finicio 20130920 20130923 20130923 20130924 20130924

Fdev 20130923 20130926 20130925 20130928 20130928

Multa 0 5 0 10 10

1FN: si, hay un solo valor para cada atributo 2FN:P.K.(CodUsu, CodEjem) -> Finicio, Fdev, Multa si, no hay dependencias funcionales parciales. 3FN: P.K (CodUsu, CodEjem) -> Finicio, Fdev, Multa Si, no hay atributos no principales que dependen de otros no principales.

Físico mysql> create database Biblioteca; Query OK, 1 row affected (0.00 sec)

mysql> use Biblioteca; Database changed

mysql> create table Autor(Codigo char(5) not null primary key, Nombre varchar(15)); Query OK, 0 rows affected (0.10 sec)

mysql> create table Libro(Codigo char(5) not null primary key, Titulo varchar(30), ISBN char(13), Editorial varchar(20), NoPag char(5)); Query OK, 0 rows affected (0.10 sec)

mysql> create table Escribe(CodAutor char(5) not null, CodLibro char(5) not null, primary key(CodAutor, CodLibro), foreign key (CodAutor) references Autor(Codigo) on delete no action on update cascade, foreign key (CodLibro) references Libro(Codigo) on delete no action on update cascade); Query OK, 0 rows affected (0.35 sec)

mysql> create table Presta1(CodUsu char(5) not null, CodLibro char(5), Finicio date not null, Fdev date not null, multa int(4), primary key(CodUsu, CodLibro), foreign key (CodUsu) references Usuario(Codigo) on delete no action on update cascade, foreign key (CodLibro) references Libro(Codigo) on delete no action on update cascade); Query OK, 0 rows affected (0.09 sec)

mysql> create table Ejemplares(Codigo char(5) not null primary key, Localizacion varchar(20), CodLibro char(5), foreign key(CodLibro) references Libro(Codigo) on delete no action on update cascade); Query OK, 0 rows affected (0.09 sec)

mysql> create table Usuario(Codigo char(8) not null unique primary key, nombre varchar(15), Direccion char(4), Telefono char(10)); Query OK, 0 rows affected (0.34 sec)

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF