Base de Datos - Escuela de Ingeniería Informática

Anuncio
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)
Transformación de asociaciones(MER)
Identificación de Vistas
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)
Método 1
b)
Método 2
c)
Base de Datos
Método 1
+
Método 2
6
Esquema de las Etapas del Modelo
Lógico
Modelo
Conceptual
Transformación de entidades
Transformación de asociaciones
Diseño Lógico
de la BD
Normalización
Modelo
Relacional
Base de Datos
Mezcla de Relaciones
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
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
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
Vista de Usuario
Entidades MER
1.
Diseño Lógico:
Normalización
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
Remover dependencias de Boyce Cood
Base de Datos de Relaciones FNBC
Conjunto
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
Transformación de asociaciones
Identificación de Vistas
Especificación de relaciones
Normalización
Normalización
Mezcla de Relaciones
Mezcla de Relaciones
Base de Datos
20
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
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
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:
COD-ITEM
#PACIENTE:
FONO:
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
#CAMA
#PIEZA
Informe Utilización Camas
FECHA: __/__/__
TIPO
FECHA ALTA
#PACIENTE NOMBRE PACIENTE
CAMA
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
•••
Base de Datos
Entidades en 4FN
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
Base de Datos
Mat eria
Tut or
123
Física
Einst ein
123
Música
Mozart
456
Biología
Darwin
78 9
Física
Bohr
999
Física
Einst ein
31
Normalización
4.
Boyce/Codd Forma Normal (B/C FN)
Ejemplo B/C FN
Nro-Alumno
Base de Datos
Tut or
123
Einst ein
123
Mozart
456
Darwin
78 9
Bohr
999
Einst ein
32
Normalización
4.
Boyce/Codd Forma Normal (B/C FN)
Ejemplo B/C FN
Tut or
Materia
Einst ein
Física
Mozart
Música
Darwin
Biología
Bohr
Física
Base de Datos
33
Normalización
4. Boyce/Codd Forma Normal (B/C FN)
Ejemplo B/C FN
Nro Alumno, Tutor
Base de Datos
Tutor, Materia
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
West on
Gilf ord
Base de Datos
Gray
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 er s
Administ ración
Green
Drucker
Administ ración
Green
Pet er s
Administ ración
Black
Drucker
Administ ración
Black
Pet er s
Finanzas
Gray
West on
Finanzas
Gray
Giford
Base de Datos
38
Normalización
5. 4ta Forma Normal
Ejemplo 4 FN
CURSO
INSTRUCTOR
Administ ración
Whit e
Administ ración
Green
Administ ración
Black
Finanzas
Gray
Base de Datos
39
Normalización
5. 4ta Forma Normal
Ejemplo 4 FN
CURSO
LIBRO
Administ ración
Administ ración
Drucker
Pet ers
Finanzas
West on
Finanzas
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-
Descargar