Sunteți pe pagina 1din 29
Bases de Datos Tema 2: El Modelo Entidad - Relación 5º Curso Ingeniería de Telecomunicación
Bases de Datos
Tema 2:
El Modelo
Entidad - Relación
5º Curso
Ingeniería de Telecomunicación
Curso 2006 – 2007
Índice Introducción: Modelo de datos. Modelos lógicos de datos. Modelos implementables de datos. Modelo
Índice Introducción: Modelo de datos. Modelos lógicos de datos. Modelos implementables de datos. Modelo
Índice Introducción: Modelo de datos. Modelos lógicos de datos. Modelos implementables de datos. Modelo
Índice Introducción: Modelo de datos. Modelos lógicos de datos. Modelos implementables de datos. Modelo

Índice

Introducción:

Modelo de datos.

Modelos lógicos de datos.

Modelos implementables de datos.

Modelo Entidad – Relación:

Definición.

Elementos.

Cardinalidad. Claves.

Dependencia existencial.

Diagrama E-R.

Otros elementos:

Generalización y especialización.

Modelo Relacional:

Definición.

Conceptos.

Restricciones.

Proceso de diseño:

Análisis y diseño de una base

de datos. Conversión del modelo E-R al modelo Relacional.

Problemas:

Problema 1.

Problema 2.

Problema 3.

Soluciones:

Problema 1.

Problema 2.

Problema 3.

2

Introducción Modelo de datos Un modelo es una representación de la realidad . es herramientas
Introducción Modelo de datos Un modelo es una representación de la realidad . es herramientas
Introducción Modelo de datos Un modelo es una representación de la realidad . es herramientas
Introducción Modelo de datos Un modelo es una representación de la realidad . es herramientas

Introducción

Modelo de datos

Un modelo es una representación de la realidad.

es 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):

Un

de

modelo

de

datos

colección

una

Modelos lógicos de datos. Modelos implementables de datos.

Modelos lógicos de datos. Modelos implementables de datos.
Introducción Modelos lógicos de datos Se usan para describir datos a nivel conceptual y externo.
Introducción Modelos lógicos de datos Se usan para describir datos a nivel conceptual y externo.
Introducción Modelos lógicos de datos Se usan para describir datos a nivel conceptual y externo.
Introducción Modelos lógicos de datos Se usan para describir datos a nivel conceptual y externo.

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.

El modelo Entidad-Relación. El modelo orientado a objetos.
Introducción Modelos implementables de datos Se usan para describir datos a nivel interno y
Introducción Modelos implementables de datos Se usan para describir datos a nivel interno y
Introducción Modelos implementables de datos Se usan para describir datos a nivel interno y
Introducción Modelos implementables de datos Se usan para describir datos a nivel interno y

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.

Modelo Entidad – Relación Definición El modelo Entidad – Relación (E-R) es un mecanismo formal
Modelo Entidad – Relación Definición El modelo Entidad – Relación (E-R) es un mecanismo formal
Modelo Entidad – Relación Definición El modelo Entidad – Relación (E-R) es un mecanismo formal
Modelo Entidad – Relación Definición El modelo Entidad – Relación (E-R) es un mecanismo formal

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
Modelo Entidad – Relación Elemento: Entidades Una entidad se define como un objeto concreto o
Modelo Entidad – Relación Elemento: Entidades Una entidad se define como un objeto concreto o
Modelo Entidad – Relación Elemento: Entidades Una entidad se define como un objeto concreto o

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

formando

agrupan conjunto entidad.

un

conjunto

de

entidades

o

Representación:

 
se formando agrupan conjunto entidad . un conjunto de entidades o Representación:   7
Modelo Entidad – Relación Elemento: Atributos Los atributos son las propiedades que caracterizan un conjunto
Modelo Entidad – Relación Elemento: Atributos Los atributos son las propiedades que caracterizan un conjunto
Modelo Entidad – Relación Elemento: Atributos Los atributos son las propiedades que caracterizan un conjunto
Modelo Entidad – Relación Elemento: Atributos Los atributos son las propiedades que caracterizan un conjunto

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:

 
permitidos para un determinado atributo es lo que se denomina dominio . Representación:   8

8

Modelo Entidad – Relación Elemento: Relaciones Una relación es una asociación entre varias
Modelo Entidad – Relación Elemento: Relaciones Una relación es una asociación entre varias
Modelo Entidad – Relación Elemento: Relaciones Una relación es una asociación entre varias
Modelo Entidad – Relación Elemento: Relaciones Una relación es una asociación entre varias

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:

, los cuales representan características propias de la asociación entre varias entidades. Representación: 9

9

Modelo Entidad – Relación Cardinalidad (I) La cardinalidad de una relación expresa el número máximo
Modelo Entidad – Relación Cardinalidad (I) La cardinalidad de una relación expresa el número máximo
Modelo Entidad – Relación Cardinalidad (I) La cardinalidad de una relación expresa el número máximo
Modelo Entidad – Relación Cardinalidad (I) La cardinalidad de una relación expresa el número máximo

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):

