Sei sulla pagina 1di 92

Base de Datos

Unidad 3
Contenido

Normalizacin
Anlisis de Dependencias funcionales entre los datos: funcional,
transitiva, completa y multivalor
Normalizacin: Primera, Segunda y Tercera Forma Normal.
Forma Normal de Boyce & Codd, Cuarta y Quinta Forma Normal
Paso del modelo E-R al modelo Relacional
El Proceso de Normalizacin
Qu es? Para que sirve?

Consiste en aplicar Evitar la


una serie de reglas redundancia de
a las relaciones en datos
la base de datos Proteger la
Elimina las integridad de los
dependencias entre datos
los atributos que Evitar problemas en
originen anomalas la actualizacin de
en la actualizacin la base de datos
de la base de datos
Objetivos Generales de la Normalizacin

Eliminar ciertos tipos de redundancia.


Evitar ciertas anomalas en la actualizacin de
datos.
Producir un diseo que sea una buena
representacin del mundo real: que sea fcil de
entender intuitivamente y constituya una buena base
para un crecimiento futuro.
Simplificar la imposicin de ciertas reglas de
integridad.
Formas Normales
Universo de las relaciones (normalizadas y no normalizadas)
Relaciones 1FN (relaciones normalizadas)
Relaciones 2 FN
Relaciones 3 FN
Relaciones FNBC
Relaciones 4FN
Relaciones FN/PJ (5FN)
Video que explica la normalizacin a travs de las dependencias funcional
y transitiva que existen entre los atributos

Video de Normalizacin con Dependencias


El Proceso de Normalizacin
Definiciones
DEPENDENCIA FUNCIONAL
Relacin semntica entre dos ms atributos:
El valor de un atributo xdetermina el valor de otro
atributo y
RELACIN = Tabla
Dependencia funcional Completa

Dependencia funcional Transitiva


EJEMPLO 1 - Dependencia
Funcional
Dada una Relacin R, el atributo y de R,
depende funcionalmente (DF) del atributo x de
R, si el valor de y est determinado por el valor
de x. El atributo x se llama determinante.
R.x R.y
Se lee: R.x determina funcionalmente a R.y
o R.y depende funcionalmente de R.x.
EJEMPLO 1 - DEPENDENCIA FUNCIONAL
C Alumno D Alumno C Postal D Especialidad

200800101 Salazar L14 Industrial


200840126 Jimnez L27 Electrnica
200812536 Bernales L01 Sistemas
200840016 Cordova L20 Sistemas
200820010 Alvarez L27 Civil
C Alumno N Alumno
C Alumno C Postal
C Alumno N Especialidad
C Alumno (N Alumno, C Postal, N Especialidad)
Ejemplo 2 - Dependencia
Funcional
Dada una relacin R, el atributo y depende
funcionalmente del atributo x si y slo si, siempre
que dos tuplas concuerden en el valor de x, deben
por fuerza concordar tambin en el valor de y.
La definicin de Dependencia Funcional (DF) no
requiere que el determinante x sea una clave candidata
de R: no es obligatorio que un valor dado de x aparezca
en una sola tupla de R.
EJEMPLO 2 - Dependencia
Funcional
CAlumno C Profesor N alumno N Profesor C Curso Q Nota
3456 0301 Jos Prez Serna SI03 15.00
1256 2005 Mara Antnez Ramirez SI20 16.50
0101 0312 Lourdes Snchez Vidaurre SI03 17.00
3456 2002 Jos Prez Anache SI20 13.50
1234 0304 Pilar Garca Bermejo SI03 18.00

CProfesor NProfesor

Sin embargo, el atributo C Profesor NO es clave


candidata de la relacin Evaluacin
Dependencia Funcional Completa
Dada una Relacin R, el atributo z de R, est en
dependencia funcional completa (DFC) de la clave
primaria PK de R, si el valor de z depende
funcionalmente de TODA la clave PK y NO de un
subconjunto de la misma.
R.(x,y) R.z

