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

Documentos relacionados
Normalización. Tema 16

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

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

Formas Normales. Normalización. Introducción

Tema 5: Normalización en Bases de Datos

Diseño de Base de Datos

4. FUNDAMENTOS DEL MODELO RELACIONAL

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

IV. MODELO RELACIONAL

Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla

Tema 5: Teoría de diseño de Bases de Datos Relacionales.

TEMA 5: DISEÑO EN EL MODELO RELACIONAL. TEORÍA DE LA NORMALIZACIÓN

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

Temario. Índices simples Árboles B Hashing

Modelo Relacional: Dependencias Funcionales y Normalización

Modelos de Datos. Modelo Entidad-Relación

Temario Curso Bases de Datos

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

Tema 5: Normalización en Bases da Datos

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

8. Teoría de la Normalización

Modelo relacional. El modelo relacional

1.Introducción al Modelo Relacional.

NORMALIZACIÓN DE BASES DE DATOS RELACIONALES

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

Fundamentos de programación y Bases de Datos

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

Solución Práctico 6 Diseño Relacional. Ejercicio 1: Tecnólogo en Informática Base de Datos 1 Práctico

Administración de Bases de Datos (Ingeniería Técnica en Informática de Gestión)

EL MODELO RELACIONAL

Análisis y síntesis de sistemas digitales combinacionales

Modelo relacional. Modelo relacional

Bases de Datos OTROS ASPECTOS MODELO E-R

DISEÑO DE BASES DE DATOS RELACIONALES: NORMALIZACION

Esquema Lógico F1. EXAMEN 1 de diciembre de EQUIPO (NOMBRE:cadena) CP (NOMBRE) DIRECTOR (NOMBRE:cadena) CP (NOMBRE)

Dependencias funcionales

El Modelo Relacional. Carlos A. Olarte BDI

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

NORMALIZACION. Definición.

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

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

3.Dependencias funcionales.

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

Modelo Entidad Relación.MER.

Modelo Relacional. Normalización

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 1-Junio Nombre:

id_trabajador nombre tarifa_hr tipo_de_oficio id_supv 1235 F. Aguilera 12,50 Electricista A. Calvo 13,75 Fontanero N.

MODELO RELACIONAL NORMALIZACIÓN

Catedra de Base de Datos

Dep. Multivaluadas y Cuarta F.N.

TEMA 1: NÚMEROS NATURALES. SISTEMA DE NUMERACIÓN

- Bases de Datos (2012/2013) Adjunto Tema 1: Ampliación DER

Bases de Datos y Sistemas de Información

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

Tema II: El modelo relacional de datos. (2.4)

PRODUCTO CARTESIANO RELACIONES BINARIAS

Diseño Lógico Modelo Relacional. Ges3ón y Modelación de Datos María Constanza Pabón

Ingeniería Informática Descriptores Creditos ECTS Carácter Curso Cuatrimestre. 6 OB 2 2c Castellano

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Reglas de Integridad

4.Diseño de Bases de Datos (I)

Dependencias Funcionales. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Gestión base de datos : Modelo Relacional (II)

Base y Dimensión de un Espacio Vectorial

Diseño de circuitos combinacionales

Sistemas de ecuaciones lineales

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

Bases de Datos. Laboratorio III, L106/L111. Profesor: Goyo Celada

Espacios Vectoriales Asturias: Red de Universidades Virtuales Iberoamericanas 1

Eduardo Mora y Marta Zorrilla Pág

Diseño Lógico El modelo relacional. M.Sc.Lic. Cimar H. Meneses España

Práctico 6 Diseño Relacional

Espacios Vectoriales

Transformación ER Relacional para el diseño de bases de datos relacionales

4.1. Polinomios y teoría de ecuaciones

Tema 5: Diseño de Bases de Datos

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

Capítulo 6. Relaciones. Continuar

MATEMÁTICAS II CC III PARCIAL

BLOQUE 1. LOS NÚMEROS

PARTE II. MODELO RELACIONAL. ESTÁTICA

Examen de Bases de datos y sistemas de información I PARCIAL. A C S I _y s1 _z B N C

NORMAS DE DISEÑO DE BASE DE DATOS

Modelos y Bases de Datos

BASES DE DATOS II PRACTICA I

Tema 3: Espacios vectoriales

Álgebra y Geometría Analítica I - LF 2016 Práctica 1: Algunos elementos de la Geometría Analítica

