Práctica de Normalización

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 8

Práctica de Normalización

1. ¿Son válidas las siguientes reglas de inferencias para dependencias funcionales? Si es así, dar
una demostración, ya sea directamente o usando los axiomas de Armstrong. En caso contrario,
construir una instancia de relación que sirva de contra-ejemplo.

a. {WY, XZ} |- {WXY}


b. {XY} and ZY |- {XZ}
c. {XY, XW, WYZ} |- {XZ}
d. {XYZ, YW} |- {XWZ}
e. {XZ, YZ} |- {XY}
f. {XY, XYZ} |- {XZ}
g. {XY, ZW} |- {XZYW}
h. {XYZ, ZX} |- {ZY}
i. {XY, YZ} |- {XYZ}
j. {XYZ, ZW} |- {XW}

2. Equivalencia de Conjuntos de Dependencias Funcionales: Dos conjuntos de FDs son


equivalentes si sus clausuras coinciden. Esto es, toda FD que puede inferirse a partir de uno de
ellos puede también inferirse a partir del otro.
Chequear la equivalencia de
F = {AC, ACD, EAD, EH} y G = {ACD, EAH}

3. Sea la relación universal R = {A, B, C, D, E, F, G, H, I, J} y el conjunto de FDs


F1 = {ABC, ADE, BF, FGH, DIJ }
a. Hallar las claves de R.
b. Hallar una cobertura mínima para F1.

4. Considere la relación universal del ejercicio anterior y las dependencias funcionales


F2 = {ABC,BDEF, ADGH, AI, HJ }
a. Hallar las claves de R.
b. Hallar una cobertura mínima para F2.

5. Hallar mediante el algoritmo correspondiente una cobertura mínima de los siguientes


conjuntos de dependencias.

F1 = {ABC, ADE, BF, FGH, DIJ }


F2 = {ABC, BDEF, ADGH, AI, HJ }
F3 = {AC, ACDZ, EAD, EH, ACD, EAH}

6. Dado el esquema de relación:


PROV_PROD(PROOVEDOR-NO,STATUS,CIUDAD,PROD-NO, CANTIDAD) donde CIUDAD
se refiere a la ubicación de un almacen particular de un proveedor, y STATUS
(determinado unívocamente por CIUDAD) está relacionado con la disponibilidad de los
productos almacenados:

a. Determinar las FDs.


b. Dar como muestra una instancia de PROV_PROD.
c. Analizar las anomalías de inserción, borrado y actualización posibles.
d. Normalizar el esquema y mostrar la solución a las anomalías detectadas.
7. Dar una descomposición en 3NF, junta sin pérdida y que preserve dependencias funcionales
de R={A, B, C, D, E, G, H, I, J}, que tiene como clave primaria a AB, y donde además se cumplen
las dependencias funcionales {CE, DBH, EHA}.
Esta descomposición, ¿está en BCNF? ¿Por qué?

8. Se desea modelar la actividad de un broker bursátil, quien maneja las carteras de acciones
de varios inversores. Los atributos relevantes son: B (broker), I (inversor), E (domicilio
comercial del broker), A (acción de una empresa que cotiza en bolsa), D (dividendo), C
(cantidad de acciones).
Se cumplen las siguientes dependencias funcionales: F = {AD, IB, IAC, BE}
a. Determinar una clave. ¿Hay otras? ¿Por qué?
b. Si descomponemos el esquema universal con: D1 = {IACD, IBE}, qué anomalías o
redundancias pueden presentarse?
c. Si utilizamos D2 = {AD, IB, IAC, BE}, se cumple la propiedad de junta sin pérdida?
d. En realidad, vamos a usar D3 = {IB, IAC, AD, IAE}. Proyectar F sobre cada
subesquema. ¿Se puede afirmar que D3 preserva dependencias? ¿Por qué?

9. Demostrar que todo conjunto de dependencias funcionales tiene una cobertura (conjunto
equivalente de dependencias), donde el lado derecho de cada dependencia tiene un único
atributo.

10. Sea D4 = {Ri}, tal que Ri Rj = , si i <> j. ¿Es posible que esta descomposición
preserve dependencias? ¿Por qué?

11. Sea el siguiente esquema R ( A B C D E G H ), donde se cumplen las siguientes