Donde PK=(x,y)
EJEMPLO 1 - DEPENDENCIA FUNCIONAL
COMPLETA
RELACIN EVALUACIN
C Estudiante C Curso Q Nota
200810025 S03 16.00
200810025 S114 15.25
200525036 SI03 14.00
C Estudiante
Q Nota
C Curso

(C Estudiante, C Curso) Q Nota


EJEMPLO 2 - DEPENDENCIA FUNCIONAL
COMPLETA

Q Horas
CConsultor CProyecto DConsultor DProyecto trabajadas
C1 P1 Juan Auditoria 25
C1 P2 Juan DW 80
C2 P1 Pedro Auditoria 35
C3 P3 Mara CRM 20
C3 P4 Mara ERP 50

CConsultor
Q Horas_Trabajadas
CProyecto

(CConsultor, CProyecto) Q Horas_Trabajadas


Dependencia Transitiva
Dada una Relacin R, el atributo z de R, est en
dependencia transitiva (DT) de la clave primaria PK de R,
si el valor de z depende funcionalmente de otro
atributo no clave y.

R.x R.y, R.z


Donde PK=x
Se lee R.z es funcionalmente dependiente de
R.y y transitivamente dependiente de R.x
EJEMPLO 1 -Dependencia
COMPROBANTE
Transitiva
#Comprobante C Cliente N Cliente D Venta

0040 C01 Juan 20/05/02


0050 C01 Juan 18/04/02
0010 C02 Mara 15/04/02
0020 C02 Mara 15/04/02

#Comprobante C Cliente, D Venta,


N Cliente
EJEMPLO 2 -Dependencia
Transitiva
Relacin Asignacin de Personal en un solo proyecto P

DProyecto-
CEmpleado DEmpleado MSalario CProyecto
Trmino
E1 Juan 3,500 P1 31/10/02
E2 Pedro 3,000 P1 31/10/02
E3 Mara 3,800 P2 15/11/02
E4 Andrs 3,000 P2 15/11/02
E5 Ana 2,800 P1 31/10/02

C-Empleado CProyecto,

DProyecto-Trmino
Video que explica la normalizacin a travs las tres formas normales que
existen entre los atributos

Video de Normalizacin 1Fn, 2Fn y 3Fn


Normalizacin

Datos sin normalizar


1FN: Las relaciones no deben
contener grupos repetitivos

1ra. Forma Normal


2FN: Cada atributo no clave
debe depender de toda la clave
2da. Forma Normal
3FN: Cada atributo no clave
debe depender de toda la
3ra. Forma Normal clave de esa relacin y no de
otros atributos.
Anomalas

Se presentan cuando tratamos de almacenar


informacin en tablas no normalizadas:
De actualizacin: inconsistencia de los datos como
consecuencia de actualizaciones parciales y datos
redundantes.
De insercin: imposibilidad de adicionar datos en la
BD por la ausencia de otros.
De borrado: prdida no intencionada de datos
debido a la eliminacin de otros.
Primera Forma Normal (1FN)
Una relacin est en primera forma normal o (1FN) si todos los
atributos de cada tupla contienen un solo valor tomado de sus
dominios respectivos (valores atmicos)

Todos los atributos de una relacin tienen valores simples


Todos los valores de cualquier columna son del mismo tipo
No hay grupos ni arreglos repetidos como valores
1. No hay orden de arriba-a-abajo en las filas.
2. No hay orden de izquierda-a-derecha en las
columnas.
3. No hay filas duplicadas.
4. Cada interseccin de fila-y-columna contiene
exactamente un valor del dominio aplicable (y nada
ms).
5. Todas las columnas son regulares [es decir, las filas no
tienen componentes como IDs de fila, IDs de objeto, o
timestamps ocultos].

Chris Date, "What First Normal Form Really Means", pp. 127-8
Primera Forma Normal (1FN)
Relacin: Pedido
CCliente NCliente NCiudad $Flete $Precio CProducto Qpedida DPedido
Unitario
C1 JUAN LIMA 0.75 8.20 I3 1 5/6/03