Unidad 5: Geometría Analítica

Semestre de cursado: primero Cantidad de horas semanales: 8. Hoja 1 de 10 Profesor Asociado: María Eugenia Stefanoni. J:T:P: Higinio Facchini

Ficheros y Bases de Datos Curso Primer Parcial. 7 de FEBRERO de Nombre:

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

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Fundamentos del Modelo Relacional de Datos

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales

rg.o cm a Diseñ e o o l óg ó ico c l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s s r e r la l c a i c o i nal a e l s

Tema 6: Teoría Semántica

DISEÑO DE BASES DE DATOS. DEPENDENCIAS FUNCIONALES. Ejercicios 1.

Tema II: El modelo relacional de datos (2.1) El modelo relacional de datos.

Infinito más un número Infinito más infinito. Infinito por infinito. OPERACIONES CON INFINITO Sumas con infinito. Productos con infinito

Programa de la asignatura Curso: 2009 / 2010 SISTEMAS DE GESTIÓN DE BASES DE DATOS (1590)

SISTEMAS DE ECUACIONES LINEALES

Bases de Datos Relacionales

Transcripción:

Temario 2 o cuatrimestre Diseño Lógico Diseño Lógico Estándar Diseño Lógico Específico Normalización 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 Práctica Diseño de una BD usando una herramienta CASE Desarrollo de una aplicación con conexión a una BD DBDySI-1 Diseño Lógico: Normalización Diseño de Bases de Datos y Seguridad de la Información www.kybele.es 1

Bibliografía Tecnología y Diseño de Bases de Datos M. Piattini, E. Marcos, C. Calero y B. Vela Ed.: RA-MA, 2006 Octubre Introducción a los Sistemas de Bases de Datos C. J. Date Ed.: Prentice Hall, Séptima Edición, 2001 Diseño de Bases de Datos. Problemas Resueltos. A. de Miguel et al. Ed.: RA-MA, 2001 DBDySI-3 Índice 1. Introducción 2. Dependencias Funcionales 3. Teoría de la Normalización 4.1. Formas Normales 4.2. Descomposición y Síntesis 4. Ejercicios DBDySI-4 2

Índice 1. Introducción 2. Dependencias Funcionales 3. Teoría de la Normalización 4.1. Formas Normales 4.2. Descomposición y Síntesis 4. Ejercicios DBDySI-5 Introducción: Objetivos Decidir si una R es correcta Si no, descomponer en {R1, R2 Rn}, tal que: Las relaciones sean correctas Descomposición sin pérdidas EMPLEADOS Código Nombre Ciudad Provincia 01 Juan Móstoles Madrid 02 María Móstoles Madrid 03 Pepe Navalcarnero Madrid 04 Antonio Valmojado Toledo EMPLEADOS_1 Código Nombre Provincia 01 Juan Madrid 02 María Madrid 03 Pepe Madrid 04 Antonio Toledo CIUDADES Ciudad Provincia Móstoles Madrid Navalcarnero Madrid Valmojado Toledo DBDySI-6 3

Introducción: un ejemplo ESTUDIANTE (Cód_E, Nombre_E, Ciudad) SOLICITA (Cód_B, Cód_E, Fecha) BECA (Cód_B, Nombre_B, Requisito) ESTUDIANTE Cód_Estudiante Nombre Ciudad Solicita Fecha BECA Cód_Beca Nombre Requisito DBDySI-7 Introducción: un ejemplo Estudiante Solicita Beca Cód_E Nombre_E Ciudad Cód_E Cód_B Fecha Cód_B Nombre_B Requisito E1 Juan Madrid E2 B2 12/11/08 B1 Beca1 IT E2 María Madrid E2 B1 14/10/08 B2 Beca2 IT E3 Pepe Soria E2 B3 15/09/08 B3 Beca3 II E3 B3 21/09/08 E1 B2 11/11/08 E3 B2 10/10/08 E1 B1 12/11/08 Estudiante_Solicita_Beca Cód_E Nombre_E Ciudad Cód_B Nombre_B Requisito Fecha E2 María Madrid B2 Beca2 IT 12/11/08 E2 María Madrid B1 Beca1 IT 14/10/08 E2 María Madrid B3 Beca3 II 15/09/08 E3 Pepe Soria B3 Beca3 II 21/09/08 E1 Juan Madrid B2 Beca2 IT 11/11/08 E3 Pepe Soria B2 Beca2 IT 10/10/08 E1 Juan Madrid B1 Beca1 IT 12/11/08 DBDySI-8 4

