modelo er

54
Servicios Web - Introducción Bases de datos – Modelo Entidad-Relación B a s e s d e D a t o s Modelo Entidad-Relación Agosto 2014

Upload: kamui002

Post on 18-Jul-2015

1.267 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Bases de Datos

Modelo Entidad-Relación

Agosto 2014

Page 2: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Modelo Entidad-Relación

• Maneja un conjunto de entidades, relaciones y atributos.

• Componentes:– Entidad.

– Relación.

– Atributos.

2

Page 3: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Notaciones

3

Page 4: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

• Peter Chen (1976):– Entidades

– Relaciones

– Atributos

– Generalización

– Atributos compuestos

– Identificadores

4

Page 5: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Aplicaciones para ERD

• RISE

– http://www.risetobloome.com/Page_1_S.aspx?ITEM=1853

– http://creately.com/

• yEd Graph Editor

– http://www.yworks.com/en/products_yed_about.html

• SQL Developer

– http://sqldeveloper.solyp.com/

5

Page 6: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

– https://wiki.gnome.org/Apps/Dia

• Entity Relationship Diagram Generator

– http://sourceforge.net/projects/erdiagrammer/

• Project Mogwai

– http://mogwai.sourceforge.net/erdesignerng.html

• E/R Assistant

– http://highered.mheducation.com/sites/0072942207/student_view0/e_r_assistant.html

6

Page 7: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

• DBDesigner

– http://www.fabforce.net/dbdesigner4/

• DB Designer Fork

– http://sourceforge.net/projects/dbdesigner-fork/

• wwwsqldesigner

– https://code.google.com/p/wwwsqldesigner/

• SQL Power Arquitect

– http://www.sqlpower.ca/page/architect

7

Page 8: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

8

Page 9: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Entidad

• Cualquier tipo de objeto o concepto sobre el que se guardainformación.– Cosas, personas, conceptos abstractos o sucesos.

Clientes

Clave Nombre …

e1

e2

clientes

ventas

9

Page 10: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

10

Page 11: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Entidad

– Un nombre de entidad sólo puede aparecer una vez en elesquema conceptual.

– Tipos de entidades:• Débil. Su existencia depende de una entidad fuerte.

• Fuerte.

11

Page 12: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Entidades débiles

• Para existir, dependen de otra entidad.

• Van en doble rectángulo y doble rombo.

• Para distinguir de entre sus entidades, se usa un atributodiscriminante.

• Va subrayado con línea punteada.

12

Page 13: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Relación

• Correspondencia o asociación entre dos o más entidades.

• Cada relación tiene un nombre que describe su función.

13

Page 14: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

14

Page 15: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Roles

• Indica el papel que juega una entidad en una relación.

15

Page 16: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Cardinalidad

• Cardinalidad de una entidad.– Número mínimo (0 o 1) y máximo (1 o n) en las que una entidad

participa en una relación especifica.

– Participación Total.

• Cuando una entidad en una relación requiere que cada una de susocurrencias tenga al menos una ocurrencia con la otra entidadparticipante.

– Participación Parcial.

• Caso contrario a la Total.

16

Page 17: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Tipos de cardinalidad (1/4)

• Modelo Uno a Uno.– Una entidad A se asocia a lo más con una entidad B.

– La entidad B se asocia a lo más con una entidad A.

– Se representa con

17

Page 18: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Tipos de cardinalidad (2/4)

• Uno a varios.– Una entidad A se asocia con cualquier cantidad de entidades en B.

– La entidad B se asocia a lo más con una entidad en A.

– Se representa con:

18

Page 19: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Tipos de cardinalidad (3/4)

• Varios a uno.– Varias entidades en A se asocian con sólo una en B.

– Una entidad en B se asocia con cualquier cantidad de entidades en A.

19

Page 20: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Tipos de cardinalidad (4/4)

• Varios a varios.

• Una entidad en A se relaciona con cualquier cantidad deentidades en B y viceversa.

20

Page 21: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Relaciones múltiples

• Una empresa de construcción, a partir del diseño de susproyectos, realiza documentos de requerimientos demateriales.

• Todo requerimiento da origen a uno o más pedidos decompra.

• Se desea modelar qué requerimientos solicitan quémateriales originando qué pedidos.

21

Page 22: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

22

Page 23: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Agregaciones

• Manera de representar asociaciones entre elementos deRelaciones y de otros Conjuntos de Entidades.

• Representar relaciones entre múltiples Conjuntos deEntidades pero manteniendo relaciones binarias.

• El nuevo Conjunto de Entidades se utiliza como cualquierotro.

23

Page 24: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

24

Page 25: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Otras representaciones de cardinalidad

• Notación Crow

25

Page 26: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

26

Page 27: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

27

Page 28: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

28

Page 29: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Atributos

• Característica de interés sobre una entidad.

• Representan las propiedades básicas de las entidades y de lasrelaciones.

• Su cardinalidad indica el mínimo y máximo de valores quepuede tomar un ejemplar de la entidad o relación.– Default, (1,1)

29

Page 30: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Atributos de relación

• Precio.– ¿Es un atributo de Materiales?

– ¿Es un atributo de Proveedores?

