Está en la página 1de 13

DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN

Sis. Avanzados de Base de Datos

Integrantes: Luis Espinosa

Marco Iza

Diego Jimenez

Adrian Mosquera

Francisco Suntaxi

NRC: 8027

Fecha: 09/11/2022

Carrera: Software

Video club: En una tienda de video se necesita mantener información de alrededor de 3000

casetas cada uno de los casetes tiene asignado un número por cada película se necesita

conocer un título y categoría, por ejemplo: comedia, suspenso, drama, acción, ciencia ficción,

etc. Se mantienen algunas copias de muchas películas. Se le da a cada película una

identificación y se mantiene seguimiento de lo que contiene cada casete.

Un casete puede venir en varios formatos y una película es grabada en un solo casete;

frecuentemente las películas son pedidas de acuerdo a un actor específico Tom Cruise y

Demi More son los más populares es por esto que se debe mantener información de los

actores que pertenecen a cada película. No en todas las películas actúan artistas famosos, a

los clientes de la tienda les gusta conocer datos como el nombre real del actor, y su fecha de

nacimiento.
En la tienda se mantiene información solo de los actores que aparecen en las películas y que

se tiene a disposición. Solo se alquilan videos a aquellos que pertenecen al club de videos.

Para pertenecer al club se debe tener un buen crédito. Por cada miembro del club se mantiene

una ficha con su nombre, teléfono y dirección, cada miembro del club tiene asignado un

número de membresía. Se desea mantener información de todos los casetes que un cliente

alquila, cuando un cliente alquila un casete se debería conocer el nombre de la película, la

fecha en la que se alquila y la fecha de devolución.

Se pide aplicar las reglas de normalización hasta la tercera forma normal, teniendo las

siguientes entidades con sus respectivos atributos:

Alquiler (cod_alquiler, num_membresia, cod_cliente, nom_cliente, dir_cliente, telef_cliente,

cod_cassette, fecha_alquiler, fecha_dev, valor_alquiler, cantidad)

Cassettte (cod_cassette, num_copias, formato, cod_pelicula, titulo, categoría, cod_actor,

nom_actor, fechanac_actor, cod_tipo)

Donde:

cod_alquiler = Código del alquiler

num_membresia = Número de membresia

cod_cliente = código del cliente

nom_cliente = nombre del cliente

dir_cliente = dirección del cliente

telef_cliente = teléfono del cliente

cod_cassette = código del cassette

fecha_alquiler = fecha del alquiler de la película

fecha_dev = fecha de devolución de la película

valor_alquiler = valor del alquiler de la película

cantidad = cantidad de película alquilada

num_copias = números de copias de cassette

formato = formato del cassette

titulo = nombre de la película


categoría = categoría de la película

cod_actor = código del actor

nom_actor = nombre del actor

fechanac_actor = fecha de nacimiento del actor

cod_tipo = código del tipo de película.

A partir de los datos proporcionados por el ejercicio se comienza a elaborar las tablas de

datos en las cuales se procederá a incluir ejemplos con el objetivo de guía.

A continuación, se mostrará las tablas sin normalizar tanto la tabla Alquiler como la tabla

Cassette:

Alquiler

cod_al num_me cod_cli nom_cliente dir_cliente telef_c cod_ca fecha_alqu fecha_dev valor_a cantid
quiler mbresia ente liente ssette iler lquiler ad

A001 M001 C001 Pancho Amaguaña 09988 CA001 01/01/202 04/01/2022 5 2


Suntaxi 81234 2

A001 M001 C001 Pancho Amaguaña 09988 CA002 01/01/202 04/01/2022 5 2


Suntaxi 81234 2

A002 M002 C002 Jack Rojas Puente 3 09812 CA001 05/01/202 06/01/2022 2.5 1
39999 2

A003 M001 C001 Pancho Amaguaña 09988 CA003 04/01/202 05/01/2022 2.5 1
Suntaxi 81234 2

A004 M003 C003 Lucho Atuntaqui 09756 CA002 15/01/202 17/01/2022 2.5 1
Espinoza 73333 2

Cassette:

cod_cassett num_c formato cod_pelicul título categoría cod_a nom_actor fechanac_ cod_tipo
e opias a ctor actor

C001 100 DVD MS001 Mision accion TM62 Tom 03-jul-62 AC01
Imposibl Cruise
e1

C002 150 DVD TG001 Top accion TM62 Tom 03-jul-62 AC01
Gun: Cruise
Pasion y
gloria
C003 200 BLU SCN001 Son comedia AS66 Adam 09-sep-66 COM01
RAY Como Sandler
Niños 1

C004 400 DVD GLSA001 Ghost: romance DM62 Demi 11-nov-62 ROM01
La Moore
sombra
del
amor

C005 350 DVD LOL001 LOL: romance DM62 Demi 11-nov-62 ROM01
Casi 18 Moore

Primera Forma Normal (1FN)

Para la primera forma normal, empezando por la primera tabla de Alquiler se puede apreciar

que se tiene grupos repetidos como: num_membresia, cod_Cliente, nom_Cliente, dir_Cliente,