Introducción: diseño Al diseñar una BD relacional, podemos obtener diferentes esquemas La teoría de la normalización consigue una formalización en el diseño lógico Representación adecuada de la realidad y problemas de diseños inadecuados La teoría de la normalización permite afrontar el problema de diseño de bases de datos relacionales de una manera rigurosa y objetiva DBDySI-9 Introducción: diseño Formas de abordar el proceso de modelado: A) Obteniendo el esquema relacional directamente B) Realizando el proceso de diseño en dos fases Posibles problemas: Incapacidad para almacenar ciertos hechos. Redundancias y, por tanto, posibilidad de inconsistencias Ambigüedades Pérdida de información (aparición de tuplas espurias) Pérdida de dependencias funcionales Existencia de valores nulos (inaplicables) Aparición de estados que no son válidos en el mundo real DBDySI-10 5

Introducción: diseño correcto Cód_E Nombre_E Ciudad Cód_B Nombre_B Requisito Fecha E2 María Madrid B2 Beca2 IT 12/11/08 E2 María Madrid B1 Beca1 IT 14/10/08 E2 María Madrid B3 Beca3 II 15/09/08 E3 Pepe Soria B3 Beca3 II 21/09/08 E1 Juan Madrid B2 Beca2 IT 11/11/08 E3 Pepe Soria B2 Beca2 IT 10/10/08 E1 Juan Madrid B1 Beca1 IT 12/11/08 Anomalías: Inserción Borrado Modificación Estudiante_Solicita_Beca DBDySI-11 Índice 1. Introducción 2. Dependencias Funcionales 3. Teoría de la Normalización 4.1. Formas Normales 4.2. Descomposición y Síntesis 4. Ejercicios DBDySI-12 6

Dependencias entre los datos NOTAS MAT Nombre Apellido Población Provincia Asignatura Conv Nota 001 Juan Pérez Móstoles Madrid DBD Sep/09 NP 001 Juan Pérez Móstoles Madrid DBD Jun/10 SB 002 María García Alcorcón Madrid Redes Jun/10 AP 003 Eva Gómez Madrid Madrid DBD Sep/09 NOT 003 Eva Gómez Madrid Madrid Redes Jun/10 NOT 003 Eva Gómez Madrid Madrid SSOO Jun/10 NOT 004 Luis Martín Valmojado Toledo DBD Sep/09 SUSP DBDySI-13 Dependencias entre los datos Son semántica ESTUDIANTE MAT Nombre Apellido Población Provincia 001 Juan Pérez Móstoles Madrid 002 María García Alcorcón Madrid 003 Eva Gómez Madrid Madrid 004 Luis Martín Valmojado Toledo DBDySI-14 7

Dependencias entre los datos A -> B?, B -> C?, C -> B? T1 A B C D E 001 B1 1 1254 X 002 B2 7 5478 Y 003 B3 54 2568 Z 004 B4 0 3698 F 005 B3 54 4758 X 006 B6 21 2678 S 007 B3 54 2147 S 008 B2 7 2147 T DBDySI-15 Dependencias entre los datos A -> B?, B -> C?, C-/>B! T1 A B C D E 001 B1 1 1254 X 002 B2 7 5478 Y 003 B3 54 2568 Z 004 B4 0 3698 F 005 B3 54 4758 X 006 B6 21 2678 S 007 B3 54 2147 S 008 B2 7 2147 T 009 B8 7 4789 Q DBDySI-16 8

Dependencias entre los datos Las dependencias son propiedades inherentes al contenido semántico de los datos; forman parte de las restricciones de usuario del modelo relacional y se han de cumplir para cualquier extensión de un esquema de relación Sin pérdida de generalidad vamos a considerar que el esquema relacional está compuesto por un único esquema de relación: R (A,DEP), donde: A: conjunto de atributos de la relación DEP: cjto. de dependencias existentes entre los atributos Existen distintos tipos: funcionales, multivaluadas, jerárquicas y de combinación DBDySI-17 Dependencias funcionales Sea el esquema de relación R(A,DF), y sean X, Y dos subconjuntos de A, a los que llamamos descriptores. Se dice que Y depende funcionalmente de X o que X implica o determina a Y, y se denota como X Y si, y sólo si, a cada valor x del atributo X, le corresponde un único valor y del atributo Y. Un determinante o implicante es un conjunto de atributos del que depende funcionalmente otro conjunto de atributos al que llamamos implicado. Por ejemplo: Cód_Estudiante Nombre Dos descriptores X e Y son equivalentes si: X Y Λ Y X, o bien, X Y (Cód_Estudiante DNI) DBDySI-18 9

