esquema relacional normalización

21
A/S Leonardo Carámbula Bases de Datos I – CTT – CETP - 2016 Esquema Relacional Normalización BCNF 4 a FN 5 a FN

Upload: others

Post on 28-Jun-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

Esquema RelacionalNormalización

BCNF

4a FN

5a FN

Page 2: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

Introducción

• Un esquema relacional que sus relaciones,

tablas, se encuentren en 3a Forma Normal en

general es suficiente para evitar redundancia

e inconsistencias de datos.

• Sin embargo en algunos casos particulares

algunas relaciones son redundantes por más

que cumplan con la 3a Forma Normal.

Page 3: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

BCNF

• Forma Normal de Boyce - Codd– es una versión ligeramente más estricta que

la 3a forma normal

• Definición: una tabla esta en BCNF sí y solo sí:– esta en 3a Forma Normal– cada dependencia funcional no trivial tiene

una clave candidata como determinante.

• En otras palabras:– una tabla esta en BCNF si los únicos

determinantes son claves candidatas.

Page 4: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

BCNF• Una dependencia funcional A ---» B es trivial cuando B

es parte de A.

• Ejemplo: Alojamientos en las habitaciones de un hotel.

Ocupación (NoHabitación, fechaEntrada, NoCliente,

NombreCliente, precioNoche)

Dependencias Funcionales– NoHabitación —» precioNoche– NoCliente —» NombreCliente

Page 5: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

BCNF

• Ejemplo: Alojamientos en las habitaciones de

un hotel.

Ocupación (NoHabitación, fechaEntrada, NoCliente,

NombreCliente, precioNoche)

Normalizando ...– Ocupación (NoHabitación, fechaEntrada, NoCliente)

– Habitación (NoHabitación, precioNoche)

– Cliente (NoCliente, NombreCliente)

Page 6: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

4a Forma Normal

una tabla esta en 4a Forma Normal sí y solo sí:–esta en 3a Forma Normal o en

BCNF–no existen dependencias

multivaluadas no triviales

Page 7: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

4a Forma Normal una tabla con dependencia multivaluada?

– Esto implica que la existencia de dos o más relaciones independientes muchos a muchos (N a N) causa redundancia.

– Este tipo de redundancia es la que elimina la 4a Forma Normal.

Page 8: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

4a Forma Normal

Ejemplo:

tiene (IdFeria, NoPuesto, Codigo)

Page 9: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

4a Forma Normal

Ejemplo:Feria Feriante Producto

Malvin Pocho Papa

Malvin Pocho Tomate

Malvin Pocho Ajo

Peñarol Pocho Papa

Peñarol Pocho Tomate

Peñarol Pocho Ajo

Cerrito Pocho Papa

Cerrito Pocho Tomate

Cerrito Pocho Ajo

Cerrito Tito Tomate

Cerrito Tito Cebolla

Page 10: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

4a Forma Normal

Ejemplo:

● Supongamos que un feriante tiene los mismos N productos en todas las ferias.

● Existen entonces varias dependencias funcionales multivaluadas en la tabla

Tiene (IdFeria, NoPuesto, Codigo)

Page 11: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

4a Forma Normal

● Dependencias multivaluadas:● En una feria hay muchos puestos

IdFeria ---» NoPuesto*● En un puesto hay muchos

productos

NoPuesto ---» Codigo*

Page 12: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

4a Forma Normal

Normalizando:Va (IdFeria, NoPuesto)

Vende (NoPuesto, Codigo)VA

Feria Feriante

Malvin Pocho

Peñarol Pocho

Cerrito Pocho

Cerrito Tito

Vende

Feriante Producto

Pocho Papa

Pocho Tomate

Pocho Ajo

Tito Tomate

Tito Cebolla

Page 13: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

4a Forma Normal

Normalizando:– Va (IdFeria, NoPuesto)– Vende (NoPuesto, Codigo)

Page 14: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

5a Forma Normal

una tabla esta en 5a Forma Normal sí y solo sí:–esta en 4a Forma Normal–cada dependencia de unión

(join) en ella es implicada por las claves candidatas.

Page 15: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

5a Forma Normal

Ejemplo:

Tiene (Número, Cid, CodBarra)

Page 16: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

5a Forma Normal

Ejemplo:

Tiene

Factura Vendedor Producto

10001 Pepe Arroz

10001 Pepe Fideos

10001 Majo Perfume

10001 Majo Crema

10001 Liza Crema

20002 Pepe Arroz

20002 Majo Crema

20002 Liza Crema

30003 Pepe Fideos

30003 Majo Perfume

30003 Pocho Cemento

30003 Pocho Arena

30003 Juan Celular

30003 Juan Netbook

Page 17: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

5a Forma Normal

Ejemplo:

● Supongamos que por más que varios vendedores participen en una factura, un producto siempre es facturado por el mismo vendedor.

● Existen entonces varias dependencias de unión (join) en la tabla.

Tiene (Número, Cid, CodBarra)

Page 18: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

5a Forma Normal

Tiene (Número, CId, CodBarra)

● Dependencias:● Número ––» CodBarra*● CodBarra ––» CId

● Con un join:

Número ––» CodBarra, CId

Page 19: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

5a Forma NormalNormalizando:

figura (Número, CId)

tiene (Número, CodBarra)

vende (CId, CodBarra)

Page 20: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

5a Forma NormalNormalizando:

Figura

Factura Vendedor

10001 Pepe

10001 Majo

10001 Liza

20002 Pepe

20002 Majo

20002 Liza

30003 Pepe

30003 Majo

30003 Pocho

30003 Juan

Tiene

Factura Producto

10001 Arroz

10001 Fideos

10001 Perfume

10001 Crema

20002 Arroz

20002 Crema

30003 Fideos

30003 Perfume

30003 Cemento

30003 Arena

30003 Celular

30003 Netbook

Vende

Vendedor Producto

Juan Celular

Juan Netbook

Liza Crema

Majo Perfume

Majo Crema

Pepe Arroz

Pepe Fideos

Pocho Cemento

Pocho Arena

Page 21: Esquema Relacional Normalización

A/S Leonardo CarámbulaBases de Datos I – CTT – CETP - 2016

5a Forma NormalNormalizando:

– figura (Número, Cid)

– tiene (Número, CodBarra)

– vende (CId, CodBarra)