Catedra de Base de Datos

Documentos relacionados
Catedra de Base de Datos

Una tabla se encuentra en primera forma normal si impide que un atributo de una tupla pueda tomar más de un valor. La tabla:

Formas Normales. - Facultad de Ingeniería Curso : Fundamentos de Bases de Datos Tema 1. Introducción y Conceptos Generales 1

Normalización de bases de datos.

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Normalización de Modelos Relacionales

Formas Normales. Normalización. Introducción

Teoría de la Normalización

Bases de datos 1. Teórico: Normalización

FORMAS NORMALES. Andrés Moreno S. Diagramas de Dependencias Funcionales. Diagramas de Dependencias Funcionales

5 Diseño de base de datos relacionales 5.1 Objetivos del diseño de bases de datos. 5.2 Dependencias funcionales. 5.3 Normalización. 5.3.

TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y MODELACIÓN DE DATOS

Bases de datos Unidad 4 Modelo Relacional

Normalización. CC20A 1 Computación II Auxiliar 10 Iván Bustamante. Clase Auxiliar 10 1

Normalización Clase Práctica Formas Normales

Diseño de Bases de Datos. Normalización

IV. MODELO RELACIONAL

Modelo Relacional. Normalización

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

BASE DE DATOS Modelos de Datos

Catedra de Base de Datos

Seguridad en BD Diseño Físico y Administración de Bases de Datos Otras tecnologías de Bases de Datos Bases de Datos Distribuidas Almacenes de Datos

7 Diseño de Bases de Datos Relacionales: Normalización

Modelo relacional. El modelo relacional

Bases de Datos. Tema 7 (parte 2) Teoría de la Normalización. Francisco Ruiz may UCLM-ESI (F.Ruiz)

Normalización. Universidad Nacional de Colombia Facultad de Ingeniería

Diseño lógico Diseño de bases de datos relacionales

DISEÑO DE BASES DE DATOS RELACIONALES

Tema 2. DISEÑO LÓGICO DE BASES DE DATOS Parte 2

Bases de Datos Relacionales

DISEÑO LÓGICO DE UNA BASE DE DATOS EN EL MODELO RELACIONAL (Teoría de la Normalización)

Tema 7. Diseño de bases de datos relacionales.

Bases de Datos. Tema 7 (parte 1) Teoría de la Normalización. Francisco Ruiz abr UCLM-ESI (F.Ruiz)

Tema 5: Normalización en Bases de Datos

Diseño de Base de Datos Relacional. Diseño de Base de Datos Relacional

Diseño de Base de Datos Relacional

Aurelio Caballero Vázquez Director de Servicios Business Resources Knowledge

Técnicas de Modelamiento de Datos

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

UNIVERSIDAD CATÓLICA DEL NORTE PROGRAMA DE ESTUDIOS IDENTIFICACIÓN DE LA ASIGNATURA. Nombre: Estructuras de Datos y Archivos

DED Diagramas de Estructura Lógica de Datos. Universidad de Oviedo Departamento de Informática

Modelo Relacional: Dependencias Funcionales y Normalización

Terminología Equivalente

CICLO ESCOLAR JULIO DICIEMBRE

NORMALIZACION. MsC (c) Esp. Alexis Ovany Torres Ch. Orientador Fundamentos y Diseño de Base de Datos

Principios de Bases de Datos Relacionales, Normalización. Unidad 4

Universidad Salesiana de Bolivia

TEMA 5.- ESTRUCTURA DE DATOS RELACIONAL.

Materia requisito: DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas) I. INTRODUCCION A LAS BASES DE DATOS

Universidad de Valladolid Departamento de Informática

Normalización. Carlos A. Olarte Bases de Datos I

Tema 2: Diseño de Bases de Datos (Diseño Lógico)

TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES

NORMALIZACION. Definición.

Normalización n de Bases de Datos Relacionales. Bases de Datos. Malos Diseños. Índice. Muchos Problemas. Definición

Universidad de Concepción Departamento de Ing. Informática y Cs. de la Computación

Optimización de Descomposiciones de Esquemas Normalizados en el Modelo Relacional

Modelo Entidad Relación

Tema 6: Teoría de la Normalización

Metodología de Diseño Lógico. Sistemas Gestores de Bases de Datos

Modelos y Bases de Datos

Tema 4 DISEÑO LÓGICO: EL MODELO RELACIONAL

NORMALIZACIÓN DE BASES DE DATOS

Tema 5: Normalización en Bases da Datos

Fundamentos de programación y Bases de Datos

Universidad Salesiana de Bolivia

