1. M Ó N I C A M A R Í A R O J A S R I N C Ó N
M M R O J A S @ E L P O L I . E D U . C O
O F I C I N A : P 1 9 - 1 4 2
BASES DE DATOS 1
UNIDAD 3 – MODELO
ENTIDAD-RELACIÓN 2ª
PARTE
2. 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.
2
5. 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.
• Relació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.
5
6. NOTACIÓN
• 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.
6
7. ENTIDAD
• Se representa con un nombre único, en mayúsculas y
singular.
• Tipos:
• Débiles: no posee una llave primaria, para existir depende de
la relación con una entidad fuerte. Ej. Detalle_factura
• Normales: Tienen existencia propia. Ej. Producto, cliente, etc
• Se pueden identificar a partir de la descripción de los
requisitos:
• sustantivos de la descripción,
• información relevante de las posibles entidades
candidatas,
• cada instancia se puede identificar en forma única.
7
8. RELACIÓN
• Relación binaria bidireccional, significativa y nombrable
entre 2 entidades (no necesariamente diferentes)
• Establecen una acción o hecho
• Características:
• Nombre a cada lado de la relación
• Cardinalidad (u opcionalidad]) : debe ( )o puede (
)
• Grado: una o muchas ( ), una y sólo una ( )
• Tipos:
• Uno a uno
• Uno a muchos
• Muchos a muchos
8
9. ATRIBUTOS
• Información que se necesita conocer y mantener de una
entidad.
• Identifican, califican, cuantifican, clasifican o expresan el
estado de la entidad
• Atributo simple: no se puede subdividir. Ej. Edad, genero, etc.
• Atributo compuesto: puede subdividirse. Ej. Dirección.
• Atributos multivaluados: se deben o colocar explicitos en la
entidad o se crea una nueva entidad para manejar los
valores. Ej. Notas de un estudiante.
• Representación:
• Nombre en minúsculas (códigoCliente o código_cliente)
• Identificador ( # ), Obligarorio ( * ), Opcional ( o )
9
10. IDENTIFICADORES
• Es el conjunto de atributos y/o relaciones, que
identifican de manera única una entidad.
• Tipos
• Único: la entidad tiene un único identificador. Ej. Cédula
para Persona
• Varios identificadores o llaves candidatas: se debe
seleccionar sólo uno, los demás quedan como obligatorios.
• Identificador compuesto: se requiere de dos o más
atributos para identificar la entidad.
• Identificador compuesto por un atributo y una relación:
generalmente son entidades débiles, que necesitan de la
relación con otra entidad para existir, y por ende para
identificarse.
10
11. SUPERTIPOS Y SUBTIPOS DE ENTIDAD
• Son entidades que comparten algunas
características y otras que las diferencian.
• El Supertipo contiene los atributos compartidos
• El Subtipo contiene los atributos únicos.
• En el ejemplo anterior habría entonces por ejemplo
una entidad EMPLEADO supertipo, y dos entidades
PROFESOR y DECANO que serían subtipos de
EMPLEADO.
11
EMPLEADO
#cédula
*nombre
…
Supertipo
Subtipos
PROFESOR
*área
DECANO
* facultad_a_cargo
12. EJERCICIO
• Una empresa de aviación podrá emplear pilotos y
muchos otros tipos de empleados. La
representación de todos los empleados en una sola
entidad será inconveniente ya que no todos los
empleados tendrán valores en todos los atributos.
Pensemos por ejemplo en una tabla donde se
guardan todos los empleados, las columnas que
correspondan a empleados que no son pilotos
tendrán atributos en blanco, puesto que una
secretaria no tiene horas de vuelo, por ejemplo.
12
13. EJERCICIO
• Es en estos casos en donde se hace necesario
pensar en un SUPERTIPO en este caso por ejemplo
EMPLEADO (nombre, apellidos, dirección, teléfono,
etc.) y un SUBTIPO en este caso por ejemplo PILOTO
que además de los atributos del supertipo
EMPLEADO tendrá como atributos (horas de vuelo,
nro de licencia, etc.)
13
14. SUPERTIPOS Y SUBTIPOS DE ENTIDAD
14
EMPLEADO
#cédula
*nombre
…
Supertipo
Subtipos
PILOTO
*nro_licencia
*horas_vuelo
SECRETARIA
* registro
15. SUPERTIPOS Y SUBTIPOS DE ENTIDAD
• El modelo de subtipos es excluyente
• Los subtipos “heredan” todos los atributos
del supertipo
• Un subtipo puede tener relaciones normalmente
con otras entidades al igual que el supertipo
• Un supertipo puede tener cualquier cantidad de
subtipos
• Un subtipo puede a su vez poseer subtipos
• El atributo identificador del supertipo queda como
identificador en cada uno de los subtipos
15
16. SUPERTIPOS Y SUBTIPOS DE ENTIDAD
• No es posible que 2 subtipos tengan el mismo valor
en el atributo identificador (no serían excluyentes)
• Cada subtipo puede poseer identificadores
alternativos
• Existe una relación 1 a 1 implícita entre cada
subtipo y el supertipo
16
17. 17
Si se tiene un modelo no
excluyente NO SE
PUEDEN usar subtipos. En
ese caso se procede así:
En este modelo la persona puede ser
simultáneamente ESTUDIANTE y
DOCENTE
NO EXCLUSIVO
PERSONA
#cédula
*nombre
ESTUDIANTE
* promedio
PROFESOR
* registro
EXCLUSIVO
Un estudiante NO puede ser profesor
Un profesor NO puede ser estudiante
PERSONA
ESTUDIANTE
DOCENTE
18. ARCOS
18
generadora
de
FACTURA
# código
* fecha
EMPRESA
# nit o
conmutador
para
generadora
de
PERSONA
# cédula
* añoNacimiento
para
Una factura debe ser para una empresa o para una persona
Una empresa puede ser generadora de muchas facturas
Una persona puede ser generadora de muchas facturas
Por definición las asociaciones cruzadas por un arco deben ser todas
obligatorias o todas opcionales.
19. ARCOS
• Cualquier número de entidades puede
participar en un arco.
• Es normal que los nombres de las relaciones
de las entidades participantes en el arco
sean iguales
• Existe una correspondencia muy alta entre
los arcos y los subtipos, dependiendo de la
naturaleza del problema y de la
complejidad es posible pasar de arcos a
subtipos y viceversa…
19
20. EJERCICIO
Se desea construir una base de datos para guardar información sobre
los Parques Naturales de un país determinado.
Cada Parque natural posee un conjunto de áreas claramente
delimitadas.
En los parques habitan seres vivos (plantas y animales) y seres inertes
(minerales).
Sólo para los seres vivos se guarda una pequeña información
taxonómica:
Familia, Orden y Clase. Ejemplo: buitre (Familia: Cathartidae, Orden:
Ciconiformes, Clase: Aves)
De una Orden pueden haber muchas Familias y de una Clase muchas
Órdenes. A su vez una Orden sólo pertenece a una Clase y una Familia
a una Orden.
Un ser vivo puede habitar diversas zonas (áreas) de un Parque. Interesa
registrar en cada área de un Parque cuantos seres vivos de cada tipo
existen.
Ej: Número de buitres en el área 45 del Parque "Muñeco de Agua".
20
21. EJERCICIO (CONTINUACIÓN…)
Para cada animal se guarda la información sobre los tipos
de seres que suele consumir. Los animales se pueden
alimentar de plantas o de otros animales.
Ni a las plantas (ni muchos menos a los minerales) se les
lleva esta información.
(no hay plantas carnívoras en este sistema y así las hubiera
no interesa documentarles tal información). Se asume que
los animales no comen minerales.
En cada Parque hay diferentes tipos de personal. Hay
investigadores, los cuales están adscritos a un solo Parque.
Los investigadores suelen conformar grupos de
investigación. Es válido que un grupo de investigación esté
conformado por investigadores provenientes de diferentes
parques.
Un investigador puede pertenecer a diversos grupos de
investigación.
21
22. EJERCICIO (CONTINUACIÓN…)
Los grupos de investigación suelen hacer proyectos. Hay dos tipos de
proyectos:
• Individuales: Tienen como objeto de estudio a un tipo de ser en
específico (Ej: Los buitres).
• Multifaceta: Tienen como objeto de estudio la interacción entre
diversos seres (Ej: "Estudio de las relaciones entre koalas, elefantes y
bambú", "Resultados del cruce entre vacas y caballos 'vacabalos' ").
A los proyectos individuales se les asigna un evaluador (que puede ser
cualquier investigador inscrito en el sistema de Parques). Estos proyectos no
tienen obligación de publicar artículos (pero si informes de avance) a
diferencia de los proyectos multifaceta que no se les asigna evaluador pero
tienen la obligación de producir mínimo 2 artículos e informes de avance.
De los artículos se guarda la información de los autores (los autores son los
investigadores adscritos al sistema de parques), lo normal (aunque no es
obligatorio) es que los autores de un artículo, proveniente de un proyecto,
sean un subconjunto de los investigadores que realizan dicho proyecto.
Un artículo es sometido a una serie de evaluaciones por parte de pares
externos para lograr la publicación en una determinada revista.
22
23. EJERCICIO (CONTINUACIÓN…)
• En los parques también hay vigilantes de las áreas.
Interesa saber cada vigilante en que área está (y
en que áreas estuvo en el pasado). Un área puede
ser vigilada simultáneamente por muchos
vigilantes. Ej: El vigilante Niki está en el área 55 del
Parque "Cerdo Inteligente" desde el 13 de Julio de
2005. Antes estuvo en el área 8 del Parque
"Faisanes con Colbón" del 7 al 12 de Julio de 2005
etc.
• Un vigilante está adscrito a un Parque pero puede
ser asignado para trabajar en un área de cualquier
Parque.
23
24. REFENCIAS
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. 5ª Edición. Mc Graw Hill.
• Claudia Jimenez. Bases de datos.
http://www.unalmed.edu.co/~csjimene/pub2/bd.pdf
24