Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(BD 2011 12) Apuntes ModeladoConceptual
(BD 2011 12) Apuntes ModeladoConceptual
Modelado Conceptual
Esperanza Marcos
Modelo Conceptual
Contenido
GUÍA DE ESTUDIO......................................................................................................................................... 3
2
Modelo Conceptual
Guía de Estudio
Podemos decir que el núcleo de todo Sistema de Información (en adelante SI)
orientado a la gestión está constituido por los datos del sistema, por lo que éstos son un
elemento clave en el proceso de desarrollo software. Si además estamos hablando de
desarrollo estructurado de software nos encontramos con que los datos forman el eje a
partir del cual se construye el sistema.
En esta unidad se abordará el problema del modelado conceptual de datos, dentro de
la fase de análisis del proceso de desarrollo software. El objetivo que nos planteamos es
que, al finalizar dicha asignatura, el alumno sea capaz de realizar el modelado conceptual
de datos de un SI.
Para ello, en primer lugar, situaremos las actividad del modelado conceptual de datos
en el lugar que les corresponde dentro del proceso de desarrollo, estableciendo las
relaciones existentes entre ésta y otras actividades. Posteriormente, revisaremos el
concepto de modelo de datos, pasando a continuación a exponer el modelo
Entidad/inteRrelación (en adelante E/R) como la técnica más aceptada de modelado de
datos en el desarrollo estructurado. Al final de la unidad se incluyen una serie de ejercicios
de autocomprobación con las soluciones propuestas. Es importante que el alumno tenga
en cuenta que las soluciones propuestas, en general, no serán únicas, especialmente en
los ejercicios de modelado conceptual. Por tanto, el alumno puede llegar a otras
soluciones alternativas que no serán necesariamente iguales a las que nosotros
proponemos. Finalmente se detalla la bibliografía que se ha divido en dos apartados:
bibliografía básica en la que nos hemos basado para desarrollar esta unidad y que, en
general, el alumno debería conocer; y bibliografía recomendada, constituida por libros
que también hemos consultado y que se recomienda a aquellos alumnos que deseen
profundizar o completar algún aspecto concreto de ésta unidad. La unidad contiene
también un control que permitirá evaluar los conocimientos adquiridos por el alumno al
final de la misma.
A modo de recomendación, y siempre que sea posible, el alumno debería contrastar
sus soluciones con las de otros alumnos. Esto permitirá discutir las distintas alternativas
analizando las ventajas e inconvenientes de cada una de ellas. Si esto no fuera posible, el
alumno dispone de una dirección de correo electrónico (cuca@escet.urjc.es) a la que
podrá enviar sus comentarios, dudas o sugerencias.
3
Modelo Conceptual
4
Modelo Conceptual
DATOS FUNCIONES
Modelado Conceptual de DE
REQUISITOS Modelado
Datos: E/R Conceptual de Procesos: DFD
INFORMACIÓN
ANALISIS
5
Modelo Conceptual
6
Modelo Conceptual
Sin embargo, el término modelo, debido a las diferentes acepciones del mismo, puede
dar lugar a ambigüedad y es importante tener en cuenta que en otros ámbitos diferentes
al de las bases de datos esta terminología puede variar. Así, por ejemplo, algunos autores
hablan de formalismos, en lugar de modelos, como marcos en los que definir esquemas, a
los que ellos se refieren como modelos. De este modo, en muchas ocasiones se habla de
modelos (modelos conceptuales, modelos de conocimiento, modelos lógicos, etc.) para
referirse indistintamente, tanto al modelo del universo del discurso (esquema) como al
formalismo en el que éste es definido (modelo de datos).
El problema deriva, de la doble acepción del término modelo. Podemos decir que un
esquema es un modelo (entendido como una copia simplificada de la realidad), y un
modelo (entendido como un original que se toma como referencia) si ese esquema se
implementa en un sistema informático. Por este motivo, podemos encontrar autores que
hablan de modelos para referirse a lo que nosotros denominaremos esquemas, o que se
refieran a los modelos como formalismos o técnicas. Por ejemplo, un DFD no es en sí
mismo un modelo, sino que suelen ser denominados técnicas, mientras que se denomina
modelo funcional, a la representación de la parte dinámica de un universo del discurso
utlizando la técnica de los DFDs.
Teniendo presente que esta terminología puede variar y que empleamos ésta por ser la
más extendida en el mundo de los “datos” en el que se centra la presente unidad,
definimos modelo de datos como un:
7
Modelo Conceptual
3.1. Entidad
El mundo real se compone de una serie de objetos (reales o abstractos) acerca de los
cuales queremos obtener y representar información. En general dichos objetos podrán
agruparse en conjuntos de acuerdo a unas características comunes a todos aquellos que
forman parte de un mismo conjunto. Denominamos entidad a la abstracción que permite
representar aquellos objetos del mundo real que comparten una serie de características
comunes. Cada uno de los objetos concretos que pertenecen a la entidad es un ejemplar u
ocurrencia de entidad. Así, por ejemplo, DEPARTAMENTO es una entidad que permite
representar el conjunto de departamentos de los que se compone una empresa.
Ejemplares de la entidad DEPARTAMENTO podrían ser el departamento de ventas, de I+D,
de personal, de formación, etc. El conjunto de ejemplares de una entidad en un momento
dado será la extensión de ese tipo de entidad.
1
Hemos traducido por interrelación el término inglés “relationship” a fin de distinguirlo de la relación del modelo relacional que, en
inglés, se denomina “relation”. El término asociación lo utilizaremos para referirnos al caso general de conexión entre objetos, dejando
interrelación para expresar la asociación en el modelo E/R.
8
Modelo Conceptual
DEPARTAMENTO EMPLEADO
Existen dos clases de entidades: regulares, que son aquellas cuyos ejemplares tienen
existencia por sí mismos (como DEPARTAMENTO y EMPLEADO), y débiles, en las cuales la
existencia de un ejemplar depende de que exista un cierto ejemplar de otro tipo de
entidad. Por ejemplo, la entidad HIJO es una entidad débil que depende de EMPLEADO, ya
que a la empresa tan sólo le interesa información de los hijos de sus empleados, del tal
modo que la desaparición de un determinado empleado hace que desaparezcan también
los hijos de éste. Las entidades débiles se representan con dos rectángulos concéntricos
con su nombre en el interior, como se ve en la figura 3.2.
HIJO
3.2. Interrelación
Se entiende por interrelación una asociación, vinculación o correspondencia entre
entidades. Cada asociación o vinculación que se establece entre ejemplares concretos de
las entidades que intervienen en una interrelación se denomina ejemplar u ocurrencia de
interrelación. Por ejemplo, Pertenece es una interrelación que vincula las entidades
DEPARTAMENTO y EMPLEADO; un ejemplar de la interrelación Pertenece es la vinculación
entre el departamento de “formación” y la empleada “B. Vela”.
Representaremos la interrelación mediante un rombo etiquetado con un nombre,
unido mediante arcos a los tipos de entidad que asocia, como se ve en la figura 3.3, en
donde establecemos la interrelación Pertenece entre DEPARTAMENTO y EMPLEADO.
Entre dos entidades puede existir más de una interrelación.
9
Modelo Conceptual
PROYECTO
Consta
10
Modelo Conceptual
Figura 3.5. Ejemplos e interrelación uno a uno (1:1), uno a muchos (1:N), y muchos a muchos
(N:N) y roles
11
Modelo Conceptual
1:N
DEPARTAMENTO Pertenece EMPLEADO
(1,1) (0,n)
Pertenece (DEPARTAMENTO(1,1):EMPLEADO(0,n))
DEPARTAMENTO (1,1) EMPLEADO (0,n)
12
Modelo Conceptual
3.4. Atributo
Cada una de las propiedades o características que tiene una entidad o una interrelación
se denomina atributo; los atributos toman valores de uno o varios dominios. Por tanto,
podemos decir que el atributo le da una determinada interpretación al dominio (o a los
dominios) en el contexto de un tipo de entidad o de un tipo de interrelación. El atributo se
representa gráficamente con un círculo u óvalo etiquetado con su nombre (ver figura 3.8)
y unido mediante un arco a la entidad o a la interrelación correspondiente.
Nombre_ Nombre_
departamento departamento
Pertenece Fecha_alta
Fecha_nac
Nombre_emp
EMPLEADO
DNI
13
Modelo Conceptual
Día
EMPLEADO Mes
Fecha_nac Año
EMPLEADO Día
Mes
Año
Fecha_nac
14
Modelo Conceptual
Fecha_nac
EMPLEADO
Nombre_emp
DNI
Teléfono
Entre todos los atributos de una entidad han de existir uno o varios (simples y/o
compuestos) que identifiquen unívocamente cada una de los ejemplares de esa entidad.
Cada uno de estos conjuntos de atributos se denomina Identificador Candidato (IC).
Cuando un IC es compuesto, el número de los atributos que lo componen debe ser
mínimo, en el sentido de que la eliminación de cualquiera de ellos le haría perder su
carácter identificador. Luego todo IC debe cumplir la condición de ser unívoco y mínimo.
Entre los IC se elige uno como Identificador Principal (IP) y el resto serán Identificadores
Alternativos (IA). El atributo IP se puede representar de cualquirea de los dos modos que
se muestran en la figura 3.13. Los identificadores principales compuestos se pueden
representar de forma análoga a la de los atributos compuestos.
EMPLEADO DNI
EMPLEADO DNI
3.5. Generalización/Especialización
En el modelo E/R básico propuesto por Chen no se encontraba este tipo de abstracción
que fue introducido en posteriores extensiones del modelo. La jerarquía de
generalización/especialización, en el modelo E/R, se considera como un caso especial de
asociación entre varias entidades (subtipos) y una entidad más general (supertipo) cuyas
15
Modelo Conceptual
características son comunes a todos los subtipos. La asociación que se establece entre los
subtipos y el supertipo corresponde a la noción de es_un (IS_A, en inglés).
Aunque existen distintas convenciones para representar estas jerarquías de
generalización/especialización, nosotros utilizamos un triángulo cuya base es paralela al
rectángulo que representa la entidad del supertipo al cuál está conectado; triangulo que
también se une a los subtipos, tal como se muestra en la figura 3.14.
EMPLEADO SUPERTIPO
(1,1)
Es_un
(0,1) (0,1)
ANALISTA PROGRAMADOR
SUBTIPOS
16
Modelo Conceptual
Puede ocurrir que se formen, por generalización y/o especialización, jerarquías a más de
un nivel donde un subtipo es, a su vez, supertipo de otros.
Otra característica muy importante de esta clase de asociación es la herencia, ya que,
todo atributo, o interrelación, del supertipo pasa a ser un atributo, o interrelación, de los
subtipos; por ejemplo, en la jerarquía de la figura 3.14 tanto los analistas como los
programadores son empleados, por lo que heredarán todos los atributos de la entidad
EMPLEADO (DNI, Nombre, Dirección, etc.).
En este tipo de abstracción los atributos comunes a todos los subtipos (incluidos los
identificadores) se asignan al supertipo, mientras que los atributos específicos se asocian al
subtipo al cual pertenecen. Del mismo modo, las interrelaciones que afectan a todos los
subtipos se asocian al supertipo, dejándose para los subtipos las interrelaciones específicas
en las que sólo participa el correspondiente subtipo.
La división en subtipos (especialización) puede venir determinada por una condición
predefinida (por ejemplo, en función de los valores de un atributo) en cuyo caso se
representará la condición (o el atributo discriminante) asociada al triángulo que representa
la interrelación.
Atendiendo a si los subtipos se solapan o son disjuntos, y a si la unión de los subtipos
recubre o no al supertipo se pueden distinguir cuatro clases de generalización. Si un mismo
ejemplar del supertipo puede pertenecer a más de un subtipo habrá solapamiento y si sólo
puede pertenecer a uno de los subtipos existirá exclusividad; por otro lado, si todo ejemplar
del supertipo tiene que pertenecer a algún subtipo tendremos totalidad y si, por el
contrario, no tiene obligatoriamente que pertenecer a algún subtipo habrá parcialidad.
La combinación de estas posibilidades da lugar a cuatro tipos de jerarquías, donde
representaremos por un arco el hecho de que los subtipos sean disjuntos y con un círculo la
presencia de una jerarquía total, como puede observarse en la figura 3.15, en la cual se
presenta una jerarquía total de subtipos disjuntos, ya que:
Tanto un analista como un programador son empleados (jerarquía de
generalización)
Los empleados con título de licenciado o ingeniero tienen categoría de analistas
mientras que los diplomados o ingenieros técnicos tienen categoría de
programadores. Un mismo empleado no puede ser a la vez analista y
programador (exclusividad)
Todo empleado tiene que ser obligatoriamente un analista o un programador
(totalidad)
17
Modelo Conceptual
EMPLEADO SUPERTIPO
(1,1)
Es_un Título
(0,1) (0,1)
3.6. Ejemplo
A continuación, figura 3.16, representamos en el modelo E/R el esquema conceptual
completo que hemos utilizado a lo largo de la explicación. En el se muestran dos
interrelaciones (una 1:N y otra N:M) con sus cardinalidades, los atributos identificadores
pricipales (AIP) de cada una de las entidades así como los atributos de las interrelaciones.
DEPARTAMENTO Codigo_dep
(1,1)
18
Modelo Conceptual
19
Modelo Conceptual
PERCEPCION
ANALISIS DE LOS
¿Qué representar? REQUISITOS
ANALISIS
(DESCRIPCION DEL
DESCRIPCION MUNDO REAL)
ESQUEMA
DESCRIPTIVO
CONCEPTUALIZACION
TRANSFORMACION
¿Cómo representar? (REPRESENTACION
REFINAMIENTO NORMALIZADA DEL
ESQUEMA DESCRIPTIVO)
ESQUEMA
CONCEPTUAL
20
Modelo Conceptual
21
Modelo Conceptual
El estudio de las frases que definen los requisitos del sistema permite ir clasificando los
distintos objetos. Existen dos verbos, muy comunes en la especificación de los requisitos,
que presentan un especial interés: ser y tener.
1) “ES UN” nos permite, como ya hemos visto, crear jerarquías de entidades, ya que
corresponde al concepto de generalización. Por ejemplo, dada la frase: “...tanto un
analista como un programador son empleados...”, podemos establecer una
generalización como la que representamos en la figura 3.13.
2) “TIENE” es un verbo sobreutilizado en castellano ya que posee múltiples
interpretaciones. Según la acepción del verbo en la correspondiente frase, puede
corresponder a:
a) Una interrelación general entre entidades: en cuyo caso el verbo se utiliza
como otro cualquiera, sin una acepción específica; por ejemplo, “...los
empleados tiene un jefe...”, indica una interrelación entre las entidades
EMPLEADO y JEFE. En esta frase, tener actúa de forma totalmente análoga
a cualquier verbo transitivo, y podría ser sustituido, por ejemplo, por
asignar.
b) Una asociación de las entidades con sus atributos; por ejemplo, si decimos
que “...los empleados tienen nombre y apellidos, un DNI, una dirección y un
teléfono...”, estamos asociando a la entidad EMPLEADO una serie de
atributos: nombre, apellidos, DNI, dirección, teléfono.
Existen otros aspectos a tener en cuenta, entre los que cabe destacar que, del número
de las entidades (singular/plural) puede deducirse ciertos tipos, cardinalidades y grados de
las interrelaciones; así, si decimos “...un empleado participa en uno o varios proyectos... y
...en un proyecto participan varios empleados...” podemos deducir que la interrelación es
de tipo N:M, y de grado 2.
Dijimos al comienzo de este apartado lo difícil que puede resultar la categorización de
los objetos del universo del discurso. Hemos visto, sin embargo, unos principios generales
que pueden servirnos como guía en este proceso, aunque siguen subsistiendo problemas
y ambigüedades, como la distinción entre atributo y entidad, que no siempre resulta clara
del análisis lexicográfico del esquema percibido. A continuación resumimos algunas
consideraciones que nos pueden ayudar a decidir si un determinado objeto de datos debe
ser representado como un atributo, o como entidad interrelacionada con la entidad de la
que se supone que podría ser atributo.
22
Modelo Conceptual
23
Modelo Conceptual
5. Ejercicios de Autocomprobación
5.1. Enunciados
1. ¿En que etapa del proceso de desarrollo se encuentra el modelado conceptual de
datos?
2. ¿Qué es el universo del discurso?
3. Explique con sus palabras el concepto de modelo de datos, dentro del contexto del
modelado conceptual de datos.
4. ¿Qué entendemos por esquema conceptual de datos?
5. Brevemente, explique cuales son los objetivos del modelado conceptual de datos.
6. Describa las características deseables para un modelo conceptual de datos.
7. Enumere los elementos básicos del modelo E/R.
8. ¿Qué es un atributo identificador principal (AIP)?. Cite un ejemplo.
9. Defina los conceptos de entidad regular y entidad débil.
10. ¿Qué etapas pueden distinguirse en el modelado conceptual de datos? Describa
brevemente en qué consiste cada una de ellas.
Supuestos
Para cada uno de los siguientes supuestos, se pide realizar el modelado conceptual de
datos utilizando el modelo E/R extendido. Suponemos que las entrevistas con los usuarios
ya han sido realizadas y por tanto estamos ya en la etapa de conceptualización. De la
etapa de análisis de requisitos se han obtenido las siguientes especificaciones de usuario:
S1. Basándose en el ejemplo de la figura 3.16, represente, en el modelo E/R, el
esquema resultante de aplicar las siguientes especificaciones de usuario:
Un empleado puede ser, bien analista bien programador, pero nunca ambas
cosas a la vez.
Todo proyecto tiene un único jefe, que deberá ser analista, y uno o varios
programadores asignados.
Un analista puede ser jefe de un solo proyecto. Un programador puede
participar en varios proyectos simultáneamente.
24
Modelo Conceptual
S2. La empresa de formación X, desea llevar un control informatizado de los cursos que
imparte así como de lo profesores que participan en dichos cursos. Para ello, nos han
dado las siguientes especificaciones:
Cada curso, del que se desea conocer el título, el número de horas y el tema o
los temas que trata, se identifica por un código de cuso.
Cada curso puede tener una serie de cursos cuyo realización previa es
obligatoria (prerrequisito) o recomendada.
Cada curso se puede impartir una o varias veces, en diferentes fechas y en cada
edición del mismo pueden participar diferentes empleados.
Los empleados, de los que se desea conocer su código de empleado, nombre,
DNI y fecha de antiguedad en la empresa, pueden impartir y recibir cursos pero
con la restricción de que en una mismo edición de un curso no pueden
participar como profesores y como alumnos.
S3. La cadena de Video-Clubs Glob-Gusters ha decidido, para mejorar su servicio,
emplear una base de datos para almacenar la información referente a las películas que
ofrece en alquiler. Esta información es la siguiente:
Una película se caracteriza por su título, nacionalidad, productora y fecha (p.e.,
“Quo Vadis”, “Estados Unidos”, “M.G.M.”, 1955).
En una película pueden participar varios actores (nombre, nacionalidad, sexo)
algunos de ellos como actores principales.
Una película está dirigida por un director (nombre, nacionalidad).
De cada película se dispone de uno o varios ejemplares diferenciados por un
número de ejemplar y caracterizados por su estado de conservación.
Un ejemplar se puede encontrar alquilado a algún cliente (nombre, dirección,
teléfono). Se desea almacenar la fecha de comienzo del alquiler y la de
devolución.
Cada socio puede alquilar como máximo 4 ejemplares.
Un socio tiene que ser avalado por otro socio, que responda de él en caso de
tener problemas en el alquiler.
S4. La empresa Personal Quality desea incorporar en su política de contratación
criterios de calidad del personal basados en la medición de sus habilidades o
competencias personales.
25
Modelo Conceptual
26
Modelo Conceptual
6. Bibliografía
27