Sie sind auf Seite 1von 49

26 de abril de 2013

Diseo e Implementacin de Bases de Datos


Lic. Hairol Romero Sand
BASES DE DATOS RELACIONALES
(NORMALIZACIN)
Leccin # 4
26 de abril de 2013
Diseo de una Base de Datos
Los modelos conceptuales se basan en un criterio intuitivo de lo que ocurre en el
mundo real y como este mundo real debe ser modelado
No hay mucho ms que trabajar con los modelos resultantes para generar los diseos
de las bases de datos resultantes
Si bien son intuitivos, son de fcil aplicacin y adems muy efectivos en sus resultados
En el modelo relacional existen otros mecanismos que ayudan a producir un buen
diseo.
Pueden trabajarse los esquemas de relacin acorde una teora desarrollada,
para producir un esquema de base de datos con ciertas propiedades
deseables.
Central al diseo relacional es la idea de dependencia de datos
Debe verificarse que un los valores de los datos que pretendemos resulten en
una nueva tupla de una relacin de nuestra base de datos cumplen un
conjunto de restricciones.
26 de abril de 2013
Diseo de una Base de Datos
La Teora es til
Como control de nuestros diseos
Para comprender algunas cosas que no pueden ser representadas en el
Modelo ER
Para comprender las consecuencias de conceptos tales como redundancia
(que puede ser utilizado para mejorar la eficiencia de los sistemas)
Distinguimos un conjunto (incompleto) de estas restricciones para el modelo, que
pueden implementarse en varios SGBD relaciones actualmente en el mercado.
26 de abril de 2013
Restricciones de Integridad
Restricciones de Dominio
Restricciones de Integridad Referencial
Test que permite controlar operaciones de actualizacin
Insercin, Borrado (cascada), Modificacin
Clave
Aserciones
Predicados que debe satisfacer la base de datos
El sistema controla su validez lo que puede ocasionar una gran sobrecarga si
no se utiliza con cuidado.
26 de abril de 2013
Restricciones de Integridad...
Disparadores
Acciones que se ejecutan como efecto lateral ante una operacin
Deben especificarse:
Bajo qu operaciones tendran que ejecutarse
Cules son las acciones que debera realizar
Dependencias Funcionales
El valor de un conjunto de atributos determina unvocamente el valor de otro
conjunto de atributos
Nocin como generalizacin de clave
26 de abril de 2013
Claves de un Esquema
Clave
Conjunto de atributos de un esquema que permite distinguir unvocamente
las tuplas de una relacin.
Si el conjunto tiene un subconjunto propio con la misma propiedad lo
llamamos SuperClave
En trmino de DF
K es clave de R, si K _ R y K
26 de abril de 2013
Qu es un mal diseo?
Un mal diseo lleva a:
Repetir Informacin
Inhabilidad para representar cierta informacin
Supongamos un esquema
Proveedor ( Nombre_Proveedor,
Direccin_Proveedor,
Item,
Item_Precio_Unitario )
Problemas en el diseo:
Redundancia
La direccin del Proveedor se repite por cada item provisto
26 de abril de 2013
Qu es un mal diseo?...
Problemas en el diseo:
Potencial inconsistencia (anomalas de actualizacin)
cmo actualizamos la direccin de un proveedor?
Anomalas de Insercin
cul es la direccin de un proveedor qu an no ha provisto items?
Anomalas de Borrado
Si borro el ltimo item provisto, cmo guardo la direccin del
proveedor?
26 de abril de 2013
Un buen diseo!
Objetivos de un buen diseo
Evitar datos redundantes
Asegurar que se representen las relaciones entre los datos
Facilitar el control de que las actualizaciones de la base de datos resulten
en una violacin de las restricciones de integridad
26 de abril de 2013
Qu es un mal diseo?...
Correccin del problema
Reemplazar el esquema con dos nuevos esquemas:
Proveedor ( Nombre_Proveedor,
Direccin_Proveedor)