C1 JUAN LIMA 0.75 8.20 I3 2 12/10/03

C2 MARIA TUMBES 1.95 4.00 I2 1 15/05/03

C2 MARIA TUMBES 1.95 8.20 I3 1 15/05/03

C2 MARIA TUMBES 1.95 2.00 I1 3 15/05/03

C3 PEDRO LIMA 0.75 4.00 I2 1 10/08/03

C3 PEDRO LIMA 0.75 2.00 I1 2 10/10/03

C4 ANA ICA 1.05 10.50 I4 1 5/05/03


Primera Forma Normal (1FN)
Cul es el
problema?
Por qu habra que
modificar este
esquema?
Fallas de 1FN
Las fallas en el almacenamiento de una relacin que ya
est en 1FN, se deben a la presencia de uno o ms
atributos no-clave que no son DFC con la clave
primaria (PK).
Los defectos se pueden eliminar con el siguiente
procedimiento
Quitar de la relacin 1FN todos los atributos no-clave que no
estn en DFC de la PK.
Guardar esos atributos no-clave en relaciones nuevas y
adecuadas.
Ejemplo de Fallas del 1FN ya que los atributos no dependen funcionalmente de toda la
clave

CCliente NCliente NCiudad $Flete $Precio CProducto Qpedida DPedido


Unitario
C1 JUAN LIMA 0.75 8.20 I3 1 5/6/03

C1 JUAN LIMA 0.75 8.20 I3 2 12/10/03

C2 MARIA TUMBES 1.95 4.00 I2 1 15/05/03

C2 MARIA TUMBES 1.95 8.20 I3 1 15/05/03

C2 MARIA TUMBES 1.95 2.00 I1 3 15/05/03

C3 PEDRO LIMA 0.75 4.00 I2 1 10/08/03

C3 PEDRO LIMA 0.75 2.00 I1 2 10/10/03

C4 ANA ICA 1.05 10.50 I4 1 5/05/03


Segunda Forma Normal (2FN)
Una relacin est en segunda forma normal o (2FN) si
es 1FN y cada atributo no clave de la relacin es
total y funcionalmente dependiente (DFC) de su
clave primaria
Producto:
(C-Producto, $ Precio Unitario)

Cliente:
(C-Cliente, N-Cliente, N Ciudad, $Flete)

Pedido 1:
(C-Cliente, C-Producto, D Pedido, Q Pedida)
Segunda Normal (2FN)
Cul es el
problema?
Por qu habra que
modificar este
esquema?
Fallas de 2FN
Los defectos de almacenamiento de una relacin 2FN
son causados por la dependencia transitiva (DT) de
atributos no-clave con la clave primaria.
Se puede normalizar como sigue:
Examinar cada atributo no-clave para ver si est en
DF con otro atributo diferente de la PK.
Crear una nueva relacin para almacenar la no-
clave transitivamente dependiente.
Ejemplo de Falla de 2FN

Cliente:
(C-Cliente, N-Cliente, N Ciudad, $ Flete)
Tercera Forma Normal (3FN)
Una relacin est en tercera forma normal o (3FN) si es 2FN y ningn atributo
no-clave en la relacin esta en DF con algn otro atributo no-clave.

I.E. Si est en 2FN y no tiene dependencias


transitivas
Normalizacin hasta 3FN

Producto:
(C-Producto, $ Precio Unitario)

Cliente 1: Ciudad:
(C-Cliente, N-Cliente, N Ciudad) (N Ciudad, $ Flete)

Pedido 1:
(C-Cliente, C-Producto, D Pedido, Q Pedida)
Forma Normal Boyce/Codd
Clave Candidata:
Es un atributo o conjunto de atributos que pueden
representar de forma nica a cada registro de una
entidad o relacin.
Cuando en una relacin hay ms de una clave
candidata, una se designa como clave primaria.
Forma Normal Boyce/Codd
Estudiante Curso NAsesor
Gmez Mate I Arias
Gmez Fsica Flores
ASESORIA
Prez Mate I Arias
Prez lgebra Snchez
Ramos Fsica Flores
Ramos Mate I Garca

