Sie sind auf Seite 1von 7

17/03/2010

Pautas informales para el diseo de Esquemas relacionales


4 medidas informales de la calidad

Diseo de Esquemas Relacionales

Semntica de los atributos Reduccin de los valores redundantes en las tuplas Reduccin de los valores nulos en las tuplas No generacin de tuplas errneas
1 BD1 Ctedra BD 2

BD1 Ctedra BD

Ejemplo
Esquema 1
Empleado(nomE,CI,FechaNac,Dir,NumD) Departamento(NomD,NumD,CIjefe) LugarDepto(NumD,LugarD) Proyecto(NomP,NumP,LugarP,NumD) Trabaja(CI,NumP,Horas)

Pautas informales para el diseo de Esquemas relacionales


Pauta 1
Construya tablas con semntica clara, en donde se puedan comprender fcilmente qu representa cada atributo y qu representa que una tupla est en esa tabla.

Esquema 2
Emp-Depto(NombreE, CI, FechaN, Dir, NumD, NombreD, CIjefe) Emp-Proy(CI, NUMP, HORAS, NombreP, LugarP)
BD1 Ctedra BD 3

BD1 Ctedra BD

Pautas informales de diseo para esquemas relacionales Considere el esquema 2.


Emp-Depto(NomE, CI, FechaN, Dir, NumD, NomD, CIjefe) Emp-Proy(CI, NUMP, HORAS, NomP, LugarP)

Pautas informales de diseo para esquemas relacionales Pauta 2


Evite las anomalas en insercin, eliminacin y modificacin. Si hay anomalas, indquelas correctamente para que quien programe pueda actualizar la base en forma correcta.

Considere las siguientes operaciones:


Agregar el departamento 18 de nombre marketing. An no hay ningn empleado Agregar un nuevo empleado al departamento 5.
BD1 Ctedra BD 5

Pauta 3
Evite los valores nulos. Tiene mltiples interpretaciones.
BD1 Ctedra BD 6

17/03/2010

Pautas informales de diseo para esquemas relacionales Considere la siguiente reestructuracin de la base:
Emp-Proy(CI, NumP, NomE, Horas, NomP, LugarP)

Pautas informales de diseo para esquemas relacionales Para recuperar los datos originales:
Lugar-Emp * Emp-Proy

Lo que es errneo!!!!

Se cambia por:
Lugares-Emp (NombreE ,LugarP) Emp-Proy (CI, NumP, Horas, NomP, LugarP) Observar que se pueden carga los datos proyectando.
BD1 Ctedra BD 7 BD1 Ctedra BD 8

Tuplas Errneas
CI c1 c2 NumP x1 x2 NomE e1 e2 CI c1 c2 Hrs 20 35 NomP p1 p2 LugP Lp1 Lp1

Pautas informales de diseo para esquemas relacionales

Pauta 4
Disee los esquemas de forma que se puedan reconstruir usando join natural sobre las claves. De lo contrario pueden aparecer tuplas errneas.

NomE LugP e1 Lp1 e2 Lp1 CI c1 c2


BD1 Ctedra BD

NumP Hrs NomP LugP x1 20 p1 Lp1 x2 35 p2 Lp1 Hrs 35 20 NomP p2 p1 LugP Lp1 Lp1
9

NumP x1 x2

NomE e1 e2

BD1 Ctedra BD

10

Teora del Diseo Relacional


Se presentar una teora formal que permite:
evitar los nulos. evitar las anomalas. garantizar que no existen tuplas errneas en la recuperacin.

Dependencia Funcional
Es una restriccin de integridad en el Modelo Relacional en la que intervienen dos conjuntos de atributos (X e Y). Hay una dependencia funcional X Y si para toda instancia de la base se cumple que:
En todas las tuplas en que los atributos de X toman el mismo valor, los Y tambin. t1.t2.(t1[X]=t2[X] t1[Y]=t2[Y])
BD1 Ctedra BD 12

BD1 Ctedra BD

11

17/03/2010

Dependencias Funcionales: Ejemplos


ABDE
A a1 a1 a2 a2 a3 B b1 b1 b1 b2 b2 C c1 c2 c2 c3 c3 D d1 d1 d1 d2 d2 E e1 e1 e1 e2 e2

Reglas de inferencia para dependencias funcionales


Reglas o Axiomas de Amstrong Reflexiva si Y X, entonces X Y De aumento X Y , entonces XZ YZ Transitiva X Y, Y Z , entonces X Z Otras reglas: De Descomposicin X YZ, entonces X Y Union (o Aditiva) X Y, X Z entonces X YZ Pseudotransitiva X Y, WY Z entonces WX Z

