Proyectos Informรกticos I Ciclo II-2017
Modelo ERE
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
Modelado ER
Esquema Conceptual
Transformaciรณn
Esquema Interno El modelo y los diagramas ER nos facilitan el modelado del Esquema Conceptual
3
BD
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 utilizarán los Diagramas ER para explicar muchos de los conceptos del Modelo ER 4
¿cómo representamos los distintos conceptos del “mundo real”? Mundo Real
5
Entidades, Conjuntos y Tipos
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.
7
Entidades, Conjuntos y Tipos Tipo de Entidad
Conjunto de Entidades
EMPLEADO DUI, Nombre, Edad ... e2 DUI=11.334.7 89 Nombre=Migu el Rojas Edad=30 ...
Una Entidad
e1 DUI=10.546.3 32 Nombre=Pedr o Pérez Edad=33 ...
Otra Entidad
e3 DUI=20.502.4 32 Nombre=Silvi a 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)
DUI
Empleado Dedicación
Los Atributos son propiedades específicas que describen a una entidad. Son elementos característicos de una entidad. 9
¿Cómo puedo diferenciar una entidad de otra?
Tipos de Atributos (Clave) Atributos Clave (Clave Compuesta) Nombre
TelĂŠfono
Atributo Clave NumCurso
Empleado
NomCurso
DUI
Curso Clave: DUI
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
DUI
Empleado
Atributo Simple
Dedicación
Los atributos compuestos son aquellos que están conformados por la unión de otros atributos.
11
El atributo Nombre no es más que la composición de los atributos PrimNombre, PrimApellido y SegApellido
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
DUI
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).
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) Vínculo / Relación 1: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”? 17 ¿Y en “Departamentos”?
Departamentos
¿Con cuantos profesores puede estar asociado un departamento? ¿Y al contrario?
Relaciones (Vínculos) Vínculo / Relación N:M 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”? 18 ¿Y en “Materias”?
Materias
¿Con cuantos profesores puede estar asociado una materia? ¿Y al contrario?
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”? 19 ¿Y en “Chicas”?
Chicos
¿Con cuantos Chicos puede estar asociados (ser novios) de una Chica en particular? ¿Y al contrario?
Relaciones (Vínculos) Tipo de Correspondencia (Razón de Cardinalidad)
Pueden tener o no Atributos Nota
DUI
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. 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.
21
El nombre del papel (rol) indica el papel que una entidad del tipo especificado desempeña en la relación especificada.
Tipos de Entidades Fuertes / Débiles Número de Estudiantes
Propietario Identificador Salón
Sección Entidad Débil, (CódSección es una Clave Parcial) CódSección
Clave: CódSección + CodCurso
Relación de “Dependencia”
FechaIni
Semestre
N
Insta ncia 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.
22
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.
EJEMPLO ENTIDAD RELACIร N: Matricula de Estudiantes ENUNCIADO: Modelar el siguiente ejemplo bajo las condiciones:
23
1.
Un estudiante tiene su nombre, direcciรณn, email (puede tener mรกs de uno), sus unidades valorativas 1.1 Los estudiantes se inscriben en cursos y cada curso tiene su respectiva secciรณn, matriculado el estudiante en una fecha determinada.
2.
Las facultades son las que ofrecen los cursos
EJERCICIO ENTIDAD RELACIÓN: SUPERMERCADO ENUNCIADO: Modelar un supermercado bajo las siguientes condiciones: 1.
Un supermercado tiene varios locales cada uno con una dirección, teléfonos y horario de atención. 1.1 Todo local tiene un administrador, el cual puede ser compartido por más locales
2. Los locales ofrecen productos que son de una categoría (ej: dulces), un tipo (ej: chocolate en barra), un nombre (ej: trencito), y una marca (ej: Snickers) 2.1 Cada local lleva un control del stock de sus productos (ej: cantidad de producto en el local) 2.2 Los precios de los productos dependen del local 2.3 Los locales pueden hacer ofertas que consisten en un precio especial para un producto por un tiempo limitado 2.3.1 Las ofertas pueden ser compartidas por varios locales 24