Restricciones:
Para cada curso (C), cada estudiante(E), tiene un solo
asesor (A)
Cada curso tiene varios asesores (A), pero cada
profesor asesora en un solo curso
Forma Normal Boyce/Codd
Para cada curso, cada estudiante tiene un solo
asesor
(E, C) A
Cada profesor asesora en un solo curso (pero cada
curso tiene varios asesores)

(E, A) C
Forma Normal Boyce/Codd
Existen dos clave candidatas que se traslapan o
estn sobrepuestas (E,C) y (E,A).

Tenemos adems la dependencia funcional:

A C
Forma Normal Boyce/Codd
Anomalas de eliminacin
(Identifique alguna)

El problema existe porque hay un atributo que es


determinante pero no clave candidata: N Asesor
Es conveniente crear dos relaciones nuevas:
ESTUDIANTE_ASESOR (E, A) y
ASESOR_CURSO (A,C)
Forma Normal Boyce/Codd
ASESORIA
NEstudiante NCurso NAsesor
Gmez Mate I Arias
Gmez Fsica Flores
Prez Mate I Arias
Prez lgebra Snchez
Ramos Fsica Flores
ASESOR- Ramos Mate I Garca
ESTUDIANTE
NEstudiante N Asesor ASESOR_CURSO
Gmez Arias N Asesor Curso
Gmez Flores
Prez Arias Arias Mate I
Prez Snchez Flores Fsica
Ramos Flores Snchez lgebra
Ramos Garca Garca Mate I
Forma Normal Boyce/Codd

Una relacin est en forma normal Boyce Codd


(BCFN) si y solo si todo determinante es una
clave candidata.
Forma Normal Boyce/Codd
PROYECTO_TAREA_EMPLEADO

Proyecto Tarea Empleado


P01 anlisis Juana Paz
P01 calidad Mario Gmez
P15 diseo Ana Llanos
P20 anlisis Juana Paz
P30 anlisis Ramn Daz
REGLAS:
Para cada proyecto, una tarea es encomendada a un solo empleado,
an cuando el empleado est en varios proyectos,
Un proyecto est asociado a distintas tareas,
Un empleado se especializa en un tipo de tarea,
Una misma tarea puede ser desarrollada por distintos empleados en
distintos proyectos.
Forma Normal Boyce/Codd
Esta relacin tiene dos claves candidatas
sobrepuestas:
(Proyecto, Tarea) y (Proyecto, Empleado),

Existe un determinante de Tarea que es Empleado,


pero Empleado no es clave candidata.
Empleado Tarea
Forma Normal Boyce/Codd
Anomalas de insercin. Cules?
Anomalas de eliminacin. Cules?
El problema existe porque hay un atributo que es
determinante pero no clave candidata: Empleado
Creamos dos relaciones nuevas:
PROYECTO_EMPLEADO y
EMPLEADO_TAREA
Forma Normal
PROYECTO_TAREA_EMPLEADO
Boyce/Codd
Proyecto Tarea Empleado
P01 anlisis Juana Paz
P01 calidad Mario Gmez
P15 diseo Ana Llanos
P20 anlisis Juana Paz
P30 anlisis Ramn Daz

PROYECTO_EMPLEADO EMPLEADO_TAREA
Proyecto Empleado Empleado Tarea
P01 Juana Paz Juana Paz anlisis
P01 Mario Gmez Mario Gmez calidad
P15 Ana Llanos Ana Llanos Diseo
P20 Juana Paz Ramn Daz anlisis
P30 Ramn Daz
Forma Normal Boyce/Codd
EXAMEN

Materia Estudiante Posicin


Lengua Prez 5
Matemtica Prez 1
Lengua Gmez 1
Matemtica Gmez 3
Historia Prez 2
Historia Gmez 1

REGLAS:
No hay empates; es decir, dos estudiantes no pueden ocupar la misma
posicin en la misma materia.
Forma Normal Boyce/Codd
Esta relacin tiene dos claves candidatas
sobrepuestas, de acuerdo con las reglas dadas:
(Estudiante, Materia) y (Materia, Posicin),