Que la dependencia se cumple significa que en TODAS las instancias se cumple la condicin Qu otras se cumplen? Qu tienen que ver las claves con las DF?
13

BD1 Ctedra BD

BD1 Ctedra BD

14

Clausura de un Conjunto de Dependencias


Sea F un conjunto de dependencias funcionales semnticamente obvias. clausura de F es F+ = El conjunto de TODAS las dependencias funcionales que se cumplen en una relacin. F = {CI NombreE, FechaN, Dir, NumD NumD NombreD, LugaresD }
Inferidas:

Problemas con F+
Dado F, calcular F+ es exponencial en la cantidad de dependencias. Sin embargo, lo que interesa normalmente es determinar si, dado F, una dependencia se cumple o no. Se puede usar la Clausura de un conjunto de Atributos con respecto a un conjunto de Dependencias.
El conjunto de todos los atributos determinados por un conjunto dado.
15 BD1 Ctedra BD 16

CI NombreD, LugarD CI CI NumD NombreD

BD1 Ctedra BD

Algoritmo para determinar X+, clausura de X bajo F


X+ = X; Repetir viejoX+ := X +; para cada DF Y Z en F hacer Si Y X+ entonces X+ := X+ Z; hasta que (viejoX+ = X+ );
BD1 Ctedra BD 17

Ejemplos de clausura de X bajo F


F = {CI NombreE NumP NombreP, LugarP CI, NumP Horas} {CI}+ = {CI, NombreE} {NumP}+ = {NumP, NombreP, LugarP} {CI, NumP}+ = {CI, NumP, NombreE, NombreP, LugarP, Horas}
BD1 Ctedra BD 18

17/03/2010

Esquemas Equivalentes
Dos esquemas relacionales, van a ser equivalentes si tienen:
Los mismos atributos. Las mismas dependencias.
El mismo F+

Normalizacin
Proceso en el que se transforma un esquema de relacin en otro con buenas propiedades:
Baja redundancia. Nulos controlados. Sin generacin de tuplas errneas.

La idea es transformar los esquemas en otros equivalentes pero con mejores propiedades.
BD1 Ctedra BD 19

Se puede basar en dependencias funcionales o en otros tipos de dependencias.


BD1 Ctedra BD 20

Conjuntos de Dependencias Equivalentes


Dados dos conjuntos de dependencias, F y E se dice que:
F cubre a E si E F+ F y E son equivalentes si F+ = E+ ( o lo que es lo mismo) F y E son equivalentes si F cubre a E y E cubre a F. Si F cubre a E entonces F es un cubrimiento de E.
BD1 Ctedra BD 21

Conjunto Minimal de DFs


Dado un conjunto de dependencias F, F es minimal si:
Todas las df tienen un solo atributo del lado derecho. No se puede reemplazar ninguna df XA F por una df YA, donde Y X , y seguir teniendo un conjunto de dfs equivalente a F No se puede quitar ninguna df de F y seguir teniendo un conjunto de dfs equivalente a F
BD1 Ctedra BD 22

Cubrimiento Minimal
Dado un conjunto de dependencias F, E es un Cubrimiento Minimal de F si: E es equivalente a F
E es minimal
4.

Algoritmo para Construir un Cubrimiento Minimal


1. 2.

G=F Partir dependencias.


Para cada df X A1, A2, G Cambiar la df por X A1,X A2, Para cada df X A G para cada B X si A (X - B)+G Cambiar X A por (X - B) A en G

3.

Eliminacin de Atributos Redundantes.

Eliminacin de Dependencias Redundantes


Para cada df X A en G

si A X+G-{X A} eliminar X A
24

BD1 Ctedra BD

23

BD1 Ctedra BD

17/03/2010

Ejemplo de Calculo de Cubrimiento Minimal


F={AB C, B D,D GC,CG H}
Paso 1: Cada dependencia que tiene varios atributos a la derecha, es sustituida por las dependencias a los atributos individuales.
F1= {AB C, B D,D G,D C,CG H}

Descomposicin de un Esquema de Relacin


Dado R(A1, ,An), D es una descomposicin de R si:
D = (R1,R2,,Rk) esquemas de Relacin D contiene a todos los atributos de R en al menos uno de sus Ri

Paso 2: Estudiamos atributos redundantes.


B+={B,D,G,C,H} entonces F2={B C, B D,D G,D C,CG H}

Paso 3: Estudiamos dependencias redundantes.


Con respecto a F2, B+={B,D,G,C,H} entonces F3={B D,D G,D C,CG H} Minimal.
BD1 Ctedra BD 25 BD1 Ctedra BD 26

Clave y Superclave segn DFs


Una Superclave de un esquema de relacin R, es un conjunto X de atributos de R tal que: X R Una Clave de un esquema de relacin R, es un conjunto de atributos X tal que:
Es superclave. Si se le quita algn atributo, deja de ser superclave.

