SlideShare una empresa de Scribd logo
1 de 20
Definiciones Previas
Dependencia Funcional (DF): Dada una relación R se dice que el atributo
Y de R es funcionalmente dependiente del atributo X de R, si y sólo si,
cada valor X en R tiene asociado a él, precisamente, un valor de Y en R en
cualquier momento del tiempo.
Dependencia funcional parcial: Se dice que existe una dependencia
funcional parcial entre dos atributos A y B de la tabla si:
•B es funcionalmente dependiente de A, y
•A es sólo parte de la clave de la tabla
Dependencia funcional completa: El atributo Y es funcionalmente
dependiente y completamente del atributo X, si es funcionalmente
dependiente de X y no es funcionalmente dependiente de algún
subconjunto de X.
Se representa:
X--->Y
Llave: Si R es una relación con atributos A1, A2, ....An y X es un
subconjunto de A1, A2, ...An, X es una llave de R si: 1. X---> A1, A2, ...An o
sea, todos los atributos de la relación dependen funcionalmente de X. 2. ∃
Y ⊂ X| Y → A1, A2, ...An
Segunda Forma Normal
Una relación R se dice que está en 2FN si y sólo sí:
• Está en 1FN
• Los atributos no llaves (secundarios) de R, si los hubiese, son funcional
y completamente dependientes de la llave primaria de R, o sea no exista
dependencia parcial de los atributos secundarios respecto a la llave.
Esta regla significa que en una relación sólo se debe almacenar
información sobre un tipo de entidad, y se traduce en que los atributos
que no aporten información directa sobre la clave principal deben
almacenarse en una relación separada.
Segunda Forma Normal
Las tablas en la Primera Forma Normal suelen presentar
características que tienden a dificultar su uso. Estas
características son reconocibles, y suelen eliminarse
sometiendo a las tablas a una o más transformaciones.
Segunda Forma Normal
Considere la tabla siguiente, que contiene información que describe a un
grupo de estudiantes y sus clases, y que se encuentra en la Primera
Forma Normal:
NOMBRE
(Clave)
ID-ESTUDlANTE
PROMEDIO (Clave)
ID-CLASE
CALIFICACION
Huertas, J. 01234 5.4 FIS-1A A
Ferrero, A. 22346 5.1 FIS-1A B
Soriano, P. 11349 4.8 QUIM-2B A
Huertas, J. 01234 5.4 QUIM-2B A
Clemente,
C.
08349 5.9 MUS-5 B
Pérez, R. 03472 5.1 ARTE-3A -
Ferrero, A. 22346 5.1 QUIM-1A C
Huertas, J. 01234 5.4 MUS-5 B
Vázquez, H. 33461 4.9 ARTE-3A -
Pérez, R 03472 5.1 MUS1 -
Problemas que se visualizan en la
tabla:
Existe gran cantidad de información
que está siendo almacenada de
forma redundante.
NOMBRE
(Clave)
ID-ESTUDlANTE
PROMEDIO
Huertas, J. 01234 5.4
Ferrero, A. 22346 5.1
Soriano, P. 11349 4.8
Huertas, J. 01234 5.4
Clemente,
C.
08349 5.9
Pérez, R. 03472 5.1
Ferrero, A. 22346 5.1
Huertas, J. 01234 5.4
Vázquez, H. 33461 4.9
Pérez, R 03472 5.1
Siempre que sea posible, deberían evitarse las duplicaciones de datos,
por diversas razones:
Espacio de almacenamiento de datos. La información duplicada
requiere un espacio extra de almacenamiento, habitualmente en los
dispositivos de disco magnético.
Redundancia de
Datos
Costes de introducción de datos. Una gran parte de la información de la
base de datos debe ser introducida de forma manual, por personal
específico. La existencia de datos redundantes suele implicar un tiempo
de introducción de datos extra, que en el análisis final se traduce en
costes adicionales.
Inconsistencias de la base de datos. Si se introduce información
redundante, las posibilidades de inconsistencias aumentan de forma
proporcional. Por ejemplo, el PROMEDIO de "Huertas, J." se introduce
tres veces en la tabla ESTUDIANTES-CLASES, con lo cual se triplica la
probabilidad de introducción de un valor incorrecto para este dato.
La presencia de redundancia de datos viene casi siempre
acompañada de varias dificultades predecibles. Estos problemas,
conocidos colectivamente bajo el nombre de anomalías de
modificación, aparecen durante la actualización, borrado e inserción
de datos.
Anomalías de Modificación
•Anomalías de actualización. La alteración de un único hecho, en este caso
la modificación del valor de un PROMEDIO, requiere la modificación de
varias entradas de la tabla, proceso que consume gran cantidad de tiempo
y es propenso a los errores. Este tipo de situaciones es lo que se conoce
como anomalías de actualización, y su existencia sugiere que el diseño de
la tabla podría mejorarse.
NOMBRE
(Clave)
ID-ESTUDlANTE
PROMEDIO
Huertas, J. 01234 5.4
Ferrero, A. 22346 5.1
Soriano, P. 11349 4.8
Huertas, J. 01234 5.4
Clemente,
C.
08349 5.9
Pérez, R. 03472 5.1
Ferrero, A. 22346 5.1
Huertas, J. 01234 5.4
Vázquez, H. 33461 4.9
Pérez, R 03472 5.1
Anomalías de borrado. Supongamos que un estudiante que acaba de
matricularse deja de asistir a todas sus clases. pero sin abandonar la escuela.
Todas las filas de dicho estudiante habrán de ser borradas de la tabla
ESTUDIANTES-CLASES. Sin embargo, cuando se ha hecho esto, la información
básica relativa a dicho estudiante, como el nombre y el número de ID, se han
perdido de la tabla. En otras palabras, en lo que concierne a la base de datos, el
estudiante ha dejado de existir, incluso aunque de hecho todavía esté
matriculado en la escuela. La información de la base de datos no se
corresponde ya con los hechos del mundo real, y decimos que ha ocurrido una
anomalía de borrado.
NOMBRE
(Clave)
ID-ESTUDlANTE
PROMEDIO (Clave)
ID-CLASE
CALIFICACION
Ferrero, A. 22346 5.1 FIS-1A B
Soriano, P. 11349 4.8 QUIM-2B A
Clemente,
C.
08349 5.9 MUS-5 B
Pérez, R. 03472 5.1 ARTE-3A -
Ferrero, A. 22346 5.1 QUIM-1A C
Vázquez, H. 33461 4.9 ARTE-3A -
Pérez, R 03472 5.1 MUS1 -
Anomalías de inserción
Supongamos que un nuevo alumno se matricula en la escuela.
Por diversas razones, no se matricula de inmediato en ninguna
clase concreta.
La tabla ESTUDIANTES-CLASES, cada fila de estudiante ,
debería contener un valor para ID-CLASE.
La fila del nuevo estudiante puede ser introducida con un valor
especial para ID-CLASE.
El estudiante se matricule en algún curso concreto, esta fila
original pasará a ser un estorbo en la base de datos.
Tendrá que ser eliminada.
La fuente de las anomalías de
modificación
Los diversos tipos de anomalías de modificación descritos no son
problemas imposibles de abordar, pero pueden complicar de forma seria
el uso eficiente de una base de datos. Sería preferible si las anomalías
pudieran ser eliminadas, y de hecho, esto puede hacerse, mediante el
estudio de la fuente original de las dificultades.
El comportamiento anómalo está relacionado directamente con la
presencia de la redundancia de datos: ambos problemas surgen de la
forma en que está estructurada la tabla ESTUDIANTES-CLASES, y ambos
pueden ser eliminados mediante una transformación adecuada de la
tabla.
La fuente de las anomalías de
modificación
¿cuáles son los hechos básicos representados por la tabla
ESTUDIANTES-CLASES?
La respuesta es sencillamente que cada fila de la tabla representa a un
estudiante concreto matriculado en una clase específica. Existe, por
tanto, un segundo hecho independiente contenido en cada fila: la propia
existencia del estudiante. Es decir, cada fila contiene información que es
específica del estudiante, tal como el PROMEDIO, y estos datos son
independientes de las clases representadas en cada fila. Este es el
núcleo del problema: cuando hay varias filas que corresponden a un
estudiante determinado, los datos específicos del estudiante se repiten
en cada una de ellas.
Dependencia funcional parcial
La existencia de una dependencia funcional parcial dentro de una
tabla implica que dentro de la tabla también está representado un
conjunto de hechos, además de los representados por la clave
primaria.
De este modo, la búsqueda de dependencias parciales dentro de una
tabla equivale a la búsqueda de conjuntos de hechos secundarios.
Eliminación de las dependencias
parciales.
• La eliminación de las dependencias parciales de la tabla
ESTUDIANTES-CLASES eliminará a su vez los problemas de la
redundancia y las anomalías.
• Esto se consigue descomponiendo estas dependencias en una tabla
separada, creándose así las siguientes nuevas tablas:
• ESTUDIANTE [NOMBRE, ID-ESTUDIANTE, PROMEDIO]
• ESTUDIANTE-CLASE [ID-ESTUDIANTE, ID-CLASE, CALIFICACION]
Examinando las dos nuevas tablas
ESTUDIANTE y ESTUDIANTE-CLASE
Anomalías
• Anomalías de actualización: Si es necesario cambiar el valor del
PROMEDIO de un estudiante determinado, sólo es preciso alterar el
valor de una única fila de la tabla ESTUDIANTE. Recuerde que en la
tabla original había que modificar gran número de entradas para cada
estudiante.
• Anomalías de borrado: Si un estudiante abandona todas sus
asignaturas, pero sigue aún matriculado en la escuela, puede existir aún
una entrada en la tabla ESTUDIANTE, incluso aunque no existan
entradas para ese estudiante en ESTUDIANTE-CLASE.
• Anomalías de inserción: También han desaparecido las posibilidades
que existían de anomalías de inserción: es posible crear una entrada en
la tabla ESTUDIANTE para un estudiante nuevo que aún no se haya
matriculado en ninguna clase. A medida que el estudiante se vaya
matriculando en cursos nuevos, se pueden ir creando entradas nuevas
en la tabla ESTUDIANTE-CLASE.
Normalización Usando Dependencias Funcionales - Segunda Forma Normal

