© 2007 fundamentos de bases de datos l. gómez1 fundamentos de bases de datos diseño de bases de...

25
© 2007 Fundamentos de Bases de Datos L. Gómez 1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

Upload: roque-lucero

Post on 06-Jan-2015

16 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 1

Fundamentos de Bases de Datos

Diseño de Bases de DatosModelo Conceptual Entidad Relación

Page 2: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 2

Modelación de Datos

La modelación de datos nos permiten abstraer de problemas del mundo real los datos (objetos o entidades) involucrados y las relaciones que existen entre ellos. Los modelos de datos describen las relaciones

entre los datos que forman una base de datos. No se refieren en ningun momento a los valores

específicos que un elemento de datos debe tomar.

Tratan a los datos como grupos genéricos, que pueden tomar cualquier conjunto de valores específicos

Page 3: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 3

Modelación de Datos Un modelo de datos es una colección de conceptos para

describir a los datos.

Un esquema es una descripción de una colección particular de datos unsando un modelo de datos específico.

Un SMBD soporta un modelo de datos, que es usado para describir el esquema de la base de datos a utilizar.

Existen varios modelos de datos. En Bases de Datos se han usado tradicionalmente tres:

Jerárquico Redes Relacional

Page 4: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 4

Modelación de Datos

Otros modelos incluyen: Modelo Entidad-Relacion (ER) Modelo Entidad Relacion Extendido (EER) Modelo Orientado a Objetos

Lenguaje de Modelacion Unificado (UML) Otros modelos semánticosMAQUINA USUARIO

MODELOJERARQUICO

MODELOCODASYL

DBTG(REDES)

MODELORELACIONAL

MODELOENTIDADRELACION

(E-R)

MODELODE DATOS

SEMANTICO

Page 5: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 5

Modelo Entidad Relación Desarrollado por Peter Chen ( M.I.T.)

en los 70’s

Es un Modelo Conceptual de alto nivel

Se usa comunmente para modelar aplicaciones de Bases de datos y en investigación de Bases de Datos

Representa gráficamente y de manera lógica toda la información y como los datos se relacionan entre sí.

Es independiente del DBMS en el cual se vaya a implementar

Page 6: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 6

Diseño Conceptual

Diseño conceptual. (ER y EER son usados a este nivel de abstracción) ¿Cuáles son las entidades y relaciones en la

empresa? ¿Qué información acerca de esa entidades y

relaciones deben almacenarse en la bd? ¿Cuáles son las restricciones de integridad (o

reglas de negocio) que se deben mantener? Un esquema de la base de datos en estos

modelos pude ser representado gráficamente (Diagramas ER)

Diagramas ER se pueden traducir a esquemas relacionales

Page 7: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 7

ENTITY-RELATIONSHIP

Entity Type: Un objeto que existe y que se distingue de otros objetos (ej. estudiantes); Se representa con una serie de atributos (Ej. matricula, nombre, carrera)

Entity Extension: Conjunto de elementos del mismo tipo (ej. instancias de estudiantes); Los conjuntos no necesariamente deben ser disjuntos (ej. persona & cliente)

Relationship Type: Asociación entre varias entidades (ej. estudiantes tomando clases)

Relationship Instance: Es un conjunto de relaciones del mismo tipo (ej. Las instancias que representan los estudiantes tomando clases)

Page 8: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 8

Elementos del Modelo ER

Entidad

Atributo

AtributoCompuesto

Relacion

Enlace

AtributoDerivado

AtributoLlave

Relación deIdentificación

EntidadDébil

Page 9: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 9

Modelo ER

E1 E2R

E1 E2R

ER

1 n

(min, max)

Participacion Total de E2 en R

Relación de Cardinalidad 1:n para E1:E2 en R

Restriccion Estructural (min, max) en la participacionde E en R

Page 10: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 10

Modelo ER

Tres elementos básicos: entidades, atributos y relaciones. ENTIDAD: Es todo objeto de datos que es

diferenciable de otros objetos, ya sean abstractos o concretos.

ATRIBUTO: Permite describir a una entidad. Los atributos describen propiedades o características de una entidad.

Empleados

curpnombre

sueldo

Page 11: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 11

Modelo ER

RELACIÓN : Describe la conexión o asociación existente entre dos o más entidades. EMPLEADOS trabajan en DEPARTAMENTOS es una

relación BINARIA

El empleado “JOSE” en cuántos departamentos trabaja?

El departamento “CONTABILIDAD” cuántos empleados tiene?

sueldo

D_nomb

presupuestoD_id

inicionombre

trabaja_en DepartamentoEmpleados

curp

Page 12: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 12

Relaciones con cardinalidad 1:1

Una instancia de la entidad A está asociada con 0 o 1 instancia de la entidad B

Una instancia de la entidad B está asociada con 0 o 1 instancia de la entidad A

B

A

RAB

1

1

a1 a2 a3 a4

b1 b2 b3

Page 13: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 13

Ejemplo Relación 1:1

1 curso es impartido por 1 profesor1 profesor imparte 1 curso

TEACHESCOURSE TEACHER11

CRSID

TITLE

TNAME

DEPT

Page 14: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 14