dependencias funcionales {B  C, D  A, E  H, C  E, B  C}.
a. Encontrar una clave del esquema y demostrar formalmente que lo es.
b. Descomponga el esquema en 3NF, manteniendo dependencias (utilizando el
algoritmo).
c. Verifique si la descomposición hallada en el punto b) preserva la propiedad junta sin
pérdida (también utilizando el algoritmo).
d. Si quisiera saber si la descomposición esta en BCNF, qué dependencias funcionales
buscaría y en dónde.

12. Un estudiante de computación se encontraba implementando un esquema relacional


consistente de tres tablas: Producto, Depósito y Stock.
Ya había escrito la sentencia DDL para la primera tabla:
CREATE TABLE Producto
(ProdId CHAR(40) NOT NULL,
Descripcion VARCHAR(40) NOT NULL,
Cantidad FLOAT NOT NULL,
PRIMARY KEY (ProdId));
cuando pensó en verificar si el esquema estaba en 3NF.

La especificación de las tablas restantes es


Depósito(Depoid, Ciudad, Distrito, Provincia)
{Depoid, Ciudad}{Distrito, Provincia}
Distrito Ciudad
Ciudad Provincia
Stock(ProdId, Depoid, CantidadTotal, CantidadComprometida,
ControldeCalidad, FlagDisponible)
{WareId, ProdId}{CantidadTotal, CantidadComprometida, ControldeCalidad,
FlagDisponible }
ControldeCalidad {CantidadComprometida, FlagDisponible}

a) Lamentablemente, descubrió que el esquema no estaba normalizado. ¿Por qué? Dé


un ejemplo de una posible anomalía de inserción en alguna instancia legal del
esquema relacional.
b) Identifique todas las claves posibles para Depósito y Stock.
c) Lleve el esquema relacional a 3NF y verifique la preservación de las dependencias
funcionales, y que se cumpla la propiedad de junta sin pérdida.

13. La AFA dispone de una base de datos acerca de los distintos participantes del espectáculo
deportivo. Hay información acerca de cada FUTBOLISTA (que juega para un solo CLUB), de
cada PERIODISTA deportivo acreditado y del MEDIO informativo para el que trabaja, y de cada
REFERI, que está calificado para arbitrar partidos de una sola DIVISION (p. ej. 1ra A).

Las dependencias funcionales identificadas son entonces:


FUTBOLISTACLUB,
PERIODISTAMEDIO, y
REFERIDIVISION.

a) Determinar una clave. ¿Hay otras? ¿Por qué?


b) Si descomponemos el esquema universal con: D1 = {{FUTBOLISTA,CLUB},
{PERIODISTA,MEDIO}, {REFERI,DIVISION}}, puede afirmarse que se preservan
dependencias? Mostrar cuales son las dependencias proyectadas y explicar.
c) Para este domingo, la base de datos nos dice:

FUTBOLISTA CLUB PERIODISTA MEDIO REFERI DIVISION


F1 C1 P1 M1 R1 D1
F2 C2 P1 M1 R2 D2
F1 C1 P2 M2 R2 D2

A partir de estos datos, decidir si la descomposición

D2 = {{FUTBOLISTA,CLUB,PERIODISTA}, {PERIODISTA,MEDIO,REFERI}, {REFERI,DIVISION,


FUTBOLISTA }} cumple con la propiedad de junta sin pérdida.
d) En los últimos tiempos, todos los clubes han firmado contratos de exclusividad con
un medio periodístico. Aumentar el conjunto de dependencias funcionales a partir de
esta información, y verificar si D1 preserva dependencias en esta nueva situación. En
caso negativo, proponer una nueva descomposición que sí lo haga.

14. Dado el siguiente esquema R ( A B C D E G H ), las dependencias funcionales:

{A C, B D, BC E, BC H, GH E, DA}

y se sabe además que CG es clave.


a) Buscar otra clave y mostrar que lo es.
b) Dada la siguiente descomposición de R, verificar si cumple con la propiedad de junta
sin pérdida y si se preservan las dependencias: R1(BD) , R2(GHE) , R3(ABC).
15. Se tiene un esquema de relación Personas con los siguientes datos: DNI, Nombre,
Direccion, Localidad, Codigo Postal, Nombre Hijo, Edad Hijo, Escuela donde vota, Direccion
Escuela, Localidad Escuela, Codigo Postal Escuela.