Sin embargo, esta relacin si est en BCFN porque


estas claves candidatas son los nicos
determinantes.
Video que explica la 4ta Forma Normal a travs de las
dependencias multivalor que existen entre los
atributos

Video de 4ta Forma Normal


Dependencia Multivalor y Cuarta Forma
Normal
Dependencia Multivalor
Dada una relacin R, se dice que un atributo R.y es
dependiente multivalor (DMV) de un atributo R.x, si un
rango especfico de valores de y est determinado por un
valor especfico de x, con independencia del resto de
atributos de R
Se lee: R.y es multivalor de Rx o Rx multidetermina a
R.y.

Rx R.y
Dependencia Multivalor
Curso Profesor Texto

Qumica Moreno Qumica Orgnica

Mora Fsico Qumica

Matemticas Merino Anlisis Vectorial


lgebra
Trigonometra
Cada Curso tiene un conjunto definido de Profesores y un conjunto de Textos.
Los profesores son independientes de los textos.
Un profesor puede dictar varios cursos, y un texto podra emplearse para ms de una
materia
Dependencia Multivalor
CURSO_PROFESOR_TEXTO

Curso Profesor Texto


Qumica Moreno Fsico Qumica
Qumica Moreno Qumica Orgnica
Qumica Mora Fsico Qumica
Qumica Mora Qumica Orgnica
Matemticas Merino Anlisis Vectorial
Matemticas Merino lgebra
Matemticas Merino Trigonometra
Esta relacin especifica que: el curso impartido puede ser dictado por varios profesores
utilizando varios textos. Existen dos DMV:

Curso Profesor y Curso Texto


Tratamiento de las DMV

La redundancia de datos causada por la DMV, se


puede eliminar siguiendo uno de los siguientes
mtodos:

Crear una nueva relacin para cada atributo DMV.

Curso Profesor Curso Texto


R1 = (Curso, Profesor) R2 = (Curso, Texto)
Tratamiento de las DMV

Reemplazar un atributo DMV con atributos


funcionalmente dependientes DF.

Curso (Texto1, Texto2, Texto3)

R3 = (Curso, texto1, texto2, texto3)


Tratamiento de las DMV
Crear una nueva relacin para cada atributo DMV.
Curso Profesor Curso Texto
Curso Profesor Curso Texto
Qumica Moreno Qumica Fsico Qumica
Qumica Mora Qumica Qumica Orgnica
Matemticas Merino Matemtica Anlisis Vectorial
Matemtica Algebra
Matemtica Trigonometra
Tratamiento de las DMV
Reemplazar un atributo DMV con atributos
funcionalmente dependientes DF.
Curso (Texto1, Texto2, Texto3)

Curso Texto 1 Texto 2 Texto 3


Qumica Fsico Qumica Qumica Orgnica
Matemticas Anlisis Vectorial Algebra Trigonometra
Cuarta Forma Normal

Una relacin est en cuarta forma normal


(4FN) si es BCFN y no contiene
dependencias multivalor.
Cuarta Forma Normal - Ejemplo
ACTIVIDADES

C_Alumno N_Deporte N_Arte


Z502010 Basquet Teatro
Z502010 Basquet Canto
Z502010 Gimnasia Teatro
Z502010 Gimnasia Canto
Z510394 Atletismo Danza
Z510394 Atletismo Teatro
Z510394 Atletismo Mimo
Z510394 Basquet Danza
Z510394 Basquet Teatro
Z510394 Basquet Mimo
4 FN - Ejemplo

Si el nmero de valores repetidos en DMV es grande


Se crea una nueva relacin para el atributo DMV y su
clave principal
C_Alumno
N_Deporte
N_Arte

Deporte
(C_Alumno, N_Deporte)
4 FN - Ejemplo

Si el nmero de valores repetidos en DMV es pequeo