Más contenido relacionado

La actualidad más candente

Formas normales
Formas normalesFormas normales
Formas normales
didachos1
 
Documentos de analisis de requerimientos
Documentos de analisis de requerimientosDocumentos de analisis de requerimientos
Documentos de analisis de requerimientos
Milton Garzon
 
Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalización
cintiap25
 

La actualidad más candente (20)

Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Formas normales
Formas normalesFormas normales
Formas normales
 
Modelo 4+1
Modelo 4+1Modelo 4+1
Modelo 4+1
 
Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
 
Niveles De Aislamiento
Niveles De AislamientoNiveles De Aislamiento
Niveles De Aislamiento
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Documentos de analisis de requerimientos
Documentos de analisis de requerimientosDocumentos de analisis de requerimientos
Documentos de analisis de requerimientos
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Database Normalization
Database NormalizationDatabase Normalization
Database Normalization
 
Dependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosDependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de Datos
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Diagrama entidad-relacion normalización
Diagrama entidad-relacion normalizaciónDiagrama entidad-relacion normalización
Diagrama entidad-relacion normalización
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
 
Componentes de un SGBD
Componentes de un SGBDComponentes de un SGBD
Componentes de un SGBD
 
Lenguaje SQL
Lenguaje SQLLenguaje SQL
Lenguaje SQL
 
