Modelo entidad relación parte 1

26
Modelo Entidad-Relación Autor: Miguel Orquera Profesor de Bases de datos Universidad Técnica del Norte Ibarra - Ecuador Basado en el libro Fundamentos de Bases de datos. 4ta ed. Korth, Silverschatz, Sudarshan

description

Se describe el modelo Entidad Relación para diseño de bases de datos

Transcript of Modelo entidad relación parte 1

Page 1: Modelo entidad relación parte 1

Modelo Entidad-Relación

Autor: Miguel OrqueraProfesor de Bases de datos

Universidad Técnica del NorteIbarra - Ecuador

Basado en el libro Fundamentos de Bases de datos. 4ta ed. Korth, Silverschatz, Sudarshan

Page 2: Modelo entidad relación parte 1

Contenidos

Conjuntos de entidadesConjuntos de relacionesCuestiones de diseño Restricciones ClavesDiagramas E-R

Page 3: Modelo entidad relación parte 1

Conjuntos de entidades

Una base de datos puede ser modelada como: Una colección de entidades, Relaciones entre entidades.

Una entidad es un objeto que existe y es distinguible de otros objetos. Ejemplo: una persona específicas,

compañia, evento, planta Las entidades tienen atributos

Ejemplo: las personas tienen nombres y direcciones

Un conjunto de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades. Ejemplo: conjunto de todas las personas, compañias

árboles, días de vacación

Page 4: Modelo entidad relación parte 1

Conjuntos de entidades cliente y préstamo

customer-id customer- customer- customer- loan- amount name street city number

Page 5: Modelo entidad relación parte 1

Atributos Una entidad está representada por un conjunto de atributos, estas

son propiedades descriptivas poseidas por todos los miembros de un conjunto de entidades.

Ejemplo: customer = (customer-id, customer-name, customer-street, customer-city)loan = (loan-number, amount)

Dominio – el conjunto de valores permitidos por cada atributo Tipos de atributos:

Atributos Simples y Compuestos. Atributos univalorados y multi-valorados

Ej. Atributo multivalorado: números de teléfono Atributos Derivados

Pueden ser calculados desde otros otributos Ej. edad, dado la fecha de nacimiento

Page 6: Modelo entidad relación parte 1

Atributos compuestos

Page 7: Modelo entidad relación parte 1

Conjuntos de relaciones

Una relación es una asociación entre varias entidadesEjemplo:

Hayes depositante A-102

entidad cliente relación entidad cuenta Un conjunto de relaciones es una relación

matemática entre n 2 entidades, cada una tomada desde conjuntos de entidades

{(e1, e2, … en) | e1 E1, e2 E2, …, en En}

donde (e1, e2, …, en) es una relación Ejemplo:

(Hayes, A-102) depositante

Page 8: Modelo entidad relación parte 1

Conjunto de relaciones prestatario

Page 9: Modelo entidad relación parte 1

Conjuntos de Relaciones (Cont.)

Un atributo puede también pertenecer a un conjunto de relaciones. Por ejemplo, la relación depositante entre los conjuntos de entidades

customer y account podria tener el atributo fecha-acceso

Page 10: Modelo entidad relación parte 1

Grado de un Conjunto de Relaciones

Se refiere al número de conjuntos de entidades que participan en la relación.

Las relaciones que involucran dos conjuntos de entidades son binarias (o grado dos). Generalmente, la mayoría de las relaciones en un sistema de base de datos son binarias.

Las relaciones pueden involucrar mas de dos conjuntos de entidades. Ej. Suponga que los empleados de un banco pueden

tener tareas (responsibidades) en varias sucursales, con diferentes tareas en diferentes sucursales. Entonces hay una relación ternaria entre los conjuntos de entidades empleado, tarea y sucursal

Las relaciones entre mas de dos conjuntos de entidades son raras. La mayoría de las relaciones son binarias.

Page 11: Modelo entidad relación parte 1

Correspondencia de Cardinalidades

Expresa el número de entidades a las cuales otra entidad puede ser asociada mediante una relación.

Se usan mucho en la descripción de relaciones binarias.

En una relación binaria la corresponencia de cardinalidades debe ser una de las siguientes: Uno a uno Uno a muchos Muchos a uno Muchos a muchos

Page 12: Modelo entidad relación parte 1

Correspondencia de Cardinalidades

Uno a uno Uno a muchos

Nota: Algunos elementos en A y B podrían no ser mapeados con ningún elemento en el otro conjunto