Provee ( Nombre_Proveedor,
Item,
Item_Precio_Unitario )
Veamos como soluciona los problemas
Redundancia
Anomalas (Insercin, Modificacin y Borrado)
26 de abril de 2013
Qu es un mal diseo?...
Nuevo Problema
Cmo recupero la informacin inicial? (cuando los datos estaban en una sola
tabla)
Utilizando la operacin JOIN
Nueva_Proveedor = Proveedor Provee
Nueva_Proveedor ( Nombre_Proveedor,
Direccin_Proveedor,
Item,
Item_Precio_Unitario)
26 de abril de 2013
Un buen diseo! Pautas Informales
Conocer la semntica de los atributos
Disee un esquema de relacin de modo que sea fcil de explicar su
significado.
No combine atributos de varios tipos de entidades y tipos de relaciones
(modelo ER) en una sola relacin (modelo relacional)
Reducir los valores redundantes en las tuplas
Disee los esquemas de las relaciones de modo que no haya anomalas
de actualizacin
26 de abril de 2013
Un buen diseo! Pautas Informales..
Reducir los valores nulos en las tuplas
Hasta donde sea posible, evite incluir en una relacin atributos cuyos
valores puedan ser nulos. Si no es posible evitar los nulos, asegrese de
que se apliquen slo en casos excepcionales y no a la mayora de las
tuplas de una relacin
Prohibir tuplas espurias
Disee los esquemas de relacin de manera que puedan reunirse
mediante condiciones de igualdad sobre atributos que sean claves
primarias o candidatas, a fin de garantizar que no se formarn tuplas
espurias
26 de abril de 2013
Tuplas espurias o errneas
Supongamos el esquema
Estudiante (Legajo, Nombre, Ciudad, Provincia)
Legajo Nombre Ciudad Provincia
10 Jorge Neuqun Neuqun
20 Anala Plottier Neuqun
30 Carlos Cipolletti Ro Negro
40 Mara Centenario Neuqun
26 de abril de 2013
Tuplas espurias o errneas...
Solucin al problema de redundancia Estudiante (Legajo, Nombre, Provincia)
Direccin (Provincia, Ciudad)


Legajo Nombre Provincia
10 Jorge Neuqun
20 Anala Neuqun
30 Carlos Ro Negro
40 Mara Neuqun
Ciudad Provincia
Neuqun Neuqun
Plottier Neuqun
Centenario Neuqun
Cipolletti Ro Negro
26 de abril de 2013
Tuplas espurias o errneas...


Legajo Nombre Provincia
10 Jorge Neuqun
20 Anala Neuqun
30 Carlos Ro Negro
40 Mara Neuqun
Ciudad Provincia
Neuqun Neuqun
Plottier Neuqun
Centenario Neuqun
Cipolletti Ro Negro