y especfico
c/u de los valores del atributo DMV se representa
como un atributo dentro del mismo registro
Arte
(C_Alumno, N_Arte_1, N_Arte_2, N_Arte_3)

Deporte
(C_Alumno, N_Deporte)
4 FN - Ejemplo
Actividades

C_Alumno N_Arte_1 N_Arte_2 N_Arte_3


Z502010 Teatro Canto
Z510394 Danza Teatro Mimo

Deporte C_Alumno N_Deporte


Z502010 Basquet
Z502010 Gimnasia
Z510394 Atletismo
Z510394 Basquet
Cuarta Forma Normal - Ejemplo

NACIMIENTOS

En un nacimiento nace un nio (los mellizos se consideran dos


nacimientos).
En un nacimiento hay una sola madre, y pueden atender el parto una
o ms enfermeras y uno o ms mdicos.

R = (bebe, madre, enfermera, mdico)


Cuarta Forma Normal - Ejemplo

NACIMIENTOS

Normalizando:

R1 = (bebe, madre)
R2 = (bebe, enfermera, mdico)
No hay DT, y est en FNBC pero en R2 tenemos las dependencias
multivaloradas:

bebe mdico

bebe enfermera
Cuarta Forma Normal - Ejemplo
NACIMIENTOS

R1 = (bebe, madre) R2 = (bebe, enfermera, mdico)


BEBE MADRE BEBE ENFERMERA MDICO
Bebe1 Sra. Lpez Bebe1 Silva Zapata
Bebe1 Silva Fuentes
Bebe1 Silva Garca
Bebe1 Gmez Zapata
Bebe1 Gmez Fuentes
Bebe1 Gmez Garca
Cuarta Forma Normal - Ejemplo
NACIMIENTOS

Procedimientos alternativos:
#Crear una nueva relacin para cada atributo DMV.
R3 = (bebe, mdico) R4 = (bebe, enfermera)
Bebe Mdico Bebe Enfermera
Bebe 1 Zapata Bebe 1 Silva
Bebe 1 Fuentes Bebe 1 Gmez
Bebe 1 Garca
Cuarta Forma Normal - Ejemplo
NACIMIENTOS

#Reemplazar un atributo DMV con atributos


funcionalmente dependientes DF.
R5 = (bebe, mdico1, mdico2, mdico3)
R6 = (bebe, enfermera1, enfermera2)
Bebe Mdico1 Mdico2 Mdico3
R5
Bebe 1 Zapata Fuentes Garca

Bebe Enfermera1 Enfermera2


R6
Bebe 1 Silva Gmez
Normalizacin - Observaciones
Universidad (CUniversidad, Director, Asistente)
Una universidad tiene un director y de uno a tres
asistentes del director. Luego:
PK(Universidad) = (CUniversidad, Asistente)
Director depende nicamente de CUniversidad (no
est en DFC). Por lo tanto, Universidad no es 2FN.
Normalizacin - Observaciones
Universidad (CUniversidad, Director, Asistente)
Normalizando:
Alternativa 1:
Universidad = (CUniversidad, Director)
Asistente = (CUniversidad, Asistente)

Si se desea conocer los datos de una universidad debe


accederse por lo menos a dos registros.
Normalizacin - Observaciones
Alternativa 2:
Universidad = (CUniversidad, Director, Asistente1,
Asistente2, Asistente3)

Consultas ms complejas de elaborar que con la


alternativa # 1.
Normalizacin
Datos almacenados redundantemente en archivo
Sin Normalizar no plano

1FN La relacin tiene registros por separado para cada


valor en cada campo del registro, o cada campo de
un registro contiene un solo valor

2FN Cada atributo depende total y funcionalmente de


su clave principal

Ningn atributo no-clave depende transitivamente


3FN de su clave principal

Todo determinante existente en la relacin es clave


BCFN candidata

La relacin no contiene dependencias


4FN multivaloradas
Reglas de Inferencia para Dependencias
Funcionales

Regla reflexiva RI1: Si X Y, entonces X Y

Regla de aumento RI2: {XY}|= XZ YZ

