Internet
Est´ basada en el concepto de dependencia funcional transia tiva: sean X, Y y Z conjuntos de atributos de cierta relaci´n o
• Si X → Y y existe un conjunto Z = X, tal que X → Z y Z → Y se dice que Y depende funcionalmente en forma transitiva de X a trav´s de Z e
Por ejemplo, supongamos que tenemos el siguiente esquema de relaci´n empleado-departamento: o
nom empsueldo cod dept f echa ing nom dept f ech creac
Con las dependencias u • nom emp llave candidata ´nica (llave primaria).
• cod dept → nom dept, f ech creac
En el ejemplo nom dept y f ech creac dependen funcionalmente en forma transitiva de nom emp: nom emp → cod dept y cod dept → nom dept, f ech creac.
16
3NF – Formulaci´n o
Para entender la idea de 3NF veremos inicialmente un casoparticular simple en donde queda claro su aplicaci´n. o
• Supondremos que todas las relaciones tienen una ´nica u llave candidata lo que quiere decir que las llaves primarias se encuentran definidas (c´mo lo hicmos con 2NF). o • Un esquema de Base de Datos se encuentra en 3NF si est´ en 2NF y toda relaci´n r(R) con llave primaria K a o cumple que para cualquier atributo A que no sea parte de lallave primaria en R, A no depende funcionalmente en forma transitiva de K,
∃ B tal que K → B y B → A
• Si relajamos la exigencia que el esquema est´ inicialmente e en 2NF ¿Cambia la definici´n de 3NF? o
Un esquema que contenga a la relaci´n o
nom emp sueldo cod dept f echa ing nom dept f ech creac
No se encuentra en 3NF ya que nom dept y f ech creac que no son parte de la llave primaria,dependen funcionalmente en forma transitiva de nom emp.
17
3NF – Soluci´n o
Soluci´n: Primero convertir en 2NF. Sea r(R) la relaci´n que o o viola 3NF, y K la clave primaria de r(R)
• Identificar un conjunto de atributos A (A ⊆ K) que depende funcionalmente en forma transitiva de K, y el conjunto B que define la transitividad. • Crear una nueva relaci´n r′(R′) que resulta de r(R) al elimoinar el conjunto de atributos A. • Crear una nueva relaci´n t(B, A) tal que: o
t[A] = r[A] ⇔ t[B] = r[B]
• La clave primaria de t(B, A) es B, se debe establecer B como llave for´nea en r ′ (R′ ). a • Eliminar la relaci´n r(R) del esquema. o • r′(R′) posiblemente aun no se encuentra en 3NF, por lo que se debe repetir el proceso hasta que el esquema est´ en e 3NF.
nom emp sueldo cod dept f echaing nom dept f ech creac
⇓
nom emp sueldo cod dept f echa ing cod dept nom dept f ech creac
18
3NF – Formulaci´n (cont.) o
En la anterior formulaci´n supusimos que las relaciones ten´ o ıan una ´nica llave candidata y por lo tanto la llave primaria esu taba fija. En general este supuesto puede no ser cierto y entonces 3NF cambian en parte su formulaci´n: o
• Un esquema est´ en 3NF sipara cada relaci´n r(R), si a o un atributo A no es parte de una llave candidata en R, entonces A no depende en forma transitiva de ninguna llave candidata de R. • Es simplemente una generalizaci´n del caso anterior pero o ahora tomando en cuenta todas las llaves candidatas (no s´lo la primaria). o
Se puede demostrar que esta ´ltima definici´n es equivalente u o a: Para cada dependencia funcionalno trivial X → A (o sea tal que A ⊆ X) que existe en r(R) se cumple que
• X es una clave candidata de R, o • A es parte de una clave candidata de R.
La soluci´n es similar a la anterior salvo que se toman en o cuenta en total las llaves candidatas, no s´lo las llaves prio marias. Informalmente:
• Eliminar de la relaci´n inicial los atributos no parte de una o llave candidata que dependende forma transitiva de una llave candidata. • Crear una nueva relaci´n con estos atributos m´s los atribo a utos que definen la transitividad, siendo estos ´ltimos llave u primaria de la nueva relaci´n (se debe incluir tambi´n la o e restricci´n de llave for´nea). o a
19
3NF – Ejemplo
En el esquema de un ejemplo anterior
cod propiedad municipio municipio numero lote impuesto area precio...
Regístrate para leer el documento completo.