modelo er

Post on 18-Jul-2015

1.267 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Bases de Datos

Modelo Entidad-Relación

Agosto 2014

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

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

Notaciones

3

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

• Peter Chen (1976):– Entidades

– Relaciones

– Atributos

– Generalización

– Atributos compuestos

– Identificadores

4

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

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

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

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

8

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

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

10

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

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

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

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

14

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

Roles

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

15

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

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

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

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

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

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

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

22

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

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

24

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

Otras representaciones de cardinalidad

• Notación Crow

25

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

26

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

27

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

28

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

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

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

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

32

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

33

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

• fecha_arrivo

• nombre

• título

• altitud

• fecha_nacimiento

• dni

• num_habitantes

• nombre

34

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

35

(1,n)

(1,1)

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

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

37

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*

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

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

Identificadores

40

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

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

Ejemplo:

• Entidades:

– AMIGO

– CERVEZA

– BAR

42

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

43

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

44

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

45

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

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

47

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

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

49

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

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

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

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

53

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

top related