Legajo Nombre Provincia Ciudad
10 Jorge Neuqun Neuqun
10 Jorge Neuqun Plottier
10 Jorge Neuqun Centenario
20 Anala Neuqun Neuqun
20 Anala Neuqun Plottier
20 Anala Neuqun Centenario
30 Carlos Ro Negro Cipolletti
40 Mara Neuqun Neuqun
40 Mara Neuqun Plottier
40 Mara Neuqun Centenario
Tuplas
Espurias
26 de abril de 2013
Tuplas espurias o errneas...
Se trata de las tuplas adicionales que no estaban en la relacin original
Representan informacin errnea o agregada que no es vlida
Se obtiene porque el join se realiz entre dos tablas cuyos esquemas no fueron
elegidos como un buen diseo
Esto se debe a que el atributo que relaciona ambos esquemas no es una clave
primaria o clave candidata en cualquiera de las relaciones
26 de abril de 2013
Descomposicin
Una descomposicin del esquema de relacin
R = {A1, A2, ... , Am}
es su reemplazo por un conjunto
= {R1, R2, ..., Rk}
de subconjuntos de R, tales que
R = R1 R2 ... Rk
No es necesario que los Ris sean disjuntos
26 de abril de 2013
Join sin prdida
Sea R un esquema relacin que se descompone en los esquemas R1, Rk, y F un
conjunto de dependencias funcionales
La descomposicin es join sin prdida (lossless join) de R con respecto al conjunto F si
para toda instancia de r(R) que satisface F
tR1 (r) ... tR1 (r) = r
Es decir, cada relacin r se reconstruye como el join natural de sus proyecciones sobre
cada Ri.
Necesaria como propiedad si la relacin descompuesta puede recuperarse de su
descomposicin
26 de abril de 2013
Preservacin de Dependencias
Si actualizamos una relacin de una BD. Podemos fcilmente controlar si una
dependencia funcional XY es violada?
Slo podramos hacerlo si X Y estn contenidos en algn conjunto de atributos
La proyeccin de un conjunto de dependencias funcionales F en un conjunto de atributos
Z, FZ es
{XY | XYeF + and X Y eZ }
Una decomposicin R1, , Rk preserva dependencias si
F + = ( FR1 ... FRk ) +
Lo que significa que la descomposicin no ha perdido alguna dependencia funcional
esencial.
Conservaramos as las restricciones de integridad de la relacin R original.
26 de abril de 2013
Preservacin de Dependencias...
El esquema de relacin Proveedor
{ Nombre, Direccin, Ciudad, CP, Item, Precio }
Conjunto de dependencias funcionales
Nombre Direccin, Ciudad
Direccin, Ciudad CP
Nombre,Item Precio
Considerar la descomposicin
{Nombre, Direccin, Ciudad, CP}
{Nombre, Item, Precio}
Es Join sin Prdida?
Preserva dependencias?
Cmo cambia si se reemplaza la primera dependencia con Nombre, Direccin
Ciudad ?
Ejemplo de Preservacin
26 de abril de 2013
Preservacin de Dependencias...
Esquema:
{estudiante, profesor, tema}
Conjunto de DF:
profesor tema
estudiante, tema profesor
La Descomposicin:
{estudiante, profesor}
{profesor, tema}
Es join sin prdida?
Tiene preservacin de dependencias?
Ejemplo de Preservacin II
26 de abril de 2013
Formas Normales
Definicin de Forma Normal
Es una restriccin al esquema de BD que presumible-mente evita ciertas
propiedades indeseables en la BD.
Se definen primero para un esquema de relacin en el esquema de la BD y se
extienden hasta aplicar al esquema de BD como un todo