telf_Cliente por lo cual se procede a separar estos grupos en otra tabla teniendo:

La 1FN prohíbe los grupos repetidos, por lo tanto, tenemos que convertir a la primera forma

normal. Los pasos a seguir son:

● Tenemos que eliminar los grupos repetidos.

● Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido.

Los registros quedan ahora conformados en dos tablas que llamaremos Alquiler y Cliente

Alquiler
cod_Alquil cod_Cass fecha_alqu fecha_dev valor_alqui cantidad num_memb
er ette iler ler resia

A001 CA001 01/01/2022 04/01/2022 5 2 M001

A001 CA002 01/01/2022 04/01/2022 5 2 M001

A002 CA001 05/01/2022 06/01/2022 2.5 1 M002

A003 CA003 04/01/2022 05/01/2022 2.5 1 M001

A004 CA002 15/01/2022 17/01/2022 2.5 1 M003

Cliente
cod_Alquiler num_membres cod_Cliente nom_Cliente dir_Cliente telf_Cliente
ia

A001 M001 C001 Pancho Amaguaña 0998881234


Suntaxi
A002 M002 C002 Jack Rojas Puente 3 0981239999

A003 M001 C001 Pancho Amaguaña 0998881234


Suntaxi

A004 M003 C003 Lucho Atuntaqui 0975673333


Espinoza

A continuación, se desarrollará la tabla Cassette en donde se puede apreciar que se tiene

grupos repetidos como: num_copias, formato, cod_pelicula, titulo, categoria, cod_tipo por lo

cual se procede a separar estos grupos en otras tablas teniendo dos tablas que llamaremos

Cassette y Actor

Cassette

cod_cas num_c formato cod_pelicul título categoría cod_ti


sette opias a po

C001 100 DVD MS001 Mision accion AC01


Imposibl
e1

C002 150 DVD TG001 Top accion AC01


Gun:
Pasion y
gloria

C003 200 BLU SCN001 Son comedia COM0


RAY Como 1
Niños 1

C004 400 DVD GLSA001 Ghost: romance ROM0


La 1
sombra
del
amor

C005 350 DVD LOL001 LOL: romance ROM0


Casi 18 1

Actor

cod_cassette cod_actor nom_actor fechanac_actor

C001 TM62 Tom Cruise 03-jul-62

C002 TM62 Tom Cruise 03-jul-62

C003 AS66 Adam Sandler 09-sep-66


C004 DM62 Demi Moore 11-nov-62

C005 DM62 Demi Moore 11-nov-62

Segunda Forma Normal (2FN)

En la segunda forma normal como la teoría nos indica, eliminaremos las dependencias

parciales y las separaremos dentro de sus propias tablas.

Ahora procederemos a aplicar la segunda formal normal, es decir, tenemos que eliminar

cualquier columna no llave que no dependa de la llave primaria de la tabla. Los pasos a

seguir son:

● Determinar cuáles columnas que no son llave no dependen de la llave primaria de la

tabla.

● Eliminar esas columnas de la tabla base.

● Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la cual

dependen.

Las tablas resultantes que obtenemos al aplicar la segunda forma normal son:

Alquiler
cod_Alquiler fecha_alquiler fecha_dev valor_alquiler cantidad

A001 01/01/2022 04/01/2022 5 2

A002 05/01/2022 06/01/2022 2.5 1

A003 04/01/2022 05/01/2022 2.5 1

A004 15/01/2022 17/01/2022 2.5 1

La tabla Alquiler tiene como llave primaria cod_Alquiler, en esta tabla se eliminó

num_membresia, cod_cassette ya que no dependen de la llave primaria cod_Alquiler.

Cliente

cod_Cliente num_membresia nom_Cliente dir_Cliente telf_Cliente

C001 M001 Pancho Amaguaña 0998881234


Suntaxi

C002 M002 Jack Rojas Puente 3 0981239999


C003 M003 Lucho Atuntaqui 0975673333
Espinoza

La tabla Cliente tiene como llave primaria cod_Cliente, en esta tabla se eliminó cod_alquiler

ya que no dependen de la llave primaria cod_Clienter.

Alquiler-Cliente

cod_Alquiler cod_cassette cod_Cliente

A001 C001 C001

A002 C002 C002

A003 C003 C001

A004 C004 C003

Se generó una nueva tabla Alquiler-Cliente que tiene como llave primaria cod_Alquiler, en la

cual se ponen los grupos cod_cassette y cod_cliente, borrados anteriormente pero ahora

dependen de la clave primaria mencionada.

Aplicamos los mismos pasos que se aplicó anteriormente para generar las nuevas tablas

normalizadas en 2FN en Cassette y Actor.

Cassette

cod_cassette num_copias formato título categoría

C001 100 DVD Mision accion


Imposible 1

C002 150 DVD Top Gun: accion


Pasion y gloria

C003 200 BLU RAY Son Como comedia


Niños 1

C004 400 DVD Ghost: La romance


sombra del
amor

C005 350 DVD LOL: Casi 18 romance

La tabla Cassette tiene como llave primaria cod_cassette, en esta tabla se eliminó