Diseño lógico El modelo Relacional. José Muñoz Jimeno Febrero 2015

Normalización. Bases de Datos

Base de Datos. Práctica de Normalización. 1 Base de Datos

División Académica de Informática y Sistemas

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

1.Introducción al Modelo Relacional.

Introducción al Álgebra Relacional

Transcripción:

Catedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lec)vo 2016

Cronograma 4-oct Martes Anomalias. Dependencias. Formas Normales. 1a. 2a. Y 3a. U5 4-oct Martes Trabajo PracAco TP4 6-oct Jueves Trabajo PracAco TP4

Programa Analítico de la Materia Unidad 5 Normalizacion. Conceptos de normalización en la vinculación y/o relación de tablas y contenedores de bases de datos. Normalización. Formas Normales. Anomalías. Tipi=icación de Formas Normales. Estudio de 1FN, 2FN, 3FN y FN de Boyce-Codd.

Normalización La teoría del modelo relacional y el proceso de normalización de las Bases de Datos, fue desarrollado por Edgar Frank Codd en sus papers: A relational model for large shared data banks ACM 1970. Further normalization of the data base relational model RUSTIN 1972. En estos papers investiga, identi=ica las causas y de=ine las primeras tres formas normales. Comentario: Una relación es una forma normal especí=ica si satisface el conjunto de requisitos o restricciones para dicha forma.

Normalización Introducción: Con el fin de corregir algunas redundancias y anomalías, EF Codd (1972) propuso tres formas normales, 1FN, 2FN y 3FN, logrado tener pérdida menores a causa del proceso de descomposición, (preservación de la dependencia) de la relación inicial universal en relaciones más pequeñas, sobre la base de las dependencias funcionales (FDS).

Normalización Poco después, Heath y Boyce y Codd (1974) identificaron algunas insuficiencias de la definición de 3FN, por lo que redefinieron la 3FN y se le cambió el nombre Forma Normal de BoyceCodd - FNBC. Ronald Fagin (1977) fue el primero en describir la cuarta forma normal, 4NF, basado en las dependencias multivaluadas - MVDS (Zaniolo, Fagin, Delobel), así como la quinta forma normal, 5NF (Fagin, 1979) o forma normal de proyección-enlace cual se basa en unir dependencias (JDS). (PJ / NF), la

Normalización Tipos y Modelado de Datos Problemas Enlace / Join Una tabla de T está sujeta a una condición de enlace (JOIN) si T siempre se puede recrear al unirse varias Tablas, cada una con un subconjunto de los atributos de T Inclusión Es la existencia de atributos en una tabla R, cuyos valores deben ser un subconjunto de valores de los atributos correspondientes en la otra tabla S Dependencias Multivaluadas Dos tuplas (A,m) donde A es un conjunto y m es una Función de A Dependencias Funcionales Es un tipo de relación entre atributos

Normalización - Objetivos Desarrollar una buena descripción de los datos, sus relaciones y sus restricciones. Identi=icar un conjunto adecuado de relaciones. Mejorar el Diseño Lógico.

Normalización - Propósitos Producir un conjunto estable de relaciones que sea un modelo Diel de las operaciones de la empresa. ABSTRACCION Lograr un diseño Dlexible que permita extender el modelo cuando se necesite representar nuevos atributos, conjuntos de entidades y relaciones. ESCALABILIDAD Diseñar la base de datos fortaleciendo ciertos tipos de restricciones de integridad. COMPLETITUD Reducir la redundancia en las bases de datos, para ahorrar espacio y en pos de evitar inconsistencias en los datos. ANOMALIA

Anomalías De=inición: Una anomalía es un estado inconsistente, incompleto o contradictorio de la base de datos (Ricardo). Una tabla que cumple con una mínima de=inición de relación puede no tener una estructura e=icaz u apropiada. Si hubiera anomalías presentes en la relación, esta sería incapaz de representar cierta información, pudiendo perder información a partir de procesar actualizaciones, corriendo el riesgo de que los datos se vuelvan inconsistentes.

TipiDicación de las Anomalías 1. Anomalías de Inserción: ocurre cuando no se puede ingresar una ocurrencia hasta que se tenga un hecho adicional acerca de otra entidad. 2. Anomalías de ModiDicación: ocurre cuando se modi=ica un valor, y no se veri=ican los valores ingresados, los que =inalmente son consolidados en la base de datos. Una Solución a este problema posible es dividir la relación en dos relaciones. 3. Anomalías de Eliminación: ocurre cuando se elimina una tupla o un valor especi=ico, y este hecho afecta a otras entidades.