Page 13: Modelo entidad relación parte 1

Correspondencia de Cardinalidades

Muchos a uno Muchos a muchos

Nota: Algunos elementos en A y B podrían no ser mapeados con ningún elemento en el otro conjunto

Page 14: Modelo entidad relación parte 1

La Cardinalidad afecta al diseño E-R

Se puede hacer al atributo fecha de acceso un atributo de account, en vez de ser atributo de la relación, si cada account puede tener solamente un customer

Es decir, la relación desde account a customer es muchos a uno, o equivalentemente, customer a account es uno a muchos

Page 15: Modelo entidad relación parte 1

Diagramas E-R

Rectángulos representan conjuntos de entidades.Rombos representan relaciones.Lineas unen atributos a conjuntos de entidades y conjuntos de entidades a relaciones.Elipses representan atributos

Doble elipses representan atributos multivaluados.Elipses segmentadas denotan atributos derivados.

Subrayado indica un atributo que es clave primaria

Page 16: Modelo entidad relación parte 1

Diagrama E-R con atributos Compuestos, Multivaluados, y Derivados

Page 17: Modelo entidad relación parte 1

Relaciones con Atributos

Page 18: Modelo entidad relación parte 1

Roles

Los conjuntos de entidades de una relación no necesitan ser distintas. Las etiquetas “manager” y “worker” son llamadas roles; ellos espacifican

como las entidades employee interactúan en la relación works-for. Los roles están indicados en los diagramas E-R etiquetando las lineas que

conectan los rombos a los rectángulos. Las etiquetas de roles son opcionales, y son usados par clarificar la semántica

de las relaciones

Page 19: Modelo entidad relación parte 1

Restricciones de Cardinalidad

Se Expresa las restricciones de cardinalidad dibujando o una linea dirigida (), que significa “uno,” o una linea no dirigida (—), que significa “muchos” , entre la relacion y la entidad.

Ej: Relación Uno a uno: Un customer es asociado con al menos un préstamo en la

relación borrower Un loan es asociado con al menos un customer en borrower

Page 20: Modelo entidad relación parte 1

Relación uno a muchos

En una relación uno a muchos un loan es asociado con al menos un customer a través de borrower, un customer es asociado con varios (incluído 0) loans en borrower

Page 21: Modelo entidad relación parte 1

Relaciones Muchos a Uno

En una relación muchos a uno un loan es asociado con varios (incluído 0) customers en borrower, un customer es asociado con al menos un loan en borrower

Page 22: Modelo entidad relación parte 1

Relación Muchos a Muchos

Un customer es asociado con varios (posiblemente 0) loans en borrowerUn loan es asociado con varios (posiblemente 0) customers en borrower

Page 23: Modelo entidad relación parte 1

Participación de un conjunto de entidades dentro de una relación Participación total (indicada por doble linea): cada entidad de un

conjunto se reñlaciona con al menos un elemento del otro conjunto de entidades.

Ej. La participación de loan en borrower es total cada loan debe tener un customer asociado a él en borrower

Participación parcial: algunas entidades no participan dentro de la relación

Ej. la participación de customer en borrower es parcial

Page 24: Modelo entidad relación parte 1

Notación Alternativa para la Cardinalidad En la Cardinalidad se puede también

expresar las restricciones de participación

Page 25: Modelo entidad relación parte 1

Claves

Una super clave de un conjunto de entidades está compuenta por uno o mas atributos cuyos valores identifican a cada entidad.

Una clave candidata de un conjunto de entidades es una mínima super clave Customer-id es clave candidata de customer account-number es clave candidata de

account Aunque pueden existir varias claves

candidatas, solo una de ellas es seleccionada como clave primary.

Page 26: Modelo entidad relación parte 1

Claves de Conjuntos de Relaciones

La combinación de claves primarias de los conjuntos de entidades participantes forman una superclave de un conjunto de relaciones. (customer-id, account-number) es la super clave de

depositor NOTA: esto significa que un par de conjuntos de entidades

puede tener al menos una relación en un conjunto de relaciones.

Ej. Si queremos encontrar todas las fechas de acceso a cada cuenta por cada cliente, no podemos asumir una relación para cada acceso. Aquí se puede usar un atributo multivaluado

Debemos considerar la correspondencia de cardinalidad del conjunto de relaciones cuando decidimos cuales son las claves candidatas.

Necesitamos considerar la semántica del conjunto de relaciones en la seleccion de la clave primaria en caso de mas de una clave candidata