Professional Documents
Culture Documents
Normalizacin
Una de las metas del diseo de BD es construir estructuras relacionales que representen de la mejor manera posible el universo de discusin. Como producto del diseo lgico especfico obtenemos tablas que pueden presentar problemas como los siguientes: Anomalas en las operaciones: Anomalas de insercin: Incapacidad para insertar nuevas filas a la tabla, teniendo como consecuencia prdida de informacin. Anomalas de eliminacin: Prdida de informacin que no se desea al eliminar registros. Anomalas de actualizacin: Como consecuencia de modificar un mismo atributo en varios sitios. Incapacidad para representar cierta informacin. Redundancias que originan incongruencias.
02/08/2012 Ing. Edgar Taya Acosta-ESIS-2008 2
Normalizacin
Ambigedades Aparicin de registros espurios. Prdida de ciertas restricciones de integridad. Para contrarrestar estos problemas se aplica una serie de reglas que deben verificar las tablas obtenidas en el diseo lgico. El proceso de normalizacin consiste en obtener para una tabla o relacin un conjunto de tablas equivalentes que contengan la misma informacin pero eliminando anomalas y corrigiendo errores. Una forma normal es una restriccin que se aplica a los atributos de una tabla que impida la presencia de anomalas indeseadas en los datos. Cada forma normal cumple ciertas restricciones.
Ing. Edgar Taya Acosta-ESIS-2008 3
02/08/2012
02/08/2012
DF: Ejemplos
Para la relacin (tabla) Alumno: Alumno(Cod_alumno, Ape_alumno, Nom_alumno, Sex_alumno, Fna_alumno, Dir_alumno, Tel_alumno, Fot_alumno, Esp_alumno, Condicin). Cod_alumno Ape_alumno, Nom_alumno, Sex_alumno, Fna_alumno, Dir_alumno, Tel_alumno, Fot_alumno, Esp_alumno, Condicin (Ape_alumno, Nom_alumno) Cod_alumno, Sex_alumno, Fna_alumno, Dir_alumno, Tel_alumno, Fot_alumno, Esp_alumno, Condicin Fot_alumno Ape_alumno, Nom_alumno, Sex_alumno, Fna_alumno, Dir_alumno, Tel_alumno, Esp_alumno, Condicin Nota: Siempre se cumple que X X, y asi: Cod_alumno Cod_alumno (Ape_alumno, Nom_alumno) (Ape_alumno, Nom_alumno) Fot_alumno Fot_alumno
02/08/2012
DF: Ejemplos
En consecuencia puede escribirse: Cod_alumno A (Ape_alumno, Nom_alumno) A Fot_alumno A donde A = {Cod_alumno, Ape_alumno, Nom_alumno, Sex_alumno, Fna_alumno, Dir_alumno, Tel_alumno, Fot_alumno, Esp_alumno, Condicin} Contraejemplo: Sex_alumno Nom_alumno Puesto que, por ejemplo, para el Femenino podemos tener: Sharmelee Amrica Haydee Femenino Sandra Sheyla
Ing. Edgar Taya Acosta-ESIS-2008 6
02/08/2012
Claves
Sea R(A) una relacin o tabla y sea X A un descriptor de R. Diremos que X es una superclave de R si XA Una superclave X de R si una clave candidata de R si NO admite un subconjunto X* X tal que X* A Una clave primaria X de R es una clave candidata elegida por el tcnico para identificar de manera nica e inconfundible a cada fila de la tabla R.
Ejemplo:
Alumno(Cod_alumno, Ape_alumno, Nom_alumno, Sex_alumno, Fna_alumno, Dir_alumno, Tel_alumno, Fot_alumno, Esp_alumno). (Cod_alumno, Ape_alumno, Nom_alumno, Sex_alumno) es una superclave de Alumno porque (Cod_alumno, Ape_alumno, Nom_alumno, Sex_alumno) A (Ape_alumno, Nom_alumno) es una clave candidata porque Ape_alumno A Nom_alumno A
02/08/2012
Claves
Cod_alumno es clave candidata porque Cod_alumno A Elegimos Cod_alumno como clave primaria de Alumno.
X descriptor de R(A) NO X no es clave de R(A) X A? SI X es una superclave de R(A) FIN Hallar X* X X* A? NO X es clave candidata de R(A) SI
X no es clave de R(A)
8
02/08/2012
DF parciales y totales
Sea R(A) una relacin o tabla y sean X, Y A descriptores de R. Diremos que la DF XY es parcial si y slo existe X* X tal que: X* Y Si NO existe X* X tal que X* Y diremos que la DF X Y es total, completa o plena. Se representa por: XY
Ejemplos:
1. Sea la tabla Examen(Cod_alumno, Cod_curso, Fecha, Nota) y sea la DF:
(Cod_alumno, Cod_curso, Fecha) Nota Cod_alumno Nota Cod_curso Nota Fecha Nota (Cod_alumno, Cod_curso) Nota (Cod_alumno, Fecha) Nota (Cod_curso, Fecha) Nota NO existe X* (Cod_alumno, Cod_curso,Fecha) tal que X* Y; entonces la DF (Cod_alumno, Cod_curso,Fecha) Nota es total
02/08/2012
DF parciales y totales
2.
Sea la tabla Carga(Cod_profesor, Cod_curso, Ape_profesor, Nom_profesor, Nom_curso, Hrs_curso, Pre_curso) y sea la DF: (Cod_profesor, Cod_curso) A Esta DF es parcial puesto que: Cod_profesor Ape_profesor, Nom_profesor Cod_curso Nom_curso, Hrs_curso, Pre_curso Tenemos entonces: (Cod_profesor, Cod_curso) Ape_profesor, Nom_profesor (a) (Cod_profesor, Cod_curso) Nom_curso, Hrs_curso, Pre_curso (b) Como: Cod_profesor (Cod_profesor, Cod_curso) Cod_curso (Cod_profesor, Cod_curso) Se cumple que existe X* X tal que X* Y, en consecuencia las DF (a) y (b) son parciales
02/08/2012
10
DF transitivas (DFT)
Sea R(A) una relacin o tabla y sean X, Y A descriptores de R. Diremos que la DF X Y es transitiva y se escribe: X Y si y slo si: X Y= Existe Z tal que X Z = y Y Z = X Z , Z Y, Z X entonces X Y Grficamente podemos representar:
Y
02/08/2012 Ing. Edgar Taya Acosta-ESIS-2008 11
DF transitivas: Ejemplos
1 Sea la tabla Pagos(Cod_alumno, Cod_curso, Periodo, Universitario, Monto). Universitario es un atributo lgico (bit) que toma el valor 1 si el alumno de la Academia Ada BYRON es alumno de la Universidad ADA BYRON, y 0 en otro caso. El monto de las pensiones es segn:
Universitario 1 0 Monto 50 90
Entonces tenemos
Cod_alumno Universitario
Monto
DF transitivas: Ejemplos
2 Sea la tabla Acta(Cod_alumno, Ape_alumno, Nom_alumno, P1, P2, P3, PP, Examen, Software, Documentacin, Trabajo, Promedio, Observacin). Es claro que: Cod_alumno A Tenemos las DF: (P1, P2, P3) PP puesto que PP = (P1+ P2 + P3)/3 (Software, Documentacin) Trabajo puesto que Trabajo = (Software + Documentacin)/2 (PP, Examen, Trabajo) Promedio puesto que Promedio = Redondear ((PP + Trabajo + Examen)/3,0) Promedio Observacin puesto que Observacin = SI (Promedio>10, Aprobado, Desaprobado) Entonces tenemos las DFT: Cod_alumno PP Cod_alumno Trabajo Cod_alumno Promedio Cod_alumno Observacin
02/08/2012 Ing. Edgar Taya Acosta-ESIS-2008 13
Ttulo
{La Ciudad y los Perros, La Guerra del Fin del Mundo} {Cien Aos de Soledad, El Otoo del Patriarca}
Editorial
{Seix Barra, El Comercio} {Oveja Negra}
Ttulo
La Ciudad y los Perros La Ciudad y los Perros La Guerra del Fin del Mundo La Guerra del Fin del Mundo Cien Aos de Soledad El Otoo del Patriarca
Ing. Edgar Taya Acosta-ESIS-2008
Editorial
Seix Barral El Comercio Alfaguara Seix Barral Oveja Negra Oveja Negra
14
02/08/2012
R1 A1 A2 A3 A5 A1
R2 A4 A6
02/08/2012
17
R A1 A2 A3 A4 A5 A6
El problema es que cuando se combinan relaciones obtenidas de una relacin R mediante la proyeccin, no necesariamente se obtiene la relacin original R.
Ing. Edgar Taya Acosta-ESIS-2008 18
02/08/2012
Formas normales
Primera Forma Normal (1FN): Una relacin o tabla R(A) est en la Primera Forma Normal si slo si todos los valores de sus atributos son atmicos. Es decir; en toda interseccin Fila-Columna debe haber un solo valor. Segunda Forma Normal (2FN): Una relacin o tabla R(A) est en la Segunda Forma Normal si slo si est en la 1FN y todo atributo no clave tiene DF completa de la clave primaria de R. Tercera Forma Normal (3FN): Una relacin o tabla R(A) est en la Tercera Forma Normal si slo si est en la 2FN y no existen DF transitivas para atributos no claves. Forma Normal Boyce - Codd (FNBC): Una relacin o tabla R(A) est en la Forma Normal Boyce - Codd si slo si est en la 3FN y toda determinante es clave candidata.
Ing. Edgar Taya Acosta-ESIS-2008 20
02/08/2012
Formas normales
Cuarta Forma Normal (4FN): Una relacin o tabla R(A) est en la Cuarta Forma Normal si slo si est en la FNBC y si toda DMV (Dependencia Multi-Valuada) es una DF (Dependencia Funcional). Quinta Forma Normal (5FN): Una relacin o tabla R(A) est en la Quinta Forma Normal si slo si est en la 4FN y si toda DC (Dependencia de Combinacin) es consecuencia de las claves candidatas.
1FN 2FN
3FN FNBC 4FN 5FN
02/08/2012
21
1FN: Ejemplos
Sea la tabla Alumno(Cod_alumno, Apellido, Nombre, Curso)
ALUMNO Cod_alumno 215690 Apellido PEREZ GODOY Nombre Ana Giovanna Curso BD101, SO103, AS203
215695
GOMEZ SANCHEZ
Diego Armando
BD101, DG202
Como puede observarse esta tabla Alumno no est en 1FN, porque en la columna Curso, hay valores no atmicos. Vamos a ponerla en 1FN:
ALUMNO Cod_alumno 215690 215690 215690 215695 215695
02/08/2012
Apellido PEREZ GODOY PEREZ GODOY PEREZ GODOY GOMEZ SANCHEZ GOMEZ SANCHEZ
Nombre Ana Giovanna Ana Giovanna Ana Giovanna Diego Armando Diego Armando
2FN: Ejemplos
Sea la tabla Alumno(Cod_alumno, Apellido, Nombre, Cod_curso, Nom_curso) en 1FN
ALUMNO Cod_alumno 215690 215690 215690 215695 215695 Apellido PEREZ GODOY PEREZ GODOY PEREZ GODOY GOMEZ SANCHEZ GOMEZ SANCHEZ Nombre Ana Giovanna Ana Giovanna Ana Giovanna Diego Armando Diego Armando Cod_curso BD101 SO103 DG202 BD101 DG202 Nom_curso Base de Datos Windows 2000 Graficacin en 3D Base de Datos Graficacin en 3D
Clave Primaria = (Cod_alumno, Cod_curso) Como puede observarse esta tabla Alumno no est en 2FN, porque hay DF parciales como: Cod_alumno Apellido, Nombre Cod_curso Nom_curso
02/08/2012 Ing. Edgar Taya Acosta-ESIS-2008 23
2FN: Ejemplos
La solucin es descomponer la tabla Alumno(Cod_alumno, Apellido, Nombre, Cod_curso, Nom_curso) en dos tablas: Alumno(Cod_alumno, Apellido, Nombre, Cod_curso) y Curso( Cod_curso, Nom_curso; Horas, Precio)
ALUMNO Cod_alumno Apellido Nombre Cod_curso
215690
215690 215690 215695 215695
PEREZ GODOY
PEREZ GODOY PEREZ GODOY GOMEZ SANCHEZ GOMEZ SANCHEZ
Ana Giovanna
Ana Giovanna Ana Giovanna Diego Armando Diego Armando
BD101
SO103 DG202 BD101 DG202
SO103
DG202
02/08/2012
Windows 2000
Graficacin en 3D
8
5
100
70
24
3FN: Ejemplos
Sea la tabla Pagos(Cod_alumno, Cod_curso, Periodo, Universitario, Monto). Universitario es un atributo lgico (bit) que toma el valor 1 si el alumno de la Academia Ada BYRON es alumno de la Universidad ADA BYRON, y 0 en otro caso.
PAGOS Cod_alumno 215690 215690 215690 215695 215695 Cod_curso BD101 SO103 DG202 BD101 DG202 Periodo 2001 V 2001 V 2001 -V 2001 -V 2001 -V Universitario 1 1 1 0 0 Monto 50 50 50 90 90
Clave Primaria = (Cod_alumno, Cod_curso) Esta tabla Pagos tiene una DF transitiva para una atributo no clave como Monto: Cod_alumno Monto
02/08/2012 Ing. Edgar Taya Acosta-ESIS-2008 25
3FN: Ejemplos
La solucin es descomponer la tabla Pagos(Cod_alumno, Cod_curso, Periodo, Universitario, Monto) en dos tablas: Pagos(Cod_alumno, Cod_curso, Periodo, Universitario). y Condicin( Universitario, Monto)
PAGOS Cod_alumno 215690 215690 215690 Cod_curso BD101 SO103 DG202 Periodo 2001 V 2001 V 2001 -V Universitario 1 1 1
215695
215695
BD101
DG202
2001 -V
2001 -V
0
0
3FN: Ejemplos
De otro lado la 3FN servir tambin para eliminar columnas que estn dems, puesto que calculan valores que pueden almacenarse en variables de memoria. Asi para la tabla Acta(Cod_alumno, Ape_alumno, Nom_alumno, P1, P2, P3, PP, Examen, Software, Documentacin, Trabajo, Promedio, Observacin) existen las DF transitivas Cod_alumno PP Cod_alumno Trabajo Cod_alumno Promedio Cod_alumno Observacin Entonces podemos eliminar las columnas PP, Trabajo, Promedio y Observacin quedando la relacin Acta como sigue: Acta(Cod_alumno, Ape_alumno, Nom_alumno, P1, P2, P3, Examen, Software, Documentacin) Puesto como ya se vio las columnas eliminadas pueden considerarse como variables de memoria y presentarlas como columnas virtuales en una consulta SQL como veremos posteriormente.
02/08/2012
27
Ejemplos:
Sea la tabla Asesora(Cod_alumno, Especialidad, Asesor)
ASESORIA Cod_alumno 216095 216100 216105 216110 216115 216115 216100 216105 Especialidad Matemtica Computacin Matemtica Matemtica Computacin Matemtica Matemtica Computacin Asesor David HILBERT Bill GATES Evarist GALOIS Evarist GALOIS Edgard CODD David HILBERT Evarist GALOIS Bill GATES
28
02/08/2012
FNBC: Ejemplos
En la tabla Asesora(Cod_alumno, Especialidad, Asesor) tenemos que: (Cod_alumno, Especialidad) (Cod_alumno, Asesor) son claves candidatas compuestas y Cod_alumno est en las 2 claves candidatas. Pero existe la DF Asesor Especialidad y Asesor es determinante pero no es clave candidata. Vamos a solucionar este problema descomponiendo la tabla Asesora(Cod_alumno, Especialidad, Asesor) en dos tablas: Alumno(Cod_alumno, Especialidad) y Asesor( Asesor, Especialidad) c/u de las cuales si estn en la FNBC.
Ing. Edgar Taya Acosta-ESIS-2008 29
02/08/2012
4FN: Ejemplos
En la tabla Novela (Autor, Ttulo, Editorial) tenemos las DMV: Autor Ttulo Autor Editorial
Autor Mario VARGAS LLOSA Mario VARGAS LLOSA Ttulo La Ciudad y los Perros La Ciudad y los Perros Editorial Seix Barral El Comercio
Alfaguara
Seix Barral Oveja Negra Oveja Negra
Para eliminar las DMV y convertirlas en DF y transformar la tabla Novela a la 4FN procedemos como sigue:
02/08/2012 Ing. Edgar Taya Acosta-ESIS-2008 30
4FN: Ejemplos
Descomponer la tabla Novela (Autor, Ttulo, Editorial en las tablas Autor_Ttulo (Autor, Ttulo) y Editorial( Autor, Editorial) donde solo hay DF y en consecuencia estn en 4FN.
AUTOR_TITULO Autor Mario VARGAS LLOSA Mario VARGAS LLOSA Gabriel GARCIA MARQUEZ Gabriel GARCIA MARQUEZ Ttulo La Ciudad y los Perros La Guerra del Fin del Mundo Cien Aos de Soledad El Otoo del Patriarca
TITULO_EDITORIAL Ttulo La Ciudad y los Perros La Ciudad y los Perros La Guerra del Fin del Mundo La Guerra del Fin del Mundo Cien Aos de Soledad Editorial Seix Barral El Comercio Alfaguara Seix Barral Oveja Negra
Oveja Negra
31
5FN: Ejemplos
Sea la tabla Software(Compaa, Versin, rea)
SOFTWARE
Compaa Microsoft Microsoft Borland C.A. Ingls Espaol Espaol Espaol Versin rea Bases de Datos Sistema Operativo Bases de Datos Bases de Datos
que se descompone en 3:
SOFTWARE1 Compaa Microsoft Microsoft Borland C.A. Versin Ingls Espaol Espaol Espaol SOFTWARE2 SOFTWARE3 Compaa Microsoft Microsoft Borland C.A.
Ing. Edgar Taya Acosta-ESIS-2008
Versin
Ingls
rea
Bases de Datos
Espaol
Espaol
Sistema Operativo
Bases de Datos
02/08/2012
5FN: Ejemplos
Si se halla la operacin de combinacin obtenemos: JOIN (Software1, Software2) Software contienen filas espurias.
JOIN (SOFTWARE2, SOFTWARE3) Compaa Microsoft Microsoft Microsoft Borland Borland C. A. C.A. Versin Ingls Espaol Espaol Ingls Espaol Ingls Espaol rea Bases de Datos Bases de Datos Sistema Operativo Bases de Datos Bases de Datos Bases de Datos Bases de Datos Versin Ingls Espaol Espaol Espaol Espaol Espaol Espaol rea Bases de Datos Sistema Operativo Bases de Datos Sistema Operativo Bases de Datos Sistema Operativo Bases de Datos JOIN (SOFTWARE1, SOFTWARE2) Compaa Microsoft Microsoft Microsoft Borland Borland C. A. C.A.
5FN: Ejemplos
JOIN (Software1, Software3) Software contienen filas espurias. .
JOIN (SOFTWARE1, SOFTWARE3) Compaa Microsoft Microsoft Microsoft Microsoft Borland C.A. Versin Ingls Espaol Ingls Espaol Espaol Espaol rea Bases de Datos Bases de Datos Sistema Operativo Sistema Operativo Bases de Datos Bases de Datos JOIN (SOFTWARE1, SOFTWARE2, SOFTWARE3) Compaa Microsoft Microsoft Borland C.A. Versin Ingls Espaol Espaol Espaol rea Bases de Datos Sistema Operativo Bases de Datos Bases de Datos
02/08/2012
34
5FN: Ejemplos
Entonces existe una DC: Software* (Software1, Software2, Software3) Y adems en cada caso: (Compaa, Versin) (Versin, rea) (Compaa, rea) son claves candidatas. Por lo tanto las tablas: Software1(Compaa, Versin) Software2(Versin, rea) Software3(Compaa, rea) estn en 5ta forma normal ya que slo hay Dependencias funcionales
02/08/2012 Ing. Edgar Taya Acosta-ESIS-2008 35
Ejemplo de Normalizacin
Vamos a utilizar la metodologa (no recomendada) de partir de una relacin (tabla) universal. Supongamos que la ficha de matrcula para la Academia Ada BYRON tiene una forma similar a la siguiente:
02/08/2012
36
Relacin Universal
Construimos una relacin universal Matrcula con todos los posibles atributos:
MATRICULA
Cdigo_alumno Apellido_alumno Nombre_alumno Direccin_alumno Telfono_alumno Especialidad_alumno Codigo_curso1 Nombre_curso1 Turno_curso1 Codigo_curso2 Nombre_curso2 Turno_curso2 Codigo_curso3 Nombre_curso3 Turno_curso3 Codigo_curso4 Nombre_curso4 Turno_curso4
La relacin universal MATRICULA evidentemente no est en 1FN puesto que hay valores que se repiten con respecto a los cursos y se van a presentar anomalas de insercin, modificacin y eliminacin
02/08/2012
37
Poner en 1FN
Para ponerla en 1FN decomponemos Matrcula en tres relaciones o tablas: Alumno, Curso y Clase.
CURSO ALUMNO
Cdigo_alumno Apellido_alumno Nombre_alumno Sexo_alumno Fechanac_alumno Direccin_alumno Telfono_alumno Foto_alumno Especialidad_alumno Descripcin_especialidad Cdigo_curso Nombre_curso Sumilla Horas Precio Prerrequisitos
CLASE
Nmero_clase Cdigo_curso Cdigo_profesor Apellido_profesor Nombre_profesor Horario Aula Vacantes Matriculados Asistentes Fecha_clase Hora_clase Ing. Edgar Taya Acosta-ESIS-2008
Las relaciones Alumno, Curso y Clase estn en 1FN, pero Clase no est en 2FN porque hay dependencias parciales
02/08/2012
38
Poner en 2FN
Para poner la tabla Clase en 2FN la decomponemos la tabla Clase en dos relaciones o tablas: Clase y Profesor.
ALUMNO
Cdigo_alumno Apellido_alumno Nombre_alumno Sexo_alumno Fechanac_alumno Direccin_alumno Telfono_alumno Foto_alumno Especialidad_alumno Descripcin_especialidad
CURSO
Cdigo_curso
Nombre_curso Sumilla Horas Precio Prerrequisitos
PROFESOR
Cdigo_profesor Apellido_profesor Nombre_profesor Sexo_profesor Fechanac_profesor Grado_Ttulo_profesor DNI_profesor Direccin_profesor Telfono_profesor Pago_profesor
CLASE
Nmero_clase Fecha_clase Hora_clase Cdigo_curso Cdigo_profesor Horario Aula Vacantes Matriculados Asistentes
Las relaciones Alumno, Curso,Profesor y Clase estn en 2FN, pero Alumno no est en 3FN porque hay dependencias transitivas
Ing. Edgar Taya Acosta-ESIS-2008 39
02/08/2012
Poner en 3FN
Para poner la tabla Alumno en 3FN la descomponemos la tabla Alumno en dos relaciones o tablas: Alumno y Especialidad.
ALUMNO
Cdigo_alumno Apellido_alumno Nombre_alumno Sexo_alumno Fechanac_alumno Direccin_alumno Telfono_alumno Foto_alumno Especialidad_alumno
CURSO
Cdigo_curso
Nombre_curso Sumilla Horas Precio Prerrequisitos
ESPECIALIDAD
Especialidad_alumno Descripcin_especialidad
PROFESOR
Cdigo_profesor Apellido_profesor Nombre_profesor Sexo_profesor Fechanac_profesor Grado_Ttulo_profesor DNI_profesor Direccin_profesor Telfono_profesor Pago_profesor Ing. Edgar Taya Acosta-ESIS-2008
CLASE
Nmero_clase Fecha_clase Hora_clase Cdigo_curso Cdigo_profesor Horario Aula Vacantes Matriculados Asistentes
Las relaciones Alumno, Especialidad, Curso,Profesor y Clase estn en 3FN y en la FNBC, pero en Clase pueden presentarse multivalores
02/08/2012
40
Poner en 4FN
Para poner la tabla Clase en 4FN la descomponemos la tabla Clase en dos relaciones o tablas: Clase y Sesin_Clase.
ALUMNO
Cdigo_alumno Apellido_alumno Nom_alumno Sexo_alumno Fechanac_alumno Direccin_alumno Telfono_alumno Foto_alumno Especialidad_alumno
CURSO
Cdigo_curso
Nombre_curso Sumilla Horas Precio Prerrequisitos
SESION_CLASE
Nmero_clase Fecha_clase Hora_clase Asistentes
ESPECIALIDAD
Especialidad_alumno Descripcin_especialidad
PROFESOR
Cdigo_profesor
CLASE
Nmero_clase Cdigo_curso Cdigo_profesor Horario Aula Vacantes Matriculados 02/08/2012
Las relaciones Alumno, Especialidad, Curso,Profesor Clase y Sesin_Clase estn en 4FN y 5FN
41
Comentario
En el ejemplo para la BD Academia que hemos desarrollado hemos partido de una relacin (tabla) universal donde se ha considerado todos los atributos posibles. Luego hemos considerado las dependencias funcionales, las dependencias multivaluadas y las dependencias de combinacin. En base a esto hemos obtenido las 6 tablas resultantes. Cmo obtener las otras tablas derivadas que obtuvimos en el diseo lgico especfico? El problema es que la teora nos dice que debemos considerar todas las dependencias funcionales posibles y las derivadas de estas, y luego las dependencias multivaluadas y de combinacin. Pero esto no se hace en la mayora de los casos. Solo se hacen ciertas preguntas para llegar hasta la 3FN. La ventaja de aplicar el proceso de diseo previo es que el esquema resultante estar normalizado hasta la 3FN y slo habra que preocuparse en la FNBC y la 4FN. La 5FN solo se presentar en casos especiales o BD complejas.
Ing. Edgar Taya Acosta-ESIS-2008 42
02/08/2012
Fin
Tacna, otoo del 2008