Se conocen las siguientes dependencias funcionales:


Código Postal  Localidad
Localidad  Código Postal
Escuela donde vota, Localidad Direccion Escuela, Código Postal Escuela
DNI, Nombre Hijo  Edad Hijo

a) Explicar detalladamente cuáles son las anomalías que presenta el esquema.


b) Hallar una clave.
c) Descomponer el esquema de tal forma que ya no se den las anomalías detectadas.
d) Decidir si el esquema obtenido en el punto anterior cumple con la propiedad junta
sin pérdida y preservación de dependencias.

16. Dado el siguiente esquema R ( A B C D E G ) y las dependencias funcionales:


{ AB D, CEG, E A, DB, DC A }
a) Encontrar todas las claves del esquema. Justifique.
b) Obtener una descomposición en 3FN que conserve las dependencias originales y
cumpla la propiedad de junta sin pérdida.
c) Indique si la siguiente descomposición se encuentra en 3FN: R1(A B C D), R2(EG).
Justifique.

17.
a) En siguiente esquema: R ( A B C D E G H ) el conjunto de dependencias es:
F = { A BC, C D, D G, H E, E A, E H }.
Encontrar todas las claves del esquema. Justifique.

b) Del esquema S ( A B C D E G ) se sabe que las únicas claves son : AG y CE. Además se
conocen las siguientes dependencias : A B, BD y D B.
i) Se encuentra S en 3FN ?
ii) Obtenga una descomposición de S que esté en 3FN.
iii) Se encuentra la descomposición obtenida en BCNF ? Justifique.

18. Dados:
R (A B C D E G H)
F = {A B, A C, B C, B D, C D, D C, D E, EG A }
a) Hallar todas las claves candidatas de R. Justificar.
b) Dar una descomposición de R que esté en 3FN, preserve las dfs. y sea junta sin
pérdida (no es necesario aplicar el algoritmo pero puede hacerlo).
c) Demuestre que la descomposición realizada en el punto anterior es junta sin
pérdida.
d) ¿La descomposición de R dada en el punto anterior está en FNBC? ¿Por qué?

19. Dados:
R (A B C D E G H)
F = {A CH, C EA, E HC, H EA, DE A, AB E}

a) Dar al menos dos cubrimientos mínimaes distintos de F. Justificar.


b) Hallar todas las claves candidatas de R. Justificar.
c) ¿La descomposición = (BCDG, ACH, EH) es sin pérdida de información? Justificar.
d) ¿La descomposición = (ABC, CDE, EGH) preserva la df. A H?. Justificar.
e) Dar una descomposición de R que esté en 3FN, preserve las dfs. y sea sin pérdida de
información (no es necesario aplicar el algoritmo pero puede hacerlo).
f) ¿La descomposición de R dada en el punto anterior está en FNBC? ¿Por qué?

20. Dados:
R (A B C D E F G H)
F = {ABC E, FD A, AG E, D C, BC F, A H, F D, H G}
a) Hallar un cubrimiento mínima de F. Justificar.
b) Hallar todas las claves candidatas de R. Justificar.
c) ¿La descomposición r = (ABC, DEF, GH) es sin pérdida de información? Justificar.
d) Dar una descomposición de R que esté en 3FN, preserve las dfs. y sea sin pérdida de
información.
e) ¿La descomposición de R dada en el punto anterior está en FNBC? ¿Por qué?
ALGORITMOS
1 Obtención de X+
Sea R un esquema relacional, F su conjunto de dependencias funcionales y X un
conjunto de atributos de R:
1. Hacer X+ := X
2. Repetir hasta que no se agreguen más atributos a X+
a. Por cada dependencia funcional Y Z en F
i. Si X+ contiene Y hacer X+ := X+ U Z

Nota: X+ representa la clausura resultante.

2 Obtención de X+ (otra versión)


Sea R un esquema relacional, F su conjunto de dependencias funcionales y X un
conjunto de atributos de R:
1. Hacer X(0) := X
2. Hacer hasta que no se agreguen más atributos
a. Hacer X(i+1) := X(i) U {A} (atributos A tal que hay alguna Z A y Z está en
X(i) )
3. X+ := X(n)

