TEMA 3.- MODELOS CONCEPTUALES DE DATOS. El Diseño de una Base de Datos. Modelos de Datos. El Modelo Entidad-Relación. Extensiones del Modelo Entidad-Relación. 1. El Diseño de una Base de Datos El Sistema de Información (S.I.) regula la distribución, el compartimiento y el almacenamiento de la información. Una base de datos es un componente esencial del S.I. La tarea de construir correctamente una base de datos se sitúa en una perspectiva adecuada al considerarla dentro del ciclo de vida de los S.I. El diseño de un S.I. incluye la planificación, especificación y desarrollo de cada componente. Estudio de Factibilidad Recolección y Análisis de Requerimientos Diseño Diseño Conceptual Diseño Lógico Diseño Físico Implantación Validación y Pruebas Operación Modelos Conceptuales de Datos Página 1 de 13
El proceso de diseño de una base de datos se descompone en subprocesos. Se realiza cada uno con técnicas y métodos específicos. Diseño Conceptual. Parte de la Especificación de Requerimientos y obtiene el Esquema Conceptual (el contenido de información de la base de datos). Se utilizan Modelos Conceptuales de Datos. No depende de ningún SGBD. Diseño Lógico. Parte del Esquema Conceptual y obtiene el Esquema Lógico (estructura de la base de datos procesable por algún SGBD). Se utilizan Modelos Lógicos de Datos. Depende del modelo del SGBD, no del SGBD. Diseño Físico. Parte del Esquema Lógico y obtiene un Esquema Físico (implementación de la base de datos, estructuras de almacenamiento y métodos para acceder a la información. Depende del SGBD. Retroalimenta al Diseño Lógico. Por último, los Esquemas Lógico y Físico se expresan haciendo uso del DDL, se crea la base de datos, se carga y se prueba. Modelos Conceptuales de Datos Página 2 de 13
2. Modelos de Datos Un modelo de datos es un conjunto de conceptos, reglas y convenciones que permiten describir los datos del mundo real, así como un conjunto de operaciones que permiten manipularlos. Los conceptos se construyen usando los mecanismos de abstracción habituales: Clasificación. Expresa la idea de Es un miembro de. Agregación. Expresa la idea de Es parte de. Generalización. Expresa la idea de Es un. Los modelos conceptuales se caracterizan por: 1. Independientes del SGBD 2. Mayor nivel de abstracción 3. Mayor capacidad semántica 4. Interfaz usuario/informático Los modelos lógicos se caracterizan por: 1. Instrumentados en algún SGBD 2. Más próximos al ordenador 3. Poca (menor) capacidad semántica 4. Interfaz informático/sistema Modelos Conceptuales propuestos: Modelo Semántico de Datos Modelo Funcional Modelo Binario Modelo Entidad-Relación Modelos Conceptuales de Datos Página 3 de 13
Cualidades de los Modelos Conceptuales de Datos Deben ser buenas herramientas para expresar la realidad. Expresividad: Disponibilidad de una amplia gama de conceptos. Simplicidad: Los esquemas creados deben ser fáciles de entender. Minimalidad: Cada concepto tiene un significado distinto con respecto a los demás. Formalidad: Todos los conceptos tienen una interpretación única, precisa y bien definida. 3. Modelo Entidad-Relación Una base de datos puede ser modelada como: una colección de entidades, relaciones entre las entidades. ENTIDADES Entidad: Un objeto que existe y es distinguible de otros objetos. Ejemplos: una persona específica, una compañía, un suceso,... Conjunto de entidades: Agrupación de entidades del mismo tipo que comparten las mismas propiedades. Ejemplos: El conjunto de todas las personas, los artículos de un almacén. Modelos Conceptuales de Datos Página 4 de 13
ATRIBUTOS Una entidad está representada por un conjunto de atributos; es decir, propiedades descriptivas que poseen todos los miembros del conjunto de entidades. Ejemplo: Cliente = (Nombre, Nº Seguridad Social, Calle, Ciudad) Cuenta = (Nº Cuenta, Saldo) Dominio: El conjunto de valores permitidos para cada atributo Tipos de atributos: Atributos simples y compuestos. Atributos mono-valuados y multi-valuados. Atributos nulos. Atributos derivados. Identificador de entidad: Atributo o conjunto de atributos cuyos valores permiten distinguir una entidad del resto. RELACIONES Relación: Asociación entre dos o más entidades. Ejemplo: Juan Posee A-102 Entidad Cliente Relación Entidad Cuenta Modelos Conceptuales de Datos Página 5 de 13
Conjunto de relaciones: Es una relación matemática entre n 2 entidades, cada una de ellas tomada de un conjunto de entidades. {(e 1, e 2,..., e n ) e 1 E1, e2 E2,..., e n E n } donde (e 1, e 2,..., e n ) es una relación. Ejemplo: (Juan, A-102) depositar Un atributo puede ser también una propiedad de un conjunto de relaciones. Ejemplo: El conjunto de relaciones depositar entre los conjuntos de entidades clientes y cuentas puede tener el atributo fecha de acceso. Identificador de relación: Concatenación de los identificadores de las entidades por ella asociadas. Seg. Social Nombre Nº Cuenta Balance Clientes Depositar Cuentas Calle Localidad Fecha de acceso Modelos Conceptuales de Datos Página 6 de 13
DIAGRAMAS ENTIDAD-RELACION Rectángulos representan conjuntos de entidades. Elipses representan atributos. Rombos representan conjuntos de relaciones. Líneas enlazan los atributos a los conjuntos de entidades o de relaciones y conjuntos de entidades a conjuntos de relaciones. Los identificadores se subrayan. GRADO DE UN CONJUNTO DE RELACIONES Se refiere al número de conjuntos de entidades que participan en el conjunto de relaciones. Los conjuntos de relaciones que involucran a dos conjuntos de entidades son binarias (o de grado dos). Los conjuntos de relaciones pueden tener cualquier grado. Ejemplo: Los conjuntos de entidades clientes, préstamos y sucursales están asociados por una relación ternaria. Películas Salario Estrellas Contratar Estudios Modelos Conceptuales de Datos Página 7 de 13
CARDINALIDADES Sea R un conjunto de relaciones entre los conjuntos de entidades E 1 y E 2. Min (E 1, R): La cardinalidad mínima de E 1 en R es el menor número de correspondencias en las que cada elemento de E 1 puede tomar parte. Si min (E 1, R) = 0, la participación es opcional. Si min (E 1, R) > 0, la participación es obligatoria. Max (E 1, R): La cardinalidad máxima de E 1 en R es el mayor número de correspondencias en las que cada elemento de E 1 puede participar. Según el concepto que introdujo Chen: Una relación R entre E 1 y E 2 tiene cardinalidad uno a uno si max (E 1, R)=1 y max (E 2, R)=1. La relación entre clientes y tarjetas de crédito Una relación R entre E 1 y E 2 tiene cardinalidad uno a varios si max (E 1, R)=1 y max (E 2, R)=n. La relación entre padres e hijos Una relación R entre E 1 y E 2 tiene cardinalidad varios a uno si max (E 1, R)=n y max (E 2, R)=1. La recíproca, entre hijos y padres Una relación R entre E 1 y E 2 tiene cardinalidad varios a varios si max (E 1, R)=n y max (E 2, R)=n. La relación entre clientes y cuentas bancarias Modelos Conceptuales de Datos Página 8 de 13
ENTIDADES DÉBILES Si la existencia de la entidad x depende de la existencia de la entidad y, entonces se dice que x depende por existencia de y. Préstamos (0,n) Ser de (1,n) Pagos Si una entidad Préstamo se elimina, entonces todos los Pagos asociados deben también eliminarse. Una entidad que no tiene identificador propio se dice que es una entidad débil. La existencia de una entidad débil depende de la existencia de otra entidad, con la que se relaciona mediante una relación uno a varios. El discriminador de un conjunto de entidades débiles es el conjunto de atributos que distingue una entidad débil del resto. El identificador de un conjunto de entidades débiles se forma concatenando el identificador del conjunto de entidades del que depende con el discriminador. Número Cantidad Cantidad Préstamos Pagos Nº Pago Fecha Modelos Conceptuales de Datos Página 9 de 13
ESPECIALIZACIÓN Dentro del mismo conjunto de entidades, se pueden agrupar aquellas entidades que tienen algo que las hace distinguibles de las otras entidades. Estas agrupaciones se pueden considerar nuevos conjuntos de entidades (subconjuntos) que tienen sus propios atributos o que participan en relaciones en las que no está el conjunto de entidades general (conjunto genérico). La relación que existe entre el conjunto genérico y los subconjuntos es una relación es un ( is a ). Número Saldo Cuentas Interés Descubierto Cuentas de ahorro Cuentas corrientes Estándar Oro Senior Cheques Saldo mínimo Fecha de nacimiento Modelos Conceptuales de Datos Página 10 de 13
GENERALIZACIÓN Es posible combinar una serie de conjuntos de entidades (subconjuntos) que comparten alguna característica en un conjunto de entidades de un nivel superior (conjunto genérico). Jerarquía de Generalización: Un conjunto de entidades E es una generalización de los conjuntos E 1, E 2,..., E n si cada entidad de los conjuntos E 1, E 2,..., E n es, también, una entidad de la clase E. Herencia de atributos: Las entidades de nivel más bajo heredan los atributos y la participación en las relaciones del conjunto de entidades de más alto nivel con el que están enlazadas. La relación que existe entre el conjunto genérico y los subconjuntos es una relación es un ( is a ). Especialización y generalización son operaciones inversas. PROPIEDADES DE LA GENERALIZACION Cobertura total o parcial: Cada entidad del conjunto genérico corresponde o no, al menos, a una entidad de los subconjuntos. Cobertura exclusiva o superpuesta: Cada entidad del conjunto genérico corresponde o no, a lo más, a una entidad de los subconjuntos. Personas: Hombres y Mujeres. Personas: Hombres y Empleados. Vehículos: Bicicletas y Coches. Jugadores: De fútbol y De tenis. Modelos Conceptuales de Datos Página 11 de 13
MODELANDO VARIACIONES EN EL TIEMPO Muchas veces dan lugar a relaciones múltiples (distintas relaciones entre las mismas entidades). Los conjuntos de entidades débiles pueden utilizarse para modelar las variaciones en el tiempo. Los atributos independientes del tiempo se almacenan en un conjunto; los dependientes forman parte del conjunto de entidades débiles. El peso de una persona varía con el tiempo. Los propietarios de los vehículos cambian con el tiempo. Las películas de vídeo son alquiladas según pasa el tiempo. RELACIONES DERIVADAS Una relación derivada es una cuya información puede obtenerse a partir de otras relaciones presentes en el esquema. Deben evitarse. Los Departamentos tienen Secciones en las que están las Personas empleadas por los Departamentos. Los Conductores utilizan Camiones para hacer los Repartos. RELACIONES RECURSIVAS Modelan las situaciones en que dos entidades del mismo conjunto se relacionan entre sí. Es necesario especificar el rol de cada entidad en la relación. Los padres y los hijos. Las piezas están formadas por piezas. Modelos Conceptuales de Datos Página 12 de 13
CUALIDADES DE UN ESQUEMA E-R Completo: Representa todas las características del dominio de aplicación. Correcto: Usa con propiedad los conceptos del modelo E-R. Mínimo: Cada aspecto de los requerimientos aparece una vez en el esquema. Expresivo: Representa los requerimientos de una forma natural. Modelos Conceptuales de Datos Página 13 de 13