Una entidad del primer conjunto puede relacionarse con cualquier número de entidades del segundo y viceversa.

Uno a muchos (1:m):

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.

Modelo Entidad – Relación Cardinalidad (y II) Representación de la cardinalidad de una relación: Muchos
Modelo Entidad – Relación Cardinalidad (y II) Representación de la cardinalidad de una relación: Muchos
Modelo Entidad – Relación Cardinalidad (y II) Representación de la cardinalidad de una relación: Muchos
Modelo Entidad – Relación Cardinalidad (y II) Representación de la cardinalidad de una relación: Muchos

Modelo Entidad – Relación

Cardinalidad (y II)

Modelo Entidad – Relación Cardinalidad (y II) Representación de la cardinalidad de una relación: Muchos a

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
Modelo Entidad – Relación Claves Una clave, o superclave , es un conjunto de uno
Modelo Entidad – Relación Claves Una clave, o superclave , es un conjunto de uno
Modelo Entidad – Relación Claves Una clave, o superclave , es un conjunto de uno

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.

de entidades. Una clave candidata es una superclave tal que ningún subconjunto de atributos constituye una

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.

Modelo Entidad – Relación Dependencia existencial (I) Existe una dependencia existencial entre dos conjuntos de
Modelo Entidad – Relación Dependencia existencial (I) Existe una dependencia existencial entre dos conjuntos de
Modelo Entidad – Relación Dependencia existencial (I) Existe una dependencia existencial entre dos conjuntos de
Modelo Entidad – Relación Dependencia existencial (I) Existe una dependencia existencial entre dos conjuntos de

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:

 

Su existencia es obligatoria para que la exista la entidad subordinada.

 

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.

Modelo Entidad – Relación Dependencia existencial (y II) Se denomina discriminador como el conjunto de
Modelo Entidad – Relación Dependencia existencial (y II) Se denomina discriminador como el conjunto de
Modelo Entidad – Relación Dependencia existencial (y II) Se denomina discriminador como el conjunto de
Modelo Entidad – Relación Dependencia existencial (y II) Se denomina discriminador como el conjunto de

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.

Avión – asientos. Cuenta corriente – transacción. Factura – líneas de detalle. Historia clínica – ingresos.
Avión – asientos. Cuenta corriente – transacción. Factura – líneas de detalle. Historia clínica – ingresos.
Avión – asientos. Cuenta corriente – transacción. Factura – líneas de detalle. Historia clínica – ingresos.

Representación:

Cuenta corriente – transacción. Factura – líneas de detalle. Historia clínica – ingresos. Representación: 14

14

Modelo Entidad – Relación Diagrama E-R La estructura lógica global de una base de datos
Modelo Entidad – Relación Diagrama E-R La estructura lógica global de una base de datos
Modelo Entidad – Relación Diagrama E-R La estructura lógica global de una base de datos
Modelo Entidad – Relación Diagrama E-R La estructura lógica global de una base de datos

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:

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
Modelo Entidad – Relación Otros elementos – Generalización y especialización El conjunto de entidades A
Modelo Entidad – Relación Otros elementos – Generalización y especialización El conjunto de entidades A
Modelo Entidad – Relación Otros elementos – Generalización y especialización El conjunto de entidades A

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:

entidades B: B es una generalización de A. A es un sub-tipo de B. B es
Modelo Relacional Definición El modelo relacional (E. F. Codd en 1970) es el principal modelo
Modelo Relacional Definición El modelo relacional (E. F. Codd en 1970) es el principal modelo
Modelo Relacional Definición El modelo relacional (E. F. Codd en 1970) es el principal modelo
Modelo Relacional Definición El modelo relacional (E. F. Codd en 1970) es el principal modelo

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:

Conceptualmente muy simple, todo se basa en tablas. Apoyado en una sólida base matemática:

Álgebra relacional (1970). Cálculo relacional (1972).

Álgebra relacional (1970). Cálculo relacional (1972).
Modelo Relacional Conceptos (I) 18
Modelo Relacional Conceptos (I) 18
Modelo Relacional Conceptos (I) 18
Modelo Relacional Conceptos (I) 18

Modelo Relacional

Conceptos (I)

Modelo Relacional Conceptos (I) 18

18

Modelo Relacional Conceptos (II) Relación:   Tabla. Compuesta por:   Cabecera o conjunto de
Modelo Relacional Conceptos (II) Relación:   Tabla. Compuesta por:   Cabecera o conjunto de
Modelo Relacional Conceptos (II) Relación:   Tabla. Compuesta por:   Cabecera o conjunto de
Modelo Relacional Conceptos (II) Relación:   Tabla. Compuesta por:   Cabecera o conjunto de

Modelo Relacional

Conceptos (II)

Relación:

 

Tabla.

Compuesta por:

 

