Bases de Datos
Tema 2: El Modelo Entidad - Relación 5º Curso Ingeniería de Telecomunicación Curs Cu rso o 20 2006 06 – 20 2007 07
Índice
Introducción:
Modelo de datos. Modelos lógicos de datos. Modeloss implem Modelo implementab entables les de datos. datos.
Modelo Mod elo Enti Entidad dad – Rel Relació ación: n:
Definición. Elementos. Cardinalidad. Claves. Dependencia existencial. Diagrama E-R. Otros elementos:
Generalización y especialización.
Proceso de diseño:
Problemas:
Análisis y diseño de una base de datos. Conversión del modelo E-R al modelo Relacional. Problema 1. Problema 2. Problema 3.
Soluciones:
Problema 1. Problema 2. Problema 3.
Modelo Relacional:
Definición. Conceptos. Restricciones.
2
Introducción Modelo de datos
Un modelo es una representación de la realidad . Un modelo de datos es una colección de herramientas conceptuales que se emplean para especificar datos, las relaciones entre ellos, su semántica asociada y las restricciones de integridad .
Clasificación (en función del nivel de abstracción en el que se manejan los datos):
Modelos lógicos de datos. Modelos implementables de datos. 3
Introducción Modelos lógicos de datos
Se usan para describir datos a nivel conceptual y externo. Sus características son:
Gran capacidad expresiva. Muy flexibles y simples. Formales y rigurosos.
Algunos de ellos son:
El modelo Entidad-Relación. El modelo orientado a objetos. 4
Introducción Modelos implementables de datos
Se usan para describir datos a nivel interno y conceptual. Sus características son:
Especificar la estructura lógica global. Describir a nivel de implementación (almacenamiento, restricciones de integridad genéricas…).
Algunos de ellos son:
El modelo jerárquico. El modelo en red. El modelo relacional. 5
Modelo Entidad – Relación Definición
El modelo Entidad – Relación (E-R) es un mecanismo formal para representar y manipular información de manera general y sistemática. Características:
Refleja tan sólo la existencia de los datos, no lo que se hace con ellos. Es independiente del sistema operativo y del SGBD que se empleen posteriormente. Es independiente de las restricciones de almacenamiento y de tiempo de ejecución. Se pueden especificar restricciones.
Elementos de un modelo E-R:
Entidades. Atributos. Relaciones.
6
Modelo Entidad – Relación Elemento: Entidades
Una entidad se define como un objeto concreto o abstracto que existe, que puede distinguirse de cualquier otro objeto y del cual se desea almacenar información. Todas la entidades que son del mismo tipo se agrupan formando un conjunto de entidades o conjunto entidad . Representación:
7
Modelo Entidad – Relación Elemento: Atributos
Los atributos son las propiedades que caracterizan un conjunto de entidades. El conjunto de valores permitidos para un determinado atributo es lo que se denomina dominio. Representación:
8
Modelo Entidad – Relación Elemento: Relaciones
Una relación es una asociación entre varias entidades. Generalmente se establece entre dos entidades (relación binaria). Un conjunto de relaciones es un grupo de relaciones del mismo tipo. Una relación también puede tener atributos de relación, o atributos descriptivos, los cuales representan características propias de la asociación entre varias entidades. Representación:
9
Modelo Entidad – Relación Cardinalidad (I)
La cardinalidad de una relación expresa el número máximo de entidades de un conjunto que se relaciona con una entidad de otro conjunto y vicerversa. Para un conjunto de relaciones binarias, la cardinalidad puede ser:
Muchos a muchos (m:n):
Uno a muchos (1:m):
Una entidad del primer conjunto puede relacionarse con cualquier número de entidades del segundo y viceversa. Una entidad del primer conjunto puede relacionarse con cualquier número del segundo, pero una entidad del segundo conjunto sólo puede relacionarse con una entidad del primero.
Uno a uno (1:1):
Una entidad del primer conjunto sólo puede relacionarse con una entidad del segundo conjunto y viceversa. 10
Modelo Entidad – Relación Cardinalidad (y II)
Representación de la cardinalidad de una relación:
Muchos a muchos. Uno a muchos. Uno a uno.
11
Modelo Entidad – Relación Claves
Una clave, o superclave, es un conjunto de uno o más atributos que, considerados conjuntamente, nos permiten identificar de forma única a una entidad dentro de un conjunto de entidades. Una clave candidata es una superclave tal que ningún subconjunto de atributos constituye una superclave. El término clave primaria se utiliza para denotar una clave candidata que elige el diseñador de la base de datos como el medio principal de identificar entidades dentro de un conjunto de entidades. Normalmente, para distinguir los atributos que forman parte de la clave primaria, éstos se suelen subrayar:
atributo-1. 12
Modelo Entidad – Relación Dependencia existencial (I)
Existe una dependencia existencial entre dos conjuntos de entidades si la existencia de uno de ellos depende de la existencia de la otra entidad:
Entidad Dominante:
Entidad Subordinada:
Su existencia es obligatoria para que la exista la entidad subordinada. Su existencia depende de la existencia de la entidad dominante.
En función de la clave de una entidad, las entidades se clasifican en:
Entidades fuertes:
Aquellos conjuntos de entidades que tienen atributos suficientes para formar una clave candidata.
Entidades débiles:
Aquellos conjuntos de entidades que no tienen los atributos necesarios formar una clave candidata y dependen de una entidad fuerte. 13
Modelo Entidad – Relación Dependencia existencial (y II)
Se denomina discriminador como el conjunto de atributos (X) de la entidad débil tal que, para cada valor de la clave primaria (Y) de la entidad fuerte a la que está supeditada, el valor de X identifica de manera única una entidad del conjunto de entidades débiles. Algunos ejemplos:
Avión – asientos. Cuenta corriente – transacción. Factura – líneas de detalle. Historia clínica – ingresos.
Representación:
14
Modelo Entidad – Relación Diagrama E-R
La estructura lógica global de una base de datos puede representarse gráficamente por medio de un Diagrama Entidad – Relación. Repaso de las representaciones:
15
Modelo Entidad – Relación Otros elementos – Generalización y especialización
El conjunto de entidades A (E. Específica 1) es una especialización del conjunto de entidades B (E. Genérica) si el conjunto de entidades A está incluido en el conjunto de entidades B:
B es una generalización de A. A es un sub-tipo de B. B es un supertipo de A.
Representación:
16
Modelo Relacional Definición
El modelo relacional (E. F. Codd en 1970) es el principal modelo de datos implementable para aplicaciones comerciales. Proporciona un procedimiento para representar los datos y manipular dicha representación, ocupándose también de la integridad. Características:
Conceptualmente muy simple, todo se basa en tablas. Apoyado en una sólida base matemática:
Álgebra relacional (1970). Cálculo relacional (1972). 17
Modelo Relacional Conceptos (I)
18
Modelo Relacional Conceptos (II)
Relación:
Tabla. Compuesta por:
Cardinalidad de una relación:
Número de atributos de una relación.
Tupla:
Número de tuplas de una relación.
Grado de una relación:
Cabecera o conjunto de atributos. Cuerpo o conjunto de tuplas.
Cada una de las instancias de la relación (filas de la tabla).
Atributo:
Cada una de las columnas de la tabla. 19
Modelo Relacional Conceptos (II)
Dominio de un atributo:
Clave primaria:
Conjunto de valores permitidos para un atributo. Conjunto de atributos que identifican unívocamente una tupla.
Relación entre los términos formales e informales:
20
Modelo Relacional Restricciones
Una relación cumple las siguientes propiedades:
No tiene tuplas repetidas. Las tuplas no están ordenadas. Los atributos no están ordenados.
Ejemplo:
21
Proceso de diseño Análisis y diseño de una base de datos
Para la creación de una base de datos:
Proceso de análisis:
Modelo lógico de datos. Modelo Entidad – Relación.
Proceso de diseño:
Modelo implementable de datos. Modelo Relacional.
22
Proceso de diseño Conversión del modelo E-R al modelo Relacional (I)
Conjuntos de entidades:
Tabla. Atributos:
Clave primaria:
Los atributos del conjunto de entidades. La clave primaria del conjunto de entidades.
Conjuntos de entidades débiles:
Tabla. Atributos:
Los atributos propios más la atributos de la clave primaria del conjunto de entidades fuerte del que depende.
Clave primaria:
La clave primaria de la entidad fuerte asociada con algún o algunos atributos propios de la entidad débil.
23
Proceso de diseño Conversión del modelo E-R al modelo Relacional (II)
Relaciones (generalmente):
Tabla. Atributos:
Las claves primarias de las entidades que relaciona junto con los atributos propios de la relación.
Clave primaria:
Depende de la cardinalidad de la relación. Cardinalidad muchos a muchos:
Cardinalidad muchos a uno:
Unión de las claves primarias de los conjuntos de entidades involucrados en la relación. Los atributos propios de la relación podrían formar parte de la clave primaria. La clave primaria del conjunto de entidades que participa con la cardinalidad muchos en la relación. Algún atributo propio de la relación podría formar parte de la clave primaria.
Cardinalidad uno a uno:
La clave primaria de alguno de los conjuntos de entidades que forman parte de la relación. 24
Proceso de diseño Conversión del modelo E-R al modelo Relacional (y III)
Generalización y especialización :
Método 1:
Este método se basa en crear una tabla por cada conjunto de entidades del diagrama. El conjunto de entidades más general pasa a ser una tabla con los mismos atributos y clave primaria. Cada uno de los conjuntos de entidades de nivel inferior dará lugar a una tabla constituida por los atributos propios más la clave primaria del conjunto de entidades superior. 25
Proceso de diseño Conversión del modelo E-R al modelo Relacional (y III)
Generalización y especialización :
Método 2:
Este método se basa en crear una tabla por cada caso particular. La información del conjunto de entidades de nivel superior se integra dentro de las tablas correspondientes a las especializaciones. Cada uno de los conjuntos de entidades de nivel inferior dará lugar a una tabla constituida por los atributos propios más los atributos del conjunto de entidades de nivel superior.
26
Problemas Problema 1
Se desea diseñar un esquema relacional de una base de datos para un centro de enseñanza que contenga información sobre los alumnos (DNI, nombre, apellidos y dirección), las asignaturas (nombre de las asignaturas y el curso al que pertenecen) y las calificaciones que se obtienen en cada una de las mismas. Desarrollar un modelo E-R del mismo y posteriormente reducirlo a tablas. 27
Problemas Problema 2
Se desea diseñar una base de datos para una Universidad que contenga información sobre los alumnos (DNI, nombre, apellidos y dirección), las asignaturas (nombre) y las carreras (nombre y duración) que se pueden estudiar. Construir un modelo E-R y pasarlo posteriormente a un esquema relacional teniendo en cuenta las siguientes restricciones:
Un alumno puede estar matriculado en muchas asignaturas. Una asignatura sólo puede pertenecer a una sola carrera, aunque haya asignaturas con el mismo nombre en varias carreras. Una carrera puede tener muchas asignaturas.
28
Problemas Problema 3
Imaginemos una organización en la que se consideran dos tipos distintos de empleados, los funcionarios y los contratados laborales. De todos ellos debe conocerse el DNI y nombre. Sólo para los funcionarios, es necesario incluir su nivel y su fecha de ingreso en el cuerpo, mientras que para los contratados laborales es necesario considerar el grupo al que pertenecen y su especialidad. Construir un modelo E-R y pasarlo posteriormente a un esquema relacional. 29