4.1 Diseo de esquemas relacionales de bases de datos
Tipos de diseo
Diseo conceptual Diseo lgico Diseo fsico Actividad Estudie dependencias Funcionales 2 U4. Diseo de bases de datos relacionales 4.1.1 Dependencias funcionales Definicin: El valor de un atributo en una tupla determina el valor de otro atributo en la tupla. DF:A B, A determina funcionalmente a B.
Dependencia transitiva: Aparece cuando un atributo no clave es funcionalmente dependiente de uno o ms atributos no claves.
Dependencia multievaluada (DMV). Una restriccin que garantiza la independencia mutua de atributos multievaluados.
Actividad Estudie anomalas 3 U4. Diseo de bases de datos relacionales 4.1.1 Dependencias funcionales Ejemplos: Actividad Estudie anomalas Consideremos el esquema de la relacin EMP_PROY; a partir de la semntica de los atributos, sabemos que deben cumplirse las siguientes dependencias funcionales: EMP_PROY NSS NMEROP HORAS NOMBREE NOMBREPR LUGARP
Df1
Df2
Df3
(a) {NSS, NMEROP} HORAS (b) NSS NOMBREE (c) NMEROP {NOMBREPR, LUGARP} 4 U4. Diseo de bases de datos relacionales 4.1.2 Anomalas Definicin: Tipos de anomalas: Actividad Estudie objetivos y Peligros de diseo en BD Anomalas de actualizacin: Inconsistencia de los datos como resultado de datos redundantes y actualizaciones parciales. Anomalas de borrado: Prdida no intencionada de datos debido a que se han borrado otros datos. Anomalas de insercin: Imposibilidad de adicionar datos en la base de datos debido a la ausencia de otros datos.
5 U4. Diseo de bases de datos relacionales 4.1.2 Anomalas Uno de los retos en el diseo de la base de datos es el de obtener una estructura estable y lgica tal que:
1.- El sistema de base de datos no sufra de anomalas de almacenamiento. 2.- El modelo lgico pueda modificarse fcilmente para admitir nuevos requerimientos. Objetivos de diseo de una B.D. Relacional :
Generar un conjunto de esquemas de relaciones que permitan almacenar la informacin Con un mnimo de redundancia Y que a la vez facilite la recuperacin de la informacin
6 U4. Diseo de bases de datos relacionales 4.1.2 Anomalas Propiedades indeseables de un diseo :
Repeticin de la informacin Incapacidad para representar cierta informacin Prdida de informacin
Cmo se representara un cliente que tiene cuenta en la sucursal Perryridge pero no tiene prstamo o viceversa?. Con valores vacos solamente 10 U4. Diseo de bases de datos relacionales Prdida de informacin
Si descomponemos la relacin prstamo en dos relaciones :
Nom_Sucursal No_prest Importe Importe Nom_cte ======================= ============== Centro 17 1000 1000 James Redwood 23 2000 2000 Smith Perryridge 15 1500 1500 Hayes Centro 14 1500 1500 Jackson Mianus 93 500 500 Curry Round Hill 11 900 900 Turner Pownal 29 1200 1200 Williams North Town 16 1300 1300 Adams Centro 18 2000 2000 Johnson Perryridge 25 2500 2500 Glenn Brighton 10 2200 2200 Brooks 4.1.2 Anomalas 11 U4. Diseo de bases de datos relacionales 4.1.2 Anomalas Si es necesario reconstruir la relacin prstamo Se podra utilizar IMP PREST Con lo cual obtendramos lo siguiente :
Nom_Sucursal No_prest Importe Nom_cte ======================================== Centro 17 1000 James Redwood 23 2000 Smith Perryridge 15 1500 Hayes Centro 14 1500 Jackson Mianus 93 500 Curry Round Hill 11 900 Turner Pownal 29 1200 Williams North Town 16 1300 Adams Centro 18 1500 Johnson Perryridge 25 2500 Glenn Brighton 10 2200 Brooks Centro 14 1500 Hayes Perryridge 15 1500 Jackson Redwood 23 2000 Johnson Centro 18 2000 Smith 12 U4. Diseo de bases de datos relacionales 4.1.3 Descomposicin Descomposicin de la relacin: Divisin de una relacin en mltiples relaciones. Actividad Estudie Normalizacin Y formas normales En el proceso de descomposicin de relaciones debe cumplir las siguientes reglas: Sin prdida de informacin Sin prdida de dependencias funcionales En proyecciones independientes 13 U4. Diseo de bases de datos relacionales 4.1.4 Formas normales Definicin: Reglas para relaciones estructuradas que eliminan anomalas. Formas normales Forma normal dominio/clave (FN/DK) Normalizacin: Es el proceso de conversin de una relacin en una forma estndar 14 U4. Diseo de bases de datos relacionales 4.1.4 Formas normales La normalizacin se lleva a cabo por cuatro razones:
* Estructurar los datos de forma que se puedan representar las relaciones pertinentes entre los datos. * Permitir la recuperacin sencilla de los datos en respuesta a las solicitudes de consultas y reportes. * Simplificar el mantenimiento de los datos actualizndolos, insertndolos y borrndolos. * Reducir la necesidad de reestructurar o reorganizar los datos cuando surjan nuevas aplicaciones. Pasos de la normalizacin:
1.- Descomponer todos los grupos de datos en registros bidimensionales. 2.- Eliminar todas las relaciones en la que los datos no dependan completamente de la llave primaria del registro. 3.- Eliminar todas las relaciones que contengan dependencias transitivas. 15 U4. Diseo de bases de datos relacionales 4.2 Modelo E-R y la normalizacin La primera forma normal se defini para prohibir los atributos multivaluados, los atributos compuestos y sus combinaciones.
Una relacin est en 1FN si y solo si todos sus dominios simples subyacentes contienen solo valores atmicos (o indivisibles). DEPARTAMENTO NOMBRED NMEROD NSSGTED LUGARESD Investigacin 5 333445555 Beln, Sacramento, Higueras Administracin 4 987654321 Santiago Direccin 1 888665555 Higueras Esquema de relacin que no est en 1FN. Actividad Estudie segunda Forma normal 16 U4. Diseo de bases de datos relacionales 4.2 Modelo E-R y la normalizacin Un esquema de relacin est en segunda forma normal 2FN si y solo si est en 1FN y todos los atributos no clave dependen funcionalmente de manera completa de la clave primaria. Actividad Estudie tercera forma normal EMP_PROY NSS NMEROP HORAS NOMBREE NOMBREPR LUGARP
Df1
Df2
Df3
Normalizacin 2FN 17 U4. Diseo de bases de datos relacionales 4.2 Modelo E-R y la normalizacin NSS NMEROP HORAS NSS NOMBRE NMEROP NOMBREPR LUGARP Esquema de Proyecto 1 Esquema de Proyecto 2 Esquema de Proyecto 3 Df 1 Df 2 Df 3 Actividad Estudie tercera forma normal 18 U4. Diseo de bases de datos relacionales 4.2 Modelo E-R y la normalizacin La tercera forma normal de basa en el concepto de dependencia transitiva. De acuerdo con la definicin original de Codd, un esquema de relacin R esta en 3FN si y solo si esta en 2FN y todos los atributos no clave dependen de manera no transitiva de la clave primaria. La transitividad se da cuando un atributo no clave depende funcionalmente de un atributo que a su vez depende de la clave primaria. 19 U4. Diseo de bases de datos relacionales 4.2 Modelo E-R y la normalizacin NOMBREE NSS FECHAN DIRECCIN NMEROD NOMBRED NSSGETD EMP_DPTO Transitividad NOMBREE NSS FECHAN DIRECCIN NMEROD NMEROD NOMBRED NSSGETD Normalizacin 3 FN ED1 ED2 Actividad Estudie forma Normal BCFN 20 U4. Diseo de bases de datos relacionales 4.2 Modelo E-R y la normalizacin BCFN (Forma Normal de Boyce-Codd) Un esquema de relacin est en FNBC si, y solo si todo determinante es una clave candidata. Relacin Proyecto-Pc-Programador No-Proyecto Programador PC Normalizacin BCFN Relacin Programador-PC Relacin Proyecto-Programador Programador PC No_proyecto Programador 21 U4. Diseo de bases de datos relacionales 4.2 Modelo E-R y la normalizacin BCFN (Forma normal de Boyce-Codd) Otro ejemplo Relacin Alumno-Materia-Asesor No-Control Nombre-Asesor Materia Normalizacin BCFN Relacin Alumno-asesor Relacin Asesor-materia No-Control Nombre-asesor Nombre-asesor Materia Actividad Estudie cuarta forma normal 22 U4. Diseo de bases de datos relacionales Definicin 4.2 Modelo E-R y la normalizacin Cuarta forma normal (4FN) Un esquema de relaciones R est en 4FN con respecto a un conjunto D de dependencias funcionales y de valores mltiples s, para todas las dependencias de valores mltiples en D de la forma X->->Y, donde X R y Y R, se cumple por lo menos una de estas condiciones:
* X->->Y es una dependencia de valores mltiples trivial. * X es una sperllave del esquema R.
23 U4. Diseo de bases de datos relacionales 4.2 Modelo E-R y la normalizacin NOMBREE NOMBREPR NOMBRED Silva X Jurdico Silva Y Administrativo Silva X Administrativo Silva Y Jurdico Normalizacin 4FN NOMBREE NOMBRED Silva Jurdico Silva Administrativo EMP-PROY EMP-DEP NOMBREE NOMBREPR Silva X Silva Y Actividad Estudie quinta forma normal y FN/DK Cuarta forma normal (4FN) NOMBREE NOMBREPR NOMBRED EMPLEADOS 24 U4. Diseo de bases de datos relacionales 4.2 Modelo E-R y la normalizacin La quinta forma normal (5FN) se refiere a dependencias que son extraas . Tiene que ver con afinidades que pueden dividirse en subafinidades (como se han venido haciendo), pero no pueden reconstruirse. 5FN elimina las dependencias de reunin (join y unin). Estas dependencias son principalmente de inters torico y de muy dudoso valor prctico. FN/DK Fagin (1981) propuso esta forma normal pero no proporcion un metodo general para convertir una relacin que no est en FN/DK en una relacin que est en FN/DK. Actividad Estudie reduccin de diagramas E-R a tablas
25 U4. Diseo de bases de datos relacionales 4.3 Reduccin de un esquema E-R a tablas Empleado Tcnico Ingeniero Secretaria RapidezTecleo GradoT TipoIng Nombre NSS FechaNac Direccin TipoTrabajo Nombre Inic Apellido E S Ejemplo reduccin de diagrama E-R a tablas 26 U4. Diseo de bases de datos relacionales 4.3 Reduccin de un esquema E-R a tablas Empleado NSS NombreP Inic Apellido FechaNac Direccin TipoTrabajo Secretaria NSS RapidezTecleo Tcnico NSS GradoT Ingeniero NSS Tipolng Tablas resultantes 27 U4. Diseo de bases de datos relacionales 4.4 Anlisis de un caso prctico Use el proceso de normalizacin para disear un modelo conceptual de base de datos para la siguiente relacin: CLIENTE-ORDEN No_Cte Nom_Cte Ciudad_Cte PagoxEntrega Precio_Unit No_Inv Cantidad Fecha ================================================================================= C1 JUAN COLIMA 1.35 8.20 13 100 5-JUN C1 JUAN COLIMA 1.35 8.20 13 200 12-OCT C2 JANET TECOMAN 1.75 4.00 12 100 15-MAY C2 JANET TECOMAN 1.75 8.20 13 100 15-MAY C2 JANET TECOMAN 1.75 2.00 11 300 15-MAY C3 MOISES COLIMA 1.35 4.00 12 100 10-AGO C3 MOISES COLIMA 1.35 2.00 11 200 10-OCT C4 RITA MANZANILLO 1.95 10.50 14 100 5-MAY
Responda a las siguientes preguntas: 1. Cul es la clave de esta relacin? 2. En cul forma normal est la relacin? 3. Contiene la relacin una dependencia transitiva? En caso afirmativo, cul es? 4. Contiene la relacin anomala de eliminacin?. En caso afirmativo descrbala. 5. Efecte la normalizacin de acuerdo a las DF. A qu forma normal paso la relacin? 6. Desarrolle el diagrama E-R para las relaciones resultantes.