Regla transitiva RI3: {XY, YZ}|= X Z


Regla de descomposicin o RI4: {XYZ}|= XZ
proyectiva
Regla de unin o aditiva RI5: {XY, XZ}|= XYZ
Regla pseudotransitiva RI6: {XY, WYZ}|= WXZ

RI1, RI2 y RI3 se conocen como los Axiomas de Armstrong


Resumen del Anlisis de las Dependencias
Funcionales

Dados dos atributos A y B, puede ocurrir que:


A B y B A
Se determinan entre s, en una relacin de uno a uno.
A B, pero B no A
Uno determina al otro, por lo que tienen una relacin de
muchos a uno
A no B, y B no A
No estn relacionados funcionalmente, por lo que tienen una
relacin de atributos de muchos a muchos.
Resumen del Anlisis de las Dependencias
Funcionales
Uno a uno Muchos a uno Muchos a
muchos
Definicin de
la relacin R(A,B) S(C, D) T(E, F)

A B C D F E
Dependencias
B A D C E F

Clave AoB C (E, F)

Regla para
agregar otro AoB C C E (E, F) G
atributo
Proceso Total de Normalizacin
(Diagrama de Dependencias)

Elaborar el diagrama que muestre las dependencias


funcionales y multivaloradas entre los atributos.
Separar las relaciones DMV de un atributo y su determinante
en otra nueva relacin.
Eliminar atributos no-clave para que todos los no-clave en las
relaciones divididas sean total y funcionalmente
dependientes de la clave principal.
Separar las no-claves transitivamente dependientes
Proceso Total de Normalizacin
(Diagrama de Dependencias)
PASO 1. Construir diagrama de dependencias segn la
semntica de los datos:
Sea la relacin R1 (A, B, C, D, E, F, G, H, I), con las siguientes
dependencias:
A
B
H es DF de (A, B)
C
I y C son DFC de A D
E
D es DMV de A F
G
E y F son DF de B
H
G es DF de F y DT de B I

Como D es DMV de A, PK(R1) = (A, B, D)


Proceso Total de Normalizacin
(Diagrama de Dependencias)

PASO 2. Separar las relaciones DMV:

A
B
C A

E D
F
G
H R3: (A, D)
I

R2: (A, B, C, E, F, G, H, I)
Proceso Total de Normalizacin
(Diagrama de Dependencias)
PASO 3. Separar no-claves que no son totalmente dependientes de la
clave principal:

D
B A
R3: (A, D) E I
F C
G
A R6: (A, I, C)
B R5: (B, E, F, G)
H

R4: (A, B, H)
Proceso Total de Normalizacin
(Diagrama de Dependencias)

PASO 4. Eliminar dependencia transitiva en R5:

A
B
D E
F A
R3: (A, D) R7: (B, E, F) I
C

A R6: (A, I, C)
B F
H G
R4: (A, B, H) R8: (F, G)
Proceso con Diagrama de Dependencias
CLIENTE
C Cliente
N Cliente PK:
N Tipo_documento
# documento (Conjunto mnimo de
N Direccin_envo atributos
$ Linea_Credito determinantes +
C Tipo_cliente Atributos en DMV) =
N Tipo_cliente (C Cliente,
C Clasificacin Ndireccin_envo,
N Tipo_Credito NTipo_Credito)
$ Tipo_credito
Proceso con Diagrama de Dependencias

Paso 2: Tratamiento de las DMV


C Cliente N direccin_envo
Direccin de Cliente: (C Cliente, N Direccin_envo)

(C Cliente, N_Tipo_Credito, N_Cliente,N_Tipo_Documento,


Documento,$LineaCredito,TipoCliente,Clasificacion,$TipoCredito)
Proceso con Diagrama de Dependencias

Paso 3: tratamiento de las DFC


(C Cliente, CTipo_Credito) $ Tipo_Credito
Deuda de Cliente: (C Cliente, CTipo_credito, $ Tipo_Credito)

C Cliente (N Cliente, N Tipo_documento, # Documento, $_Linea_credito,


CTipo_cliente, Ntipo_cliente, C_Clasificacin)

