bases de datos - free web hostingricardogzzl.000webhostapp.com/cap3e-r.pdf · 2019-02-08 · se...

38
Mónica María Rojas Rincón [email protected] Oficina: P19-103 Bases de datos Unidad 3 – Modelo Entidad-Relación

Upload: others

Post on 25-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Mónica María Rojas Rincón

[email protected]

Oficina: P19-103

Bases de datos

Unidad 3 – Modelo Entidad-Relación

Page 2: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Compentencias

Proponer situaciones y problemas para resolverlos mediante

el modelo Entidad-Relación

Elaborar el modelo conceptual de una base de datos.

2

Page 3: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Retomando…

Requisitos

Diseño

Conceptual

Diseño

Lógico

Diseño

Físico

Modelo Semántico

Modelo de Clases

Modelo Relacional

Modelo objetual

M. objeto-relacional

Modelo en red

Modelo jerárquico

Modelo Entidad/Asociación

Page 4: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Modelo E-R

Propuesto por Peter Chen en 1976

Se trata de un modelo que sirve para crear esquemas

conceptuales de bases de datos.

Gran aceptación porque es gráfico y fácil de entender.

Estos modelos expresan entidades relevantes para un

sistema de información así como sus interrelaciones y

propiedades.

4

Page 5: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Modelo E-R

Inicialmente (en la propuesta de Chen) sólo se incluían los

conceptos de entidad, relación y atributos.

Se añadieron otras propuestas (atributos compuestos,

generalizaciones,...) que forman el llamado modelo

entidad relación extendido (se conoce con las siglas

ERE)

5

Luego…

Con el fin de aumentar la expresividad

Page 6: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Elementos básicos

Entidad: Objeto del mundo real sobre el que queremos

almacenar información. Clase de objetos relevantes y

distinguibles del mundo, que son los sujetos de interés para el

modelo, para la organización. Ej.: Cliente, Empleado,

Proveedor, Almacén, etc.

Asociación : conexión, asociación entre 2 entidades

(relación binaria)

Atributo: datos que definen el objeto. Propiedad básica o

característica de interés que describe una entidad o

asociación. Ej. Atributos de la entidad Cliente : cédula,

nombre, dirección, teléfono, etc.

6

Page 7: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Notaciones

Existen diferentes notaciones para representar el modelo E-R

Chen: especial énfasis a las relaciones entre las entidades

representándolas con un rombo en el que se pone el

nombre de la relación.

7

Page 8: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Elementos de la Notación Chen

8

Page 9: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Ejemplo Notación Chen

9

NOMBRE APE PAT APE MAT

NOMBRE DIRECCION

SEXO SALARIO

IMSS

FNACIM

EMPLEADOS

SUPERVISION

SUPERVISOR SUPERVISADO

1 N

TRABAJA_PARA

DEPENDENCIA_DE

ADMINISTRA

TRABAJA_EN

NOMBRE SEXO RELACION

CONTROLA

PROYECTO

NOMBRE NUMERO LUGAR

1

N

DEPARTAMENTO

1 N

1 1

N

M

1

N

NOMBRE NUMERO LUGARES

NUM DE EMP

HORAS

FINICIO

DEPENDIENTES

Page 10: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Notaciones

Barker: (1990) es una de las más populares, fue

adoptada por Oracle Corporation en sus productos de

modelado de datos; y sirve de referente en la

metodología planteada en CASE*Method .

10

Page 11: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Notaciones

Bachman:

IE (Information Engineering): desarrollada inicialmente

por Clive Finkelstein quien luego la refinó con el apoyo de

James Martin; Aunque es clara e intuitiva, sólo sirve para

modelos de alto nivel de abstracción (modelos lógicos), pues

no permite modelar los atributos de las entidades .

11

Page 12: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Otras notaciones

12

Page 13: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Comparativo entre notaciones

13

Page 14: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Entidades

Clases de objetos que son importantes en el dominio de estudio

Nos interesan sus propiedades Atributos.

A veces NO es fácil distinguir entre un atributo y una entidad Ej: ¿Barrio es un atributo de persona o es una entidad en si misma?

14

Page 15: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Entidades

Representación:

Rectángulo dentro del cual se escribe el nombre de la entidad.

En la literatura se encuentran con los bordes redondeados o

rectos.

Nombre único (cada entidad sólo aparece una vez en el modelo)

en mayúscula y singular

Tipos: Débiles Normales

15

CLIENTE CLIENTE =

Page 16: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Entidades débiles

Aquellas que no pueden existir sin la existencia de otras

entidades.

Una entidad débil es aquella que no posee una llave primaria.

Para existir dependen de una relación con una entidad fuerte.

Pueden contener algún atributo "discriminante" que podría