1 FN
Un esquema relacional R est en primera forma normal (1FN) si el valor de
dom(A) para cada atributo de R es atmico
Los valores del dominio no pueden ser listas, conjunto de valores o valores
compuestos.
26 de abril de 2013
Atributos Multivaluados
Primera Forma Normal (1FN)
Profesor
ID# Nombre Apellido Mdulos
12345
23456
34567
45678
56789
67890
78901
. . .
Fred
Sarah
Joe
Mary
Edward
Cyril
Mei Ti
. . .
Jones
Smith
Clegg
Windsor
Griswald
Coombs
Quinn
. . .
IT, Business, History
Chemistry, Physics, IT
Maths, Physics, Art
Maths, Physics, Geography
Maths, PE, Gen Studies
History, French, PE
Chemistry, Biology
. . .
Query: (Encontrar todos los profesores de Fsica)
Una relacin est en 1 Forma Normal si no tiene
atributos con valores multivaluados
26 de abril de 2013
Profesor
ID# Nombre Apellido Modulo 1
12345
23456
34567
45678
56789
67890
78901
. . .
Fred
Sarah
Joe
Mary
Edward
Cyril
Mei Ti
. . .
Jones
Smith
Clegg
Windsor
Griswald
Coombs
Quinn
. . .
IT Business History
Chemistry Physics IT
Maths Physics Art
Maths Physics Geography
Maths PE Gen Studies
History French PE
Chemistry Biology
. . .
Modulo 2 Modulo 3
Atomic Attributes (still search multiple columns)
Primera Forma Normal (1FN)...
26 de abril de 2013
Formas Normales
Dependencia Funcional Parcial / Total
Sea F un conjunto de DF y X Y en F+.
Y es parcialmente dependiente de X en F si X Y no es reducido a
izquierdo, ie - X c X / X Y e F+.
Y es totalmente dependiente de X en F si X Y es reducido a izquierdo,
ie - X c X / X Y e F
Atributo Primario o Primo
Sea R un esquema de Relacin, y A e R, F un conjunto de DF sobre R. A
es primo en R con respecto a F si A pertenece a alguna clave de R. De lo
contrario A es no primo.
26 de abril de 2013
Formas Normales...
2 FN
Un esquema relacional R est en segunda forma normal (2FN) cuando
todos los atributos no primos tienen dependencia total respecto de cada
una de las claves.
Un esquema de base de datos est en segunda forma normal respecto a
un conjunto de dependencias funcionales F si cada esquema de relacin
Ri en R est en 2FN con respecto a F.
Ejemplo
26 de abril de 2013
La Informacin
est duplicada.
(La informacin
est
contenida en las
Correspon-
dencias
entre atributos)
Depende de ID#
(parte de la clave
primaria)
Profesor
ID# Nombre Apellido Mdulo
12345
12345
12345
23456
23456
23456
34567
34567
34567
45678
45678
. . .
Fred
Fred
Fred
Sarah
Sarah
Sarah
Joe
Joe
Joe
Mary
Mary
. . .
Jones
Jones
Jones
Smith
Smith
Smith
Clegg
Clegg
Clegg
Windsor
Windsor
. . .
IT
Business
History
Chemistry
Physics
IT
Maths
Physics
Art
Maths
Physics
. . .
No hay grupos repetitivos, pero hay problemas
Una relacin est en 2 Forma Normal si est en
1 Forma Normal y ningn atributo no primo es
dependiente de una parte de una clave.
Segunda Forma Normal (2FN)...
26 de abril de 2013
Mdulo
ID# Mdulo
BS001
HI001
PH002
. . .
Business
History
Physics
. . .
Profesor
ID# Nombre Apellido
12345
23456
34567
45678
. . .
Fred
Sarah
Joe
Mary
. . .
Jones
Smith
Clegg
Windsor
. . .
En esta propuesta, las
tablas representan cosas
o conceptos que tienen
claro significado. Por un
lado el Profesor, por el
otro los Mdulos.

Estas son las entidades
sobre las cuales se
ha hablado en la
modelizacin conceptual.
Segunda Forma Normal (2FN)...
26 de abril de 2013
BS001
HI001
PH002
. . .
Business
History
Physics
. . .
Mdulo
ID# Mdulo
Profesor
ID# Nombre Apellido
12345
23456
34567
45678
. . .
Fred
Sarah
Joe
Mary
. . .
Jones
Smith
Clegg
Windsor
. . .
Profesor/Mdulo
TID# MID#
12345
12345
12345
23456
23456
23456
34567
34567
34567
45678
45678
. . .
IT003
BS001
HI001
CH002
PH002
IT003
MA002
PH002
AR001
MA002
PH002
. . .
Segunda Forma Normal (2FN)...
26 de abril de 2013
Formas Normales
Dependencia Funcional Transitiva
Sea F un conjunto de DF y X Y en F+, y A un atributo de R.
A es transitivamente dependiente de X en R con respecto a F si hay un
subconjunto Y de R tal que X Y e F y (Y X) y Y A sobre F y A e
XY.
Ejemplo

3 FN
Un esquema relacional R est en tercera forma normal (3FN) cuando
est en 1FN y no hay atributos no primos en R que tengan dependencia
transitiva respecto de cada una de las claves de R.
26 de abril de 2013
Formas Normales...
3 FN
Un esquema de base de datos est en tercera forma normal con respecto a
F si cada esquema de relacin Ri de R est en tercera forma normal con
respecto a F.
Ejemplo
El esquema relacional R est en 3FN si para cada dependencia funcional X
A que vale en R, se cumple lo siguiente:
A e X (trivial),
X es una superclave para el esquema R, o
A es miembro de alguna de las claves de R
26 de abril de 2013
Formas Normales...
3 FN
Un esquema de base de datos est en tercera forma normal respecto a
un conjunto de dependencias funcionales F si cada esquema de relacin
Ri en R est en 3FN con respecto a F.

