1 / 30

Bases de Datos INF5102

Bases de Datos INF5102. Prof: Mariella Gutiérrez Valenzuela Lunes y Miércoles Módulo 1. Contenido. 5. Diseño de Sistemas de Bases de Datos Diseño relacional Formas normales Proceso de creación de una base de datos Diseño conceptual, lógico y físico. Conceptos.

cecil
Download Presentation

Bases de Datos INF5102

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bases de DatosINF5102 Prof: Mariella Gutiérrez Valenzuela Lunes y Miércoles Módulo 1

  2. Contenido 5. Diseño de Sistemas de Bases de Datos • Diseño relacional • Formas normales • Proceso de creación de una base de datos • Diseño conceptual, lógico y físico

  3. Conceptos Normalización: Proceso de conversión de una relación en una forma estándar. Se realiza para evitar: pérdida de información, redundancia entre los datos, pérdida de dependencias funcionales. Dependencia Funcional: Restricción entre dos conjuntos de atributos de la base de datos.

  4. Dependencia funcional Definición: Suponga que tiene R = {A1, A2, A3, … , An} , R es una relación y A es un conjunto de atributos. Sea X, Y subconjuntos de A. Notación DF: X  Y Se lee: X determina o implica Y Y depende funcionalmente de X Si y sólo si cada valor de X tiene asociado en todo momento un único valor de Y Donde: X es el determinante Y es el implicado X e Y se les dice Descriptores. Un determinante es un conjunto del que depende funcionalmente otro conjunto de atributos llamado implicado.

  5. Dependencia funcional Ejemplo: Rut_estudiante  Nombre_estudiante El rut del estudiante determina el nombre del estudiante. Dos descriptores son equivalentes cuando X  Y ۸ Y  X. Ejemplo: Rut_ estudiante  Rol_estudiante Rol_estudiante  Rut_estudiante

  6. Dependencia funcional Notación: X  Y ó bien, X1, … , Xn  Y1,…, Ym n,m >= 1 De forma de Grafo: Rut_estudiante Código_curso Nombre_estudiante, dirección Nota Nombre_curso, número_modulos Rut_estudiante Nombre_estudiante, dirección Nota Codigo_curso Nombre_curso, número_modulos

  7. Dependencia funcional Tipos de Dependencias Funcionales: 1.- DF Plena o completa X⇒Ysii∄X’ ⊂ X | X’  Y Ejemplo: En la relación se_matricula(rut_estudiante, Codigo_curso, Nota) Se tiene que: rut_estudiante , Codigo_curso ⇒ Nota 2.- DF Trivial X  Y es trivial si Y⊆ X Ejemplo:rut_estudiante , Codigo_curso rut_estudiante

  8. Dependencia funcional 3.- DF Elemental: es completa, no trivial e Y es un atributo único. X  Y es elemental sii (∄ Y’⊂Y) ۸(Y⊈X) ۸(∄X’ ⊂ X | X’  Y) Estas dependencias funcionales son útiles para la teoría de la normalización. 4.- DF Transitiva Dada la Relación R(X, Y, Z) en la que existen las siguientes DF: X  Y, Y  Z, Y ↛X , se dice que Z tiene una dependencia transitiva en relación a X a través de Y y se denota por X -  Z. Ejemplo: Codigo_curso  Codigo_carrera Codigo_carrera  Codigo_Departamento Además Código_carrera ↛Codigo_curso, entonces Codigo_curso  Codigo_Departamento

  9. Axiomas de Armstrong A los Axiomas de Armstrong también se les conoce como un conjunto de reglas que se pueden aplicar a las dependenciasfuncionales.Entre estas tenemos: • REFLEXIBILIDAD si Y⊆ X entonces X  Y (DF trivial) 2. AUMENTATIVIDAD Si X determina a Y, se puede agregar a X e Y un mismo atributo Z sin cambiar la propiedad. Si X  Y entonces: XZ  YZ XW  YZ, siempre que Z ⊆ W

  10. Axiomas de Armstrong 3. TRANSITIVIDAD X  Y ۸ Y  Z, entonces X  Z 4. AUTODETERMINACION X  X 5. DESCOMPOSICION Si X  YZ entonces X  Y ۸ X  Z Si X  Y ۸ Z ⊆ Y, entonces X  Z 6. UNION Si X  Y ۸X  Z, entonces X  YZ

  11. Axiomas de Armstrong 7. COMPOSICION Si X  Y ۸ Z  W, entonces XZ  YW 8. PSEUDOTRANSITIVIDAD Si X  Y ۸ ZY  W, entonces XZ  W

  12. Axiomas de Armstrong Ejercicio: Dada una relación R(A,B,C,D,E; AB, CD, DE) Demostrar que AC  ABCDE 1.- AB (dada) 2.- AC ABC (aumentatividad de 1 por AC) 3.- CD (dada) 4.- DE (dada) 5.- CE (transitividad de 3 y 4) 6.- CDE (unión de 3 y 5) 7.- ABC  ABCDE (aumentatividad de 6 por ABC) 8.- AC  ABCDE (transitividad de 2 y 7)

  13. Clausura de un conjunto de DF • La clausura de un conjunto de DF es el conjunto de todas las DF’s que se pueden determinar en el sistema. • A partir de S (conjunto de DF), se debe llegar a S+ (que engloba todas las DF del sistema), esto se hace a través de un conjunto de reglas (axiomas de Armnstrong).

  14. Normalización     La normalización es el proceso de simplificar la relación entre los campos de un registro. Por medio de la  normalización un conjunto de datos en un registro se reemplaza por varios registros que son más simples y predecibles y por lo tanto, más manejables. La normalización se lleva a cabo por cuatro razones: • Estructurar los datos de forma que se puedan representar las relaciones. • Permitir la recuperación sencilla de los datos en respuesta a las solicitudes de consultas y reportes. • Simplificar el mantenimiento de los datos actualizándolos, insertándolos y borrándolos. • Reducir la necesidad de reestructurar o reorganizar los datos cuando surjan nuevas aplicaciones.

  15. Normalización Pasos de la normalización: • Descomponer todos los grupos de datos en registros bidimensionales. • Eliminar todas las relaciones en la que los datos no dependan completamente de la llave primaria del registro. • Eliminar todas las relaciones que contengan dependencias transitivas.

  16. Normalización Primera forma normal. • Definición formal: Una relación R se encuentra en 1FN si y solo sí cada tupla - columna contiene valores atómicos. Se considera que una relación se encuentra en la primera forma normal cuando cumple lo siguiente: • Las celdas de las tablas poseen valores simples y no se permiten grupos ni arreglos repetidos como valores, es decir, contienen un único valor por cada celda. • Todos los datos en cualquier columna (atributo) deben ser del mismo tipo. • Cada columna debe tener un nombre único, el orden de las columnas en la tabla no es importante. • Dos filas o tuplas de una misma tabla no deben ser idénticas. El orden de las filas no es importante.

  17. Normalización Segunda forma normal   Definición formal: Una relación R está en 2FN si y sólo si está en 1FN y los atributos no primos dependen funcionalmente de la llave primaria. • Una relación se encuentra en segunda forma normal, cuando cumple con las reglas de la primera forma normal y todos sus atributos que no son claves (llaves) dependen por completo de la clave. • Se aplica el concepto de DF plena.

  18. Normalización Tercera forma normal. Definición formal:  Una relación R está en 3FN si y sólo si esta en 2FN y todos sus atributos no primos dependen no transitivamente de la llave primaria. • Una relación esta en tercera forma normal si está en segunda forma normal y no existen dependencias transitivas entre los atributos. • Existen dependencias transitivas cuando un atributo no depende directamente de la clave, sino que de otro atributo que depende de la clave.

  19. Normalización Forma normal de Boyce Codd. Definición formal: Una relación R esta en FNBC si y solo si cada determinante es una llave candidata.

  20. Normalización Ejemplos: 1.- ASISTE({cod_curso,nom_curso, cod_estudiante,nota}, {cod_curso  nom_curso, cod_curso, cod_estudiante  nota}) Esta relación tiene dos claves candidatas: (cod_curso,cod_estudiante) (nom_curso, cod_estudiante) Esta relación está en 3FN pero no en FNBC, porque cod_curso y nom_curso son determinantes y no son claves candidatas. Se puede trasformar esta relación en dos: CURSO({cod_curso, nom_curso}, {cod_curso  nom_curso}) ASISTE({cod_curso, cod_estudiante, nota}, {cod_curso, cod_estudiante  nota}) No hay pérdida de información.

  21. Normalización Ejemplos: 2.- CLASE({cod_estudiante, cod_profesor, materia}, {cod_estudiante, materia  cod_profesor, cod_profesor  materia}) Esta relación tiene dos claves candidatas: (cod_estudiante, materia) (cod_estudiante, cod_profesor) Esta relación está en 3FN pero no en FNBC, porque cod_profesor es un determinante y no es clave candidata. Se puede trasformar esta relación en dos: CLASE1({cod_estudiante, cod_profesor}, {}) CLASE2({cod_profesor, materia},{cod_profesor  materia}) En esta trasformación se pierde información.

  22. Normalización Ejercicio: Un hospital mantiene un sistema de control de drogas en el cual las siguientes características aparecen como las relevantes: • Las drogas están mantenidas en estantes especiales. • Las drogas son provistas por distintos proveedores • Existe un archivo que incorpora datos para permitir la ubicación de los proveedores usuales o alternativos de las drogas. • Siempre que una droga es usada para una intervención y/o tratamiento, los registros del archivo indicado anteriormente es actualizado. • Cuando la cantidad de la droga en stock cae bajo un cierto nivel, es puesta en una lista de re-orden. Se revisan los fabricantes de la droga y se ubican el proveedor usual y se emite una orden de compra para ella. • Ocasionalmente pedidos urgentes son hechos por teléfono. • Las drogas recibidas traen adjunto un recibo el cual es chequeado con los detalles de la droga. El registro de la droga es actualizado y la droga es ubicada en el estante correspondiente.

  23. Normalización Supuestos de Diseño. Los principales supuestos que soportan la normalización del sistema son los que se indican a continuación. 1. Existen Ubicaciones (por ejemplo casilleros) en donde se almacenan todas las versiones de una droga. 2. Sólo se almacena a lo más una droga (en todas sus versiones) en una ubicación. 3. Una droga y sus versiones es almacenada en una y sólo una ubicación. 4. Una droga tiene una o más versiones, las cuales se identifican por un código (versión). 5. Una versión es única, y pertenece sólo a una droga. 6. No existen dos versiones con el mismo nombre y código para la misma droga. 7. Un laboratorio puede producir una o varias versiones de drogas.

  24. Normalización Supuestos de Diseño. 8. Un laboratorio cuenta con uno o más proveedores. 9. Un proveedor representa a uno o más laboratorios. 10. Un proveedor distribuye todas las drogas que produce un laboratorio al cual representa. 11. Una droga tiene sólo un proveedor usual. 12. Un proveedor puede ser proveedor usual de ninguna, una o muchas drogas. 13. Dos proveedores pueden tener la misma dirección o teléfono.

  25. Normalización Modelo Entidad Relación contiene UBICACIÓN tiene DROGA VERSIÓN distribuida PROVEEDOR producida Notación pata de gallo: (0,1) : (1,1) : (0,n) : (1,N): Prov_lab LABORATORIO

  26. Normalización Definición de entidades y atributos Droga: Droga, nombredroga, stock, stockmin Claves candidatas: droga, nombredroga Clave primaria: droga Version: Version, nombreversion Claves candidatas: versión, nombreversion Clave Primaria: versión Ubicación: ubicación, estado Claves candidatas: ubicación Clave primaria: ubicación Proveedor: proveedor, nombreproveedor, dirección, teléfono Claves candidatas: proveedor, nombreproveedor Clave primaria: proveedor Laboratorio: laboratorio, nombrelaboratorio Claves candidatas: laboratorio, nombrelaboratorio Clave primaria: laboratorio No se confunda, los claves primarias en este caso tienen el mismo nombre que las entidades. Es usual encontrar esto en los modelos.

  27. Normalización Definición de relaciones Contiene: ubicación, droga Tiene: droga, versión Producida: versión, laboratorio Distribuida: droga, proveedor Prov_lab: laboratorio, proveedor

  28. Normalización Modelo Relacional Notación pata de gallo: (0,1) : (1,1) : (0,n) : (1,N):

  29. Normalización Definición de relaciones Droga: Droga, nombredroga, stock, stockmin, ubicación, proveedor Claves candidatas: droga, nombredroga Clave primaria: droga Claves foráneas: ubicacion (Ubicación), proveedor (Proveedor) DF: Droga -> nombredroga, stock, stockmin, droga -> ubicación , droga -> proveedor Version: Version, nombreversion, droga, laboratorio Claves candidatas: (droga, versión), nombreversion Clave Primaria: (droga, versión) Claves foráneas: droga (Droga), laboratorio (Laboratorio) DF: versión -> droga, versión -> nombreversion, nombreversion -> versión, versión -> laboratorio Ubicación: ubicación, estado Claves candidatas: ubicación Clave primaria: ubicación DF: ubicación -> estado Proveedor: proveedor, nombreproveedor, dirección, teléfono Claves candidatas: proveedor, nombreproveedor Clave primaria: proveedor DF: proveedor -> nombreproveedor, dirección, teléfono , nombreproveedor -> proveedor

  30. Normalización Definición de relaciones Laboratorio: laboratorio, nombrelaboratorio Claves candidatas: laboratorio, nombrelaboratorio Clave primaria: laboratorio DF: laboratorio -> nombrelaboratorio , nombrelaboratorio -> laboratorio ProvLab: proveedor, laboratorio Claves candidatas: (proveedor, laboratorio) Clave Primaria: (proveedor, laboratorio) Claves foráneas: proveedor (Proveedor), laboratorio (Laboratorio) DF: No existen.

More Related