Relaciones con cardinalidad 1:N

Una instancia de la entidad A está asociada con 0 o más instancias de la entidad B

Una instancia de la entidad B está asociada con 0 o 1 instancia de la entidad A

B

A

RAB

1

N

a1 a2 a3

b4b1 b2 b3

Page 15: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 15

Ejemplo relación 1:N

1 curso es impartido por máximo 1 profesor

1 profesor imparte CERO o MAS cursos

TEACHESCOURSE TEACHER1N

CRSID

TITLE

TNAME

DEPT

Page 16: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 16

Relaciones con cardinalidad M:N

Una instancia de la entidad A está asociada con 0 o más instancias de la entidad B

Una instancia de la entidad B está asociada con 0 o más instancias de la entidad A

B

A

RAB

M

N

a1 a2 a3

b4b1 b2 b3

Page 17: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 17

Ejemplo Relación M:N

1 país exporta CERO o MAS productos1 producto es exportado por CERO o MAS

países

1 país exporta máximo N productos1 producto es exportado por máximo N países

EXPORTCOUNTRY PRODUCTNM

ID

NAME

PNUM

PDESCRPTION

QTY

Page 18: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 18

Restricciones Adicionales

Participación total Se representa con doble línea del lado de la

entidad en la que todas sus instancias deben estar asociadas con alguna instancia de la otra entidad.

1 país exporta CERO o MAS productos 1 producto es exportado por UNO o MAS países

EXPORTCOUNTRY PRODUCTNM

ID

NAME

PNUM

PDESCRPTION

QTY

Page 19: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 19

ER Company

Tomado de Elmasri R, Navathe S Fundamentals of Database Systems

Page 20: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 20

Restricciones Estructurales

Restriccion de estructura = cardinalidad + restricción de participación

Cardinalidad: Como se relaciona 1 instancia de una entidad con respecto a las instancias de la otra entidad, Ej., 1:1, 1:N, M:N

Participación: Determina la dependencia de uns instancia de una entidad con respecto a las instancias de la otra entidad.

Total: Ej. Un empleado debe trabajar en un departamento (doble línea en el diagrama ER)

Parcial: Ej. Un empleado puede ser administrador (línea sencilla en el diagrama ER)

Page 21: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 21

Identificando las instancias (KEY)Una instancia de una entidad debe distinguirse de otras instancias, para esto, se debe especificar una llave (KEY)

Llave(KEY)conjunto de atributos de una entidad que identifica de manera única una instancia de dicha entidad.

Super llave (Superkey): conjunto deuno o más atributos de una entidad que identifica de manera única una instancia de dicha entidad (Ej {id}, {id name} )

Una superllave puede contener atributos adicionales

Llave candidata (Candidate Key): Super llave para la que ningún subconjunto propio es una superllave(contiene los atributos mínimos para identificar la tupla) (Ej., {id}, {name address} ).

Primary Key: Llave candidata seleccionada por el DBA como el principal medio para identificar de manera única las instancias de una entidad.

En el modelo ER, subrayamos el atributo que es la llave primaria para esa entidad.

Page 22: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 22

Tipos de entidades: Strong/Weak

Strong Entity: Una entidad que tiene una llave Primaria Weak Entity: Una entidad que notiene suficientes atributos

para formar una llave primaria.

Una entidad Dependiente ( dependent ) tiene atributos (nombre, apellido, sexo). Cada dependiente es único para un empleado dado, pero dferentes empleados pueden tener dependientes con el mismo nombre y fecha de nacimiento.

La llave primaria ( primary key) de una entidad debil se forma con lal llave primaria de la entidad fuerte (string) de la cual depende, concatenada con un discriminador (discriminator). El discriminador es el conjunto de atributos que permite distinguir las instancias de la entidad débil.

Page 23: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 23

WEAK ENTITY EXAMPLE

Entidades débiles: Una entidad débil solo puede ser identificada de manera única al considerar la llave primaria de otra entidad (dueña)

Dependent’s primary key: {empid, dname, birthdate}

EMPLOYEE

EMPID

NAME

DISC

SEX

relDEPOF DEPENDENT

DNAME

BDATE

Page 24: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 24

Analizar el diagrama COMPANY

Tomado de Elmasri R, Navathe S Fundamentals of Database Systems

Page 25: © 2007 Fundamentos de Bases de Datos L. Gómez1 Fundamentos de Bases de Datos Diseño de Bases de Datos Modelo Conceptual Entidad Relación

© 2007 Fundamentos de Bases de Datos L. Gómez 25

Interpretación de ER company Empleado

Trabaja exactamente en un dept.

Puede o no administrar un solo departamento.

Trabaja en al menos 1 proyecto y máximo en n proyectos

Puede o no tener dependientes pero máximo n dependientes

Puede o no ser supervisor y si supervisa, supervisa a máximo n empleados

Puede o no ser supervisado por un solo supervisor.

Departamento Tiene al menos 1 empleado

(max N) Tiene exactamente un

administrador Puede o no controlar proyectos

(max N)

Proyecto Controlado por exactamente 1

departamento Tiene al menos 1 empleado

asignado (max N) Dependiente

Depende de exactamente un empleado