30

Page 31: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Atributos de relación

• Precio.– ¿Es un atributo de Materiales? NO, depente del proveedor.

– ¿Es un atributo de Proveedores? NO, depende del material.

31

Page 32: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

32

Page 33: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

33

Page 34: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

• fecha_arrivo

• nombre

• título

• altitud

• fecha_nacimiento

• dni

• num_habitantes

• nombre

34

Page 35: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

35

(1,n)

(1,1)

Page 36: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Tipos de atributos (1/2)

• Según su composición:– Simples.

• Sólo tienen un componente, indivisible.

• Ej: Número de control.

– Compuestos.

• Divisibles en varios componentes.

• Se encierran en un doble ovalo.

• Ej: Domicilio (Calle, número, C.P.).

36

Page 37: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

37

Page 38: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Tipos de atributos (2/2)

• Según sus valores:– Univalorados. Un solo valor. Ej: número de control.

– Multivalorados. Varios valores. Ej: teléfono.

– Opcionales / Nulos. Pueden o no tener un valor.

– Derivados.

• Se obtienen a partir de otros campos.

• Ej: sueldo.Edad

38

Libro

Clave

Autores*

Page 39: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Dominio de un atributo

• Conjunto de valores asociados a un atributo.

• Tipos:– Predefinidos. Proporcionados por la base de datos (enteros, cadenas,

etc.).

– Definidos por el usuario. Consta de un nombre de dominio y ladescripción de los valores que lo conforman.

39

Page 40: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Identificadores

40

Page 41: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Metodología de diseño conceptual

1. Identificar las entidades.

2. Identificar las relaciones.

3. Identificar los atributos y asociarlos a entidades y relaciones.

4. Determinar los dominios de los atributos.

5. Determinar los identificadores.

6. Dibujar el diagrama entidad – relación.

7. Revisar el esquema conceptual local con el usuario.

41

Page 42: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Ejemplo:

• Entidades:

– AMIGO

– CERVEZA

– BAR

42

Page 43: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

43

Page 44: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

44

Page 45: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

45

Page 46: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

• Los AMIGOS frecuentan uno o varios bares.

• Puede que les guste ir a cada bar en momentos distintos del día (mañana,tarde o noche), o puede que les sea indiferente.

• Cada AMIGO ha probado una o varias cervezas y sabe cuánto le gustan:nada, normal o mucho.

• Una misma CERVEZA puede gustar a varios AMIGOS y puede servirse envarios BARES distintos.

• De las CERVEZAS, algunas no las ha probado nadie.

• Puede que haya CERVEZAS que no se sirvan en ningún BAR.

• Cada BAR sirve una o varias cervezas.

• Entre los BARES de interés, puede que haya algunos que no frecuentennuestros amigos y otros que sean frecuentados por varios amigos.

46

Page 47: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

47

Page 48: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Ejercicio

• En un hospital se tiene un registro de pacientes, un registro de personal yuno de salas; el personal trabaja en esas salas y los pacientes soninternados en esas salas.

• Del personal nos interesa el número de empleado, el nombre, ladirección y el teléfono.

• Sabemos que dos empleados no tienen el mismo numero.

• De los pacientes nos interesa el número de registro (le es asignadocuando ingresa) y el nombre mientras que de las salas nos interesa elnombre y la cantidad de camas que tiene.

• También se sabe que un empleado trabaja en una única sala y que en unasala trabajan varios empleados. Lo mismo ocurre con los pacientes.

48

Page 49: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

49

Page 50: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Especialización

• Se refiere a cuando un conjunto de entidades puede incluirsubgrupos de entidades, las cuales se diferencian de algunaforma con las otras entidades del conjunto.

50

Page 51: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Generalización

• Cuando conjuntos de entidades se pueden sintetizar en unconjunto de entidades de nivel más alto, basado encaracterísticas comunes.

51

Page 52: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Ejecicio

• Una BD para una pequeña empresa debe contener información acerca declientes, artículos y pedidos.

• Se necesita almacenar los siguientes datos para cada cliente: Número decliente, direcciones de envío (varias por cliente), saldo, límite de crédito ydescuento.

• Para cada artículo: Número de artículo, fábricas que lo distribuyen,existencia de ese artículo en cada fábrica, descripción del artículo.

• Para cada pedido: cada pedido tiene una cabecera y el cuerpo del pedido.La cabecera está formada por el número de cliente, dirección de envío yfecha del pedido. El cuerpo del pedido son varias líneas, en cada línea seespecifican el número del artículo pedido y la cantidad.

52

Page 53: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

53

Page 54: Modelo ER

Servicios Web - IntroducciónBases de datos – Modelo Entidad-Relación

Referencias bibliográficas

• Date C., An introduction to database system, Addison Wesley.

• Sánchez J., Diseño Conceptual de Bases de Datos. LicenciaCreative Commons, 2004. Disponible enhttp://www.jorgesanchez.net/bd/. Última visita agosto 2014.

• Merche M., Diseño conceptual de bases de datos, UniversitatJaume I, España. Disponible en línea:http://www3.uji.es/~mmarques/f47/teoria/tema6.pdf

54