DF: ejemplo Estudiante_Solicita_Beca Cód_E Nombre_E Ciudad Cód_B Nombre_B Requisito Fecha E2 María Madrid B2 Beca2 IT 12/11/08 E2 María Madrid B1 Beca1 IT 14/10/08 E2 María Madrid B3 Beca3 II 15/09/08 E3 Pepe Soria B3 Beca3 II 21/09/08 E1 Juan Madrid B2 Beca2 IT 11/11/08 E3 Pepe Soria B2 Beca2 IT 10/10/08 E1 Juan Madrid B1 Beca1 IT 12/11/08 En esta extensión, Cód_E Nombre_E Cód_E, Cód_B Fecha Fecha Ciudad Y, para toda extensión válida? DBDySI-19 DF: ejemplo Estudiante Cód_E Nombre_E Ciudad País E1 Juan Madrid España E2 María Madrid España E3 Pepe Soria España Si Cód_E es clave, se satisface: Cód_E {Cód_E, Nombre_E, Ciudad, País} Si A B y A no es una clave candidata, involucrará cierta redundancia Interesa reducir el número de dependencias? DBDySI-20 10

Dependencias funcionales Dependencia funcional X Y es trivial si Y X Ej: Cód_Curso, Cód_Edición Cód_Curso Cierre de un conjunto de dependencias: DF + : conjunto de todas las dependencias funcionales implicadas por DF. Primera aproximación: axiomas de Armstrong: Reflexividad: si Y X, entonces X Y Aumento: si X Y, entonces XZ YZ Transitividad: si X Y y Y Z, entonces X Z DBDySI-21 Cierre de un descriptor Podemos calcular DF + aplicando los axiomas Calcular el cierre de un subconjunto tal que X sea implicante: cierre transitivo de un descriptor X de R respecto al conjunto de dependencias DF, (X + DF) Dado R(A, DF), se define X + DF como un subconjunto de los atributos de A tales que X X + DF DF +, siendo X + DF máximo en el sentido de que la adición de cualquier atributo vulneraría la condición anterior Consecuencias: cálculo de SK y K Algoritmo de Ullman DBDySI-22 11

Cierre transitivo de un descriptor: ejemplo R ({A, B, C, D, E, F}, DF), donde DF={A B, B A, C A, D C, (E, C) D, A F, C F}, hallar el cierre del descriptor (E, C) E, C E, C E, C E, C, D E, C E, C, D, A E, C E, C, D, A, B E, C E, C, D, A, B, F Por tanto, (E, C) + = E, C, D, A, B, F DBDySI-23 Equivalencia de conjuntos de DF Dado DF, X Y DF + sii Y X + DF DF 1 y DF 2 son equivalentes si DF + 1 = DF + 2. Si para toda dependencia X Y DF 2 se cumple que Y X + DF1, entonces toda dependencia de DF 2 está en DF 1 y por tanto DF 1 es un recubrimiento de DF 2 Si para toda dependencia Z W DF 1 se cumple que W Z + DF2, entonces toda dependencia de DF 1 está en DF 2 y por tanto DF 2 es un recubrimiento de DF 1 está Si se cumplen ambas condiciones, DF 1 y DF 2 son mutuamente recubrimientos, luego son equivalentes DBDySI-24 12

Dependencia funcional transitiva Sea R (X, Y, Z), con X Y, Y Z, Y X Z tiene una dependencia transitiva respecto a X a través de Y (X Z) Si Z Y, la dependencia transitiva es estricta. Ej: DIRECCIÓN (CP, Localidad, Provincia) con CP Localidad, Localidad Provincia Además, Localidad CP Entonces, CP Provincia Por tanto, CP Provincia Además, como Provincia Localidad, se da una dependencia transitiva estricta. DBDySI-25 Cálculo del recubrimiento irredundante De todos los posibles conjuntos equivalentes a un conjunto dado de dependencias, hay algunos de ellos que son mínimos, por lo que se dice que son recubrimientos irredundantes (también llamados minimales) del conjunto dado de dependencias: Un único atributo en el implicado Irreducible por la izquierda (no atributos extraños) Sin DF redundantes DBDySI-26 13

