Post on 07-Feb-2018
Base de Datos
P. UNIVERSIDAD CATÓLICA DE VALPARAÍSOFACULTAD DE INGENIERÍAESCUELA DE ING. INFORMÁTICA
Programa de Aplicación
Usuario A
Usuario B
Usuario N
Bodega
Insumo
Proveedor
•••
•••
Profesor: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
Índice de Contenidos
Metodología para el desarrollo de una BD
Identificación y Formulación de RequerimientosDiseño ConceptualDiseño LógicoDiseño Físico
Base de Datos 6
Definir Diseño de la Base de Datos
Realidad Requisitos de Datos
Diseño Conceptual
Diseño Lógico
Diseño Físico
Modelo Conceptual
Modelo Lógico
Modelo Físico
Esquema Conceptual
Esquema Lógico
Esquema Físico
Modelo Externo
Base de Datos 7
Definir Diseño de la Base de Datos
Diseño ConceptualRecibe 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 8
Definir Diseño de la Base de Datos
Diseño LógicoRecibe 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 9
Tipos de Modelos
ConsolidaciónConsistenciaCompletitud
Modelos Externoso Vistas Usuarios
............
.
Cocina Comedor
Factura Consulta Cltes.
Living
Control Inventario
Modelo ConceptualMaqueta
MD Comprensible
Modelo Interno o Lógico
Plano
Schema BD
EficienciaSeguridadIntegridad
Dependiente del DBMS
Casa
BD
Realidad Física
Programas y Métodos de Acceso
Base de Datos 10
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.
Clase de EntidadesDefinición Tipo de
RegistroOcurrencia de
Registro
AtributosDefinición Itemes
de DatoOcurrencia de Itemes de Dato
Eventos, Objetos, Atributos Diccionario de Datos Base de Datos
Realidad Metadato Dato (Valor)
Base de Datos 11
Naturaleza del Dato
RealidadComprende 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 12
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 13
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 14
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 15
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 16
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 17
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 18
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 Cama
Base de Datos 19
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 Cargo
Base de Datos 20
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 Cama
Base de Datos 21
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)
UNO a MUCHOS (1:N)
MUCHOS a MUCHOS (N:M)
Paciente Cama
Empleado Cargo
Alumno Asignatura
Base de Datos 22
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
RUTNOMBREDIRECCION
BENEFICIARIO
RUTNOMBREDIRECCION
POLIZA
#POLIZAFECHA, MONTORUT-ARUT-B
Base de Datos 23
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.
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.
PERSONA
RUTNOMBREDIRECCION
POLIZA
#POLIZAFECHA, MONTORUT-A, RUT-B
Asegurado
Beneficiario
Base de Datos 24
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:1EMPLEADO
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.
Casado-con
Base de Datos 25
Representación del Dato: Asociación
Asociaciones Recursivas (Loops):1:N
M:N
EMPLEADO
Si se supone que cada empleado tiene sólo un jefe, entonces puede existir una asociación de jefe a subordinado.
Jefe-de
PRODUCTO
Un PRODUCTO se compone de otros PRODUCTOS (piezas) y éstos a su vez de otros, y asísucesivamente.
Componentes
Base de Datos 26
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.
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).
PRODUCTO
#PRODUCTONOMBREETC.
PIEZA
#PIEZA#COMPONENTECANT-USADA
Base de Datos 27
Semántica de los DatosSe 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 GradoDependenciaTiempoUnicidadClase ( o generalización)Agregación
Base de Datos 28
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 29
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.
La asociación binaria es una relación entre ocurrencias de dos clases de entidades, pueden ser 1:1, 1:M o M:N.
EMPLEADOCasado-con
EMPLEADOJefe-de
CLIENTE PEDIDO
Pedidos-Cliente
Base de Datos 30
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 ORDENPEDIDO
BODEGA
Embarque
Base de Datos 31
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:
PRODUCTOORDENPEDIDO
EMBARQUE
BODEGA
Producto-para-Embarque Pedido-a-Embarcar
Bodega-desde-donde-Embarcar
Base de Datos 32
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-DE-PEDIDO 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 33
Semántica de los DatosDependencia:
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 NOMBRE NRO-EMP NOM-EMP NRO-DEPTO100 Producción 4340 Mario Araya 100150 Ventas 4980 Cecilia Bustos 150 200 Compras 6065 Ana Gómez 150
6670 Luis Pino 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 34
Semántica de los DatosTiempo:
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 35
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 36
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 ocurrenciaElegir 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:
TAREA
TRABAJADOR -A HONORARIOS
TRABAJADOR DE-PLANTA
EMPLEADO
Esposo/Esposa oPadre/Hijo
Base de Datos 37
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 atributosNOMBRE, 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 38
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 39
Resumen de Semánticas
1. Modelo de Datos Orientado a Objeto
2. Modelo E-R
Generalización
1. La mayoría de los modelos2. Modelo E-R
Unicidad por:1. Clave Primaria 2. Exclusividad
Ninguno lo maneja en forma adecuadaTiempo
Modelo E-RDependencia
TodosGrado
TodosCardinalidad
MODELOS DATOS QUE MEJOR LA REPRESENTAN
TIPO SEMANTICA
Base de Datos 40
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 propiedades-constructora
Base de Datos 41
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.
DominioDominio
Base de Datos 42
Modelo Conceptual de Datos: MER
Símbolos:
Entidad Asociación Gerundio
AtributoClave Primaria Atributo Multivaluado
Base de Datos 43
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 44
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 45
Modelo Conceptual de Datos: MER
Extensiones a Simbología MER:
Atributo Compuesto Atributo Derivado
Entidad Débil
Base de Datos 46
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 NAtributo Componente 1
Atributo Compuesto
Base de Datos 48
Modelo Conceptual de Datos: MER
Semántica de GeneralizaciónAlumno Memorista
Semántica de Unicidad por Exclusividad
ISA
Base de Datos 49
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 51
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 52
Modelo Conceptual de Datos: MER
#Producto#Producto Descripción
PRODUCTO
tiene
Tpo-Entrega
PROVEEDOR
#Proveedor
Nombre-Prov
Dir-Prov
Precio
Cantidad
CLIENTE PEDIDOrealiza
Nombre Dirección #Pedido Fecha
tiene
Base de Datos 53
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 54
Modelo Conceptual de Datos: MER
CLIENTE PEDIDOrealiza
Nombre Dirección #Pedido Fecha
tiene
LINEA PRODUCTO
#Producto#Producto Descripción#Pedido
#ProductoCantidad
PRODUCTO es-asignado
tiene
Precio Tpo-Entrega
PROVEEDOR
#Proveedor
Nombre-Prov
Dir-Prov
Base de Datos 55
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 56
Modelo Conceptual de Datos: MER
PACIENTE MEDICOtiene
Nombre Dirección #Médico Nom-med
#Paciente
ISAISA
PACIENTEAMBULATORIO
PACIENTE RESIDENTE CAMA
asigna
Fecha-Chequeo Fecha-Alta Diagnóstico#Cama Tipo
Base de Datos 57
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 58
Evitar el uso de claves ”inteligentes” (una llave que representa información)
Ejemplo:
x x y y (producto) xxyy
Por ejemplo si se cambia de bodega produce ya un problema !!
Considerar claves simples o atributos simples en un reemplazo de grandes claves compuestas.
bodega tipo
Claves candidatas y
clave primarias
Base de Datos 59
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 60
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.