cod_pelicula y cod_tipo ya que no dependen de la llave primaria cod_cassette.


Actor

cod_actor nom_actor fechanac_actor

TM62 Tom Cruise 03-jul-62

AS66 Adam Sandler 09-sep-66

DM62 Demi Moore 11-nov-62

La tabla Actor tiene como llave primaria cod_actor, en esta tabla se eliminó cod_cassette ya

que no dependen de la llave primaria cod_actor.

Película

cod_cassette cod_actor cod_tipo cod_pelicula

C001 TM62 AC01 MS001

C002 TM62 AC01 TG001

C003 AS66 COM01 SCN001

C004 DM62 ROM01 GLSA001

C005 DM62 ROM01 LOL001

Se generó una nueva tabla Película que tiene como llave primaria cod_cassette, en la cual

se ponen los grupos cod_actor, cod_tipo y cod_pelicula borrados anteriormente pero ahora

dependen de la clave primaria mencionada.

Tercera Forma Normal (3FN)

Se considera que se tiene tercera forma normal cuando se elimina cualquier columna no clave

que sea dependiente de otra columna no clave, además teniendo en cuenta que no debe

haber dependencias transitivas.

La tabla Cliente tiene como llave primaria cod_cliente, en esta tabla se ubican únicamente los

atributos pertenecientes al cliente como: num_membresia, nom_cliente, dir_cliente,

telef_cliente.

Cliente
cod_cliente num_membresi nom_cliente dir_cliente telef_cliente
a

C001 M001 Pancho Suntaxi Amaguaña 0998881234

C002 M002 Jack Rojas Puente 3 0981239999

C003 M003 Lucho Espinoza Atuntaqui 0975673333

Alquiler

La tabla Alquiler tiene como llave primaria cod_alquiler, en esta tabla se ubican los atributos

relacionados con los datos acerca del alquiler de un cassette como: fecha_alquiler y la

fecha_dev.

cod_alquiler fecha_alquiler fecha_dev

A001 01/01/2022 04/01/2022

A002 05/01/2022 06/01/2022

A003 04/01/2022 05/01/2022

A004 15/01/2022 17/01/2022

Alquiler_Cassette

La tabla Alquiler_Cassette tiene como llave primaria cod_alquiler, en esta tabla se ubican los

atributos relacionados con aquellas tablas que se referencian por su respectiva llave primaria:

cod_cassette y cod_cliente

cod_alquiler cod_cassette cod_cliente

A001 CA001 C001

A001 CA002 C001

A002 CA001 C002

A003 CA003 C001

A004 CA002 C003


Inventario_Cassette

La tabla Inventario_Cassete tiene los atributos relacionados a los valores (valor_alquiler) y

cantidades (cantidad) relacionados con el cod_cassette como llaver primaria.

cod_cassette valor_alquiler cantidad

CA001 5 2

CA002 5 2

CA001 2.5 1

CA003 2.5 1

CA002 2.5 1

Cassette

La tabla Cassette tiene como llave principal cod_cassette y su atributo ligado estrictamente a

esta tabla es el número de copias del cassette num_copias. Puesto que, los demás atributos

están ligados al cod_cassette.

cod_cassette num_copias

C001 100

C002 150

C003 200

C004 400

C005 350

Tipo_Pelicula

La tabla Tipo_Pelicula tiene como llave principal cod_tipo correspondiente a su formato de

película correspondiente.

cod_tipo formato
AC01 DVD

COM01 Blu Ray

ROM01 DVD

Pelicula_Codigo

La tabla Codigo_Película representa los códigos únicos de película para cada una de las

cassetes, puesto que el ejercicio explica que una película pertenece a un único cassette.

cod_pelicula

MS001

TG001

SCN001

GLSA001

LOL001

Actor

La tabla actor hace referencia a los atributos pertenecientes exclusivamente a los actores de

las películas. Estos atributos son el nombre del actor (nom_actor) y a su fecha de nacimiento

(fechanac_actor). La llave primaria de esta tabla es cod_actor.

cod_actor nom_actor fechanac_actor

TM62 Tom Cruise 03-jul-62

AS66 Adam Sandler 09-sep-66

DM62 Demi Moore 11-nov-62

Codigo_Cassette

La tabla Codigo_Cassette representa los códigos únicos de cassette para cada una de las

películas, puesto que el ejercicio explica que una película pertenece a un único cassette.
cod_cassette

C001

C002

C003

C004

C005

Titulo_Pelicula

La tabla Titulo_Pelicula únicamente representa los títulos de las películas guardadas en los

cassettes y puestas a disposición para su alquiler.

titulo

Mision Imposible 1

Top Gun: Pasion y


gloria

Son Como Niños 1

Ghost: La sombra
del amor

LOL: Casi 18

Película

La tabla Película tiene únicamente atributos correspondientes a los atributos relacionados a

las características principales de la película como cod_actor y cod_tipo. Su llave primaria es

cod_pelicula.

cod_pelicula cod_actor cod_tipo

MS001 TM62 AC01

TG001 TM62 AC01

SCN001 AS66 COM01


GLSA001 DM62 ROM01

LOL001 DM62 ROM01

También podría gustarte