base de datos - ucvzeus.inf.ucv.cl/~jrubio/docs/2010-2/ici 344/capitulo iv... · 2010-05-20 ·...
TRANSCRIPT
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:José Miguel Rubio L.
Base de Datos 2
Í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
ConceptosPrincipales funcionesVentajas de utilizar SGBDConsideraciones del uso de un SGB
Base de Datos 4
Índice de Contenidos
Modelamiento de una Base de DatosModelo Conceptual: Entidad Relación
Asociaciones entre entidades, Cardinalidad de AsociacionesClaves candidatas y claves primarias, Atributos multivaluadosReglas del Negocio
Modelo Lógico: RelacionalModelo LógicoTransformación de entidades y relacionesProceso de Normalización de RelacionesAnálisis de vistas
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
Base de Datos 6
Del MER al Modelo Relacional
3
Método 1
Método 1
Método 2
a)
Método 2b)
+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 Relaciones
Base de Datos 8
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 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)
Base de Datos 10
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
Relaciones en 3FN
Base de Datos 12
Normalización
1. Dependencia Parcial: 1 FNParte de la clave determina un no claveLa 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 13
Normalización
2. Dependencia Transitiva: 2 FNUn campo no clave determina un no claveSe representa cuando un atributo no clave determina un atributo no clave.R (K1, a1, a2, a3)K1 a1, a2, a3
Base de Datos 14
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”
DeterminanteSon 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 15
Normalización
3. Dependencia Funcional: 3FNLos 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, a3R (K1, a1, a2)K1 a1, a2
El atributo del lado izquierdo (clave) es llamado Determinante
Base de Datos 16
Pasos para la Normalización
1. Eliminar Grupos RepetitivosElementos o conjunto de atributos que pueden repetirse en una relación
2. Eliminar Dependencia Parcial: 1 FNParte de la clave determina un no clave
3. Eliminar Dependencia Transitiva: 2 FNUn campo no clave determina un no clave
Base de Datos 17
Pasos para la Normalización
1. Eliminar Grupos RepetitivosPara 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 18
Pasos para la Normalización
2. Eliminar Dependencia Parcial: 1 FNSe 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 FNAl 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 20
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 Relaciones
Base 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.
Base de Datos 22
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. SantanaRUT: 89.900.120-K
Los Leones 180Fono: 56-2-6677889
Santiago-Chile
FACTURA
NOMBRE PACIENTE:DIRECCIÓN:
#PACIENTE:FONO:
COD-ITEM NOMBRE ITEM VALOR
SUBTOTAL
%IMPUESTO
TOTAL ??
Base de Datos 24
Normalización: Ejemplo
Hospital Dr. SantanaRUT: 89.900.120-K
Los Leones 180Fono: 56-2-6677889
Santiago-Chile
Informe Utilización CamasFECHA: __/__/__
#CAMA #PIEZA #PACIENTETIPO CAMA
NOMBRE PACIENTEFECHA 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:
??
Base de Datos 26
Normalización: Ejemplo
Hospital Dr. SantanaRUT: 89.900.120-K
Los Leones 180Fono: 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
•••
Base de Datos 28
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
Base de Datos 30
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 31
Normalización
4. Boyce/Codd Forma Normal (B/C FN)Ejemplo B/C FN
NNNNrrrroooo----AAAAlllluuuummmmnnnnoooo MMMMaaaatttt eeeerrrr iiiiaaaa TTTTuuuutttt oooorrrr
112233 FFííssiiccaa EEiinnsstt eeiinn
112233 MMúússiiccaa MMoozzaarrtt
445566 BBiioollooggííaa DDaarrwwiinn
778899 FFííssiiccaa BBoohhrr
999999 FFííssiiccaa EEiinnsstt eeiinn
Base de Datos 32
Normalización
4. Boyce/Codd Forma Normal (B/C FN)Ejemplo B/C FN
NNNNrrrroooo----AAAAlllluuuummmmnnnnoooo TTTTuuuutttt oooorrrr
112233 EEiinnsstt eeiinn
112233 MMoozzaarrtt
445566 DDaarrwwiinn
778899 BBoohhrr
999999 EEiinnsstt eeiinn
Base de Datos 33
Normalización
4. Boyce/Codd Forma Normal (B/C FN)Ejemplo B/C FN
TTTTuuuutttt oooorrrr MateriaMateria
EEiinnsstt eeiinn FFííssiiccaa
MMoozzaarrtt MMúússiiccaa
DDaarrwwiinn BBiioollooggííaa
BBoohhrr FFííssiiccaa
Base de Datos 34
Normalización
4. Boyce/Codd Forma Normal (B/C FN)Ejemplo B/C FN
Nro Alumno, Tutor Tutor, Materia
Base de Datos 35
Normalización
5. 4ta Forma NormalCuando 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 36
Normalización
5. 4ta Forma NormalEjemplo 4 FN1. 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 37
Normalización
5. 4ta Forma NormalEjemplo 4 FN
NNNNOOOOMMMM----CCCCUUUURRRRSSSSOOOO IIIINNNNSSSSTTTTRRRRUUUUCCCCTTTTOOOORRRR LLLLIIIIBBBBRRRROOOO
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn WWWWhhhhiiiitttt eeee
GGGGrrrreeeeeeeennnn
BBBBllllaaaacccckkkk
DDDDrrrruuuucccckkkkeeeerrrr
PPPPeeeetttt eeeerrrrssss
FFFFiiiinnnnaaaannnnzzzzaaaassss GGGGrrrraaaayyyy WWWWeeeesssstttt oooonnnn
GGGGiiiillllffffoooorrrrdddd
Base de Datos 38
Normalización
5. 4ta Forma NormalEjemplo 4 FN
NNNNOOOOMMMM----CCCCUUUURRRRSSSSOOOO IIIINNNNSSSSTTTTRRRRUUUUCCCCTTTTOOOORRRR LLLLIIIIBBBBRRRROOOO
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn WWWWhhhhiiiitttt eeee DDDDrrrruuuucccckkkkeeeerrrr
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn WWWWhhhhiiiitttt eeee PPPPeeeetttt eeeerrrrssss
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn GGGGrrrreeeeeeeennnn DDDDrrrruuuucccckkkkeeeerrrr
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn GGGGrrrreeeeeeeennnn PPPPeeeetttt eeeerrrrssss
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn BBBBllllaaaacccckkkk DDDDrrrruuuucccckkkkeeeerrrr
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn BBBBllllaaaacccckkkk PPPPeeeetttt eeeerrrrssss
FFFFiiiinnnnaaaannnnzzzzaaaassss GGGGrrrraaaayyyy WWWWeeeesssstttt oooonnnn
FFFFiiiinnnnaaaannnnzzzzaaaassss GGGGrrrraaaayyyy GGGGiiiiffffoooorrrrdddd
Base de Datos 39
Normalización
5. 4ta Forma NormalEjemplo 4 FN
CCCCUUUURRRRSSSSOOOO IIIINNNNSSSSTTTTRRRRUUUUCCCCTTTTOOOORRRR
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn WWWWhhhhiiiitttt eeee
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn GGGGrrrreeeeeeeennnn
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn BBBBllllaaaacccckkkk
FFFFiiiinnnnaaaannnnzzzzaaaassss GGGGrrrraaaayyyy
Base de Datos 40
Normalización
5. 4ta Forma NormalEjemplo 4 FN
CCCCUUUURRRRSSSSOOOO LLLLIIIIBBBBRRRROOOO
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn DDDDrrrruuuucccckkkkeeeerrrr
AAAAddddmmmmiiiinnnniiiisssstttt rrrraaaacccciiiióóóónnnn PPPPeeeetttt eeeerrrrssss
FFFFiiiinnnnaaaannnnzzzzaaaassss WWWWeeeesssstttt oooonnnn
FFFFiiiinnnnaaaannnnzzzzaaaassss GGGGiiiillllffffoooorrrrdddd
Base de Datos 41
Normalización
5. 4ta Forma NormalEjemplo 4 FN
Curso
Instructor Libro
Curso, Instructor Curso, Libro
ERROR: syntaxerror
OFFENDING COMMAND: --nostringval--
STACK:
/Title
()
/Subject
(D:20100520112400-04’00’)
/ModDate
()
/Keywords
(PDFCreator Version 0.9.5)
/Creator
(D:20100520112400-04’00’)
/CreationDate
(usuario)
/Author
-mark-