Determinación de si un descriptor es clave de una relación Se calcula el cierre X + DF de X Si X + DF A, X no es clave Si X + DF A, X es una superclave. Si para algún subconjunto X i del descriptor, X + i DF A, X no es clave En caso contrario X es una clave candidata. DBDySI-27 Algoritmo para la obtención de las claves candidatas Sea R(A,DF) eliminando descriptores equivalentes Aspectos a tener en cuenta a) Todo atributo independiente forma parte de todas las claves b) Los descriptores equivalentes dan lugar a varias claves c) Ningún atributo implicado que no es implicante forma parte de ninguna clave d) Todo atributo implicante pero no implicado forma parte de todas las claves (siempre que no tenga otros equivalentes) e) Aquellos atributos que son implicantes e implicados pueden formar parte de alguna clave DBDySI-28 14

Algoritmo para la obtención de las claves candidatas Paso 1. Eliminación de descriptores independientes Paso 2. Eliminación de descriptores equivalentes Paso 3. Determinación de un descriptor (en el que no haya implicados) que sea clave de R sie Paso 4. Determinación de un descriptor de R sie (en el que puede haber implicados siempre que sean también implicantes) Paso 5. Tratamiento de atributos independientes para obtener una clave de la relación original Paso 6. Tratamiento de descriptores equivalentes DBDySI-29 Índice 1. Introducción 2. Dependencias Funcionales 3. Teoría de la Normalización 4.1. Formas Normales 4.2. Descomposición y Síntesis 4. Ejercicios DBDySI-30 15

Teoría de la normalización Dado un conjunto A de atributos y el conjunto D de dependencias existentes entre ellos que constituyen un esquema de relación R(A, D), se trata de transformar, por medio de sucesivas proyecciones, este esquema de partida en un conjunto de n esquemas de relación {R i (A i, D i )} n i=1, tales que cumplan unas determinadas condiciones: El conjunto de esquemas R i deberán ser equivalentes a R y mejores que el esquema de partida DBDySI-31 Descomposición sin pérdida de información Estudiante Solicita Beca Cód_E Nombre_E Ciudad Cód_E Cód_B Fecha Cód_B Nombre_B Requisito E1 Juan Madrid E2 B2 12/11/08 B1 Beca1 IT E2 María Madrid E2 B1 14/10/08 B2 Beca2 IT E3 Pepe Soria E2 B3 15/09/08 B3 Beca3 II E3 B3 21/09/08 E1 B2 11/11/08 E3 B2 10/10/08 E1 B1 12/11/08 Estudiante*Solicita*Beca Cód_E Nombre_E Ciudad Cód_B Nombre_B Requisito Fecha E2 María Madrid B2 Beca2 IT 12/11/08 E2 María Madrid B1 Beca1 IT 14/10/08 E2 María Madrid B3 Beca3 II 15/09/08 E3 Pepe Soria B3 Beca3 II 21/09/08 E1 Juan Madrid B2 Beca2 IT 11/11/08 E3 Pepe Soria B2 Beca2 IT 10/10/08 E1 Juan Madrid B1 Beca1 IT 12/11/08 DBDySI-32 16

