Documentos de Académico
Documentos de Profesional
Documentos de Cultura
08 Diseño (Algoritmos)
08 Diseño (Algoritmos)
BD1 Ctedra BD
BD1 Ctedra BD
Observaciones
Cuando normalizamos no alcanza slo con las analizar las dependencias. Es necesario definir claramente los criterios con que se van a construir las descomposiciones, teniendo en cuenta:
La no generacin de tuplas errneas. La preservacin o no de dependencias.
BD1 Ctedra BD 3
Esto no hace otra cosa que exigir que no aparezcan tuplas errneas.
BD1 Ctedra BD 4
En otras palabras, hay JSP si los atributos comunes de los dos esquemas determinan a todos los atributos de uno de ellos.
BD1 Ctedra BD 5
BD1 Ctedra BD
Se puede aceptar la prdida de dependencias, siempre y cuando se documente cules son las que se pierden. Nunca se pueden aceptar esquemas que tengan join con prdida (no tengan JSP).
BD1 Ctedra BD 10
Ejemplo de BCNF
Considrese la siguiente descomposicin: Cliente (nombre-cliente, calle-cliente, ciudadcliente) con F (nombre-cliente calle-cliente ciudad-cliente) Sucursal (nombre-sucursal, activo, ciudadsucursal) F (nombre-sucursal activo ciudadsucursal) Info-Prestamo (nombre-sucursal, nombrecliente, nmero-prstamo, importe) con F (nmero-prstamo importe nombre-sucursal)
BD1 Ctedra BD 11
Ejemplo de BCNF
nombre-cliente es clave candidata de Cliente nombre-sucursal es clave candidata de Sucursal numero-prestamo no es superclave de InfoPrestamo
Puede haber un par de tuplas pertenecientes a un prstamo: (Centro, Sr. Pinilla, P-44, 1.000) (Centro, Sra. Pinilla, P-44, 1.000) Y numero-prestamo importe nombre-sucursal no es trivial, entonces este esquema no est en BCNF Este esquema sufre del problema de repeticin de informacin (nombre-sucursal e importe, por ejemplo)
BD1 Ctedra BD 12
Ejemplo de BCNF
Considrese la descomposicin de join sin prdida de Info-Prestamo: Prestamo (numero-prestamo, nombre-sucursal, importe) con F (nmero-prstamo nombresucursal importe) Prestatario (nombre-cliente, nmero-prstamo) En la relacin Prestamo hay exactamente una tupla para cada prstamo, y una tupla para cada cliente de cada prstamo en la relacin de Prestatario.
BD1 Ctedra BD 13
1.
3.
4.
Colocar los atributos restantes en una nueva relacin. Si no hay una clave de R incluida en los esquemas anteriores, se agrega un nuevo esquema cuyos atributos son los de la clave.
15
BD1 Ctedra BD
BD1 Ctedra BD
18
BD1 Ctedra BD
BD1 Ctedra BD
20
Los dos ltimos esquemas estn en BCNF. El resultado es D={Univ111(CodM,CiE), Univ112(CodM,Cred), Univ12(CiE,IdGr), Univ2(CodM,HrsS)}
21
BD1 Ctedra BD
Univ2(CodM,HrsS): {CodMHrsS}
Univ12(CiE,IdGr): {CiEIdGr}
Univ112(CodM,Cred): {CodMCred}
22
Otros Clculos.
Para determinar en qu forma normal est un determinado esquema, es necesario conocer todas las claves. Para determinar si se perdieron dependencias, es necesario proyectar las dependencias. Se debera determinar cuando hay JSP, incluso en descomposiciones no binarias. Se van a presentar ideas para llevar adelante estas tareas.
BD1 Ctedra BD 25
Hay que tener en cuenta que pueden existir simultneamente varias claves de tamaos distintos.
BD1 Ctedra BD 27
de que son todas porque no podemos formar ms conjuntos de cada tamao y que sean claves.
BD1 Ctedra BD
28
BD1 Ctedra BD
29
1.
2.
3.
4.
BD1 Ctedra BD
BD1 Ctedra BD
R2 a1 R3 b3,1
b2,2 a2 a3 b3,2 a3
b2,4 a4 a4
b2,5 a5 a6 a5 b3,6
BD1 Ctedra BD