Você está na página 1de 10

BASES DE DATOS

Ing. Edgar Restrepo

Construccin del MRD a partir del MER


Enunciado:

La empresa de prstamo de "Videos ltda", desea implementar un sistema de informacin que le permita llevar un registro de los prstamos de pelculas a sus clientes. Cada pelcula tiene un cdigo, nombre, existencia y valor; las pelculas estn clasificadas por categoras y cada categora tiene un cdigo, nombre y multa por da. En una pelcula actan varios artistas, unos como principales, otros como secundarios y en algunos casos tambin pueden actuar y dirigir. Como algunos clientes realizan consultas de las pelculas protagonizadas o dirigidas por alguien en especial, se ha decidido asignar un cdigo a cada artista (principal, secundario o director). De cada pelcula hay al menos una cinta (ejemplar), de la cual se conoce su referencia. La Empresa asigna un cdigo nico a cada uno de sus clientes, tambin conoce de ellos su nombre, direccin, telfono, email y puede tener hasta tres personas autorizadas para que realicen prstamos en su nombre. Un cliente puede alquilar hasta tres pelculas al tiempo. En ocasiones algunos clientes alquilan varias pelculas al tiempo pero no las devuelven el mismo da, por lo que se harn acreedores a una multa por cada pelcula, esta depende de la categora en la que se encuentre y del nmero de das que pasan desde el da indicado para la devolucin hasta le fecha de devolucin real.

CONSTRUCCION DEL MODELO ENTIDAD RELACION 1. Identificar entidades fundamentales.

PELICULA * Cod_pel * Nom_pel * Existencia * Valor * Cod_categoria * Nom_categoria * Multa_da * Cod_artista * Nom_artista * Referencia

CLIENTE * Cod_cliente * Nom_cliente * Direccin o Telfono o Email o Autorizado1 o Autorizado2 o Autorizado3

2. Hacer una matriz entre entidades fundamentales para encontrar las relaciones binarias y reflexivas, esto se hacer para dibujar el primer modelo entidad relacin. ENTIDAD PELICULA PELICULA CLIENTE Ser prestada (0,M)

CLIENTE

Prestar (1,M)

PELICULA * Cod_pel * Nom_pel * Existencia * Valor * Cod_categoria * Nom_categoria * Multa_da * Cod_artista * Nom_artista * Referencia

CLIENTE * Cod_cliente * Nom_cliente * Direccin o Telfono o Email o Autorizado1 o Autorizado2 o Autorizado3

Ser Prestada

Prestar

3. Reemplazar las relaciones que tengan atributos propios y las relaciones muchos a muchos aunque no tengan atributos propios, por entidades asociativas y relaciones binarias entre la entidad asociativa y las entidades fundamentales de origen. Es muy importante para este modelo guardar informacin sobre los PRESTAMOS de pelculas. Es de anotar que existen atributos como fecha de PRESTAMO que no son atributos ni de la entidad fundamental Pelcula, ni de la entidad fundamental Cliente, estos son atributos propios de la relacin entre estas dos entidades.

PELICULA * Cod_pel * Nom_pel * Existencia * Valor * Cod_categoria * Nom_categoria * Multa_da * Cod_artista * Nom_artista * Referencia

CLIENTE PRESTAMO
Tener Tener Tener

* Fecha_Prstamo

Ser

* Cod_cliente * Nom_cliente * Direccin o Telfono o Email * Autorizado1 * Autorizado2 * Autorizado3

PELICULA * Cod_pel * Nom_pel * Existencia * Valor * Cod_categoria * Nom_categoria * Multa_da * Cod_artista * Nom_artista * Referencia
CLIENTE DETALLE Tener Tener
PRESTAMO

PRESTAMO Ser Tener * Fecha_Prestamo Ser

Tener

* fecha_dev.

* Cod_cliente * Nom_cliente * Direccin * Telfono o Email o Autorizado1 o Autorizado2 o Autorizado3

4. Encontrar las relaciones enearias y reemplazarlas por una entidad asociativa y relaciones binarias entre la entidad asociativa y las entidades de origena. Para este ejemplo no aplica pues no hay relaciones enearias.

5. Colocar las entidades en primera forma normal (1FN). Se debe analizar la redundancia de informacin al colocar las entidades en 1FN.