Cliente: (C Cliente, N Cliente, N Tipo_documento, # Documento,


$_Linea_credito, C Tipo_cliente, Ntipo_cliente,
C_Clasificacin)
Proceso con Diagrama de Dependencias

Paso 4: tratamiento de las DT


C Tipo_cliente N TipoCliente
Tipo de Cliente: (C Tipo_cliente, N TipoCliente)
Proceso con Diagrama de Dependencias

Conjunto resultante de relaciones:


Cliente: (C Cliente, N Cliente, N Tipo_documento, # Documento, $_Linea_credito, C
Tipo_cliente, C_Clasificacin)
Direccin de Cliente: (C Cliente, N Direccin_envo)
Deuda de Cliente: (C Cliente, N Tipo_credito, $ Tipo_Credito)
Tipo de Cliente: (C Tipo_cliente, N TipoCliente)
Paso del modelo e-r al modelo
relacional
Traduccin de un modelo .....

Cada entidad se convierte en una tabla


El identificador nico se convierte en la clave primaria
Cada atributo se convierte en una columna de su respectiva
tabla
Las relaciones se implementan colocando la clave primaria de
una tabla en la tabla relacionada, como clave externa.
Traduccin de un modelo .....

Antes de generar un diseo relacional a partir de un modelo,


hay que asegurase que est completo:
Tipos de dato de los atributos
Cardinalidad de las relaciones
Identificadores de las entidades (claves primarias)
Traduccin de un modelo .....

Relaciones de uno a muchos:


La clave primaria del lado uno es incrustada en la tabla del
lado muchos
Si el lado uno es opcional, la clave externa ser opcional, en
caso contrario ser requerido.
Traduccin de un modelo .....

Relaciones de uno a uno:


Son muy poco frecuentes en un sistema de negocios.
Generalmente ocultan relaciones de tipo generalizacin /
especializacin.
Si ambos lados de la relacin son obligatorios u opcionales,
escoger como principal aquella que podra variar su
cardinalidad a de uno a muchos
Si slo un lado es obligatorio, la PK de ste debe migrar hacia
el lado opcional.
Traduccin de un modelo .....

Relaciones de muchos a muchos:


Deben ser resueltas en el modelo mediante entidades
asociativas o designativas.
Las cardinalidades de las relaciones de estas nuevas
entidades determinarn la forma de traducirlas en una BD
relacional (de uno a muchos o de uno a uno)
Implementacin de Entidades
Supertipo / Subtipo
Cuenta
C Cuenta
C TipoCuenta
D Apertura

C TipoCuenta

Corriente Ahorro Plazo Fijo


C Cuenta (FK) C Cuenta (FK) C Cuenta (FK)
$ SaldoContable $ SaldoAhorro $ MontoDepsito
$ SaldoDisponible % Inters D Depsito
$ Sobregiro $ Inters % Plazo
Q PlazoDas
Implementacin de Entidades
Supertipo / Subtipo

Tablas de supertipo / subtipo


Implementar el supertipo y cada subtipo como tablas
separadas
La PK del supertipo puede tambin usarse como PK de los
subtipos
Para la descripcin completa de cualquier instancia es
necesario acceder por lo menos a dos tablas
Implementacin de Entidades
Supertipo / Subtipo

Slo supertipo
Las entidades subtipo son combinadas con el supertipo e
implementadas como una sola tabla
Las relaciones exclusivas de los subtipos se convierten en
opcionales para la nueva tabla
Se incluirn campos que debern aceptar valores nulos
dependiendo de lo que se establezca en el cdigo de la
aplicacin.
La codificacin de las consultas se hace ms compleja.
Implementacin de Entidades
Supertipo / Subtipo

Slo subtipos
Eliminar el supertipo e implementar solamente los
subtipos
Si los subtipos no son excluyentes, ser necesario duplicar
alguna informacin.
Adecuado con subtipos excluyentes, que comparten muy
poco comportamiento.

Potrebbero piacerti anche