Teorema
Cualquier esquema de relacin R que est en 3FN con respecto al
conjunto de dependencias funcionales F est tambin en 2FN con
respecto a F.
Demostracin: Una dependencia parcial implica una dependencia
transitiva.
26 de abril de 2013
IT
Bu
Hi
Ch
Ph
IT
Ma
Ph
Ar
Ma
Ph






Profesor
ID# Nombre Mdulo
12345
12121
11345
26456
21156
22256
35667
31367
11167
21378
12178
. . .
Jones
Brown
Paul
Sylvester
Mike
Smith
Clegg
Marshall
Dominic
Windsor
Matt
. . .
Nombre del Mdulo
Information Technology
Business Studies
History of Art
Chemistry
Physics
IT
Maths
Physics
Art
Maths
Physics
. . .
Estos atributos no dependen de ID#
Una relacin est en 3 Forma Normal si est en
2 Forma Normal y no existen atributos no
primos que dependen transitivamente de alguna
de las claves.
Tercera Forma Normal (3FN)
26 de abril de 2013
Formas Normales
Forma Normal de Boyce Codd
El esquema relacional R est en FNBC si para cada dependencia
funcional X Y no trivial que vale en R, X es una superclave para el
esquema
Por definicin, un esquema en FNBC tambin est en 3FN
FNBC es la ms deseable de las restricciones de una descomposicin pero puede
demostrarse que no siempre puede obtenerse esta descomposicin y mantener
todas las propiedades (LJ y PD)
FNBC es ms estricta que 3FN.
26 de abril de 2013
Formas Normales...
Siempre es posible partir de un esquema de relacin R que no se encuentra en 3FN
con respecto a un conjunto F de dependencias funcionales y descomponerlo en un
esquema de base de datos relacional que est en 3FN con respecto a F
Descomponer un esquema de base de datos relacional significa romper el
esquema relacional inicial en un par de esquemas R1 y R2 (posiblemente que se
intersectan) tales que la relacin r(R) que satisface a F se descompone sin prdida
en R1 y R2. Es decir
tR1 (r) tR2 (r) = r
Podemos repetir el proceso en cada Ri si alguno de ellos no ha alcanzado la forma
normal buscada.
26 de abril de 2013
Relacin de las Formas Normales
26 de abril de 2013
Forma Original No Normalizada
1NF
2NF
3NF
1 Forma Normal
2 Forma Normal
3 Forma Normal
Ejemplo de Pasos de una
propuesta del proceso de
Normalizacin
Normalizacin
26 de abril de 2013
Proceso de Normalizacin
Tcnica formal para analizar una relacin basada en sus claves primarias y las
dependencias funcionales que existen entre los atributos del esquema.
Usualmente se ejecuta en una serie de pasos. Cada paso corresponde a una forma
normal especfica (es posible), con propiedades conocidas.
En la medida que avanza el proceso, las relaciones se hacen ms restringidas (ms
fuertes) en su formato y tambin menos vulnerables a las anomalas de actualizacin.
26 de abril de 2013
Proceso de Normalizacin