Descomposición con pérdida de información Estudiante_Nueva Beca_Nueva Cód_E Nombre_E Ciudad Fecha Cód_B Nombre_B Requisito Fecha E2 María Madrid 12/11/08 B2 Beca2 IT 12/11/08 E2 María Madrid 14/10/08 B1 Beca1 IT 14/10/08 E2 María Madrid 15/09/08 B3 Beca3 II 15/09/08 E3 Pepe Soria 21/09/08 B3 Beca3 II 21/09/08 E1 Juan Madrid 11/11/08 B2 Beca2 IT 11/11/08 E3 Pepe Soria 10/10/08 B2 Beca2 IT 10/10/08 E1 Juan Madrid 12/11/08 B1 Beca1 IT 12/11/08 Estudiante_Nueva*Beca_Nueva Cód_E Nombre_E Ciudad Cód_B Nombre_B Requisito Fecha E2 María Madrid B2 Beca2 IT 12/11/08 E2 María Madrid B1 Beca1 IT 12/11/08 E2 María Madrid B1 Beca1 IT 14/10/08 E2 María Madrid B3 Beca3 II 15/09/08 E3 Pepe Soria B3 Beca3 II 21/09/08 E1 Juan Madrid B2 Beca2 IT 11/11/08 E3 Pepe Soria B2 Beca2 IT 10/10/08 E1 Juan Madrid B1 Beca1 IT 12/11/08 E1 Juan Madrid B2 Beca2 IT 12/11/08 DBDySI-33 Descomposición con pérdida de información Estudiante_Nueva Beca_Nueva Cód_E Nombre_E Ciudad Fecha Cód_B Nombre_B Requisito Fecha E2 María Madrid 12/11/08 B2 Beca2 IT 12/11/08 E2 María Madrid 14/10/08 B1 Beca1 IT 14/10/08 E2 María Madrid 15/09/08 B3 Beca3 II 15/09/08 E3 Pepe Soria 21/09/08 B3 Beca3 II 21/09/08 E1 Juan Madrid 11/11/08 B2 Beca2 IT 11/11/08 E3 Pepe Soria 10/10/08 B2 Beca2 IT 10/10/08 E1 Juan Madrid 12/11/08 B1 Beca1 IT 12/11/08 Estudiante_Nueva*Beca_Nueva Cód_E Nombre_E Ciudad Cód_B Nombre_B Requisito Fecha E2 María Madrid B2 Beca2 IT 12/11/08 E2 María Madrid B1 Beca1 IT 12/11/08 E2 María Madrid B1 Beca1 IT 14/10/08 E2 María Madrid B3 Beca3 II 15/09/08 E3 Pepe Soria B3 Beca3 II 21/09/08 E1 Juan Madrid B2 Beca2 IT 11/11/08 E3 Pepe Soria B2 Beca2 IT 10/10/08 E1 Juan Madrid B1 Beca1 IT 12/11/08 E1 Juan Madrid B2 Beca2 IT 12/11/08 DBDySI-34 17

Índice 1. Introducción 2. Dependencias Funcionales 3. Teoría de la Normalización 4.1. Formas Normales 4.2. Descomposición y Síntesis 4. Ejercicios DBDySI-35 Formas normales Un esquema de relación está en una cierta forma normal si satisface un conjunto de restricciones Cuanto más alta sea la forma normal menores serán los problemas en el mantenimiento de la BD Codd propuso inicialmente tres formas normales basadas en las DF: 1FN, 2FN y 3FN En 1974 introdujo una definición más restrictiva de la 3FN que se denominó Forma Normal de Boyce-Codd (FNBC). La 4FN se basa dependencias multivaluadas y la 5FN en las dependencias de proyección-combinación DBDySI-36 18

Formas normales 1FN 2FN 3FN FNBC 4FN 5FN DKFN 6FN DBDySI-37 Primera forma normal Una relación está en 1FN cuando cada atributo sólo toma un valor del dominio simple subyacente Estudiante (Código, Nombre, Beca) Código Nombre Beca E1 Juan Beca1 Beca2 E2 María Beca3 E3 Pepe Beca2 Beca3 Tabla, no relación Grupos repetitivos Código Nombre Beca E1 Juan Beca1 E1 Juan Beca2 E2 María Beca3 E3 Pepe Beca2 E3 Pepe Beca3 1FN DBDySI-38 19

Segunda forma normal Una relación está en 2FN si: Está en 1FN. Cada atributo no principal tiene DF completa respecto de cada una de las claves. No se cumple cuando algún atributo no principal depende funcionalmente de algún subcjto de la clave Cualquier relación binaria, cualquier relación cuyas claves son simples y cualquier relación en la que todos sus atributos son principales, está en 2FN Siempre se pueden obtener esquemas en 2FN sin pérdida de información ni de dependencias. DBDySI-39 Segunda forma normal: ejemplo ESTUDIANTE_BECA (AT, DEP) donde: AT = {Cod_Estudiante, Cod_Beca, Fecha_Sol, Título} DEP = {Cod_Estudiante, Cod_Beca Fecha_Sol Cod_Estudiante Título} Transformamos en: ESTUDIANTE_BECA1 (AT1, DEP1) donde: AT1 = {Cod_Estudiante, Cod_Beca, Fecha_Sol } DEP1 = {Cod_Estudiante, Cod_Beca Fecha_Sol } ESTUDIANTE (AT2, DEP2) donde: AT2 = {Cod_Estudiante, Título} DEP2 = {Cod_Estudiante Título} DBDySI-40 20