Cabecera o conjunto de atributos. Cuerpo o conjunto de tuplas.

Cardinalidad de una relación:

Número de tuplas de una relación.

Grado de una relación:

Número de atributos de una relación.

Tupla:

 

Cada una de las instancias de la relación (filas de la tabla).

Atributo:

 

Cada una de las columnas de la tabla.

Modelo Relacional Conceptos (II) Dominio de un atributo: Conjunto de valores permitidos para un atributo.
Modelo Relacional Conceptos (II) Dominio de un atributo: Conjunto de valores permitidos para un atributo.
Modelo Relacional Conceptos (II) Dominio de un atributo: Conjunto de valores permitidos para un atributo.
Modelo Relacional Conceptos (II) Dominio de un atributo: Conjunto de valores permitidos para un atributo.

Modelo Relacional

Conceptos (II)

Dominio de un atributo:

Conjunto de valores permitidos para un atributo.

Clave primaria:

Conjunto de atributos que identifican unívocamente una tupla.

Relación entre los términos formales e informales:

Conjunto de atributos que identifican unívocamente una tupla. Relación entre los términos formales e informales: 20

20

Modelo Relacional Restricciones Una relación cumple las siguientes propiedades: No tiene tuplas repetidas. Las
Modelo Relacional Restricciones Una relación cumple las siguientes propiedades: No tiene tuplas repetidas. Las
Modelo Relacional Restricciones Una relación cumple las siguientes propiedades: No tiene tuplas repetidas. Las
Modelo Relacional Restricciones Una relación cumple las siguientes propiedades: No tiene tuplas repetidas. Las

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:

No tiene tuplas repetidas. Las tuplas no están ordenadas. Los atributos no están ordenados. Ejemplo: 21

21

Proceso de diseño Análisis y diseño de una base de datos Para la creación de
Proceso de diseño Análisis y diseño de una base de datos Para la creación de
Proceso de diseño Análisis y diseño de una base de datos Para la creación de
Proceso de diseño Análisis y diseño de una base de datos Para la creación de

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.

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.
Proceso de diseño Conversión del modelo E-R al modelo Relacional (I) Conjuntos de entidades: Tabla.
Proceso de diseño Conversión del modelo E-R al modelo Relacional (I) Conjuntos de entidades: Tabla.
Proceso de diseño Conversión del modelo E-R al modelo Relacional (I) Conjuntos de entidades: Tabla.

Proceso de diseño

Conversión del modelo E-R al modelo Relacional (I)

Conjuntos de entidades:

Tabla.

Atributos:

 

Los atributos del conjunto de entidades.

 

Clave primaria:

 

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.

Proceso de diseño Conversión del modelo E-R al modelo Relacional (II) Relaciones (generalmente): Tabla. Atributos:
Proceso de diseño Conversión del modelo E-R al modelo Relacional (II) Relaciones (generalmente): Tabla. Atributos:
Proceso de diseño Conversión del modelo E-R al modelo Relacional (II) Relaciones (generalmente): Tabla. Atributos:
Proceso de diseño Conversión del modelo E-R al modelo Relacional (II) Relaciones (generalmente): Tabla. Atributos:

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:

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.

Cardinalidad muchos a uno:

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.

Proceso de diseño Conversión del modelo E-R al modelo Relacional (y III) Generalización y especialización
Proceso de diseño Conversión del modelo E-R al modelo Relacional (y III) Generalización y especialización
Proceso de diseño Conversión del modelo E-R al modelo Relacional (y III) Generalización y especialización
Proceso de diseño Conversión del modelo E-R al modelo Relacional (y III) Generalización y especialización

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.

Proceso de diseño Conversión del modelo E-R al modelo Relacional (y III) Generalización y especialización
Proceso de diseño Conversión del modelo E-R al modelo Relacional (y III) Generalización y especialización
Proceso de diseño Conversión del modelo E-R al modelo Relacional (y III) Generalización y especialización
Proceso de diseño Conversión del modelo E-R al modelo Relacional (y III) Generalización y especialización

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
Problemas Problema 1 Se desea diseñar un esquema relacional de una base de datos para
Problemas Problema 1 Se desea diseñar un esquema relacional de una base de datos para
Problemas Problema 1 Se desea diseñar un esquema relacional de una base de datos para

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.

Problemas Problema 2 Se desea diseñar una base de datos para una Universidad que contenga
Problemas Problema 2 Se desea diseñar una base de datos para una Universidad que contenga
Problemas Problema 2 Se desea diseñar una base de datos para una Universidad que contenga
Problemas Problema 2 Se desea diseñar una base de datos para una Universidad que contenga

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
Problemas Problema 3 Imaginemos una organización en la que se consideran dos tipos distintos de
Problemas Problema 3 Imaginemos una organización en la que se consideran dos tipos distintos de
Problemas Problema 3 Imaginemos una organización en la que se consideran dos tipos distintos de

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.