Capitulo III Parte 1 - Escuela de Ingeniería Informática

Anuncio
P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO
FACULTAD DE INGENIERÍA
ESCUELA DE ING. INFORMÁTICA
Base de Datos
Usuario A
Programa de
Aplicación
Bodega
Usuario B
•
•
•
Usuario N
•
•
•
Insumo
Proveedor
Profesor:
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
Índice de Contenidos
Metodología para el desarrollo de una
BD
Identificación y Formulación de
Requerimientos
Diseño Conceptual
Diseño Lógico
Diseño Físico
Base de Datos
5
Definir Diseño de la Base de Datos
Realidad
Requisitos
de Datos
Modelo
Externo
Diseño Conceptual
Modelo
Conceptual
Diseño Lógico
Modelo
Lógico
Diseño Físico
Modelo
Físico
Esquema Conceptual
Esquema Lógico
Esquema Físico
Base de Datos
6
Definir Diseño de la Base de Datos
Diseño Conceptual
Recibe como entrada la especificación de requerimientos
(modelo externo) y su resultado es el esquema
conceptual de la base de datos, que es una descripción
de alto nivel de la estructura de la base de datos,
independiente del software que se use para manipularla.
El Modelo Conceptual consolida las visiones de las
distintas personas involucradas en la realidad a
representar. En el caso de un modelo de datos, esta
consolidación permite chequear consistencias (todos los
usuarios deben referirse al mismo ítem de dato con el
mismo nombre) y validar que todos los datos y
asociaciones hayan sido identificados. Además se debe
capturar la semántica de los datos, e información sobre el
uso y mantención de ellos.
Modelos Conceptuales: MER (Modelo Entidad
Relación propuesto por Chen), Modelos OO.
Base de Datos
7
Definir Diseño de la Base de Datos
Diseño Lógico
Recibe como entrada el esquema conceptual y da como
resultado un esquema lógico, que es una descripción de
la estructura de la base de datos que puede procesar el
software DBMS.
Modelos Lógicos: Relacional, de Redes, Jerárquico.
Diseño Físico
Recibe como entrada el esquema lógico y da como
resultado un esquema físico, que es una descripción de la
implementación de una base de datos, describe las
estructuras de almacenamiento y los métodos usados
para tener un acceso efectivo a los datos.
Modelos Físicos: Modelo Unificador, Memoria de
Elementos.
Base de Datos
8
Tipos de Modelos
Modelos Externos
o Vistas Usuarios
Cocina
Factura
Comedor
Living
............
.
Consulta Cltes.
Control Inventario
Consolidación
Consistencia
Completitud
Modelo Conceptual
Maqueta
MD Comprensible
Eficiencia
Seguridad
Integridad
Modelo Interno o
Lógico
Plano
Schema BD
Dependiente del
DBMS
Programas y Métodos de
Acceso
Realidad Física
Casa
BD
Base de Datos
9
Naturaleza del Dato
Para describir un dato deben considerarse
tres niveles de abstracción o estados en que
se encuentra el dato.
Realidad,
Metadato y
Dato.
Eventos, Objetos, Atributos
Diccionario de Datos
Base de Datos
Definición Tipo de
Registro
Ocurrencia de
Registro
Atributos
Definición Itemes
de Dato
Ocurrencia de
Itemes de Dato
Realidad
Metadato
Dato (Valor)
Clase de Entidades
Base de Datos
10
Naturaleza del Dato
Realidad
Comprende el mundo real (una organización), con sus
componentes y el medio ambiente en el cual opera. Cualquier
organización se considera como un conjunto de personas, recursos
financieros, materiales y equipos, que son organizados para
satisfacer ciertos objetivos; además posee una interacción con el
medio.
Una entidad es una persona, objeto o evento sobre lo que la
organización decide coleccionar y almacenar datos. Una entidad
puede ser tangible como un empleado, un producto, un
computador o un cliente; o intangible como una cuenta de un
banco, un vuelo, un centro de costos.
Una clase de entidades, es un conjunto de entidades que poseen
características similares. Por ejemplo, todos los clientes de una
empresa. También se le llama tipo de entidades, y a veces, suele
usarse indistintamente el término entidad o clase de entidad.
Base de Datos
11
Naturaleza del Dato
Realidad:
En general, cada entidad es asociada a una y solo una
clase de entidades. Sin embargo, esta asignación así como
la definición de clase de entidades puede ser arbitraria.
Por ejemplo, la clase Empleados involucra a los empleados
con contrato fijo solamente o también a los con contrato a
honorarios, la respuesta va a depender del criterio del
diseñador.
El número de clases de entidades por organización
depende del tamaño y complejidad de ella.
Por ejemplo, una organización de tamaño medio define
generalmente varias de clases de entidades.
Base de Datos
12
Naturaleza del Dato
Realidad:
Un atributo es una propiedad de una clase de entidades que se desea
almacenar. Para cada clase existe un conjunto de atributos de interés para la
organización.
Por ejemplo, para la clase Empleado algunos atributos de interés serían: Rut,
Nombre, Dirección, Teléfono y Cargo.
Cada entidad dentro de una clase, debe poseer al menos un atributo (o una
combinación de ellos) que la distinga de otras entidades dentro de su clase. A
este atributo se le llama identificador, llave o clave primaria.
Por ejemplo, el Rut para Empleado, Nro.Producto para Producto, Nro.Factura +
Nro.Producto para Pedido. Este atributo debe ser único, es decir, no pueden
existir dos entidades con un mismo valor para ese atributo dentro de una clase.
Otra propiedad de una entidad es la asociación o relacionamiento
(relationship) entre dos o más clases de entidades. Esta se verá más adelante.
Las entidades son del mundo real, pero en la práctica es difícil para un
administrador tomar decisiones en base a la observación directa de ellas. Por eso
la organización requiere modelar estas entidades.
Base de Datos
13
Naturaleza del Dato
Metadato:
Es información acerca de los datos de una organización. Se usa para desarrollar
modelos lógicos de las entidades y asociaciones de una organización. El metadato es
almacenado y mantenido en el diccionario de datos (o repositorio) de una
organización.
Cada atributo tiene un tipo de ítem de dato como metadato.
Un ítem de dato es la unidad de dato más pequeña en una Base de Datos. Por
ejemplo, Nombre del Empleado, Rol del Alumno, Fecha de Orden de Compra. En el
diccionario de datos se registra por cada ítem de dato, información sobre su nombre,
largo, tipo y una breve descripción narrativa de él.
Un dato agregado, es un conjunto de ítems de datos que son nombrados y referidos
como un todo. Por ejemplo, Fecha está compuesto de Día, Mes y Año. Debe
registrarse información sobre ellos en el diccionario de datos.
Un tipo de registro es un conjunto de ítems de datos y/o datos agregados. La
definición de un tipo de registro para cada clase de entidades que se guarda en el
diccionario de datos contiene por ejemplo: nombre del registro, descripción, tamaño
(o largo), ítems de datos, datos agregados e identificación de clave primaria.
Base de Datos
14
Naturaleza del Dato
Dato o Valor:
Corresponde a ocurrencias de datos.
Por cada entidad, existe una ocurrencia de registro que
contiene valores de ítem de datos que la representan.
Es importante distinguir la diferencia entre metadatos
(definiciones del dato) y dato (ocurrencias del dato).
Los metadatos no son almacenados en la base de
datos sino que en el diccionario de datos.
Los datos (ocurrencias de datos) son almacenados en
la base de datos.
Base de Datos
15
Representación del Dato
Para representar los datos de una determinada realidad,
consideremos dos aspectos básicos del modelamiento de datos:
Entidades y
Asociaciones.
Una entidad, como ya se definió, es un objeto, evento o
persona sobre la cual la organización decide coleccionar y
almacenar datos.
La asociación, es una conexión lógica entre entidades.
Para representar gráficamente estos elementos, utilizaremos la
simbología propuesta por Bachmann.
Base de Datos
16
Representación del Dato
A
Entidad A
A
a
b c d
Entidad A con atributos a, b, c y d.
Asociación
Base de Datos
17
Representación del Dato:
Asociación
Asociación del tipo UNA
UNA asociación de la entidad A a la B.
Significa que para un cierto período de tiempo
habrá una ocurrencia de la entidad A que
tiene una y sólo una ocurrencia de la entidad
B asociada a ella.
Por ejemplo, en un cierto instante un
PACIENTE de un hospital está asignado a una
CAMA.
Paciente
Base de Datos
Cama
18
Representación del Dato:
Asociación
Asociación del tipo MUCHAS:
Una asociación del tipo MUCHAS entre
entidades A y B, significa que para un cierto
período de tiempo, habrá una ocurrencia de la
entidad A que tiene cero, una o más
ocurrencias de la entidad B asociada a ella.
Por ejemplo, un EMPLEADO puede tener cero,
una o más CARGAS FAMILIARES.
Empleado
Base de Datos
Cargo
19
Representación del Dato:
Asociación
Asociación Condicional:
Establece que para una ocurrencia de la
entidad A existen dos posibilidades: que exista
una ocurrencia de una entidad B asociada a
ella, o que no exista.
Por ejemplo, en un hospital una CAMA es
asignada a sólo un PACIENTE o está
desocupada en un cierto instante de tiempo.
Paciente
Base de Datos
Cama
20
Representación del Dato:
Asociación
Asociación en Ambos Sentidos:
Si existe una asociación entre ocurrencias de la
entidad A con la B, también existe entre B con A.
Esto genera tres tipos de asociaciones:
UNO a UNO (1:1)
Paciente
Cama
UNO a MUCHOS (1:N)
Empleado
Cargo
MUCHOS a MUCHOS (N:M)
Alumno
Base de Datos
Asignatura
21
Representación del Dato:
Asociación
Múltiples Asociaciones entre Entidades:
Al modelar datos a veces es conveniente dos o
más asociaciones entre dos tipos de entidades
para aprovechar una misma descripción o
contenido de un tipo de registro.
ASEGURADO
BENEFICIARIO
RUT
NOMBRE
DIRECCION
RUT
NOMBRE
DIRECCION
POLIZA
#POLIZA
FECHA, MONTO
RUT-A
RUT-B
Base de Datos
22
Representación del Dato:
Asociación
Múltiples Asociaciones entre Entidades:
Es posible definir una sola clase de entidad (PERSONA) la
cual se relacionaría con PÓLIZA de dos formas: como
asegurado o como beneficiario.
PERSONA
POLIZA
Asegurado
RUT
NOMBRE
DIRECCION
Beneficiario
#POLIZA
FECHA, MONTO
RUT-A, RUT-B
Cuando existen dos o más asociaciones entre dos entidades,
cada asociación debe ser rotulada con un nombre que
clarifique la asociación. En general, esto complica la
legibilidad del modelo, por ello es conveniente ser lo más
simple para representar estas asociaciones.
Base de Datos
23
Representación del Dato:
Asociación
Asociaciones Recursivas (Loops):
Es posible que se requiera describir
asociaciones entre entidades de una misma
clase, a esto se le llama asociaciones
recursivas o loops. Existen de tres tipos:
1:1
EMPLEADO
Base de Datos
Casadocon
Existen EMPLEADOS que son
casados entre ellos, es decir,
tienen una asociación 1:1, pero
es posible que sólo algunos
sean casados entre ellos, por lo
que deberá ser una asociación
condicional.
24
Representación del Dato:
Asociación
Asociaciones Recursivas (Loops):
1:N
EMPLEADO
Jefe-de
Si se supone que cada
empleado tiene sólo un jefe,
entonces puede existir una
asociación
de
jefe
a
subordinado.
M:N
PRODUCTO
Base de Datos
Component
es
Un PRODUCTO se compone de
otros PRODUCTOS (piezas) y éstos
a su vez de otros, y así
sucesivamente.
25
Representación del Dato:
Asociación
Asociaciones Recursivas (Loops):
M:N. Una asociación M:N como la anterior, puede también ser
reducida a una o más asociaciones 1:N usando una entidad de
intersección.
PRODUCTO
#PRODUCTO
NOMBRE
ETC.
PIEZA
#PIEZA
#COMPONENTE
CANT-USADA
El #PIEZA corresponde al #PRODUCTO de aquel producto que se
divide en otras componentes. Cada componente de ese producto se
identifica por el #COMPONENTE (el cual también corresponde a un
#PRODUCTO). CANT-USADA indica cuanto usa la pieza #X del
componente #Y. Por ejemplo si se tiene la siguiente ocurrencia de
PIEZA:
X
Y
20
Estos datos corresponderían al evento que la pieza (o producto) X, usa
20 unidades de la componente Y (o producto).
Base de Datos
26
Semántica de los Datos
Se refiere al significado de los datos.
Cuando se realiza un análisis organizacional resulta muy difícil capturar
los datos y sus asociaciones para todas las situaciones en que los datos
van a ser usados.
Es así, como se han creado diversas formas de modelar los datos; sin
embargo, cada modelo tendrá sus restricciones en cuanto a si
representan los aspectos de semántica de los datos o no los representan.
Se definen distintos tipos de semánticas, que en esencia son reglas
acerca de la integridad de la base de datos. Dentro de los tipos más
usuales de semántica están:
Cardinalidad o conectividad
Grado
Dependencia
Tiempo
Unicidad
Clase ( o generalización)
Agregación
Base de Datos
27
Semántica de los Datos
Cardinalidad
Corresponde a las asociaciones 1:1, 1:N, M:N
(incluida condicionalidad) ya vistas.
Grado
Es el número de entidades que participan en
una asociación.
Los grados más típicos son: unaria, binaria y
ternaria.
Base de Datos
28
Semántica de los Datos
Grado
La asociación unaria (o recursiva) es una relación
entre ocurrencias de una misma clase de entidades,
pueden ser 1:1, 1:M o M:N.
Casado-con
EMPLEADO
Jefe-de
EMPLEADO
La asociación binaria es una relación entre
ocurrencias de dos clases de entidades, pueden ser
1:1, 1:M o M:N.
Pedidos-Cliente
CLIENTE
Base de Datos
PEDIDO
29
Semántica de los Datos
Grado:
La asociación ternaria es una relación (simultánea)
entre ocurrencias de tres clases de entidades. Cada
entidad puede participar con UNA o MUCHAS en esta
relación, o sea, relacionas ternarias pueden ser 1:1:1,
1:1:M, etc.
PRODUCTO
ORDEN
PEDIDO
Embarque
BODEGA
Base de Datos
30
Semántica de los Datos
Grado:
Una asociación ternaria, no es lo mismo que tres relaciones binarias. Por
ejemplo el atributo CANT-EMBARCADA de un cierto producto dada una
ORDEN-PEDIDO emitida por un cliente a una BODEGA debe ir en la
asociación Embarque, no puede ir en una asociación entre PRODUCTO y
BODEGA, ni entre PRODUCTO y ORDEN-PEDIDO, ni entre BODEGA y
ORDEN-PEDIDO. Otra forma de representar este tipo de asociación es:
ORDEN
PEDIDO
PRODUCTO
Producto-para-Embarque
Pedido-a-Embarcar
EMBARQUE
Bodega-desde-donde-Embarcar
BODEGA
Base de Datos
31
Semántica de los Datos
Dependencia:
Se refiere al hecho que alguna entidad no puede existir sin la
ocurrencia de otra entidad.
Por ejemplo, una ORDEN-DE-PEDIDO no puede existir si no existe el
CLIENTE que la solicitó.
Esta dependencia es opuesta a la asociación condicional y es relevante
en el proceso de inserción y eliminación, pues no podría ingresarse una
nueva ORDEN-DE-PEDIDO si no existe el CLIENTE, ni podría eliminarse
un CLIENTE sin que se eliminen las ocurrencias de las ORDENES-DEPEDIDO asociadas a él.
Dentro de este contexto aparece el concepto de integridad
referencial, que se presenta cuando existe alguna clave primaria (o
alguna parte de ella) de alguna entidad que es referenciada desde otra
entidad.
Base de Datos
32
Semántica de los Datos
Dependencia:
Esto es muy común cuando existe una clave foránea (campo que es clave primaria en otra
entidad). Por ejemplo, para las siguientes ocurrencias de entidades DEPTO (NRO-DEPTO,
NOMBRE) y EMPLEADO (NRO-EMP, NOM-EMP, NRO-DEPTO):
NRO-DEPTO
100
150
200
NOMBRE
Producción
Ventas
Compras
NRO-EMP
4340
4980
6065
6670
NOM-EMP
Mario Araya
Cecilia Bustos
Ana Gómez
Luis Pino
NRO-DEPTO
100
150
150
120
donde la clave foránea de la entidad EMPLEADO es NRO-DEPTO, y si se desea eliminar en
DEPTO el registro del departamento 100, no se debiera poder realizar esa eliminación pues
Mario Araya quedaría trabajando en un departamento inexistente. Para que esto sea así, se
deben definir restricciones referenciales en el DBMS con que se trabaje.
También es posible que estos se presente cuando existe una entidad con clave primaria
compuesta. Supongamos que si no se asigna un #ORDEN a cada pedido de un CLIENTE, se
tiene que:
ORDEN-DE-PEDIDO (RUT-CLTE, FECHA, DETALLE)
CLIENTE (RUT-CLTE, NOM-CLTE, DIR-CLTE)
no pudiendo existir una ORDEN-DE-PEDIDO si no existe el CLIENTE, pues los datos del cliente
deben existir para que tenga validez la orden.
Base de Datos
33
Semántica de los Datos
Tiempo:
Es una componente multifacética y compleja del dato; se refiere a si el contenido
de una base de datos varía o no en el tiempo.
En muchos casos sólo el valor actual es requerido, sin embargo en otros es
requerida una historia, por lo cual es necesario registrar un conjunto de datos.
Por ejemplo, en una empresa manufacturera el precio de un producto cambia
según el material y forma de producción usada; si contabilidad, facturación y
control de la producción, requieren registrar el precio y el período sobre el cual
ese precio es efectivo, una solución simple es almacenar un conjunto de precios
y sus respectivas fechas de vigencia en la entidad PRODUCTO (lo que sucede en
muchos lenguajes de programación tradicionales), pero no es la solución para
bases de datos pues esos precios y fechas se debieran almacenar separados del
producto.
En un nivel conceptual es suficiente con indicar que se requiere una historia de
los precios al definir lo requerimientos de la base de datos, sin embargo, a nivel
interno se ha comprobado que para datos volátiles la solución es compleja,
algunas veces es más simple almacenar el dato original y en un archivo separado
(también llamado archivo diferencial) almacenar los cambios o diferencias que
permitan ajustar los valores que cambian, con esto se ahorra espacio.
Base de Datos
34
Semántica de los Datos
Tiempo:
Otro aspecto de tiempo, es que ciertos datos son legítimos o pueden
existir dependiendo del instante en que se está.
Por ejemplo, cuando se crea un EMBARQUE de productos, este
EMBARQUE puede existir aunque no exista el transporte todavía, pero
el EMBARQUE no puede ser creado a menos que exista una o más
ORDENES DE PEDIDO asociadas. Este tipo de restricción (crear un
EMBARQUE sin orden) se le llama restricción de inserción y
relaciona los instantes en que los datos son almacenados en la base de
datos (que dato es almacenado primero).
Otro aspecto es lo referido al período de tiempo en que la relación está
vigente.
Por ejemplo, una vez que el EMBARQUE sale de la BODEGA, es
asignado a un cierto medio de TRANSPORTE (barco, tren, avión, etc.)
el cual puede cambiar en el tiempo; al ser recibido el EMBARQUE por el
CLIENTE, éste debe ser disociado del medio de transporte no
existiendo relación entre EMBARQUE y TRANSPORTE en ese instante. A
este tipo de restricción, se le llama restricción de retención.
Base de Datos
35
Semántica de los Datos
Unicidad:
Se define unicidad por clave primaria, se trata que una
ocurrencia debe ser única al tener un atributo que la diferencia de
las demás. Los criterios para seleccionar la clave primaria:
La clave candidata no debe cambiar su valor durante la vida de la
ocurrencia
Elegir la clave candidatas que no tenga valores nulos.
Otra forma de unicidad es la llamada exclusividad, significa que
uno de varios tipos de datos o asociaciones pueden presentarse,
pero no todos, por ejemplo en:
TRABAJADOR -A
HONORARIOS
TAREA
Esposo/Esposa o
Padre/Hijo
EMPLEADO
TRABAJADOR
DE-PLANTA
Base de Datos
36
Semántica de los Datos
Generalización (Clase – SubClase):
Permite definir una clase de entidad general que representa a
entidades que tienen distinto significado en la organización, pero
características o atributos similares.
Por ejemplo, CLIENTE puede tener distintos significados: algunos
clientes son internacionales, otros nacionales, personas individuales o
empresas, etc.; es decir, pueden existir varias subclases de CLIENTE.
Una subclase no sólo hereda las características o atributos de su
superclase, sino que también puede tener atributos propios.
Por ejemplo, para todos los clientes se requieren los atributos
NOMBRE, DIRECCION, FONO, pero para los clientes internacionales
además se requieren los atributos CODIGO-POSTAL y PAIS.
Una manera frecuente de identificar subclases, es asociarle un atributo
para el cual la ocurrencia de una entidad tendrá un valor único (por
ejemplo: agregar tipo de cliente como atributo de CLIENTE). Pero esto
no es aceptable cuando los atributos varían en las subclases, ya que en
los modelos de datos no se permiten definiciones variables o de
distintos tipos para una misma clase de entidad.
Base de Datos
37
Semántica de los Datos
Agregación:
Es una colección de entidades diferentes pero
relacionadas.
Una entidad agregada es una entidad
compuesta de otras entidades, que pueden
tener sus propios atributos.
Por ejemplo, una ORDEN DE TRABAJO involucra
la participación de las entidades MATERIA
PRIMA, HERRAMIENTAS, CENTRO DE TRABAJO Y
TRABAJADOR.
Base de Datos
38
Resumen de Semánticas
TIPO SEMANTICA
MODELOS DATOS QUE MEJOR LA
REPRESENTAN
Cardinalidad
Todos
Grado
Todos
Dependencia
Modelo E-R
Tiempo
Ninguno lo maneja en forma adecuada
Unicidad por:
1. Clave Primaria
2. Exclusividad
1. La mayoría de los modelos
2. Modelo E-R
Generalización
Base de Datos
1. Modelo de Datos Orientado a
Objeto
2. Modelo E-R
39
Modelo Conceptual de Datos
Se analizará el Modelo Entidad – Relación (MER) propuesto por Chen
en 1976.
Este es un modelo independiente de la tecnología o DBMS a utilizar.
Se basa en reconocer, y caracterizar las entidades básicas del modelo y
luego la relación que existe entre ellas.
Entidad fuerte:
Elementos que pueden identificarse claramente.
Entidad débil
Aquella que su existencia depende de la existencia de otra.
Ejemplos: taller mecánico-fábrica de piezas, Oficina propiedadesconstructora
Base de Datos
40
Modelo Conceptual de Datos: MER
Elementos del modelo entidad relación y sus
extensiones más usadas y su representación
gráfica.
Dominio: Conjunto de valores de un mismo
tipo. Por ejemplo: Nombres de Personas, Rut
Válidos, Estados Civiles.
Dominio
Base de Datos
41
Modelo Conceptual de Datos: MER
Símbolos:
Entidad
Atributo
Base de Datos
Asociación
Clave Primaria
Gerundio
Atributo Multivaluado
42
Simbología del MER
Entidad:
Los Tipos de Entidad representan objetos de
la realidad. Además se componen de
atributos, los cuales representan las
características de un tipo de entidad.
Ejemplo: Persona, Proceso, Factura, Guía de
Despacho, Cliente, Producto.
Tipo de Entidad
Base de Datos
43
Simbología del MER
Atributo:
Elemento de un Dominio. Aporta mediante su
rótulo, la semántica de los valores del Dominio
al que está asociado.
Ejemplo: Rut, nombre, departamento, edad,
tipo proyecto.
Dominio
Atributo
Base de Datos
44
Modelo Conceptual de Datos: MER
Extensiones a Simbología MER:
Atributo Compuesto
Atributo Derivado
Entidad Débil
Base de Datos
45
Simbología del MER
Atributo Compuesto:
Corresponde a grupos de atributos que tienen
afinidad en cuanto a su significado o a su uso.
Ejemplo: Dirección = calle + número + ciudad
Atributo Componente 1
Atributo Componente N
Atributo Compuesto
Base de Datos
46
Modelo Conceptual de Datos: MER
Semántica de Grado
Binaria
Unaria
Ternaria
Base de Datos
47
Modelo Conceptual de Datos: MER
Semántica de Generalización
Alumno Memorista
ISA
Semántica de Unicidad por Exclusividad
Base de Datos
48
Modelo Conceptual de Datos: MER
Semántica Cardinalidad
Cardinalidad 1
Mandatoria
Cardinalidad Muchos (M) (1,2,....M)
Cardinalidad Opcional 0 o 1
Cardinalidad Opcional 0-Muchos
(0,1,...M)
Base de Datos
49
Cardinalidad de la Asociación
•Mandatoria 1
•Muchos (1, 2, 3, …muchos)
3
Base de Datos
50
Modelo Conceptual de Datos: MER
Características Especiales:
Cada diamante dentro del Modelo E/R representa un
tipo de asociación, este diamante existe tanto para las
asociaciones 1:1, 1:M y M:N.
Se acostumbra darle un nombre a la asociación,
generalmente se utilizan verbos de tal manera de
representar a través de ellos, la acción que une a las
entidades.
Un diamante pueden ir atributos, sólo si se tratan de
asociaciones M:N, a éstos se les llama datos de
intersección. Por ejemplo, un modelo E/R para una
distribuidora de productos podría ser el siguiente:
Base de Datos
51
Modelo Conceptual de Datos: MER
Nombre
Dirección
realiza
CLIENTE
#Producto
#Pedido
Fecha
PEDIDO
Descripción
Cantidad
PRODUCTO
tiene
Tpo-Entrega
Precio
#Proveedo
r
tiene
PROVEEDOR
Nombre-Prov
Base de Datos
Dir-Prov
52
Modelo Conceptual de Datos: MER
Es decir, los atributos pueden estar asociados a
entidades y asociaciones; en este último caso
corresponden a datos de intersección.
En el momento de la implementación una asociación
con atributos en ella, se convierte en una entidad o
archivo. Esto lleva a un dilema: ¿es un diamante una
entidad?, a nivel interno debe serlo, a nivel externo
sólo depende de como la ve el usuario.
Por ejemplo una alternativa al modelo anterior sería
considerando LINEA-PRODUCTO como una
asociación no como una entidad:
Base de Datos
53
Modelo Conceptual de Datos: MER
Nombre
Dirección
#Pedido
realiza
CLIENTE
PEDIDO
tiene
#Producto
#Producto
Fecha
Cantidad
Descripción
#Pedido
PRODUCTO
Precio
LINEA
PRODUCTO
es-asignado
Tpo-Entrega
#Proveedor
tiene
PROVEEDOR
Nombre-Prov
Base de Datos
Dir-Prov
54
Modelo Conceptual de Datos: MER
La semántica de generalización o clase-subclase es llamada ISA en el
modelo E/R. Se presentan subclases en algunas de las siguientes
situaciones:
Atributos diferentes son usados para describir cada subclase de
entidad. Por ejemplo, en un hospital se requiere para algunos
PACIENTE almacenar atributos sobre su permanencia en el hospital, en
cambio para los PACIENTE ambulatorios no se necesitan esos atributos
sino otros.
Cada subclase de entidad participa en diferentes asociaciones. Por
ejemplo, un PACIENTE ambulatorio no es asignado a una CAMA (una
asociación condicional puede eliminarse en este caso), otro tipo de
PACIENTE si es asignado.
Se presenta 1 y 2 a la vez.
Por ejemplo en la siguiente figura se muestra un modelo con estas tres
situaciones:
Base de Datos
55
Modelo Conceptual de Datos: MER
#Paciente
Nombre
Dirección
#Médico
tiene
PACIENTE
ISA
PACIENTE
AMBULATORIO
Fecha-Chequeo
Base de Datos
Nom-med
MEDICO
ISA
PACIENTE
RESIDENTE
Fecha-Alta
CAMA
asigna
Diagnóstico
#Cama
Tipo
56
El Modelo Entidad Relación
Identificador de un tipo de entidad:
Un atributo I, posiblemente compuesto, de un
tipo de entidad TE, es un identificador de TE si
y sólo si satisface las siguientes 2 propiedades
independientes del tiempo.
Unicidad. En cualquier momento dado, no
existen dos elementos en TE con el mismo valor
de I.
Minimalidad. Si I es compuesto, no será posible
eliminar ningún atributo componente de I sin
destruir la propiedad de unicidad.
Base de Datos
57
Claves candidatas y
clave primarias
Evitar el uso de claves ”inteligentes” (una llave que
representa información)
Ejemplo:
xx
bodega
yy
(producto) xxyy
tipo
Por ejemplo si se cambia de bodega produce ya un
problema !!
Considerar claves simples o atributos simples en un
reemplazo de grandes claves compuestas.
Base de Datos
58
Claves Candidatas y Claves
Primaria
Dependencia de Existencia
Cuando existe una cardinalidad mandatoria 1, la
ocurrencia de 1 entidad existe sólo si existe la
ocurrencia de la entidad relacionada.
Entidad Débil: es la que no puede existir por si sola.
Depende la existencia de entidad fuerte.
Relación por Identificador
La entidad débil normalmente no tiene un identificador
natural (propio) y su clave primaria será la clave de la
primaria de la entidad fuerte, como parte de su clave
primaria y otro(s) atributo(s) identificador de la entidad
débil.
Base de Datos
59
Ejemplo
Ejemplo: Sistema de Información para la
gestión del Plan de Ordenación Docente
Identificar para la Universidad: Entidades,
atributos, relaciones, cardinalidad, etc.
Base de Datos
60
Ejemplo
Base de Datos
61
Descargar