Story Transcript
Modelo ERE
Universidad de los Andes Demián Gutierrez Marzo 2011
1
Modelo ER / Diagramas ER
Modelo Entidad-Relación (ER) (Chen, 1976) Modelo Entidad-Relación-Extendido (ERE) (Teorey 1986) Es un modelo de datos de alto nivel (semántico o conceptual) que describe los datos como “Entidades”, “Vínculos” y “Atributos” 2
Modelo ER / Diagramas ER Esquema Externo Transformación
Mundo Real (Minimundo)
Modelado ER
Esquema Conceptual Transformación
El modelo y los diagramas ER nos facilitan el modelado del Esquema Conceptual
Esquema Interno
BD
3
Modelo ER / Diagramas ER Modelo Entidad-Relación (Entidades, Conjuntos de Entidades, Tipos de Entidades, Atributos, Relaciones, entre otros)
Diagrama Entidad-Relación Se representa gráficamente utilizando
El Modelo Entidad Relación y su representación gráfica (Diagramas Entidad Relación) son dos cosas distintas Sin embargo, por razones didácticas, se utilizaran los Diagramas ER para explicar muchos de los conceptos del Modelo ER 4
¿cómo representamos los distintos conceptos del “mundo real”? Mundo Real (Minimundo)
5
Entidades, Conjuntos y Tipos
Tipo de Entidad: Es el esqueleto que define que características comunes comparten todas las entidades de un mismo tipo Es la descripción de una entidad. Su nombre y sus características (atributos) ¿A qué concepto de programación OO se parece esto? 6
Entidades, Conjuntos y Tipos
Entidad: Representa una cosa del mundo real con existencia independiente. Puede ser física y existir de forma tangible, o conceptual, es decir, existir de forma intangible. Conjunto de Entidades: Es una agrupación (colección) de entidades que comparten el mismo tipo. 7
Entidades, Conjuntos y Tipos Tipo de Entidad (Metadato) EMPLEADO Cédula, Nombre, Edad ...
e2 Cédula=11.334.789 Nombre=Miguel Rojas Edad=30 ...
Una Entidad
e1 Cédula=10.546.332 Nombre=Pedro Pérez Edad=33 ...
Otra Entidad
Conjunto de Entidades
e3 Cédula=20.502.432 Nombre=Silvia Molina Edad=23 ...
Otra Mas ...
¿Cómo puedo diferenciar una entidad de otra? 8
Tipos de Entidades y Atributos PrimApellido PrimNombre
SegApellido
Nombre
Atributos (Elipses)
Teléfono
Entidades (Rectángulos)
Cédula
Empleado Dedicación
Los Atributos son propiedades específicas que describen a una entidad. Son elementos característicos de una entidad. ¿Cómo puedo diferenciar una entidad de otra?
9
Tipos de Atributos (Clave) Atributos Clave (Clave Compuesta) Nombre
Atributo Clave
Teléfono
NumCurso
Empleado
NomCurso
Cédula
Curso Clave: Cédula
Clave: NumCurso + NomCurso
Los atributos clave son aquellos que se utilizan para identificar de forma única a una entidad en un conjunto de entidades. El valor del atributo clave no se puede repetir para otra entidad dentro del conjunto de entidades correspondiente. 10
Tipos de Atributos (Compuestos) PrimApellido PrimNombre
SegApellido
Nombre
Atributo Compuesto
Atributo Componente
Teléfono
Cédula
Empleado
Atributo Simple
Dedicación
Los atributos compuestos son aquellos que están conformados por la unión de otros atributos. El atributo Nombre no es más que la composición de los atributos PrimNombre, PrimApellido y SegApellido
11
Tipos de Atributos (Multivaluados)
Matrícula
Atributo Monovaluado
Color
Automóvil
Atributo Multivaluado
Los atributos multivaluados son aquellos que pueden tener más de un valor de forma simultánea. Un automóvil puede estar pintado con más de un color, de forma simultánea (Por ejemplo, rojo y negro).
12
Tipos de Atributos (Almacenados / Derivados) Atributo Almacenado
Fecha Nacimiento Nombre
Cédula
Edad
Empleado
Atributo Derivado
Los atributos derivados son aquellos que se pueden calcular en base a otros atributos, por lo tanto no es necesario guardarlos en la Base de Datos. Es posible calcular la edad si se conoce la fecha de nacimiento. 13
¿sólo con representar los conceptos será suficiente? ¿qué ocurre con la forma en que se relacionan los conceptos? 14
Relaciones, Conjuntos y Tipos
Relación: Representa una asociación particular o un vínculo entre dos o más entidades. Conjunto de Relaciones: Es una agrupación (colección) de relaciones que comparten el mismo tipo. Tipo de Relación: Es la descripción de una relación. Su nombre y sus características (atributos). Estos conceptos son bastante similares a los de Entidad, Conjunto de Entidades y Tipo de Entidad 15
Relaciones (Vínculos)
¿Vínculos? ¿Vínculos 1:1, 1:N y N:M? Eso se puede ver mejor con un ejemplo 16
Relaciones (Vínculos) 1:N
Vínculo / Relación Trabaja En / Tiene
Departamento de Control
Departamento de Investigación de Operaciones
Departamento de Computación Profesores
¿Cuántos profesores puedo tener en el conjunto de entidades “Profesores”? ¿Y en “Departamentos”?
Departamentos
¿Con cuantos profesores puede estar asociado un departamento? ¿Y al contrario?
17
Relaciones (Vínculos) N:M
Vínculo / Relación Dicta / Es dictada por
Programación 10
Programación 20
Bases de Datos
Profesores
¿Cuántos profesores puedo tener en el conjunto de entidades “Profesores”? ¿Y en “Materias”?
Materias
¿Con cuantos profesores puede estar asociado una materia? ¿Y al contrario?
18
Relaciones (Vínculos) 1:1 Vínculo / Relación Es novia de / Es novio de
Chicas
¿Cuántos muchachos puedo tener en el conjunto de entidades “Chicos”? ¿Y en “Chicas”?
Chicos
¿Con cuantos Chicos puede estar asociados (ser novios) de una Chica en particular? ¿Y al contrario? 19
Relaciones (Vínculos) Tipo de Correspondencia (Razón de Cardinalidad)
Pueden tener o no Atributos Nota
Cédula
NumCurso
Nombre
Estudiante
tiene 5,30
Clave: Cédula + NumCurso + NomCurso
M
Asiste_A
N
Cardinalidad
participa_en 1,5
NomCurso
Curso
Relaciones (Rombos)
Los tipos de correspondencia pueden ser de 1:1, 1:N, N:1 o M:N La cardinalidad define la cantidad máxima o mínima de entidades que pueden estar asociadas de un lado u otro de la relación. Ojo aquí con la nomenclatura
20
Relaciones (Vínculos) Recursivos Nombre
Teléfono
Empleado
Cédula
supervisado Papeles (Roles)
supervisa
1 N
Supervisor
Clave: Cédula_Supervisa + Cédula_Supervisado
Los vínculos pueden ser recursivos, es decir, relacionar a una entidad consigo misma. El nombre del papel (rol) indica el papel que una entidad del tipo especificado desempeña en la relación especificada. 21
Relaciones (Vínculos) Dependencia Total / Parcial Dependencia Parcial
Cédula
Nombre
1
Es Jefe De
1
Profesor
Código
Nombre
Departamento N
Pertenece A
1
Dependencia Total
La Dependencia Total implica que toda entidad Profesor debe estar relacionada con una entidad Departamento. La Dependencia Parcial, implica que todas las entidades Departamentos deben estar relacionados con una entidad Profesor, pero no al contrario. También se les llama Restricción de Participación Total / Parcial
22
Tipos de Entidades Fuertes / Débiles
Número de Estudiantes
Entidad Débil, (CódSección es una Clave Parcial)
Propietario Identificador Salón
Sección
CódSección
Clave: CódSección + CodCurso
Relación de “Dependencia”
Semestre
N
FechaIni
Instancia Un
1
Curso
CódCurso
Nombre
Clave: CódCurso Vínculo Identificador
Un Tipo de Entidad Débil es aquella que no tiene atributos clave propios. Depende de los atributos clave de otro Tipo de Entidad, a la que usualmente está asociada por medio de una Relación con Dependencia Total.
23
Relaciones (Vínculos) ternarios (y n-ario)
Cédula
Nombre
Vínculo Ternario
Número
1
Cliente
Cliente Cuenta
N
Balance
Cuenta Corriente
1 Código
Sucursal
Clave: Cédula + Código + Número
Nombre
Un Vínculo Ternario es aquel en el que participan tres o más Tipos de Entidades. Un vinculo n-ario es aquel en el que participan n o más entidades.
24
Relaciones (Vínculos) ternarios (y n-ario) Código
Especie
Código N
Árbol
Está En
1
Huerto 1
1 Código
Nombre
Especie
Tiene
Árbol
N
1
Ubicación
Está En Fila
Columna
1 Fila
Columna
Ubicación
N
Tiene
1
Huerto Código
Nombre
25
¿especialización? ¿generalización? ¿herencia? 26
Especialización / Generalización (Herencia) Nombre Superclase, Entidad Padre Entidad Generalizada
Cédula
Apellido Subclases Traslapadas (o) o Disjuntas (d)
Persona o
Subclase, Entidad Hija Entidad Especializada
●
●
Costo_Hora
Profesor
Carrera
Estudiante
Especialización: Es el proceso de tomar un tipo de entidad y generar subclases que tengan atributos específicos. Generalización: Es el proceso de tomar un conjunto de tipos de entidades y abstraer sus atributos comunes en un tipo de entidad padre. 27
Especialización / Generalización (Herencia) Nombre Cédula
Nombre Apellido
Persona
Cédula
Apellido
Persona
Subclases Disjuntas
d Costo_Hora
Profesor
Subclases Traslapadas
o Carrera
Estudiante
Costo_Hora
Profesor
Carrera
Estudiante
Restricción de Disyunción ●
●
Disjunta: Una entidad puede ser miembro de cuando más una de las subclases. Traslapada: La misma entidad puede ser miembro de más de una subclase de la especialización. 28
Especialización / Generalización (Herencia) Nombre Cédula
Apellido
Persona
La relación de Herencia puede ser Total o Parcial
d Costo_Hora
Profesor
Carrera
Estudiante
Restricción de Disyunción ●
●
Especialización Total: Toda entidad de la superclase debe tener al menos una entidad en las subclases. Especialización Parcial: Es posible tener una entidad en la superclase y ninguna en las subclases. 29
Categorías Nombre
Apellido
Cédula
Nombre
Dirección
RIF
Persona
Compañía
C1 La categoría también puede ser parcial o total Un Cuenta Habiente es una Persona o una Compañía ●
●
Dirección
C2 U
Cuenta Habiente
Categoría (Entidad de la Categoría) tiene cuenta en
Banco
Categoría: Es una relación superclase / subclase, donde existen múltiples superclases en las que cada una de estas representa diferentes tipos de entidades. La relación siempre es disjunta, es decir, la subclase solo puede ser una de las superclases a la vez. Las categorías con restricciones totales, tienen un equivalente de especialización o generalización
30
Un Ejemplo Cédula
Nombre
Persona
1
Salario
1
Es Jefe De
Profesor
o
N
1
M
Carrera
N 5,30
Asiste_A
Nota
1 Pertenece A
1
Es Responsable De
Dicta
N
M 1,5
Nombre
Departamento N
Estudiante
Código
Sección CódSección
Coordina Semestre N
FechaIni
Instancia Un
1
N
Curso CódCurso
Nombre
31
Ejercicio
¡ ejercicios !
32
Gracias
¡Gracias!
33