Cátedra: Sistemas de Bases de Datos Avanzados Departamento Sistemas Facultad Regional Tucumán Universidad Tecnológica Nacional Anomalías de inserción, actualización y borrado Considere la siguiente relación: NewClass (classno, stuid, stulastname, facid, schedule, room, grade) Aclaraciones: En este ejemplo se supone que solamente existe un miembro del personal docente para cada clase (esto es: no hay enseñanza en equipo). Se supone que cada clase siempre tiene asignado el mismo salón.

La tabla NewClass Anomalías de inserción, actualización y borrado Anomalía de actualización. Suponga que quiere cambiar el horario de ART103A a MWF12. Es posible que pueda actualizar los dos primeros registros de la tabla NewClass, pero no el tercero, lo que resulta en un estado inconsistente en la base de datos. Entonces sería imposible decir el verdadero horario para dicha clase. Ésta es una anomalía de actualización.

La tabla NewClass Anomalías de inserción, actualización y borrado MTH110A F110 MTUTH10 H225 Anomalía de inserción. Ocurre cuando intenta agregar información acerca de un curso para el cual todavía no hay estudiantes registrados. Por ejemplo, suponga que crea una nueva clase, con valores MTH110A, F110, MTuTh10, H225 para classnumber, facid, schedule y room. No es posible registrar la información del curso, aun cuando tenga los valores para estos atributos. Dado que la clave es {courseno,stuid}, no tiene permiso para insertar un registro con un valor nulo para stuid. Puesto que no tiene posibilidad de representar esta información de clase, tiene una anomalía de inserción.

La tabla NewClass Anomalías de inserción, actualización y borrado Anomalía de borrado. Cuando borra el registro del único estudiante que toma un curso particular, ocurre una anomalía de borrado. Por ejemplo, si el estudiante S1001 se retira de HST205A, perdería toda la información acerca de dicho curso. Sería deseable conservar la información del curso, pero no puede hacerlo sin un stuid correspondiente. De igual modo, si un estudiante abandona el único curso que toma, se pierde toda la información acerca de dicho estudiante.

Formas Normales Las relaciones se pueden clasi=icar por tipo de anomalías de modi=icación a las cuales son vulnerables. En la Década de 1970 los teóricos relacionales investigaron acerca de estos tipos. Cuando alguno encontraba una anomalía, la clasi=icaba y pensaba en una manera de prevenirla, las cuales con el tiempo y luego de estudiar numerosas ocurrencias, recibieron el nombre de Formas Normales.

Bases. de Datos Mg. Ing. Gustavo E. Juárez BASES DE DATOS Formas Normales Tanto para el Análisis Conceptual como para el desarrollo del Modelo Lógico, es necesario considerar ciertas especi=icaciones que faciliten el trabajo con las Tablas. En este sentido, Sommerville (1988) dijo " un buen diseño, es la clave de una ediciente ingeniería del software. Un software bien diseñado es fácil de aplicar y mantener, además de ser comprensible y Diable. Sistemas mal diseñados, aunque puedan funcionar, serán costosos de mantener.

Formas Normales Codd mediante la publicación de trabajos como A relational model for a large shared data banks, y Further normalization of the data base relational model, de=inió las 1FN, 2FN y 3FN (Primera, Segunda y Tercera Forma Normal). Más tarde, otros autores continuaron investigando los patrones de anomalías que ocurrían en las Bases de Datos y especi=icaron las siguientes formas normales:

MARCO HISTORICO DE LAS FORMAS NORMALES Formas Normales Primera Forma Normal (1NF) Definida por E.F. Codd (1970) C.J. Date (2003) Segunda Forma Normal (2NF) E.F. Codd (1971) Tercera Forma Normal (3NF) E.F. Codd (1971) Forma Normal de Boyce-Codd (BCNF) Cuarta Forma Normal (4NF) Raymond F. Boyce and E.F. Codd (1974) Ronald Fagin(1977) Quinta Forma Normal (5NF) Ronald Fagin (1979) Forma Normal de Dominio Clave (DKNF) Ronald Fagin (1981) Sexta Forma Normal (6NF) C.J. Date, Hugh Darwen y Nikos Lorentzos (2002)

Formas Normales Es posible entender mejor el proceso de normalización mediante la utilización de conjuntos incluidos unos de otros, en donde las formas normales se encuentran anidadas con un mismo centro. El objetivo del diseño debe ser poner el esquema en la forma normal más alta, que es práctica y adecuada para los datos en la base de datos. La normalización requiere tener en claro la semántica del modelo.