Atributos Primos y No Primos


Se dice que un atributo A es primo, si pertenece a alguna clave. Se dice que un atributo A no es primo, si no pertenece a ninguna clave Ejemplos:
R(A,B,C,D,E) AB CDE Por la dependencia, AB es clave, por lo tanto A y B son primos y C,D y E no lo son.
27 BD1 Ctedra BD 28

Estas nociones coinciden con las vistas anteriormente.


BD1 Ctedra BD

Formas Normales
Una forma normal, es un conjunto de condiciones que debe cumplir un esquema relacional para que se considere que es bueno. Se definen en funcin de las dependencias que pueden ser funcionales o de otro tipo. Se presentarn algoritmos basados en estrategias de descomposicin que garantizan que ese esquema cumple determinada forma normal.
BD1 Ctedra BD 29

Formas Normales
Todas las formas normales se definen para un esquema de relacin (tabla) y un determinado conjunto de dependencias. Un esquema relacional (BD) cumple con una determinada forma normal si la cumplen todos los esquemas de relacin que contiene.
BD1 Ctedra BD 30

17/03/2010

Primera Forma Normal


Un esquema de relacin est en primera forma normal (1NF) si todos los dominios de los atributos son atmicos.
Si no est en 1NF entonces no est en el Modelo Relacional.

Hacia la Segunda Forma Normal


Dependencia Parcial
Se dice que una df X A es parcial si hay algn subconjunto Y de X tal que Y A Ejemplo:
F={ABC D,B D}
Entonces ABC D es parcial.

BD1 Ctedra BD

31

BD1 Ctedra BD

32

Segunda Forma Normal


Un esquema de relacin R est en segunda forma normal (2NF) con respecto al conjunto de dependencias funcionales F si no hay ningn atributo no primo de R que dependa parcialmente de una clave.

Ejemplo de Segunda Forma Normal


Emp-Proy(CI, NumP, Horas, NomE, NomP, LugarP) F={CI,NUMP Horas; CI NomE; NumP NomP,LugarP}
Emp-Proy no est en 2NF porque:
CI,NumP es clave (ver {CI,NumP}+) NomE no es primo (verificarlo) CI NomE

Emp-Proy est en 1NF solamente.


BD1 Ctedra BD 33 BD1 Ctedra BD 34

Hacia la Tercera Forma Normal


Dependencia Transitiva
Una df X Y sobre un esquema de relacin R es transitiva si:
existe Z R tal que Z no est en ninguna clave de R Se cumple que X Z y Z Y.

Tercera Forma Normal


Un esquema de relacin R est en tercera forma normal (3NF) con respecto a un conjunto de dependencias F si no hay atributos no primos que dependan transitivamente de una clave. R est en 3NF con respecto a F si toda dependencia X A no trivial de F+ cumple que:
O bien X es superclave de R. O bien A es primo.

BD1 Ctedra BD

35

BD1 Ctedra BD

36

17/03/2010

Ejemplo de Tercera Forma Normal


Emp-Depto(NomE, CI, FechaN, Dir, NumD, NombreD, CIjefe) F={CI NomE,FechaN,Dir,NumD; NumD NomD,CIjefe}
Emp-Depto no est en 3NF porque:
La nica clave es CI (verificar) NomD no es primo (verificar) NumD es tal que CI NumD y NumD NomD.

Forma Normal de Boyce-Codd (BCNF)


Un esquema de Relacin R est en BCNF si para toda df X A (no trivial ) que se cumple en R, X es superclave de R. Ejemplo:
Dicta(est,curso,prof) F={est,curso prof;prof curso}
Prof no es superclave por lo que viola BCNF.
37 BD1 Ctedra BD 38

Otra forma:
dada NumD NomD, se cumple que NomD no es primo y NumD no es superclave (verificar).
BD1 Ctedra BD

Formas Normales
1NF Esquemas del MR

Ejercicio: Normalizar la siguiente relacin R


R (NumCurso, NumSecc, DeptoOfrece, HorasCredito, NivelCurso, NumProf, Semesttre, Ao, DiasHoras, NumAula, NumEst) NumCurso DeptoOfrece, HorasCredito, NivelCurso NumCurso,NumSecc, Semestre, Ao DiasHoras,NumAula,NumEst, NumProf NumAula,DiasHoras, Semestre, Ao NumProf,NumCurso,NumSecc

2NF Sin Parciales 3NF Sin Parciales ni Transitivas (X A con X superclave o A primo) BCNF X A con X Superclaves

BD1 Ctedra BD

39

BD1 Ctedra BD

40

Das könnte Ihnen auch gefallen