26 de abril de 2013
Metas del proceso de Normalizacin
Obtener los atributos correctos (Buscar los atributos correctos)
Obtener las entidades correctas (Dependencias funcionales)
Obtener las relaciones correctas (Dependencias Multivaluadas)
26 de abril de 2013
En trminos de las formas normales, la normalizacin se expresa como:
1ra Forma Normal: elimina los grupos repetitivos.
2da + 3ra Forma Normal: elimina todas las dependencias funcionales entre los
atributos no primos.
4ta Forma Normal: elimina todas las dependencias multivaludas
Proceso de Normalizacin
26 de abril de 2013
Profesor
ID# Nombre Apellido Mdulos
12345
23456
34567
45678
56789
67890
78901
. . .
Fred
Sarah
Joe
Mary
Edward
Cyril
Mei Ti
. . .
Jones
Smith
Clegg
Windsor
Griswald
Coombs
Quinn
. . .
IT, Business, History
Chemistry, Physics, IT
Maths, Physics, Art
Maths, Physics, Geography
Maths, PE, Gen Studies
History, French, PE
Chemistry, Biology
. . .
Query: (Encontrar todos los profesores de Fsica)
Atributos Multivaluados
Una relacin est en 1 Forma Normal si no tiene
atributos con valores multivaluados
Primera Forma Normal (1FN)
26 de abril de 2013
Profesor
ID# Nombre Apellido Modulo 1
12345
23456
34567
45678
56789
67890
78901
. . .
Fred
Sarah
Joe
Mary
Edward
Cyril
Mei Ti
. . .
Jones
Smith
Clegg
Windsor
Griswald
Coombs
Quinn
. . .
IT Business History
Chemistry Physics IT
Maths Physics Art
Maths Physics Geography
Maths PE Gen Studies
History French PE
Chemistry Biology
. . .
Modulo 2 Modulo 3
Atomic Attributes (still search multiple columns)
Primera Forma Normal (1FN)
26 de abril de 2013
La Informacin
est duplicada.

(La informacin est
contenida en las
correspondencias
entre atributos)
Depende de ID#
(parte de la clave
primaria)
Profesor
ID# Nombre Apellido Mdulo
12345
12345
12345
23456
23456
23456
34567
34567
34567
45678
45678
. . .
Fred
Fred
Fred
Sarah
Sarah
Sarah
Joe
Joe
Joe
Mary
Mary
. . .
Jones
Jones
Jones
Smith
Smith
Smith
Clegg
Clegg
Clegg
Windsor
Windsor
. . .
IT
Business
History
Chemistry
Physics
IT
Maths
Physics
Art
Maths
Physics
. . .
No hay grupos repetitivos, pero hay problemas
Una relacin est en 2 Forma Normal si est en
1 Forma Normal y ningn atributo no primo es
dependiente de una parte de una clave.
Segunda Forma Normal (2FN)
26 de abril de 2013
Mdul
o
ID# Mdulo
BS001
HI001
PH002
. . .
Business
History
Physics
. . .
Profesor
ID# Nombre Apellido
12345
23456
34567
45678
. . .
Fred
Sarah
Joe
Mary
. . .
Jones
Smith
Clegg
Windsor
. . .
En esta propuesta, las
tablas representan cosas
o conceptos que tienen
claro significado. Por un
lado el Profesor, por el
otro los Mdulos.

Estas son las entidades
sobre las cuales se
ha hablado en la
modelizacin conceptual.
Segunda Forma Normal (2FN)
26 de abril de 2013
Mdul
o
ID# Mdulo
BS001
HI001
PH002
. . .
Business
History
Physics
. . .
Profesor
ID# Nombre Apellido
12345
23456
34567
45678
. . .
Fred
Sarah
Joe
Mary
. . .
Jones
Smith
Clegg
Windsor
. . .
Profesor/Mdul
o
TID# MID#
12345
12345
12345
23456
23456
23456
34567
34567
34567
45678
45678
. . .
IT003
BS001
HI001
CH002
PH002
IT003
MA002
PH002
AR001
MA002
PH002
. . .
Segunda Forma Normal (2FN)
26 de abril de 2013
Profesor
ID# Nombre Mdulo
12345
12121
11345
26456
21156
22256
35667
31367
11167
21378
12178
. . .
Jones
Brown
Paul
Sylvester
Mike
Smith
Clegg
Marshall
Dominic
Windsor
Matt
. . .
IT
Bu
Hi
Ch
Ph
IT
Ma
Ph
Ar
Ma
Ph






Nombre del Mdulo
Information Technology
Business Studies
History of Art
Chemistry
Physics
IT
Maths
Physics
Art
Maths
Physics
. . .
Estos atributos no dependen de ID#
Una relacin est en 3 Forma Normal si est en
2 Forma Normal y no existen atributos no
primos que dependen transitivamente de alguna
de las claves.
Tercera Forma Normal (3FN)
26 de abril de 2013
Muchas gracias por su atencin

Das könnte Ihnen auch gefallen