Integridad de base de datos
Integridad de base de datosIntegridad de base de datos
Integridad de base de datos
 
Comparacion de SGBD
Comparacion de SGBDComparacion de SGBD
Comparacion de SGBD
 
 Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático
 
Pasteleriabasededatos
PasteleriabasededatosPasteleriabasededatos
Pasteleriabasededatos
 

Similar a Normalización Usando Dependencias Funcionales - Segunda Forma Normal (14)

Normalizacion
NormalizacionNormalizacion
Normalizacion
 
ITESO
ITESOITESO
ITESO
 
2 el modelo_relacional_y_la_normalizacion
2 el modelo_relacional_y_la_normalizacion2 el modelo_relacional_y_la_normalizacion
2 el modelo_relacional_y_la_normalizacion
 
Unidad 2.2 - Normalizacion.pptx
Unidad 2.2 - Normalizacion.pptxUnidad 2.2 - Normalizacion.pptx
Unidad 2.2 - Normalizacion.pptx
 
capV_normalizacion.pptx
capV_normalizacion.pptxcapV_normalizacion.pptx
capV_normalizacion.pptx
 
Normalizacion3
Normalizacion3Normalizacion3
Normalizacion3
 
Normalizacionnosecuanto
NormalizacionnosecuantoNormalizacionnosecuanto
Normalizacionnosecuanto
 