Tercera forma normal Un esquema de relación R, está en 3FN si, y sólo si: Está en 2FN. No existe ningún atributo no principal que dependa transitivamente de alguna clave de R. No se cumple cuando existen atr. no principales que dependen funcionalmente de otros atr. no principales Toda relación binaria y toda relación que tiene, como mucho, un atr. no principal, está en 3FN Siempre se pueden obtener esquemas de relación en 3FN sin pérdida de información ni de DF DBDySI-41 Tercera forma normal: ejemplo ESTUDIANTE (AT, DEP) donde: AT = {Cod_Estudiante, Cod_Proyecto, Nombre_Proyecto} DEP = {Cod_Proyecto Nombre_Proyecto Cod_Estudiante Cod_Proyecto} ESTUDIANTE1 (AT1,DEP1) donde: AT1={Cod_Estudiante, Cod_Proyecto} DEP1={Cod_Estudiante Cod_Proyecto} PROYECTO (AT2,DEP2) donde: AT2={Cod_Proyecto, Nombre_Proyecto} DEP2={Cod_Proyecto Nombre_Proyecto} DBDySI-42 21

Forma normal de Boyce-Codd Posibles problemas si 3FN y claves candidatas compuestas que se solapan Se dice que una relación se encuentra en FNBC si, y sólo si, todo determinante es una clave candidata. ASISTE (Cod_Curso, Nom_Curso, Cod_Estud, Calif) Cod_Curso Nom_Curso, Cod_Curso, Cod_Estudiante Calificación Se repite nombre y código por cada estudiante Si 3FN y claves no solapadas, también en FNBC Toda relación binaria está en FNBC. En la transformación pueden perderse DF DBDySI-43 Forma normal de Boyce-Codd: ejemplo SE_MATRICULA1 (Cod_Curso, Cod_Edición, Cod_Estudiante, Fecha) Cod_Curso, Cod_Edición, Cod_Estudiante Fecha Cod_Edición,Cod_Estudiante,Fecha Cod_Curso Claves candidatas: (Cod_Curso, Cod_Edición, Cod_Estudiante) (Cod_Edición,Cod_Estudiante,Fecha) Se solapan ya que comparten los atributos Cod_Edición y Cod_Estudiante; sin embargo, debido a que los únicos determinantes son los dos descriptores anteriores, que son claves candidatas, la relación sí se encuentra en FNBC. DBDySI-44 22

Forma normal de Boyce-Codd: ejemplo CLASE (AT,DEP) donde: AT={Cod_Estudiante, Cod_Profesor, Materia} DEP={Cod_Estudiante, Materia Cod_Profesor Cod_Profesor Materia} CLASE1 (AT1,DEP1) donde: AT1={Cod_Estudiante, Cód_Profesor} DEP1={} CLASE2 (AT2,DEP2) donde: AT2={Cod_Profesor, Materia} DEP2={Cod_Profesor Materia} Pérdida de DF DBDySI-45 Índice 1. Introducción 2. Dependencias Funcionales 3. Teoría de la Normalización 4.1. Formas Normales 4.2. Descomposición y Síntesis 4. Ejercicios DBDySI-46 23

El proceso de descomposición Aspectos a tener en cuenta: Avanzar en las formas normales Conservación de los atributos Conservación de las dependencias Conservación de la información (lossless join) DBDySI-47 Conservación de las dependencias COD_E CP CIUDAD E1 28008 Madrid E2 28008 Madrid COD_E CP CP CIUDAD COD_E CP E1 28008 E2 28008 COD_E CP CP CIUDAD 28008 Madrid 28008 Madrid CP CIUDAD COD_E CP E1 28008 E2 28008 COD_E CP COD_E CIUDAD E1 Madrid E2 Madrid CP CIUDAD? DBDySI-48 24