PRIMERA FORMA NORMAL

PRIMERA FORMA NORMAL (PFN o 1FN) Restricciones Para que una tabla sea una relación debe cumplir con ciertas restricciones: 1. Las celdas deben ser de un valor único. No se puede tener ni repetir grupos ni tener series en calidad de valores. 2. Todas las entradas en una misma columna deben ser del mismo tipo. 3. Cada columna tiene un nombre único y el orden en las columnas en la tabla no es importante. 4. Dos renglones en la tabla no pueden ser idénticos y el orden de los renglones no tiene importancia.

PRIMERA FORMA NORMAL (PFN o 1FN) Para describir la primera forma normal se usará un contraejemplo. Si supone que a un estudiante se le permite tener más de una especialidad, y se intenta almacenar especialidades múltiples en el mismo campo del registro del estudiante, la tabla NewStu puede parecerse a la que muestra la Figura. Este ejemplo viola la definición de la primera forma normal. La pregunta es como corregimos la anomalia?

PRIMERA FORMA NORMAL (PFN o 1FN) Definición 1FN: Una relación está en la primera forma normal (1FN) si y sólo si cada atributo tiene valor sencillo para cada tupla. Esto significa que cada atributo en cada fila, o cada celda de la tabla, contiene sólo un valor. Una forma alternativa de describir la primera forma normal es decir que los dominios de los atributos de la relación son atómicos. Esto significa que en el dominio no se permiten conjuntos, listas, campos repetidos o grupos.

PRIMERA FORMA NORMAL (PFN o 1FN) Los valores en el dominio deben ser valores únicos que no se puedan descomponer más. En la Figura se ve la violación de esta regla en los registros de los estudiantes S1006 y S1010, quienes ahora tienen dos valores mencionados para major.

PRIMERA FORMA NORMAL (PFN o 1FN)

SEGUNDA FORMA NORMAL

SEGUNDA FORMA NORMAL (SFN o 2FN) De=inición: Si R es un esquema de relación, y A y B son conjuntos de atributos no vacíos en R, se dice que B es funcionalmente dependiente en A si y sólo si cada valor de A en R tiene asociado exactamente un valor de B en R Esto se escribe como: A B que se lee como A determina funcionalmente a B. Una dependencia funcional es una conexión entre uno o más atributos. Por ejemplo si se conoce el valor de DNI, se indiere una conexión con Apellido o Nombre.

SEGUNDA FORMA NORMAL (SFN o 2FN) Dependencia funcional completa y Segunda Forma Normal (SFN o 2FN) Para la relación que se muestra en la Figura, se tienen las siguientes dependencias funcionales además de las triviales: {courseno, stuid} {stulastname} {courseno, stuid} {facid} {courseno, stuid} {room} {courseno, stuid} {grade}

SEGUNDA FORMA NORMAL (SFN o 2FN) Dado que no hay otra clave candidata, se elige {courseno, stuid} para la clave primaria. De nuevo, al ignorar las dependencias funcionales triviales, también se tienen las dependencias funcionales courseno facid courseno schedule courseno room stuid lastname De modo que se encuentran atributos que son funcionalmente dependientes en la combinación {courseno, stuid}, pero también funcionalmente dependientes en un subconjunto de dicha combinación. Se dice que tales atributos no son por completo dependientes funcionales de la combinación.

SEGUNDA FORMA NORMAL (SFN o 2FN) Definición 2FN: Una relación está en segunda forma normal (2FN) si y sólo si está en primera forma normal y todos los atributos no clave son completamente dependen completamente de la clave. Claro está, si una relación es 1FN y la clave consiste en un solo atributo, la relación es automáticamente 2FN. Tiene que preocuparse por 2FN sólo cuando la clave sea compuesta.

SEGUNDA FORMA NORMAL (SFN o 2FN) Dependencia funcional completa y Segunda Forma Normal (SFN o 2FN) Es importante notar que, cuando se usa esta notación menos formal, los atributos a la derecha de la flecha se pueden descomponer y citar como DF separadas, pero los atributos en el lado izquierdo deben permanecer unidos, pues es su combinación la que es determinante. Las dependencias funcionales son courseno facid, schedule, room stuid lastname courseno,stuid grade facid, schedule, room, lastname

SEGUNDA FORMA NORMAL (SFN o 2FN) Al usar proyección, se descompone la relación NewClass en el siguiente conjunto de relaciones: Register (courseno, stuid, grade) Stu (stuid, stulastname) Class2 (courseno, facid, schedule, room).

TERCERA FORMA NORMAL