Normalizacion2
Normalizacion2Normalizacion2
Normalizacion2
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacional
 
Normalizacion de bases de datos relacionales.docx
Normalizacion de bases de datos relacionales.docxNormalizacion de bases de datos relacionales.docx
Normalizacion de bases de datos relacionales.docx
 
Normalización 1 fn,2fn,3fn,4fn,
Normalización 1 fn,2fn,3fn,4fn,Normalización 1 fn,2fn,3fn,4fn,
Normalización 1 fn,2fn,3fn,4fn,
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciòn
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Normalizacion Base de Datos
Normalizacion Base de DatosNormalizacion Base de Datos
Normalizacion Base de Datos
 

Más de Yessenia I. Martínez M.

Guia de lectura - Una herramienta para el estudio de estructura de datos y al...
Guia de lectura - Una herramienta para el estudio de estructura de datos y al...Guia de lectura - Una herramienta para el estudio de estructura de datos y al...
Guia de lectura - Una herramienta para el estudio de estructura de datos y al...
Yessenia I. Martínez M.
 
Plan de Desarrollo de Software - Sistema Gestor de Oferta y Adjudicación de P...
Plan de Desarrollo de Software - Sistema Gestor de Oferta y Adjudicación de P...Plan de Desarrollo de Software - Sistema Gestor de Oferta y Adjudicación de P...
Plan de Desarrollo de Software - Sistema Gestor de Oferta y Adjudicación de P...
Yessenia I. Martínez M.
 
Guía para el Desarrollo de un Plan de Seguridad - Políticas y Procedimientos
Guía para el Desarrollo de un Plan de Seguridad - Políticas y ProcedimientosGuía para el Desarrollo de un Plan de Seguridad - Políticas y Procedimientos
Guía para el Desarrollo de un Plan de Seguridad - Políticas y Procedimientos
Yessenia I. Martínez M.
 
Comparación Técnica de Protocolos de Capa Física: Cable 10BaseT VS. Fibra Óptica
Comparación Técnica de Protocolos de Capa Física: Cable 10BaseT VS. Fibra ÓpticaComparación Técnica de Protocolos de Capa Física: Cable 10BaseT VS. Fibra Óptica
Comparación Técnica de Protocolos de Capa Física: Cable 10BaseT VS. Fibra Óptica
Yessenia I. Martínez M.
 
Proyecto final (Administración) - Improvising Moments Bar Café
Proyecto final (Administración) - Improvising Moments Bar CaféProyecto final (Administración) - Improvising Moments Bar Café
Proyecto final (Administración) - Improvising Moments Bar Café
Yessenia I. Martínez M.
 
Indicadores de abuso sexual en la infancia
Indicadores de abuso sexual en la infanciaIndicadores de abuso sexual en la infancia
Indicadores de abuso sexual en la infancia
Yessenia I. Martínez M.
 

Más de Yessenia I. Martínez M. (20)

Estructuras de datos fundamentales
Estructuras de datos  fundamentalesEstructuras de datos  fundamentales
Estructuras de datos fundamentales
 
Guia de lectura - Una herramienta para el estudio de estructura de datos y al...
Guia de lectura - Una herramienta para el estudio de estructura de datos y al...Guia de lectura - Una herramienta para el estudio de estructura de datos y al...
Guia de lectura - Una herramienta para el estudio de estructura de datos y al...
 
Guía de estudio -Módulo 1
Guía de estudio -Módulo 1Guía de estudio -Módulo 1
Guía de estudio -Módulo 1
 
Programación del curso - Estructura de Datos I
Programación del curso - Estructura de Datos IProgramación del curso - Estructura de Datos I
Programación del curso - Estructura de Datos I
 
Taller
TallerTaller
Taller
 
Psicosociología
PsicosociologíaPsicosociología
Psicosociología
 
Los Valores
Los ValoresLos Valores
Los Valores
 
Plan de Desarrollo de Software - Sistema Gestor de Oferta y Adjudicación de P...
Plan de Desarrollo de Software - Sistema Gestor de Oferta y Adjudicación de P...Plan de Desarrollo de Software - Sistema Gestor de Oferta y Adjudicación de P...
Plan de Desarrollo de Software - Sistema Gestor de Oferta y Adjudicación de P...
 
