Base de Datos
P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE INFORMÁTICA Programa de Aplicación Usuario A Usuario B Usuario N Bodega 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 3
Índice de Contenidos
Sistemas de Gestión de Base de Datos
Conceptos
Principales funciones
Ventajas de utilizar SGBD
Í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
Base de Datos 5
Del MER al Modelo Relacional
Transformación de entidades (MER)
Transformación de asociaciones(MER) Normalización Mezcla de Relaciones 1 2 Identificación de Vistas Especificación de relaciones Normalización Mezcla de Relaciones
Del MER al Modelo Relacional
3 Método 1 Método 1 Método 2 a) Método 2 b) + c)Base de Datos 7
Esquema de las Etapas del Modelo
Lógico
Diseño Lógico de la BD Modelo Conceptual Modelo Relacional Transformación de entidades Transformación de asociaciones Normalización Mezcla de RelacionesEsquema 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.
Base de Datos 9
Transformación de MER a
Relacional
Mezcla de Relaciones:
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)
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 11
Diseño Lógico:
Normalización
4.
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
Entidades en Tercera forma normal
Remover dependencias de Boyce Cood Transformación de
Entidades MER
Conjunto de Relaciones FNBC Vista de Usuario
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)
Base de Datos 13
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)
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.
Base de Datos 15
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
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
Base de Datos 17
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.
?
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 19
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)
?
Del MER al Modelo Relacional
Transformación de entidades Transformación de asociaciones Normalización Mezcla de Relaciones 1 2 Identificación de Vistas Especificación de relaciones Normalización Mezcla de RelacionesBase de Datos 21
Modelo Relacional a partir de las
Vistas
1. Especificar la vista como una relación
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.
Modelo Relacional a partir de las
Vistas
1. Especificar la vista como una relación
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 23
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
Normalización: Ejemplo
Hospital Dr. Santana RUT: 89.900.120-K Los Leones 180 Fono: 56-2-6677889 Santiago-ChileInforme Utilización Camas
FECHA: __/__/__
#CAMA #PIEZA TIPO #PACIENTE
CAMA NOMBRE PACIENTE
FECHA ALTA ESPERADA
Base de Datos 25
Normalización: Ejemplo
#Paciente: Nombre Paciente: Dirección Paciente: Fono Paciente: Fecha Admisión: Fecha Alta: Ubicación: Citófono: ISAPRE: ? ?Normalización: Ejemplo
Hospital Dr. Santana RUT: 89.900.120-K Los Leones 180 Fono: 56-2-6677889 Santiago-Chile Informe Médicos FECHA: __/__/__ #CAMA #PIEZA#PACIENTE NOMBRE PACIENTE DIAGNÓSTICO #Médico: Nombre: Dirección: Teléfono: Especialidad: UBICACIÓN
Base de Datos 27
Siguientes Formas Normales
Entidades en Boyce - Codd FN
Entidades en 4FN
Eliminar anomalías resultantes
Eliminar dependencias multivaluadas
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 29
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
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.
Base de Datos 31
Normalización
4.
Boyce/Codd Forma Normal (B/C FN)
Ejemplo B/C FN
N N N Nrrrroooo----AAAAlllluuuummmmnnnnoooo MMMMaaaatttteeeerrrriiiiaaaa TTTTuuuuttttoooorrrr 112233 FíísFsiiccaa EiinEnsstt eeiinn
1
12233 MúMússiiccaa MoMozzaarrtt
4
45566 BiioBollooggííaa DaDarrwwiinn
7
788 99 FíísFsiiccaa BoBohhrr
9
Normalización
4. Boyce/Codd Forma Normal (B/C FN)
Ejemplo B/C FN N N N Nrrrroooo----AAAAlllluuuummmmnnnnoooo TTTTuuuuttttoooorrrr 1 12233 EiinEnsstt eeiinn 1 12233 MoMozzaarrtt 4 45566 DaDarrwwiinn 7 788 99 BoBohhrr 9 99999 EiinEnsstt eeiinn
Base de Datos 33
Normalización
4. Boyce/Codd Forma Normal (B/C FN)
Ejemplo B/C FN T T T Tuuuuttttoooorrrr MateriaMateria E
Eiinnsstt eeiinn FíísFsiiccaa
M
Moozzaarrtt MúMússiiccaa
D
Daarrwwiinn BiioBollooggííaa
B
Normalización
4.
Boyce/Codd Forma Normal (B/C FN)
Ejemplo B/C FN
Base de Datos 35
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í
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.
Base de Datos 37
Normalización
5.
4ta Forma Normal
Ejemplo 4 FN
N N N NOOOOMMMM----CCCCUUUURRRRSSSSOOOO IIIINNNNSSSSTTTTRRRRUUUUCCCCTTTTOOOORRRR LLLLIIIIBBBBRRRROOOO A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn WWWWhhhhiiiitttteeee G G G Grrrreeeeeeeennnn B B B Bllllaaaacccckkkk D D D Drrrruuuucccckkkkeeeerrrr P P P Peeeetttteeeerrrrssss F F F Fiiiinnnnaaaannnnzzzzaaaassss GGGGrrrraaaayyyy WWWWeeeessssttttoooonnnn G G G GiiiillllffffoooorrrrddddNormalización
5.
4ta Forma Normal
Ejemplo 4 FN
N N N NOOOOMMMM----CCCCUUUURRRRSSSSOOOO IIIINNNNSSSSTTTTRRRRUUUUCCCCTTTTOOOORRRR LLLLIIIIBBBBRRRROOOO A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn WWWWhhhhiiiitttteeee DDDDrrrruuuucccckkkkeeeerrrr A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn WWWWhhhhiiiitttteeee PPPPeeeetttteeeerrrrssss A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn GGGGrrrreeeeeeeennnn DDDDrrrruuuucccckkkkeeeerrrr A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn GGGGrrrreeeeeeeennnn PPPPeeeetttteeeerrrrssss A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn BBBBllllaaaacccckkkk DDDDrrrruuuucccckkkkeeeerrrr A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn BBBBllllaaaacccckkkk PPPPeeeetttteeeerrrrssssBase de Datos 39
Normalización
5.
4ta Forma Normal
Ejemplo 4 FN
C C C CUUUURRRRSSSSOOOO IIIINNNNSSSSTTTTRRRRUUUUCCCCTTTTOOOORRRR A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn WWWWhhhhiiiitttteeee A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn GGGGrrrreeeeeeeennnn A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn BBBBllllaaaacccckkkk F F F Fiiiinnnnaaaannnnzzzzaaaassss GGGGrrrraaaayyyyNormalización
5.
4ta Forma Normal
Ejemplo 4 FN
C C C CUUUURRRRSSSSOOOO LLLLIIIIBBBBRRRROOOO A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn DDDDrrrruuuucccckkkkeeeerrrr A A A Addddmmmmiiiinnnniiiissssttttrrrraaaacccciiiióóóónnnn PPPPeeeetttteeeerrrrssss F F F Fiiiinnnnaaaannnnzzzzaaaassss WWWWeeeessssttttoooonnnn F F F Fiiiinnnnaaaannnnzzzzaaaassss GGGGiiiillllffffoooorrrrddddBase de Datos 41
Normalización
5.
4ta Forma Normal
Ejemplo 4 FN
Curso
Instructor Libro
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-