Nota: X+ representa la clausura resultante.

3 Obtención de una Clave


Sea R un esquema relacional y F su conjunto de dependencias funcionales:
1. Hacer K := R
2. Para cada atributo A en K
a. Computar (K - A)+ con respecto a las dependencias funcionales de F
b. Si (K - A)+ contiene todos los atributos de R entonces hacer K := K – {A}

Nota: k representa la clave resultante

4 Obtención de una cobertura mínima:


Sea R un esquema relacional y F su conjunto de dependencias funcionales:
0. Hacer G := F
1. Reemplazar cada dependencia funcional X A1 A2... An en G por N
dependencias funcionales XA1 X A2... X An
2. Por cada dependencia funcional X A que aparece en G
a. Por cada atributo B que es elemento de X
i. Computar (X – {B})+ con respecto al conjunto de dependencias
funcionales G
ii. Si (X – {B})+ contiene A, entonces reemplazar X A por (X –
{B}) A en G
3. Para cada dependencia resultante X A en G
a. Computar X+ con respecto al conjunto de dependencias (G – {X
A})
b. Si X+ contiene A, entonces eliminar la dependencia (X A) en G
4. FM := G

Nota: FM representa el cobertura mínima


5 Testing de la Propiedad de Junta sin pérdida
Sea D = {R1,R2, ...,Rm} una descomposición de un esquema relacional R y F su
conjunto de dependencias funcionales:
1. Crear una tableau T, dónde cada fila i corresponde a una relación Ri en la
descomposición D, y cada columna j corresponde a cada uno de los atributos
Aj de R
2. Setear T(i, j) = bij para todas las entradas del tableau T
3. Por cada fila i que representa un esquema Ri
a. Por cada columna j que representa un atributo Aj
i. Si Ri incluye a Aj entonces hacer T(i, j) = aj
4. Repetir hasta que en la ejecución de un loop completo no se realicen
cambios en el tableau
a. Para cada dependencia funcional X A en F
i. Para cada fila en T que tenga los mismos símbolos en las
columnas correspondientes a los atributos de X
1. Copiar según correspondan los símbolos de las
columnas que representan los atributos de A
5. Si al finalizar una de las filas fue completada con a’s entonces la
descomposición es junta sin pérdida.

6 Testing de Preservación de Dependencias


Sea D = {R1,R2, ...,Rk} una descomposición de un esquema relacional R y F su
conjunto de dependencias funcionales:
1. Para cada X Y de F hacer
a. Z := X
b. Mientras Z cambie hacer
i. Para cada Ri hacer
1. Z := Z U ( (Z n Ri)+ n Ri )
2. Si Y está en Z, entonces D preserva la dependencia
funcional X Y

7 3NF y Preservación de Dependencias


Sea R un esquema relacional y F su conjunto de dependencias funcionales:
1. Encontrar una cobertura mínima G para F
2. Para la parte izquierda X de cada dependencia funcional que aparece en G
a. Crear un esquema relacional {X Union A1 Union A2 ... Union AN} en
D dónde X A1, X A2, ..., X An son las únicas dependencias en
G que tienen a X como su parte izquierda
3. Todos los atributos que no hayan sido ubicados en ningún esquema de D,
colocarlos en un esquema adicional

Nota: D representa la descomposición resultante.

8 3NF, Junta sin pérdida y Preservación de Dependencias


Sea R un esquema relacional y F su conjunto de dependencias funcionales:
1. Encontrar una cobertura mínima G para F
2. Para la parte izquierda X de cada dependencia funcional que aparece en G
a. Crear un esquema relacional {X Union A1 Union A2 ... Union UN} en
D dónde X A1, X A2, ..., X An son las únicas dependencias en
G que tienen a X como su parte izquierda
3. Todos los atributos que no hayan sido ubicados en ningún esquema de D,
colocarlos en un esquema adicional
4. Si ninguno de los esquemas contiene una clave de R, entonces agregar un
nuevo esquema en D que contenga los atributos que forman una clave de R

Nota: D representa la descomposición resultante.

También podría gustarte