Descomposición sin pérdida de información (lossless join) La descomposición implica separar un esquema en otros, en un proceso reversible. COD_E PUESTO CIUDAD E1 Administrativo Madrid E2 Administrativo Móstoles COD_E E1 E2 PUESTO Administrativo Administrativo COD_E E1 E2 CIUDAD Madrid Móstoles COD_E PUESTO CIUDAD E1 Administrativo Madrid E2 Administrativo Móstoles COD_E PUESTO PUESTO CIUDAD COD_E PUESTO CIUDAD E1 E2 Administrativo Administrativo Administrativo Administrativo Madrid Móstoles E1 Administrativo Madrid E1 Administrativo Móstoles E2 Administrativo Madrid E2 Administrativo Móstoles DBDySI-49 Descomposición sin pérdida de información (lossless join) Comprobación de descomposición sin pérdida de información Una descomposición D = {R1, R2} es sin pérdida (lossless join) con respecto a un conjunto de DF sii (A1 A2) (A1-A2) ó (A1 A2) (A2-A1) DBDySI-50 25

Algoritmo de síntesis Descomposición en 3FN conservando DF y la información 1. Encontrar un recubrimiento mínimo 2. Para cada conjunto de DF de la forma X Ai, un esquema R({X,A1 Am},{X A1, X Am} 3. Si ningún esquema contiene una clave de R, crear un esquema con la clave. DBDySI-51 El proceso de descomposición 1. Hallar un recubrimiento minimal DF m 2. Determinar la(s) clave(s), así como los atributos principales y no principales 3. Identificar la FN en que se encuentra la relación Si se desea llegar a una forma normal más avanzada: 4. Agrupar las DF que tengan el mismo implicante y/o eq. 5. Obtener proy. indep sobre cada una de las DF (o de los grupos), de forma que los atributos que aparecen en la DF constituyen una nueva relación y los atr.no ppales, así como la DF, desaparezcan de la relación origen. 6. Proseguir esta descomposición repitiendo el paso 5 hasta que no pueda continuarse porque todas las DF estén implicadas por una clave. DBDySI-52 26

El proceso de descomposición R ({a, b, c, d} { a b, b c, c d}) Clave: a a b R1 ({a, b} {a b}) R ({a, c, d} {c d}) Descomposición incorrecta Clave: a, c c d R2 ({c, d} {c d}) R3 ({a, d}{φ}) R ({a, b, c, d} { a b, b c, c d}) Clave: a Clave: a, c c d Descomposición correcta R1 ({c, d} {c d}) R2 ({b, c} {b c}) b c R ({a, b, c} {a b, b c}) Clave: a R3 ({a, b}{a b}) Clave: a DBDySI-53 Índice 1. Introducción 2. Dependencias Funcionales 3. Teoría de la Normalización 4.1. Formas Normales 4.2. Descomposición y Síntesis 4. Ejercicios DBDySI-54 27

Ejercicios o Sea R1 el esquema de relación siguiente: o R1({A,B,C,D}, {A B, B,D A}) o Y sea R2 un esquema de relación una de cuyas extensiones válidas es: A B C D A1 B1 C1 D1 A2 B1 C2 D1 a. R1 y R2 son equivalentes b. R1 y R2 no son equivalentes c. R1 y R2 no son equivalentes, pero lo serían si sustituimos en R1 la dependencia B,D A por C A d. La extensión dada es válida en R1, pero no tenemos información suficiente para asegurar que sean equivalentes e. R1 y R2 serían equivalentes si R1 no tuviera ninguna dependencia DBDySI-55 Ejercicios o Sea R el esquema de relación R({A,B,C},{A B}). o Dadas las siguientes extensiones: A B C A1 B1 C1 A2 B1 C2 A B C A1 B1 C1 A1 B2 C2 A B C A1 B1 C1 A1 B1 C2 a. E1 es válida en R b. E2 es válida en R c. E3 es válida en R d. a) y b) son correctas e. a) y c) son correctas DBDySI-56 28

Ejercicios a) R ({A,B,C,D, {A,B C, B D, D A}) b) R ({A,B,C,D, {A B, B,C,D A}) DBDySI-57 Ejercicios c) R ({CANTANTE, GALA, CANCIÓN, COMPOSITOR, FECHA, NOMINADO} {CANTANTE, GALA CANCIÓN, CANTANTE, CANCIÓN GALA, CANTANTE, CANCIÓN NOMINADO, CANCIÓN CANTANTE, GALA, NOMINADO, CANCIÓN, COMPOSITOR FECHA}) DBDySI-58 29

Ejercicios d) R ({A, B, C, D, E, F} {A, B E, A, E B, A, E C, E, F D, E A, E B, E C}) DBDySI-59 Ejercicios e) R({A,B,C,D,E,F,G}, {A,B,D E, E D, E A, F A, E F, C G, D E, EC B}) DBDySI-60 30