P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE INFORMÁTICA Base de Datos Usuario A Programa de Aplicación Bodega Usuario B Usuario N Insumo Proveedor Profesores: Franklin Johnson P. José Miguel Rubio L.
Índice de Contenidos Introducción a las Bases de Datos El Recurso Dato Dato v/s Información Historia de las Bases de Datos Componentes de un ambiente de Base de Datos Beneficios & Riesgos del uso de Base de Datos Sistema de archivos v/s Bases de Datos Bases de Datos y Desarrollo de Sistemas de Información Base de Datos 2
Índice de Contenidos Sistemas de Gestión de Base de Datos Conceptos Principales funciones Ventajas de utilizar SGBD Consideraciones del uso de un SGB Base de Datos 3
Índice de Contenidos Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre entidades, Cardinalidad de Asociaciones Claves candidatas y claves primarias, Atributos multivaluados Reglas del Negocio Modelo Lógico: Relacional Modelo Lógico Transformación de entidades y relaciones Proceso de Normalización de Relaciones Análisis de vistas Base de Datos 4
Del MER al Modelo Relacional 1 2 Transformación de entidades (MER) Identificación de Vistas Transformación de asociaciones(mer) Especificación de relaciones Normalización Normalización Mezcla de Relaciones Mezcla de Relaciones Base de Datos 5
Del MER al Modelo Relacional 3 a) b) Método 1 Método 2 c) Método 1 + Método 2 Base de Datos 6
Esquema de las Etapas del Modelo Lógico Modelo Conceptual Transformación de entidades Diseño Lógico de la BD Transformación de asociaciones Normalización Modelo Relacional Mezcla de Relaciones Base de Datos 7
Esquema de las Etapas del Modelo Lógico 3. Normalización: Las relaciones creadas anteriormente en los pasos 1) y 2) pueden tener redundancia innecesaria y pueden generar anomalías lo que hace necesaria la normalización. 4. Mezcla de Relaciones: En muchos casos las relaciones creadas anteriormente se refieren a la misma entidad, en esos casos podían mezclarse para obtener una única relación. Uno de los pasos más importantes es la Normalización. Base de Datos 8
Mezcla de Relaciones: Transformación de MER a Relacional Para evitar que existen relaciones que tengan las mismas claves primarias.(revisar contexto) R1 (Rol alumno, dirección, nombre, teléfono) R2 (Rol alumno, carrera, curso, nombre) R3 (Rol alumno, nivel socio-económico, nombre, carrera, factor) Mezcla: R (Rol alumno, dirección, nombre, teléfono, carrera, curso, nivel socio-económico, factor) Base de Datos 9
Diseño Lógico: Normalización La normalización es el proceso que convierte complejas estructuras de datos en estructuras simples y estables. Base de Datos 10
Transformación de Entidades MER Vista de Usuario Diseño Lógico: Normalización 1. Entidad No Normalizada Eliminar grupos repetitivos 2. Entidades Normalizadas Primera forma normal Eliminar dependencias parciales 3. Entidades en Segunda forma normal Eliminar dependencias transitivas 4. Entidades en Tercera forma normal Relaciones en 3FN Conjunto de Relaciones FNBC Remover dependencias de Boyce Cood Base de Datos 11
Normalización 1. Dependencia Parcial: 1 FN Parte de la clave determina un no clave La relación debe tener clave primaria compuesta. Se define cuando parte de la clave primaria determina por si sola 1 o más atributos de la relación. R1 (K1 K2 a1 a2 a3) K2 a3 Base de Datos 12
Normalización 2. Dependencia Transitiva: 2 FN Un campo no clave determina un no clave Se representa cuando un atributo no clave determina un atributo no clave. R (K1, a1, a2, a3) K1 a1, a2, a3 Base de Datos 13
Normalización 3. Dependencia Funcional: 3FN Campo clave determina un no clave Es una asociación entre dos atributos que se define como: Para una relación R, el atributo B es funcionalmente dependiente del atributo A, si para cada instancia de A, el valor de A determina en forma única al valor de B. Esto se escribe: A -> B y se lee: A determina a B o B es funcionalmente dependiente de A Determinante Son aquellos atributos que determinan a otro, es decir, a través de ellos se puede obtener el otro inequívocamente. Son los atributos del lado izquierdo de la flecha de dependencias funcionales. Base de Datos 14
Normalización 3. Dependencia Funcional: 3FN Los atributos dependen exclusivamente de la clave primaria. La normalización está basada en el análisis de las dependencias funcionales. Una dependencia funcional entre dos atributos A y B es cuando el atributo B es funcionalmente dependiente del atributo A, para toda ocurrencia de A. R (K1, K2, a1 a2 a3) K1 K2 a1, a2, a3 R (K1, a1, a2) K1 a1, a2 El atributo del lado izquierdo (clave) es llamado Determinante Base de Datos 15
Pasos para la Normalización 1. Eliminar Grupos Repetitivos Elementos o conjunto de atributos que pueden repetirse en una relación 2. Eliminar Dependencia Parcial: 1 FN Parte de la clave determina un no clave 3. Eliminar Dependencia Transitiva: 2 FN Un campo no clave determina un no clave Base de Datos 16
Pasos para la Normalización 1. Eliminar Grupos Repetitivos Para eliminar los grupos repetitivos se deben generar dos relaciones: Una que contenga como clave primaria, la clave de la relación original, y como atributos aquellos campos que no tienen grupos repetitivos. La segunda relación se formará de una clave compuesta, formada por la clave de la relación original y la clave del grupo repetitivo, y como atributos todos los campos que conforman el grupo repetitivo.?? Base de Datos 17
Pasos para la Normalización 2. Eliminar Dependencia Parcial: 1 FN Se formarán dos nuevas relaciones: La primera tendrá la clave compuesta y como atributos aquellos campos que dependan exclusivamente de ella (clave compuesta). La segunda formará una relación cuya clave primaria es la parte de la clave compuesta que genera la dependencia parcial y como atributos los campos que dependan de ella?? Base de Datos 18
Pasos para la Normalización 3. Eliminar Dependencia Transitiva: 2 FN Al eliminar esta dependencia se generan las siguientes relaciones: Una relación cuya clave primaria corresponde al campo que genera la dependencia transitiva y como atributos los campos que son determinadas por ella. Y la segunda relación se genera con clave primaria de la relación en 2FN, y como atributos aquellos que dependan funcionalmente de ella (el atributo que genera la dependencia transitiva se conoce como clave foránea)?? Base de Datos 19
Del MER al Modelo Relacional 1 2 Transformación de entidades Identificación de Vistas Transformación de asociaciones Especificación de relaciones Normalización Normalización Mezcla de Relaciones Mezcla de Relaciones Base de Datos 20
Modelo Relacional a partir de las 1. Especificar la vista como una relación Vistas 2. Normalizar la relación obtenida, hasta llegar a 3 FN 3. Cada relación en 3FN se transforma en una tabla del modelo relacional Lo ideal es complementar este método con alguno anterior, para incorporar cualquier detalle que no se encuentre en el MER, y afinar otros aspectos donde corresponda. Base de Datos 21
Modelo Relacional a partir de las 1. Especificar la vista como una relación Vistas 2. Normalizar la relación obtenida, hasta llegar a 3 FN 3. Cada relación en 3FN se transforma en una tabla del modelo relacional Lo ideal es complementar este método con alguno anterior, para incorporar cualquier detalle que no se encuentre en el MER, y afinar otros aspectos donde corresponda. Base de Datos 22??
Normalización: Ejemplo Integración de Vistas Hospital Dr. Santana RUT: 89.900.120-K Los Leones 180 Fono: 56-2-6677889 Santiago-Chile FACTURA NOMBRE PACIENTE: DIRECCIÓN: #PACIENTE: FONO: COD-ITEM NOMBRE ITEM VALOR SUBTOTAL %IMPUESTO TOTAL?? Base de Datos 23
Normalización: Ejemplo Hospital Dr. Santana RUT: 89.900.120-K Los Leones 180 Fono: 56-2-6677889 Santiago-Chile TIPO #CAMA #PIEZA #PACIENTE CAMA Informe Utilización Camas FECHA: / / FECHA ALTA NOMBRE PACIENTE ESPERADA?? Base de Datos 24
Normalización: Ejemplo #Paciente: Nombre Paciente: Dirección Paciente: Fono Paciente: Fecha Admisión: Fecha Alta: Ubicación: Citófono: ISAPRE:?? Base de Datos 25
Normalización: Ejemplo Hospital Dr. Santana RUT: 89.900.120-K Los Leones 180 Fono: 56-2-6677889 Santiago-Chile FECHA: / / Informe Médicos #Médico: Nombre: Dirección: Teléfono: Especialidad: #PACIENTE NOMBRE PACIENTE UBICACIÓN #CAMA #PIEZA DIAGNÓSTICO?? Base de Datos 26
Siguientes Formas Normales Eliminar anomalías resultantes Entidades en Boyce - Codd FN Eliminar dependencias multivaluadas Entidades en 4FN Base de Datos 27
Normalización 4. Boyce/Codd Forma Normal (B/C FN) Corresponde a una 3FN pero con poco más estricta: Una relación que está en FNBC está en 3FN, pero Una relación en 3FN no está necesariamente en FNBC Es una situación poco común, pero puede ocurrir. Boyce y Codd propone para eliminar esa anomalía: Una Relación R está en BC FN, si y sólo si cada determinante es clave candidata Base de Datos 28
Normalización 4. Boyce/Codd Forma Normal (B/C FN) Se utiliza principalmente para reducir la redundancia innecesaria de ciertos campos, en casos como: CASO 1: Parte de la clave determina un clave, cuando una entidad tiene una clave compuesta, es posible que aún existan anomalías en 3FN ( overlapping de claves ). CASO 2: Para incorporar algunas restricciones adicionales a una situación específica, que puede llevar a redundancia innecesaria Base de Datos 29
Normalización 4. Boyce/Codd Forma Normal (B/C FN) Ejemplo B/C FN (caso 1) 1.- Cada alumno puede tener varias materias de interés. 2.- Por cada materia, un alumno tiene sólo un tutor. 3.- Cada materia tiene varios tutores. 4.- Cada tutor orienta sólo en una materia. 5.- Cada tutor orienta a varios estudiantes en una materia. TUTORÍAS (Nro-Alumno, Materia, Tutor) Base de Datos 30
Normalización 4. Boyce/Codd Forma Normal (B/C FN) Ejemplo B/C FN Nro-Alumno Mat eria Tut or 123 Física Einst ein 123 Música Mozart 456 Biología Darwin 789 Física Bohr 999 Física Einst ein Base de Datos 31
Normalización 4. Boyce/Codd Forma Normal (B/C FN) Ejemplo B/C FN Nro-Alumno Tut or 123 Einst ein 123 Mozart 456 Darwin 789 Bohr 999 Einst ein Base de Datos 32
Normalización 4. Boyce/Codd Forma Normal (B/C FN) Ejemplo B/C FN Tut or Materia Einst ein Mozart Darwin Bohr Física Música Biología Física Base de Datos 33
Normalización 4. Boyce/Codd Forma Normal (B/C FN) Ejemplo B/C FN Nro Alumno, Tutor Tutor, Materia Base de Datos 34
Normalización 5. 4ta Forma Normal Cuando una entidad está en B/C FN, puede tener anomalías con respecto a las dependencias multivaluadas (DM). Una DM existe cuando hay al menos tres atributos (A, B, C) en una relación R, y para cada valor de A existe un conjunto de valores de B y de C definidos, pero independientes entre sí Base de Datos 35
Normalización 5. 4ta Forma Normal Ejemplo 4 FN 1. Cada curso puede tener varios instructores. 2. Cada curso utiliza varios textos. 3. El texto utilizado para un cierto curso es independiente del instructor. CURSOS (Nom-Curso, Instructor, Libro) Base de Datos 36
Normalización 5. 4ta Forma Normal Ejemplo 4 FN NOM-CURSO INSTRUCTOR LIBRO Administ ración Whit e Green Black Drucker Pet ers Finanzas Gray West on Gilford Base de Datos 37
Normalización 5. 4ta Forma Normal Ejemplo 4 FN NOM-CURSO INSTRUCTOR LIBRO Administ ración Whit e Drucker Administ ración Whit e Pet ers Administ ración Green Drucker Administ ración Green Pet ers Administ ración Black Drucker Administ ración Black Pet ers Finanzas Gray West on Finanzas Gray Giford Base de Datos 38
Normalización 5. 4ta Forma Normal Ejemplo 4 FN CURSO Administ ración Administ ración Administ ración Finanzas INSTRUCTOR Whit e Green Black Gray Base de Datos 39
Normalización 5. 4ta Forma Normal Ejemplo 4 FN CURSO LIBRO Administ ración Administ ración Finanzas Finanzas Drucker Pet ers West on Gilford Base de Datos 40
Normalización 5. 4ta Forma Normal Ejemplo 4 FN Curso Curso, Instructor Curso, Libro Instructor Libro Base de Datos 41
ERROR: syntaxerror OFFENDING COMMAND: --nostringval-- STACK: /Title () /Subject (D:20080617185702-04 00 ) /ModDate () /Keywords (PDFCreator Version 0.9.5) /Creator (D:20080617185702-04 00 ) /CreationDate (usuario) /Author -mark-