considerarse como aquel que lo distingue pero no de manera

única, de ahí que no se considere como llave.

Ej: - Los detalles son débiles con respecto a una factura - Las personas a cargo de un empleado son débiles con respecto

al empleado

16

Page 17: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Entidades normales Aquellas que tienen existencia propia.

Ej: La existencia de un animal no está condicionada a la existencia de una jaula

17

CLIENTE

# cedula

* nombre

* Direccion

* telefono

CIUDAD

# codigo

* nombre

* poblacion

Page 18: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Entidades

Se pueden identificar a partir de la descripción de los

requisitos así:

A partir de los sustantivos de la descripción

Información relevante de las posibles entidades candidatas

¿Cada instancia se puede identificar en forma única?

18

Page 19: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Ejemplos

Almacen, factura, pedido, cliente

Universidad, estudiante, profesor, materia

Biblioteca, libro, prestamo

Pais, departamento, ciudad, barrio

19

Page 20: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Relaciones

Relación binaria bidireccional, significativa y nombrable

entre 2 entidades (no necesariamente diferentes)

Establecen una acción o hecho

Las relaciones se describen en términos de:

Grado: es el número de entidades asociadas en la relación

Conectividad: describe una restricción en la relación entre

entidades

Existencia: hay entidades cuya existencia depende de la

existencia de otra entidad

20

Page 21: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Relaciones

Convenciones:

Se traza una línea entre las entidades relacionadas

Los nombres se escriben en minúscula y se colocan en los

extremos de la relación

La cardinalidad mínima (u opcionalidad) se representa:

si es obligatoria

si es opcional

El grado o la cardinalidad máxima, se representa:

si la relación se puede dar sólo con

una instancia de la otra entidad

si se puede dar con una o varias

instancias de la otra entidad

21

Page 22: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Tipos de relaciones

Uno a uno

22

EMPLEADO SUCURSAL administra

Es administrado

Un empleado administra una sucursal

Una sucursal es administrada por un empleado

Fernando Pérez

Andrés Botero

Adriana Luna

EMPLEADO

Laureles

Éxito Poblado

Envigado

SUCURSAL

Page 23: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Tipos de relaciones

Uno a muchos

23

PINTOR pinta

pintado por CUADRO

Un pintor pinta muchos cuadros

Un cuadro es pintado por un pintor

Salvador Dali

Fernando Botero

Pablo Picasso

PINTOR

El primer autorretrato

Figura asomada a la ventana

Rosita

El pueblo

La familia colombiana

Retrato de un hombre barbudo

Bañista

CUADRO

Page 24: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Tipos de relaciones

Muchos a muchos

24

matricula por

matricula MATERIA ESTUDIANTE

Una materia es matriculada por muchos estudiantes

Un estudiante matricula muchas materias

Pedro

Juan

Luis

Lola

Pintura

Matemática

Literatura

Sociales

Danzas

ESTUDIANTE MATERIA

Page 25: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Opcionalidad y Cardinalidad de las

Relaciones

25

Nombre

relación 1

Nombre

relación 2

ENTIDAD 1 ENTIDAD 2

Dirección 1 de la relación:

Opcionalidad: obligatoria (debe)

Cardinalidad: muchos

Dirección 2 de la relación:

Opcionalidad: opcional (puede)

Cardinalidad: uno

Page 26: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Ejemplo:

26

CLIENTE genera

generada por FACTURA

Factura Una Cliente debe Generada por un ser

Un(a) entidad1 ser o estar nombre-relación entidad2 debe

puede

-

Una o muchas

Una y sólo una

Cliente Un Facturas puede generar muchas

OJO: la lectura de una relación SIEMPRE inicia en singular :

Un(a), JAMÁS con la palabra mucho(a)s.

De E1 a E2:

De E2 a E1:

La sintaxis de una relación permite una lectura:

Page 27: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Ejemplo

Describa las relaciones del siguiente modelo.

Ej: Un modelo con 4 entidades y 3 relaciones:

27

el generador de

comprado

mediante

hecha para

compuesta

de

el sitio de almacenamiento de

almacenado en

Page 28: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Matriz de relaciones Como ayuda inicial para la recolección de información acerca de

las relaciones. Se realiza entre un conjunto de entidades.

Muestra para cada Entidad fila al lado izquierdo muestra si tiene

una relación y cómo es con cada entidad columna.

Si hay una relación en la intersección se coloca el nombre de la

relación.

28

Page 29: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Atributos

Información que se necesita conocer y mantener de una

entidad.

Identifican, califican, cuantifican, clasifican o expresan el

estado de la entidad

Claros, específicos, completos y preferiblemente sin el

nombre de la entidad

29

Page 30: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Atributos Convenciones para la representación:

Minúscula.

Dentro de la caja de entidad

Obligatorios con “ * ” ó “●” y opcionales con “○”

Es recomendable descomponerlos hasta su mínima expresión (semántica)

Ej.: nombre_cliente, se descompone en nombre y apellido.

Un atributo no debe ser calculado a partir de otros atributos: problemas de redundancia

Ej.: Nro. de estudiantes

30

Page 31: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Atributos

En este modelo no se permiten atributos multivaluados o

atributos que puedan tener atributos.

Para representarlos se hace necesario “ascenderlos” a la

categoría de entidad o colocarlos dentro de la entidad como

otros atributos.

Ej.:

31

ESTUDIANTE

*cedula

*nombre

*apellido

*programa

*notas

El atributo notas es

multivaluado, por lo tanto hay

que diseñarlo como una

entidad y relacionarlo con el

estudiante

Page 32: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Atributos Identificadores

Es el conjunto de atributos y/o relaciones, que identifican de

manera única una entidad.

Se coloca antes del atributo identificador el signo #

Entidad con un único atributo.

Ej.: El estudiante tendría un único identificador: cédula

32

ESTUDIANTE

#cedula

*nombre

*apellido

*programa

Page 33: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Atributos Identificadores

Entidad con varios identificadores:

Se les conoce como claves o llaves candidatas y se debe

seleccionar uno y los otros se dejan como Identificadores

secundarios. (aunque no se pueden representar en el MER)

Ej.: Un elemento químico tiene varias llaves candidatas:

número, símbolo, nombre. Se selecciona una.

33

ELEMENTO_QUIMICO

#nro

*símbolo

*nombre

*temp_ebullicion

Page 34: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Atributos Identificadores

Entidad con identificador compuesto por varios atributos.

Ej.: LIBRO con el código ISBN descompuesto en dos

atributos así: primeros_3dígitos_ISBN, resto_dígitos_ISBN,

título, autor.

34

LIBRO

#primeros_3digitos_ISBN

#resto_digitos_ISBN

*título

*autor

Page 35: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Atributos Identificadores

Identificador compuesto por un atributo y una relación.

Ej.: En la industria PLASTICO S.A., cada producto se

identifica con el código del centro de producción y un

consecutivo.

35

PRODUCTO

#cod_producto

*nombre

*unidades

CENTRO_PROD

#cod_centroprod

*nombre

*dirección

PRODUCTO,

identificador

compuesto por:

Cod_producto

cod_centroprod Es producido en

produce

Page 36: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Atributos Identificadores Se pueden emplear identificadores artificiales o surrogados

para evitar identificadores compuestos (“largos”).

Por ejemplo para saber los productos que vende un almacén el

identificador sería:

marca: Colgate

unidad_de_medida: 75 ml

Categoria: crema de dientes

36

ARTÍCULO

#cod_artículo

*marca

*unidad_de_medida

*categoria

*cantidad_inventario

*precio_unitario

ARTÍCULO, para

evitar un

identificador tan

largo, se crea un

identificador

atificial

cod_artículo

Page 37: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Ejercicios La universidad “U” se divide en varias escuelas. Cada

escuela es administrada por un decano. Los decanos son profesores a los cuales se les asignan tareas administrativas. Cada escuela se compone de varios departamentos. Por ejemplo la escuela de Negocios tiene un departamento de contabilidad, uno de costos, uno de presupuesto, etc.

Cada departamento ofrece varios cursos. Una clase es una sección de un curso. Es decir un departamento puede ofrecer varias secciones (clases) de un mismo curso. Cada una de esas clases es impartida por un profesor a una hora y lugar dados.

37

Page 38: Bases de datos - Free Web Hostingricardogzzl.000webhostapp.com/Cap3E-R.pdf · 2019-02-08 · Se trata de un modelo que sirve para crear esquemas conceptuales de bases de datos. Gran

Refencias

38

Basado en:

C.J. Date. “Introducción a los Sistemas de bases de datos. Vol.1”. Quinta

edición. Addison Wesley. Cap 1 y2.

Silberschatz, A., Korth, H.F., Sudarshan, S. Fundamentos de diseño de bases de

datos. 4ª Edición. Mc Graw Hill.

Jorge Sánchez. Diseño Conceptual de Bases de Datos.

http://www.jorgesanchez.net/bd/disenoBD.pdf

Quintero, Juan y otros. Directrices para la Construcción de Artefactos de

Persistencia en el Proceso de Desarrollo De Software. Revista EIA, ISSN 1794-

1237 Número 9, p. 77-90. Julio 2008

Claudia Jimenez. Bases de datos.

http://www.unalmed.edu.co/~csjimene/pub2/bd.pdf