Teamlab - Información Básica
Teamlab - Información BásicaTeamlab - Información Básica
Teamlab - Información Básica
 
Guía para el Desarrollo de un Plan de Seguridad - Políticas y Procedimientos
Guía para el Desarrollo de un Plan de Seguridad - Políticas y ProcedimientosGuía para el Desarrollo de un Plan de Seguridad - Políticas y Procedimientos
Guía para el Desarrollo de un Plan de Seguridad - Políticas y Procedimientos
 
Comparación Técnica de Protocolos de Capa Física: Cable 10BaseT VS. Fibra Óptica
Comparación Técnica de Protocolos de Capa Física: Cable 10BaseT VS. Fibra ÓpticaComparación Técnica de Protocolos de Capa Física: Cable 10BaseT VS. Fibra Óptica
Comparación Técnica de Protocolos de Capa Física: Cable 10BaseT VS. Fibra Óptica
 
Visualización de Redes: Herramientas y Técnicas para la Creación y Evaluación...
Visualización de Redes: Herramientas y Técnicas para la Creación y Evaluación...Visualización de Redes: Herramientas y Técnicas para la Creación y Evaluación...
Visualización de Redes: Herramientas y Técnicas para la Creación y Evaluación...
 
Proyecto de calidad de software
Proyecto de calidad de softwareProyecto de calidad de software
Proyecto de calidad de software
 
Proyecto final (Administración) - Improvising Moments Bar Café
Proyecto final (Administración) - Improvising Moments Bar CaféProyecto final (Administración) - Improvising Moments Bar Café
Proyecto final (Administración) - Improvising Moments Bar Café
 
El Folklore Infantil
El Folklore InfantilEl Folklore Infantil
El Folklore Infantil
 
Indicadores de abuso sexual en la infancia
Indicadores de abuso sexual en la infanciaIndicadores de abuso sexual en la infancia
Indicadores de abuso sexual en la infancia
 
Linux Open SuSE
Linux Open SuSELinux Open SuSE
Linux Open SuSE
 
Herramientas Gráficas para MySQL
Herramientas Gráficas para MySQLHerramientas Gráficas para MySQL
Herramientas Gráficas para MySQL
 
Sistema Operativo Solaris
Sistema Operativo SolarisSistema Operativo Solaris
Sistema Operativo Solaris
 