6. Encontrar las dependencias funcionales de cada entidad fundamental. Dependencias funcionales de la entidad Pelcula: Cod_pel Nom_pelicula, Existencia, Valor, Cod_categora Cod_categora Nom_categora, Multada Cod_artista Nom_artista

Dependencias funcionales de la entidad Cliente: Cod_cliente Nom_cliente, Autorizado2, Autorizado3. Direccin, Telfono, Email, Autorizado1,

7. Encontrar los identificadores para las entidades fundamantales. Entidad Pelcula: C1 = Cod_Pelcula, Cod_artista, Referencia C2 = Nom_pelcula, Existencia, Valor, Nom_categora, Multada, Nom_artista C3 = Cod_categora Hacemos el cierre de C1, si ste no es igual a A (todos los atributos de la entidad) entonces deberemos hacer combinaciones de todos los elementos de C1 con cada elemento de C3. (Cod_Pelcula, Referencia, Cod_artista, Referencia)+ = Cod_Pelcula, Cod_artista,

Nom_pelcula, Existencia, Valor, Cod_categora, Nom_categora, Multada, Cod_artista, Nom_artista => el Cierre de C1 = A => C1 es el identificador nico de esta entidad.

Entidad Cliente: C1 = Cod_cliente C2 = Nom_cliente, Direccn, Telfono, Email, Autorizado1, Autorizado2, Autorizado3. C3 = 0 Hacemos el cierre de C1, si ste no es igual a A (todos los atributos de la entidad) entonces deberemos hacer combinaciones de todos los elementos de C1 con cada elemento de C3. (Cod_cliente)+ = Cod_cliente, Nom_cliente, Direccn, Telfono, Email, Autorizado1, Autorizado2, Autorizado3. => El cierre de C1 es Igual a A => C1 es el identificador nico de esta entidad.

8. Encontrar los identificadores de las entidades asociativas. Entidad PRESTAMO: Lo primero que debemos hacer es verificar si con los atributos propios de la entidad podemos hallar algn identificador. Podemos observar que con el atributo Fecha_Prstamo podemos armar ninguna dependencia funcional, por esto no podemos hallar ningn identificador. Como con los atributos propios no pudimos encontrar identificador alguno, entonces podemos hacer heredar los identificadores de las entidades con las que la entidad est relacionada, al hacerlo podemos notar que no encontramos una dependencia funcional que garantice que no se repitan ocurrencias en esta entidad, por lo que nos vemos obligados a utilizar un Nmero de PRESTAMO para poder hacerlo. Identificador de la entidad PRESTAMO : Nmero_PRESTAMO

Entidad DETALLE_PRESTAMO: Hacemos el mismo procedimiento anterior, por lo que llegaramos a la conclusin de que el identificador de la entidad DETALLE_PRESTAMO es el heredado de las entidades CLIENTE y PELICULA.

PELICULA * Cod_pel * Nom_pel * Existencia * Valor * Cod_categoria * Nom_categoria * Multa_da * Cod_artista * Nom_artista * Referencia
CLIENTE DETALLE Tener Tener
PRESTAMO

Ser Tener

PRESTAMO # Numero_Ptmo * Fecha_Ptmo Ser

Tener

* fecha_dev.

* Cod_cliente * Nom_cliente * Direccin * Telfono o Email o Autorizado1 o Autorizado2 o Autorizado3

9. Colocar las entidades en segunda forma normal (2FN). "Una entidad est en 2FN cuando est en 1FN y no existe ningn atributo no principal que dependa parcialmente del identificador." Todas las entidades que tengan identificadores constituidos por un solo atributo estn en 2FN, porque no hay dependencias parciales, como es el acaso de las entidades Cliente y Prstamo. En el caso de la Pelcula hay atributos como Nom_pelcula, Existencia, Valor, Cod_categora y Multada quinenes dependen slamente de uno de de los tres atributos que componen al identificador. Lo mismo sucede con el atributo Nom_artista, quien depende slamante ded Cod_artista. Por estas razones la entidad Pelcula no se encuentra en 2FN.

IDENTIFICADOR

Cod_Pelcula

Nom_Pelcula,Existencia, Valor, Cod_categora, Nom_categora Nom_artista

