BBDD - Normalización, Descomposición, Dependencias Funcionales

También podría gustarte

Está en la página 1de 18

ING4130 – Bases de Datos Aplicadas

Normalización
descomposición, dependencias funcionales

Matı́as Recabarren
mrecabarren@miuandes.cl
Facultad de Ingenierı́a/Universidad de los Andes/Chile

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 1 / 18


En esta sesión

1 Reducir Redundancia

2 Descomposición

3 Dependencia Funcional

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 2 / 18


Reducir
Redundancia

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 3 / 18


Ejemplo: Tabla Producto
PRODUCTO
Id Nombre Marca DirEmp TelEmp Stock
00001 3 Leches San Francisco Lugar 333 2222222 10
00002 Puré Maggi Otro 123 3563563 20
00003 Sopa para Uno Maggi Otro 123 3563563 73
00004 Pie de Limón San Francisco Lugar 333 2222222 36
00005 Arroz Zaror Perdido 89 987654321 36

¿Qué parece estar mal en esta tabla?

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 4 / 18


La redundancia de datos produce
anomalı́as en las acciones posteriores
sobre la base de datos.

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 5 / 18


Distintas anomalı́as
PRODUCTO
Id Nombre Marca DirEmp TelEmp Stock
00001 3 Leches San Francisco Lugar 333 2222222 10
00002 Puré Maggi Otro 123 3563563 20
00003 Sopa para Uno Maggi Otro 123 3563563 73
00004 Pie de Limón San Francisco Lugar 333 2222222 36
00005 Arroz Zaror Perdido 89 987654321 36

Inserción de datos
• Quiero agregar una nueva empresa, pero todavı́a no
le compro productos. . .
• ¿dejo campos vacı́os?

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 6 / 18


Distintas anomalı́as
PRODUCTO
Id Nombre Marca DirEmp TelEmp Stock
00001 3 Leches San Francisco Lugar 333 2222222 10
00002 Puré Maggi Otro 123 3563563 20
00003 Sopa para Uno Maggi Otro 123 3563563 73
00004 Pie de Limón San Francisco Lugar 333 2222222 36
00005 Arroz Zaror Perdido 89 987654321 36

Actualización de datos
• Quiero actualizar la dirección de Maggi. . .
• ¿dónde lo hago?

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 7 / 18


Distintas anomalı́as
PRODUCTO
Id Nombre Marca DirEmp TelEmp Stock
00001 3 Leches San Francisco Lugar 333 2222222 10
00002 Puré Maggi Otro 123 3563563 20
00003 Sopa para Uno Maggi Otro 123 3563563 73
00004 Pie de Limón San Francisco Lugar 333 2222222 36
00005 Arroz Zaror Perdido 89 987654321 36

Eliminación de datos
• Si elimino el producto 00005 pierdo la información
de contacto de Zaror.

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 8 / 18


Descomposición

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 9 / 18


Cuando encontramos problemas de
redundancia, la solución común es
dividir la relación.

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 10 / 18


Ejemplo: Tabla Producto
PRODUCTO
Id Nombre Marca DirEmp TelEmp Stock
00001 3 Leches San Francisco Lugar 333 2222222 10
00002 Puré Maggi Otro 123 3563563 20
00003 Sopa para Uno Maggi Otro 123 3563563 73
00004 Pie de Limón San Francisco Lugar 333 2222222 36
00005 Arroz Zaror Perdido 89 987654321 36

Dividimos la relación PRODUCTO:


PRODUCTO(id, nombre, marca, stock)
MARCA(nombre, dir-emp, tel-emp)

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 11 / 18


Ejemplo: Tabla Producto
PRODUCTO
Id Nombre Marca Stock
00001 3 Leches San Francisco 10
00002 Puré Maggi 20
00003 Sopa para Uno Maggi 73
00004 Pie de Limón San Francisco 36
00005 Arroz Zaror 36

MARCA
Nombre DirEmp TelEmp
San Francisco Lugar 333 2222222
Maggi Otro 123 3563563
Zaror Perdido 89 987654321

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 12 / 18


Descomposición sin pérdida

Al descomponer mantenemos vı́nculo entre ambas


relaciones.
• A través de una clave foránea.

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 13 / 18


Dependencia
Funcional

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 14 / 18


Definición
En una relación R se dice que un atributo Y tiene
dependencia funcional con un conjunto de atributos X
(X → Y ):
ssi cada valor en Y está asociado con exactamente
un conjunto de valores de X .

Otras formas de definirlo:


• Dado un conjunto de valores para X puedo obtener
un único valor para Y .
• Sean t1 y t2 tuplas de R, entonces si t1 [X ] = t2 [X ]
implica que t1 [Y ] = t2 [Y ].
M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 15 / 18
Importancia de la semántica

• Están determinadas por la semántica de los


atributos.
• Son parte del esquema de la relación, no de una
instancia de ella.

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 16 / 18


Diferentes categorı́as
• Dependencia funcional trivial
• X → Y es trivial si:
• Y es un subconjunto de X .

• Dependencia funcional total (DFT)


• X → Y es total si:
• no existe subconjunto de X que determine Y .

• Si no es DFT es dependencia funcional parcial (DFP).

• Dependencia funcional transitiva


• X → Y es transitiva si:
• X → Y solamente porque X → Z y Z → Y .

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 17 / 18


Ejemplo: Dependencias Funcionales
PRODUCTO
Id Nombre Marca DirEmp TelEmp Stock
00001 3 Leches San Francisco Lugar 333 2222222 10
00002 Puré Maggi Otro 123 3563563 20
00003 Sopa para Uno Maggi Otro 123 3563563 73
00004 Pie de Limón San Francisco Lugar 333 2222222 36
00005 Arroz Zaror Perdido 89 987654321 36

• Id → {Nombre, Marca, Stock}

• Nombre, Marca → {Stock}

• Marca → {DirEmp, TelEmp}

M.Recabarren Facultad de Ingenierı́a/Universidad de los Andes/Chile NZ-1 18 / 18

También podría gustarte