Modelos Lógicos Basados en Objetos
Modelos Lógicos Basados en ObjetosModelos Lógicos Basados en Objetos
Modelos Lógicos Basados en Objetos
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (15)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Normalización Usando Dependencias Funcionales - Segunda Forma Normal

  • 1.
  • 2. Definiciones Previas Dependencia Funcional (DF): Dada una relación R se dice que el atributo Y de R es funcionalmente dependiente del atributo X de R, si y sólo si, cada valor X en R tiene asociado a él, precisamente, un valor de Y en R en cualquier momento del tiempo. Dependencia funcional parcial: Se dice que existe una dependencia funcional parcial entre dos atributos A y B de la tabla si: •B es funcionalmente dependiente de A, y •A es sólo parte de la clave de la tabla
  • 3. Dependencia funcional completa: El atributo Y es funcionalmente dependiente y completamente del atributo X, si es funcionalmente dependiente de X y no es funcionalmente dependiente de algún subconjunto de X. Se representa: X--->Y Llave: Si R es una relación con atributos A1, A2, ....An y X es un subconjunto de A1, A2, ...An, X es una llave de R si: 1. X---> A1, A2, ...An o sea, todos los atributos de la relación dependen funcionalmente de X. 2. ∃ Y ⊂ X| Y → A1, A2, ...An
  • 4. Segunda Forma Normal Una relación R se dice que está en 2FN si y sólo sí: • Está en 1FN • Los atributos no llaves (secundarios) de R, si los hubiese, son funcional y completamente dependientes de la llave primaria de R, o sea no exista dependencia parcial de los atributos secundarios respecto a la llave. Esta regla significa que en una relación sólo se debe almacenar información sobre un tipo de entidad, y se traduce en que los atributos que no aporten información directa sobre la clave principal deben almacenarse en una relación separada.
  • 5. Segunda Forma Normal Las tablas en la Primera Forma Normal suelen presentar características que tienden a dificultar su uso. Estas características son reconocibles, y suelen eliminarse sometiendo a las tablas a una o más transformaciones.
  • 6. Segunda Forma Normal Considere la tabla siguiente, que contiene información que describe a un grupo de estudiantes y sus clases, y que se encuentra en la Primera Forma Normal: NOMBRE (Clave) ID-ESTUDlANTE PROMEDIO (Clave) ID-CLASE CALIFICACION Huertas, J. 01234 5.4 FIS-1A A Ferrero, A. 22346 5.1 FIS-1A B Soriano, P. 11349 4.8 QUIM-2B A Huertas, J. 01234 5.4 QUIM-2B A Clemente, C. 08349 5.9 MUS-5 B Pérez, R. 03472 5.1 ARTE-3A - Ferrero, A. 22346 5.1 QUIM-1A C Huertas, J. 01234 5.4 MUS-5 B Vázquez, H. 33461 4.9 ARTE-3A - Pérez, R 03472 5.1 MUS1 -
  • 7. Problemas que se visualizan en la tabla: Existe gran cantidad de información que está siendo almacenada de forma redundante. NOMBRE (Clave) ID-ESTUDlANTE PROMEDIO Huertas, J. 01234 5.4 Ferrero, A. 22346 5.1 Soriano, P. 11349 4.8 Huertas, J. 01234 5.4 Clemente, C. 08349 5.9 Pérez, R. 03472 5.1 Ferrero, A. 22346 5.1 Huertas, J. 01234 5.4 Vázquez, H. 33461 4.9 Pérez, R 03472 5.1 Siempre que sea posible, deberían evitarse las duplicaciones de datos, por diversas razones: Espacio de almacenamiento de datos. La información duplicada requiere un espacio extra de almacenamiento, habitualmente en los dispositivos de disco magnético. Redundancia de Datos
  • 8. Costes de introducción de datos. Una gran parte de la información de la base de datos debe ser introducida de forma manual, por personal específico. La existencia de datos redundantes suele implicar un tiempo de introducción de datos extra, que en el análisis final se traduce en costes adicionales. Inconsistencias de la base de datos. Si se introduce información redundante, las posibilidades de inconsistencias aumentan de forma proporcional. Por ejemplo, el PROMEDIO de "Huertas, J." se introduce tres veces en la tabla ESTUDIANTES-CLASES, con lo cual se triplica la probabilidad de introducción de un valor incorrecto para este dato.
  • 9. La presencia de redundancia de datos viene casi siempre acompañada de varias dificultades predecibles. Estos problemas, conocidos colectivamente bajo el nombre de anomalías de modificación, aparecen durante la actualización, borrado e inserción de datos. Anomalías de Modificación
  • 10. •Anomalías de actualización. La alteración de un único hecho, en este caso la modificación del valor de un PROMEDIO, requiere la modificación de varias entradas de la tabla, proceso que consume gran cantidad de tiempo y es propenso a los errores. Este tipo de situaciones es lo que se conoce como anomalías de actualización, y su existencia sugiere que el diseño de la tabla podría mejorarse. NOMBRE (Clave) ID-ESTUDlANTE PROMEDIO Huertas, J. 01234 5.4 Ferrero, A. 22346 5.1 Soriano, P. 11349 4.8 Huertas, J. 01234 5.4 Clemente, C. 08349 5.9 Pérez, R. 03472 5.1 Ferrero, A. 22346 5.1 Huertas, J. 01234 5.4 Vázquez, H. 33461 4.9 Pérez, R 03472 5.1
  • 11. Anomalías de borrado. Supongamos que un estudiante que acaba de matricularse deja de asistir a todas sus clases. pero sin abandonar la escuela. Todas las filas de dicho estudiante habrán de ser borradas de la tabla ESTUDIANTES-CLASES. Sin embargo, cuando se ha hecho esto, la información básica relativa a dicho estudiante, como el nombre y el número de ID, se han perdido de la tabla. En otras palabras, en lo que concierne a la base de datos, el estudiante ha dejado de existir, incluso aunque de hecho todavía esté matriculado en la escuela. La información de la base de datos no se corresponde ya con los hechos del mundo real, y decimos que ha ocurrido una anomalía de borrado. NOMBRE (Clave) ID-ESTUDlANTE PROMEDIO (Clave) ID-CLASE CALIFICACION Ferrero, A. 22346 5.1 FIS-1A B Soriano, P. 11349 4.8 QUIM-2B A Clemente, C. 08349 5.9 MUS-5 B Pérez, R. 03472 5.1 ARTE-3A - Ferrero, A. 22346 5.1 QUIM-1A C Vázquez, H. 33461 4.9 ARTE-3A - Pérez, R 03472 5.1 MUS1 -
  • 12. Anomalías de inserción Supongamos que un nuevo alumno se matricula en la escuela. Por diversas razones, no se matricula de inmediato en ninguna clase concreta. La tabla ESTUDIANTES-CLASES, cada fila de estudiante , debería contener un valor para ID-CLASE. La fila del nuevo estudiante puede ser introducida con un valor especial para ID-CLASE. El estudiante se matricule en algún curso concreto, esta fila original pasará a ser un estorbo en la base de datos. Tendrá que ser eliminada.
  • 13. La fuente de las anomalías de modificación Los diversos tipos de anomalías de modificación descritos no son problemas imposibles de abordar, pero pueden complicar de forma seria el uso eficiente de una base de datos. Sería preferible si las anomalías pudieran ser eliminadas, y de hecho, esto puede hacerse, mediante el estudio de la fuente original de las dificultades. El comportamiento anómalo está relacionado directamente con la presencia de la redundancia de datos: ambos problemas surgen de la forma en que está estructurada la tabla ESTUDIANTES-CLASES, y ambos pueden ser eliminados mediante una transformación adecuada de la tabla.
  • 14. La fuente de las anomalías de modificación ¿cuáles son los hechos básicos representados por la tabla ESTUDIANTES-CLASES? La respuesta es sencillamente que cada fila de la tabla representa a un estudiante concreto matriculado en una clase específica. Existe, por tanto, un segundo hecho independiente contenido en cada fila: la propia existencia del estudiante. Es decir, cada fila contiene información que es específica del estudiante, tal como el PROMEDIO, y estos datos son independientes de las clases representadas en cada fila. Este es el núcleo del problema: cuando hay varias filas que corresponden a un estudiante determinado, los datos específicos del estudiante se repiten en cada una de ellas.
  • 15. Dependencia funcional parcial La existencia de una dependencia funcional parcial dentro de una tabla implica que dentro de la tabla también está representado un conjunto de hechos, además de los representados por la clave primaria. De este modo, la búsqueda de dependencias parciales dentro de una tabla equivale a la búsqueda de conjuntos de hechos secundarios.
  • 16. Eliminación de las dependencias parciales. • La eliminación de las dependencias parciales de la tabla ESTUDIANTES-CLASES eliminará a su vez los problemas de la redundancia y las anomalías.
  • 17. • Esto se consigue descomponiendo estas dependencias en una tabla separada, creándose así las siguientes nuevas tablas: • ESTUDIANTE [NOMBRE, ID-ESTUDIANTE, PROMEDIO] • ESTUDIANTE-CLASE [ID-ESTUDIANTE, ID-CLASE, CALIFICACION]
  • 18. Examinando las dos nuevas tablas ESTUDIANTE y ESTUDIANTE-CLASE
  • 19. Anomalías • Anomalías de actualización: Si es necesario cambiar el valor del PROMEDIO de un estudiante determinado, sólo es preciso alterar el valor de una única fila de la tabla ESTUDIANTE. Recuerde que en la tabla original había que modificar gran número de entradas para cada estudiante. • Anomalías de borrado: Si un estudiante abandona todas sus asignaturas, pero sigue aún matriculado en la escuela, puede existir aún una entrada en la tabla ESTUDIANTE, incluso aunque no existan entradas para ese estudiante en ESTUDIANTE-CLASE. • Anomalías de inserción: También han desaparecido las posibilidades que existían de anomalías de inserción: es posible crear una entrada en la tabla ESTUDIANTE para un estudiante nuevo que aún no se haya matriculado en ninguna clase. A medida que el estudiante se vaya matriculando en cursos nuevos, se pueden ir creando entradas nuevas en la tabla ESTUDIANTE-CLASE.