Cod_artista

Referencia

CINTA # Referencia Tener PELICULA # Cod_pelcula * Nom_pelcula * Valor * Cod_categora * Nom_categora * Multada Ser
DETALLE PREST. o Fecha_dev. o Multa

Ser

Tener

CLIENTE
PRESTAMO
# Num_PREST * Fecha_PREST.

Ser Tener

Ser Tener

# Cod_cliente * Nom_cliente * Direccin o Telfono o Email o Autorizado1 o Autorizado2 o Autorizado3

REPARTO

Artista # Cod_artista * Nom_artista

* Rol

10. Colocar las entidades en tercera forma normal (3FN). "Una entidad est en 3FN cuando est en 2FN y ningn atributo no principal depende de otro no principal." En nuestro ejemplo la entidad Pelcula tiene atributos no principales como Nom_categora y Multada que dependen de Cod_categora siendo este un atributo no principal. POR LO TANTO ESTA ENTIDAD NO ESTA EN 3FN.

Cod_Pelcula

Nom_pelcula, Existencia, Valor, Cod_categora, Nom_categora, Multada

Para que esta entidad est en 3FN, debemos separar las dependencias parciales y ubicarlas en otras entidades:
FUNDAMENTALES ATRIBUTIVAS
CATEGORIA # Cod_categora * Nom_categora * Multa_da CINTA Tener Ser Tener # Referencia
Tener

ASOCIATIVAS

Ser PELICULA # Cod_pelcula * Nom_pelcula

Ser
DETALLE PREST. o Fecha_dev.

CLIENTE
Ser Tener PRESTAMO
* Num_PREST * Fecha_PREST.

Ser

* Valor

# Cod_cliente * Nom_cliente * Direccin Tener o Telfono o Email o Autorizado1 o Autorizado2 o Autorizado3

REPARTO

Artista # Cod_artista * Nom_artista

* Rol

CONSTRUCCION DEL MODELO RELACIONAL DE DATOS A PARTIR DEL MODELO ENTIDAD RELACION

1. Traducir las entidades simples a tablas, nombrando cada tabla con el plural d ela entidad. 2. Traducir cada atributo a una columna en la tabla correspondiente. Los atributos opcionales se declaran null (n) y los obligatorios not null (nn). 3. Los identificadores primarios se treaducen a claves primarias (cp) y lo secundarios, terciarios, etc. a claves alternas (ca). 4. Los dominios, formato y conjunto de valores, de los atributos se traducen a dominios de las columnas. 5. Cada relacin uno a muchos se traduce en una clave fornea. La entidad que tiene la cardinalidad mxima uno se condidera entidad maestro, la cardinalidad mxima muchos se considera como entidad detalle. Las entidades detalle heredan los identificadores de las entidades definadas como maestro. 6. Para las relaciones uno a uno se presentan los siguientes casos: Opcional-obligatotio: Se toma como maestro la entidad que se encuentra al lado opcional de la relacin. Opcional-opional: Se toma como maestro la entidad que tenga mayor permanencia en el tiempo o la que nazca primero. Obligatorio-obligatotio: Se toma como maestro la entidad que tenga mayor permanencia en el tiempo o la que nazca primero.

Tabla: Categoras Cod_categora Nom_categora cp nn

Multada nn

Tabla: Artistas Cod_prot cp

Nom_prot Nn

Tabla: Clientes
Cod_cliente cp Nom_cliente Nn Direccin nn Telfono n Email N Autorizado1 Autorizado3 Autorizado3 n n n

Tabla: Pelculas Cod_pel Nom_pelcul cula a Cp nn

Cod_categora Nn,Cf1

Tabla: CINTAS
Referencia Cod_pelcula

Cp

Cf1

Tabla: PRESTAMOS
Num_PREST Fecha_PRESTAM O Cod_cliente

Cp

Nn

Nn,Cf1

Tabla: Detalle_PRESTAMOS
Fecha_devolu cin Multa Num_PREST Referencia

Nn,Cf1

Nn,Cf2

Tabla: REPARTOS
ROL Cod_Pelicula Cod_artista

NN, Cp

Nn, Cf1

Nn, Cf2

Você também pode gostar