TERCERA NORMAL (TFN o 3FN) Aunque las relaciones de la segunda forma normal son mejores que las de la primera forma normal, todavía pueden tener anomalías de actualización, inserción y borrado. Considere la siguiente relación: NewStudent (stuid, lastname, major, credits, status) La Figura muestra una instancia de esta relación. Aquí, la única clave candidata es stuid y se usará como la clave primaria. Todo otro atributo de la relación es funcionalmente dependiente de la clave, así que se tiene la siguiente dependencia funcional, entre otras: stuid credits

TERCERA NORMAL (TFN o 3FN) Sin embargo, dado que el número de créditos determina el status, también se tiene credits status Por tanto, stuid de manera funcional determina status en dos formas, directa y transitivamente, a través del atributo no clave status. Al usar transitividad se tiene (stuid credits) (credits status) (stuid status)

TERCERA NORMAL (TFN o 3FN) Definición Dependencia Funcional Transitiva: Si A, B y C son atributos de la relación R, tales que A B y B C, entonces C es transitivamente dependiente de A. Para la Tercera Forma Normal se quiere eliminar ciertas dependencias transitivas. Las dependencias transitivas causan anomalías de inserción, borrado y actualización. A Dependencia Funcional Dependencia Funcional B --------------------- Dependencia Transitiva C

TERCERA NORMAL (TFN o 3FN) Debido a estos problemas, es deseable remover las dependencias transitivas y crear un conjunto de relaciones que satisfagan la siguiente definición. Definición 3FN: Una relación está en tercera forma normal (3FN) si, siempre que exista una dependencia funcional no trivial X A, entonces o X es una superclave o A es un miembro de alguna clave candidata.

TERCERA NORMAL (TFN o 3FN) Las características de la tercera forma normal implican que cada atributo no clave debe depender de la clave, toda la clave y nada más que la clave. Al comprobar la tercera forma normal, se busca si algún atributo no clave candidata (o grupo de atributos) es funcionalmente dependiente de otro atributo no clave (o grupo). Si existe tal dependencia funcional, se remueve de la relación el atributo funcionalmente dependiente, y se le coloca en una nueva relación con su determinante. El determinante puede permanecer en la relación original.

TERCERA NORMAL (TFN o 3FN) Dependencia Transitiva y Tercera Forma Normal (TFN o 3FN) Para el ejemplo NewStudent, dado que la dependencia indeseable es credits status, y status no es parte de alguna clave candidata, se forma el conjunto de relaciones: NewStu2 (stuid, lastname, major, credits) Stats (credits, status)

TERCERA NORMAL (TFN o 3FN) De hecho, se puede decidir no almacenar status en la base de datos, y calcular el status para aquellas vistas que la necesiten. En este caso, simplemente se elimina la relación Status. Este ejemplo no involucra múltiples claves candidatas. Si en la relación original se tiene una segunda clave candidata, socialsecuritynumber, se tendría socialsecuritynumber status

Compendio de Formas Normales Integración de conocimientos adquiridos

Compendio de Formas Normales Definición 1FN: Una relación está en la primera forma normal (1FN) si y sólo si cada atributo tiene valor sencillo para cada tupla. Definición Dependencia Funcional: Si R es un esquema de relación, y A y B son conjuntos de atributos no vacíos en R, se dice que B es funcionalmente dependiente en A si y sólo si cada valor de A en R tiene asociado exactamente un valor de B en R. Definición 2FN: Una relación está en segunda forma normal (2FN) si y sólo si está en primera forma normal y todos los atributos no clave son completamente dependientes funcionales sobre la clave.

Compendio de Formas Normales Definición Dependencia Transitiva: Si A, B y C son atributos de la relación R, tales que A B y B C, entonces C es transitivamente dependiente de A. Definición 3FN: Una relación está en tercera forma normal (3FN) si la relacion esta en Segunda Forma Normal (2FN), siempre que exista una dependencia funcional no trivial X A, entonces o X es una superclave o A es un miembro de alguna clave candidata.

Bibliogra5ía

Referencias Paper A relational model for a large shared data banks, E. F. Codd. Libro Fundamentos de Bases de Datos, Rovarini P., De La Vega H. Libro Sistemas de Bases de Datos. Conceptos Fundamentales, R. Elmasrhi S. Navathe. 2ª Edic. Edit. Addison Wesley. Faculta de Ingeniería. Universidad de Talca (CHI). http://ing.utalca.cl/~jperez/bd/documentos/al.pdf

Sitio Web de la Cátedra http://catedras.facet.unt.edu.ar/bd