Transcript
  • ESCUELA TCNICA SUPERIOR DE INGENIERA INFORMTICA

    Modelado Conceptual

    Esperanza Marcos

  • Modelo Conceptual

    2

    Contenido

    GUA DE ESTUDIO......................................................................................................................................... 3

    1. EL MODELADO CONCEPTUAL DE DATOS EN EL PROCESO DE DESARROLLO SOFTWARE .................. 4

    2. CONCEPTO DE MODELO DE DATOS .................................................................................................... 5

    3. EL MODELO ENTIDAD/INTERRELACIN EXTENDIDO (E/R) ................................................................ 8

    3.1. ENTIDAD .............................................................................................................................................. 83.2. INTERRELACIN...................................................................................................................................... 9

    3.2.1. Elementos de una Interrelacin............................................................................................... 103.2.2. Cardinalidad de una Entidad en una Interrelacin .................................................................. 11

    3.3. DOMINIO Y VALOR................................................................................................................................ 123.4. ATRIBUTO........................................................................................................................................... 133.5. GENERALIZACIN/ESPECIALIZACIN......................................................................................................... 153.6. EJEMPLO ............................................................................................................................................ 18

    4. ETAPAS DEL MODELADO CONCEPTUAL ............................................................................................ 19

    4.1. ANLISIS DE REQUISITOS ........................................................................................................................ 194.2. ETAPA DE CONCEPTUALIZACIN............................................................................................................... 194.3. PASO DEL ESQUEMA PERCIBIDO AL ESQUEMA CONCEPTUAL ......................................................................... 21

    5. EJERCICIOS DE AUTOCOMPROBACIN ............................................................................................. 24

    5.1. ENUNCIADOS....................................................................................................................................... 24

    6. BIBLIOGRAFA .................................................................................................................................... 27

    6.1. BIBLIOGRAFA BSICA ........................................................................................................................... 276.2. BIBLIOGRAFA RECOMENDADA ................................................................................................................ 27

  • Modelo Conceptual

    3

    Gua de Estudio

    Podemos decir que el ncleo de todo Sistema de Informacin (en adelante SI)orientado a la gestin est constituido por los datos del sistema, por lo que stos son unelemento clave en el proceso de desarrollo software. Si adems estamos hablando dedesarrollo estructurado de software nos encontramos con que los datos forman el eje apartir del cual se construye el sistema.

    En esta unidad se abordar el problema del modelado conceptual de datos, dentro dela fase de anlisis del proceso de desarrollo software. El objetivo que nos planteamos esque, al finalizar dicha asignatura, el alumno sea capaz de realizar el modelado conceptualde datos de un SI.

    Para ello, en primer lugar, situaremos las actividad del modelado conceptual de datosen el lugar que les corresponde dentro del proceso de desarrollo, estableciendo lasrelaciones existentes entre sta y otras actividades. Posteriormente, revisaremos elconcepto de modelo de datos, pasando a continuacin a exponer el modeloEntidad/inteRrelacin (en adelante E/R) como la tcnica ms aceptada de modelado dedatos en el desarrollo estructurado. Al final de la unidad se incluyen una serie de ejerciciosde autocomprobacin con las soluciones propuestas. Es importante que el alumno tengaen cuenta que las soluciones propuestas, en general, no sern nicas, especialmente enlos ejercicios de modelado conceptual. Por tanto, el alumno puede llegar a otrassoluciones alternativas que no sern necesariamente iguales a las que nosotrosproponemos. Finalmente se detalla la bibliografa que se ha divido en dos apartados:bibliografa bsica en la que nos hemos basado para desarrollar esta unidad y que, engeneral, el alumno debera conocer; y bibliografa recomendada, constituida por librosque tambin hemos consultado y que se recomienda a aquellos alumnos que deseenprofundizar o completar algn aspecto concreto de sta unidad. La unidad contienetambin un control que permitir evaluar los conocimientos adquiridos por el alumno alfinal de la misma.

    A modo de recomendacin, y siempre que sea posible, el alumno debera contrastarsus soluciones con las de otros alumnos. Esto permitir discutir las distintas alternativasanalizando las ventajas e inconvenientes de cada una de ellas. Si esto no fuera posible, elalumno dispone de una direccin de correo electrnico ([email protected]) a la quepodr enviar sus comentarios, dudas o sugerencias.

  • Modelo Conceptual

    4

    1. El Modelado Conceptual de Datos en el Proceso de Desarrollo Software

    El modelado conceptual permite describir, de un modo totalmente independiente de laimplementacin, los datos que el usuario quiere recoger en el sistema. Dependiendo de lacantidad de informacin que se desee representar, tendremos aplicaciones ms o menosorientadas a los datos. As, por ejemplo, la gestin de una biblioteca es una aplicacinpura de Bases de Datos (en adelante BD) ya que prcticamente toda la funcionalidad delsistema se centra en el mantenimiento de los datos (introducir un libro, prestar un libro,etc.). Existen, sin embargo, otras aplicaciones, como por ejemplo un sistema de control denavegacin area, en las que los datos son algo secundario. Podemos decir que, engeneral, los datos son el ncleo de todo SI orientado a la gestin.

    El desarrollo estructurado de software, a diferencia de lo que ocurre en el desarrolloorientado a objetos, mantiene una clara separacin entre los datos y las funciones delsistema. Por ello, es necesario disponer, en cada una de las etapas del proceso dedesarrollo, de tcnicas especficas para la especificacin de los datos, que sern diferentesde las tcnicas orientadas a la especificacin de las funciones o procesos.

    El modelado conceptual es una actividad que se realiza en la etapa de anlisis,paralelamente al modelado de procesos o funciones. Su objetivo, como ya hemos dicho,es captar toda la informacin del mundo real que se desea representar en el mundoinformtico. En este proceso es importante abstraer los detalles sin importancia yrepresentar tan slo aquella informacin que sea relevante.

    En este punto no nos interesa el cmo ni donde se va a implementar el sistema. Dehecho, dependiendo del tipo de sistema (ms o menos orientado a los datos), del volumende informacin, de los requisitos de eficiencia, etc. se podrn utilizar distintosmecanismos de persistencia de los datos: Sistemas de Bases de Datos, Sistemas deFicheros, etc. De estos aspectos nos ocuparemos en la etapa de diseo (ver la unidaddedicada a diseo estructurado de datos). En esta etapa interesa recoger la mximacantidad de informacin posible, por lo necesitamos una tcnica que cumpla los siguientesrequisitos:

    Ser independiente de los modelos o lenguajes de implementacin

    Tener una capacidad semntica alta

    Ser lo mas cercana posible al usuario

    Aunque existen diversas tcnicas, utilizaremos el modelo E/R porque adems decumplir los requisitos anteriores es la tcnica de modelado conceptual universalmenteaceptada para el desarrollo estructurado.

  • Modelo Conceptual

    5

    En la figura 1.1 se muestra la situacin del modelado conceptual en el proceso dedesarrollo, as como la relacin existente entre esta y otras actividades. La etapa deanlisis comprende, tanto el anlisis de datos, modelado conceptual de datos, como el defunciones. La tcnica ms habitual para el modelado conceptual de datos es el modelo E/Ry para el modelado conceptual de procesos son los Diagramas de Flujo de Datos (enadelante DFD). Existen algunas tcnicas, como el Diagrama de Historia de Vida de lasEntidades o la Matriz Entidad-Evento, que permiten integrar la visin de los datos y la delos procesos. Como se puede apreciar, la etapa de diseo tambin se compone del diseode datos y del diseo de procesos.

    Figura 1.1. Comparacin entre el proceso de diseo de datos y el de procesos

    2. Concepto de Modelo de Datos

    Un modelo puede definirse como la construccin mental a partir de la realidad en laque se reproducen los principales componentes y relaciones del segmento de la realidadanalizada. ste es, efectivamente, el significado de modelo en las ciencias empricas en lasque, a fin de estudiar el comportamiento de una determinada parcela de la realidad, secrea un modelo de sta. Dicho modelo habr de ser isomrfico respecto a la realidad querepresenta y ms simple que sta, destacando sus principales caractersticas, o aquellasque son relevantes para un determinado inters de estudio. Sin embargo, sta no es lanica acepcin del trmino modelo, al que podemos asignar dos significados:

    DATOS

    ANALISIS REQUISITOS DE INFORMACIN

    FUNCIONES

    DISEO REQUISITOS DE LOS PROCESOS

    Modelado Conceptual de Datos: E/RModelado Conceptual de Procesos: DFD

    Diseo de Datos: Relacional Diseo de Procesos: DEC

  • Modelo Conceptual

    6

    Por un lado, el modelo entendido como una reproduccin simplificada de larealidad; este es el caso, ya expuesto, de las ciencias empricas, en las que sedefinen modelos de comportamiento simplificados de la parcela del mundo realque es objeto de estudio;

    Y, por otro lado, el modelo entendido como la realidad propiamente dicha;pinsese, por ejemplo, en un pintor, quien reproduce en lienzo a sus modelos;en este segundo caso, el modelo no es la representacin del mundo real, sinoque constituye el mundo real en s mismo: es un modelo a copiar o a simular.

    Esta segunda acepcin de modelo es la que corresponde a la lgica matemtica, dondela representacin recibe el nombre de teora y lo representado el de modelo, mientrasque la primera corresponde, como ya hemos visto, al concepto de modelo en las cienciasempricas.

    En algunos casos, como en el caso de los modelos de datos, el concepto de modeloresponde simultaneamente a estas dos acepciones. Quiz resulte esclarecedor el ejemplodel arquitecto, para quien una maqueta es un modelo a copiar para la construccin de unnuevo edificio. La maqueta sera, en un primer momento, la realidad puesto que el edificioan no existe. El arquitecto obtiene un nuevo edifio tomando dicha maqueta comomodelo. A partir de este momento, el edificio constituye la realidad, mientras que lamaqueta puede considerarse una copia del mismo.

    En el mbito de la bases de datos es muy comn la utilizacin del trmino modelo dedatos, y existen diferentes definiciones del mismo en la literatura. As, por ejemplo,Dittrich define modelo de datos como "un conjunto de herramientas conceptuales paradescribir la representacin de la informacin en trminos de datos. Los modelos de datoscomprenden aspectos relacionados con: estructuras y tipos de datos, operaciones yrestricciones".

    Un modelo de datos permite representar una parcela de informacin del mundo realde especial inters, lo que habitualmente se denomina universo del discurso o, entrminos, de Dittrich mini-mundo. La representacin del universo del discurso se concibeen dos niveles: el de la informacin en s misma y el de las estructuras que hacen posiblela representacin de tal informacin. Estos dos niveles dan lugar, en el mbito de las basesde datos, a la distincin entre esquema y base de datos, conceptos que Dittrich definecomo sigue: "La descripcin especfica de de un determinado mini-mundo en trminos deun modelo de datos se denomina esquema (o esquema de datos) del mini-mundo. Lacoleccin de datos que represntan la informacin a cerca del mini-mundo constituya labase de datos".

  • Modelo Conceptual

    7

    Sin embargo, el trmino modelo, debido a las diferentes acepciones del mismo, puededar lugar a ambigedad y es importante tener en cuenta que en otros mbitos diferentesal de las bases de datos esta terminologa puede variar. As, por ejemplo, algunos autoreshablan de formalismos, en lugar de modelos, como marcos en los que definir esquemas, alos que ellos se refieren como modelos. De este modo, en muchas ocasiones se habla demodelos (modelos conceptuales, modelos de conocimiento, modelos lgicos, etc.) parareferirse indistintamente, tanto al modelo del universo del discurso (esquema) como alformalismo en el que ste es definido (modelo de datos).

    El problema deriva, de la doble acepcin del trmino modelo. Podemos decir que unesquema es un modelo (entendido como una copia simplificada de la realidad), y unmodelo (entendido como un original que se toma como referencia) si ese esquema seimplementa en un sistema informtico. Por este motivo, podemos encontrar autores quehablan de modelos para referirse a lo que nosotros denominaremos esquemas, o que serefieran a los modelos como formalismos o tcnicas. Por ejemplo, un DFD no es en smismo un modelo, sino que suelen ser denominados tcnicas, mientras que se denominamodelo funcional, a la representacin de la parte dinmica de un universo del discursoutlizando la tcnica de los DFDs.

    Teniendo presente que esta terminologa puede variar y que empleamos sta por ser lams extendida en el mundo de los datos en el que se centra la presente unidad,definimos modelo de datos como un:

    Y esquema se datos como la:

    Conjunto de conceptos, reglas y convencionesque permiten describir y manipular los datosde la parcela del mundo real que constituyenuestro universo del discurso.

    Representacin de un determinado universodel discurso en trminos de un modelo de

  • Modelo Conceptual

    8

    3. El modelo Entidad/inteRrelacin extendido (E/R)

    El modelo E/R fue propuesto por Peter P. Chen en dos artculos ya histricos publicadosen 1976 y 1977. Permite al diseador concebir los datos del sistema a un nivel superior deabstraccin, aislndolo de consideraciones relativas a la mquina y a los usuarios enparticular. El modelo, como su nombre indica, se apoya en dos conceptos: entidad einterrelacin1. Para Chen, una entidad es una cosa que se puede identificar claramentey una interrelacin una vinculacin entre entidades.

    Posteriormente otros muchos autores (ver a modo de ejemplo Elsmari et al. (1997)),han investigado y escrito sobre el modelo, proponiendo importantes extensiones.Realmente no se puede considerar que exista un nico modelo E/R, sino ms bien lo quepodramos llamar una familia de modelos, por lo que hay importantes diferencias en lapresentacin que del modelo hacen distintos autores. Nosotros nos basaremos en elmodelo expuesto en De Miguel et al. (1999) que incluye la mayora de las extensiones quese han ido aportando a lo largo del tiempo, as como algunas consideraciones einterpretaciones propias.

    En el modelo E/R, tal como fue propuesto por Chen, se distinguen los siguienteselementos: Entidad, Interrelacin, Dominio y Atributo. De entre las diversas extensionespropuestas al modelo bsico, consideraremos aqu la Generalizacin debido a suimportancia en el modelado conceptual debida, en parte, a que es un constructor bsicoen el paradigma de la orientacin a objetos.

    3.1. Entidad

    El mundo real se compone de una serie de objetos (reales o abstractos) acerca de loscuales queremos obtener y representar informacin. En general dichos objetos podrnagruparse en conjuntos de acuerdo a unas caractersticas comunes a todos aquellos queforman parte de un mismo conjunto. Denominamos entidad a la abstraccin que permiterepresentar aquellos objetos del mundo real que comparten una serie de caractersticascomunes. Cada uno de los objetos concretos que pertenecen a la entidad es un ejemplar uocurrencia de entidad. As, por ejemplo, DEPARTAMENTO es una entidad que permiterepresentar el conjunto de departamentos de los que se compone una empresa.Ejemplares de la entidad DEPARTAMENTO podran ser el departamento de ventas, de I+D,de personal, de formacin, etc. El conjunto de ejemplares de una entidad en un momentodado ser la extensin de ese tipo de entidad.

    1 Hemos traducido por interrelacin el trmino ingls relationship a fin de distinguirlo de la relacin del modelo relacional que, eningls, se denomina relation. El trmino asociacin lo utilizaremos para referirnos al caso general de conexin entre objetos, dejandointerrelacin para expresar la asociacin en el modelo E/R.

  • Modelo Conceptual

    9

    La representacin grfica de una entidad es un rectngulo etiquetado en cuyo interiorest el nombre del tipo de entidad. La figura 3.1 muestra la representacin de lasentidades DEPARTAMENTO y EMPLEADO.

    Figura 3.1. Representacin de entidades

    Existen dos clases de entidades: regulares, que son aquellas cuyos ejemplares tienenexistencia por s mismos (como DEPARTAMENTO y EMPLEADO), y dbiles, en las cuales laexistencia de un ejemplar depende de que exista un cierto ejemplar de otro tipo deentidad. Por ejemplo, la entidad HIJO es una entidad dbil que depende de EMPLEADO, yaque a la empresa tan slo le interesa informacin de los hijos de sus empleados, del talmodo que la desaparicin de un determinado empleado hace que desaparezcan tambinlos hijos de ste. Las entidades dbiles se representan con dos rectngulos concntricoscon su nombre en el interior, como se ve en la figura 3.2.

    Figura 3.2.- Representacin de una entidad dbil

    3.2. Interrelacin

    Se entiende por interrelacin una asociacin, vinculacin o correspondencia entreentidades. Cada asociacin o vinculacin que se establece entre ejemplares concretos delas entidades que intervienen en una interrelacin se denomina ejemplar u ocurrencia deinterrelacin. Por ejemplo, Pertenece es una interrelacin que vincula las entidadesDEPARTAMENTO y EMPLEADO; un ejemplar de la interrelacin Pertenece es la vinculacinentre el departamento de formacin y la empleada B. Vela.

    Representaremos la interrelacin 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, endonde establecemos la interrelacin Pertenece entre DEPARTAMENTO y EMPLEADO.Entre dos entidades puede existir ms de una interrelacin.

    DEPARTAMENTO EMPLEADO

    HIJO

  • Modelo Conceptual

    10

    Figura 3.3.- Representacin de la relacin Imparte

    3.2.1. Elementos de una Interrelacin

    En un tipo de interrelacin se pueden distinguir los siguientes elementos:

    a) Nombre: al igual que las entidades, los dominios y los atributos, cada interrelacintiene un nombre que lo distingue unvocamente del resto, y mediante el cual ha deser referenciado.

    b) Grado: es el nmero de entidades que participan en una interrelacin. As, unainterrelacin es de grado 2 (o binaria) cuando asocia dos entidad (ver, por ejemplo,figura 3.3). Un caso particular de interrelaciones de grado 2 son las interrelacionesreflexivas, las cuales asocian una entidad consigo misma; en la figura 3.4 se muestrala interrelacin reflexiva Consta que asocia PROYECTO con PROYECTO, y que refleja laposibilidad de que un cierto proyecto (por ejemplo, gestin de un hospital) estcompuesto por (sub)proyectos (por ejemplo, gestin de personal, gestin dehistoriales clnicos, etc.). Pueden existir tambin interrelaciones que asocien ms dedos entidades (interrelaciones n-arias). Las interrelaciones nrias, siendo n>2, msfrecuentes son las de grado 3 y reciben el nombre de interrelaciones ternrias.

    Figura 3.4. Ejemplo de interrelacin reflexiva

    DEPARTAMENTO EMPLEADOImparte

    Consta

    PROYECTO

  • Modelo Conceptual

    11

    c) Tipo de correspondencia: es el nmero mximo de ejemplares de una entidad quepueden estar asociados, en una determinada interrelacin, con un ejemplar deotra(s) entidad(es); para representarlo grficamente, bien se pone una etiqueta con1:1, 1:N o N:M l lado de la interrelacin, o bien se orienta el arco de unin en elsentido 1 a N mediante una punta de flecha, tal como aparece en la figura 3.5,donde se han incluido ambos tipos de representacin en tres ejemplos de tipos deinterrelacin.

    d) Papel (rol): es la funcin que cada una de las entidades realiza en la interrelacin;se representa poniendo el nombre del papel en el arco que une cada entidad coninterrelacin (ver figura 3.5). Siempre que no exista ambigedad se suele prescindirde representar el papel.

    Figura 3.5. Ejemplos e interrelacin uno a uno (1:1), uno a muchos (1:N), y muchos a muchos(N:N) y roles

    3.2.2. Cardinalidad de una Entidad en una Interrelacin

    Se define como el nmero mximo y mnimo de ejemplares de una entidad que puedenestar interrelacionadas con un ejemplar de la otra, u otras entidades que participan en lainterrelacin. Se representa grficamente aadiendo una etiqueta del tipo (0,1), (1,1), (0,n) (1,n), segn corresponda, al lado de las entidades asociados por la interrelacin, tal comoaparece en la figura 3.6. Las cardinalidades mximas coinciden con el tipo decorrespondencia.

    Es_realizado_por

    Trabaja_en

    PROYECTO

    Dirige 1:1

    EMPLEADO

    DEPARTAMENTO

    Pertenece 1:N

    EMPLEADO

    PROYECTO

    Participa N:M

    EMPLEADO

    Est_adscrito_a

    Se_compone_de

    Es_cordinado_por

    Coordina

  • Modelo Conceptual

    12

    Figura 3.6. Ejemplo de interrelacin en la que aparecen las cardinalidades

    En la figura 3.7 se muestran algunos ejemplares de la interrelacin Pertenece entreDEPARTAMENTO y EMPLEADO, en la que se ha supuesto que pueden existir departamentosque (por estar recin creados) no tienen ningn empleado y que todo empleado tiene quepertenecer siempre a un nico departamento.

    Figura 3.7. Representacin de ejemplares de la interrelacin Pertenece

    3.3. Dominio y valor

    Las distintas propiedades o caractersticas de una entidad o de una interrelacin tomanvalores para cada ejemplar de stas. El conjunto de posibles valores que puede tomar unacierta caracterstica se denomina dominio. Se define dominio como un conjunto devalores homogneos con un nombre. Para saber si un valor pertenece a un dominiodeterminado, comprobaremos que cumple el predicado que el dominio lleva siempreasociado.

    DEPARTAMENTO (1,1) EMPLEADO (0,n)

    Pertenece (DEPARTAMENTO(1,1):EMPLEADO(0,n))

    DEPARTAMENTO EMPLEADOPertenece(0,n)

    1:N

    (1,1)

  • Modelo Conceptual

    13

    Por ejemplo, el valor formacin se toma del dominio Nombre_departamento, ycumple el predicado de ser uno de los departamentos posibles del conjunto {ventas,I+D, personal, formacin, desarrollo}; el dominio Nombre_empleado es una tirade caracteres. Un dominio puede definirse por intensin, especificando el tipo de datos(por ejemplo, carcter (30) para el Nombre_empleado o fecha para la Fecha_alta); o porextensin, declarando el valor de cada elemento del dominio (como es el caso deNombre_departamento).

    3.4. Atributo

    Cada una de las propiedades o caractersticas que tiene una entidad o una interrelacinse denomina atributo; los atributos toman valores de uno o varios dominios. Por tanto,podemos decir que el atributo le da una determinada interpretacin al dominio (o a losdominios) en el contexto de un tipo de entidad o de un tipo de interrelacin. El atributo serepresenta grficamente con un crculo u valo etiquetado con su nombre (ver figura 3.8)y unido mediante un arco a la entidad o a la interrelacin correspondiente.

    Figura 3.8. Dos formas de representacin de un atributo

    Por simplicidad, en el esquema conceptual resultante del modelado sloespecificaremos los atributos ms significativos; en la figura 3.9. se representa lasentidades DEPARTAMENTO y EMPLEADO y la interrelacin Pertenece con alguno de susatributos.

    Figura 3.9. Representacin de atributos de entidades y de interrelacin

    Nombre_departamento

    Nombre_departamento

    Codigo_depNombre_dep

    DEPARTAMENTO

    EMPLEADO

    Pertenece Fecha_alta

    DNINombre_empFecha_nac

  • Modelo Conceptual

    14

    La existencia de un atributo est ligada a la de la correspondiente entidad. As la fechade nacimiento de un empleado (Fecha_Nac) no tiene sentido si de nuestro esquemadesaparece el tipo de entidad EMPLEADO; sin embargo, el dominio Fechas puede existircon independencia de cualquier otra entidad.

    El modelo E/R admite atributos compuestos, es decir, atributos definidos sobre ms deun dominio; por ejemplo, el atributo Fecha_Nac de la entidad EMPLEADO puede estardefinido sobre los dominios Da, Mes, y Ao. En la figura 3.10 se muestran dos formas derepresentar los atributos compuestos.

    Figura 3.10. Dos formas de representar atributos compuestos

    El modelo E/R permite tambin atributos multivaluados. En general un atributo toma,para cada ejemplar de entidad, un nico valor de cada dominio (o dominios)subyacente(s) (un empleado tiene un nico nombre, un nico DNI, etc.), pero tambinexisten atributos que pueden tomar ms de un valor (por ejemplo, un empleado puedetener varios nmeros de telfono). Estos atributos, que pueden tomar varios valores,reciben el nombre de multivaluados frente a los univaluados que toman un solo valor. Enla figura 3.11 se muestra, mediante el ejemplo de los telfonos, una forma de representarlos atributos multivaluados.

    Ao

    MesEMPLEADO

    Da

    Fecha_nac

    AoMes

    EMPLEADO Da

    Fecha_nac

  • Modelo Conceptual

    15

    Figura 3.12. Ejemplo de atributo multivaluado (Telfono)

    Entre todos los atributos de una entidad han de existir uno o varios (simples y/ocompuestos) que identifiquen unvocamente 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 nmero de los atributos que lo componen debe sermnimo, en el sentido de que la eliminacin de cualquiera de ellos le hara perder sucarcter identificador. Luego todo IC debe cumplir la condicin de ser unvoco y mnimo.Entre los IC se elige uno como Identificador Principal (IP) y el resto sern IdentificadoresAlternativos (IA). El atributo IP se puede representar de cualquirea de los dos modos quese muestran en la figura 3.13. Los identificadores principales compuestos se puedenrepresentar de forma anloga a la de los atributos compuestos.

    Figura 3.13. Representacin grfica de IP y IA

    3.5. Generalizacin/Especializacin

    En el modelo E/R bsico propuesto por Chen no se encontraba este tipo de abstraccinque fue introducido en posteriores extensiones del modelo. La jerarqua degeneralizacin/especializacin, en el modelo E/R, se considera como un caso especial deasociacin entre varias entidades (subtipos) y una entidad ms general (supertipo) cuyas

    Telfono

    EMPLEADO

    DNINombre_empFecha_nac

    DNIEMPLEADO

    DNIEMPLEADO

  • Modelo Conceptual

    16

    caractersticas son comunes a todos los subtipos. La asociacin que se establece entre lossubtipos y el supertipo corresponde a la nocin de es_un (IS_A, en ingls).

    Aunque existen distintas convenciones para representar estas jerarquas degeneralizacin/especializacin, nosotros utilizamos un tringulo cuya base es paralela alrectngulo que representa la entidad del supertipo al cul est conectado; triangulo quetambin se une a los subtipos, tal como se muestra en la figura 3.14.

    Figura 3.14. Ejemplo de jerarqua de supertipo/subtipos

    Esta clase de asociacin tiene la caracterstica de que todo ejemplar de un subtipo estambin un ejemplar del supertipo, aunque no sucede lo contrario, con lo que lascardinalidades sern siempre (1,1) en el supertipo y (0,1) en los subtipos.

    La aparicin de estas jerarquas, en el modelado de datos, puede surgir de dos formasdistintas:

    a) Generalizacin. Se observa que dos o ms entidades comparten varios atributos y/ointerrelaciones, de donde se deduce la existencia de una entidad de nivel superior(supertipo) que contiene los atributos y las interrelaciones comunes a todos lossubtipos.

    b) Especializacin. Se observa que una entidad tiene ciertos atributos y/ointerrelaciones que tienen sentido para unos ejemplares pero no para otros, por loque es conveniente definir uno o varios subtipos que contengan estos atributos y/ointerrelaciones especficos, dejando en el supertipo los que son comunes.

    Por tanto, si nos movemos de los subtipos hacia el supertipo, se trata de unageneralizacin; mientras que si primero identificamos el supertipo y, a partir de l, llegamosa los subtipos, se trata de una especializacin.

    (1,1)Es_un

    (0,1) (0,1)ANALISTA PROGRAMADOR

    EMPLEADO SUPERTIPO

    SUBTIPOS

  • Modelo Conceptual

    17

    Puede ocurrir que se formen, por generalizacin y/o especializacin, jerarquas a ms deun nivel donde un subtipo es, a su vez, supertipo de otros.

    Otra caracterstica muy importante de esta clase de asociacin es la herencia, ya que,todo atributo, o interrelacin, del supertipo pasa a ser un atributo, o interrelacin, de lossubtipos; por ejemplo, en la jerarqua de la figura 3.14 tanto los analistas como losprogramadores son empleados, por lo que heredarn todos los atributos de la entidadEMPLEADO (DNI, Nombre, Direccin, etc.).

    En este tipo de abstraccin los atributos comunes a todos los subtipos (incluidos losidentificadores) se asignan al supertipo, mientras que los atributos especficos se asocian alsubtipo al cual pertenecen. Del mismo modo, las interrelaciones que afectan a todos lossubtipos se asocian al supertipo, dejndose para los subtipos las interrelaciones especficasen las que slo participa el correspondiente subtipo.

    La divisin en subtipos (especializacin) puede venir determinada por una condicinpredefinida (por ejemplo, en funcin de los valores de un atributo) en cuyo caso serepresentar la condicin (o el atributo discriminante) asociada al tringulo que representala interrelacin.

    Atendiendo a si los subtipos se solapan o son disjuntos, y a si la unin de los subtiposrecubre o no al supertipo se pueden distinguir cuatro clases de generalizacin. Si un mismoejemplar del supertipo puede pertenecer a ms de un subtipo habr solapamiento y si slopuede pertenecer a uno de los subtipos existir exclusividad; por otro lado, si todo ejemplardel supertipo tiene que pertenecer a algn subtipo tendremos totalidad y si, por elcontrario, no tiene obligatoriamente que pertenecer a algn subtipo habr parcialidad.

    La combinacin de estas posibilidades da lugar a cuatro tipos de jerarquas, donderepresentaremos por un arco el hecho de que los subtipos sean disjuntos y con un crculo lapresencia de una jerarqua total, como puede observarse en la figura 3.15, en la cual sepresenta una jerarqua total de subtipos disjuntos, ya que:

    Tanto un analista como un programador son empleados (jerarqua degeneralizacin)

    Los empleados con ttulo de licenciado o ingeniero tienen categora de analistasmientras que los diplomados o ingenieros tcnicos tienen categora deprogramadores. Un mismo empleado no puede ser a la vez analista yprogramador (exclusividad)

    Todo empleado tiene que ser obligatoriamente un analista o un programador(totalidad)

  • Modelo Conceptual

    18

    Figura 3.15. Ejemplo de jerarqua total sin solapamiento

    3.6. Ejemplo

    A continuacin, figura 3.16, representamos en el modelo E/R el esquema conceptualcompleto que hemos utilizado a lo largo de la explicacin. En el se muestran dosinterrelaciones (una 1:N y otra N:M) con sus cardinalidades, los atributos identificadorespricipales (AIP) de cada una de las entidades as como los atributos de las interrelaciones.

    Figura 3.16. Ejemplo de esquema conceptual en el modelo E/R

    (1,1)

    1:N

    (0,n) N:M(1,n) (0,n)

    DEPARTAMENTO

    1:N

    EMPLEADO PROYECTO

    Pertenece

    Participaa

    Codigo_dep

    Fecha_alta

    DNI

    Codigo_proy

    EMPLEADO(1,1)

    SUPERTIPO

    SUBTIPOS

    Es_un

    (0,1) (0,1)

    ANALISTA PROGRAMADOR

    Ttulo

  • Modelo Conceptual

    19

    4. Etapas del Modelado Conceptual

    El modelado conceptual, tambin denominado diseo conceptual, puede subdividirseen dos etapas claramente diferenciadas:

    4.1. Anlisis de requisitos

    Esta primera etapa, en general comn para datos y procesos, es la etapa depercepcin, identificacin y descripcin de los fenmenos del mundo real a analizar. En elanlisis de requisitos se ha de responder a la pregunta: Qu representar?.

    Mediante el estudio de las reglas de una empresa (que proveen el marco para elanlisis del sistema) y de entrevistas a los usuarios de los diferentes niveles de laorganizacin (que proveen los detalles sobre los datos) se llega a elaborar un esquemadescriptivo de la realidad. Aunque son varias las propuestas existentes respecto a la formade expresar el esquema descriptivo, en general se utiliza el lenguaje natural para recogeresta primera informacin.

    Uno de los problemas ms importantes con los que nos enfrentamos en esta etapa esla dificultad de comunicacin entre los usuarios y los analistas. Los problemas quepresenta esta primera especificacin se irn solucionando a lo largo del resto de las etapasde diseo de modo que este primer esquema percibido se ir refinando hasta llegar a unesquema ms correcto: el esquema conceptual.

    4.2. Etapa de conceptualizacin

    En la etapa de conceptualizcin se transforma este primer esquema descriptivo,refinndolo y estructurndolo adecuadamente. Esta etapa responde a la pregunta:Cmo representar?. En la Figura 4.1 se recoge el proceso de modelado conceptual,distinguindose las dos etapas, as como los distintos procesos que hay que realizar parapasar del mundo real al esquema descriptivo, y de ste al esquema conceptual.

  • Modelo Conceptual

    20

    ESQUEMADESCRIPTIVO

    ESQUEMACONCEPTUAL

    MUNDOREAL

    PERCEPCIONPERCEPCION

    ANALISISANALISIS

    DESCRIPCIONDESCRIPCION

    TRANSFORMACIONTRANSFORMACION

    REFINAMIENTOREFINAMIENTO

    PROBLEMA ARESOLVER

    Qu representar?

    Cmo representar?

    ETAPA:

    ANALISIS DE LOSREQUISITOS

    (DESCRIPCION DELMUNDO REAL)

    CONCEPTUALIZACION(REPRESENTACION

    NORMALIZADA DELESQUEMA DESCRIPTIVO)

    Figura 4.1. Proceso de modelizacin conceptual

    En esta etapa de conceptualizacin se habr de buscar una representacin normalizadaque se apoye en un modelo de datos que cumpla determinadas propiedades, a saber:coherencia, plenitud, no redundancia, simplicidad, fidelidad, etc., para llegar as aldenominado esquema conceptual. Un modelo de datos que cumple tales requisitos es elmodelo E/R. Una caracterstica importante del esquema conceptual es que no debedescribir los aspectos ligados a la implementacin, sino que debe permitir ver lainformacin con todo su contenido semntico.

    En el proceso de modelado conceptual se parte del anlisis del universo del discurso (loque tambin podra denominarse realidad empresarial), analizando los listados, pantallas,normativas, etc. y realizando un conjunto de entrevistas a varios niveles de la empresa.Posteriormente se elabora un esquema percibido, expresado en lenguaje natural, que nosfacilita la obtencin del esquema conceptual, esto es, delimita qu entidades, atributos,interrelaciones y restricciones semnticas vamos a considerar. Este proceso se realiza deforma iterativa hasta que se introducen y clasifican todos los objetos del universo deldiscurso de forma satisfactoria.

  • Modelo Conceptual

    21

    4.3. Paso del Esquema Percibido al Esquema Conceptual

    Como hemos sealado, de la primera subfase de la etapa de modelado conceptual seobtiene un esquema percibido en lenguaje natural que representa los requisitos delsistema a disear. Posteriormente, este esquema se ir refinando sucesivamente ynormalizando hasta obtener un esquema en el modelo E/R. Ser preciso, por tanto,interpretar las frases del lenguaje natural en el que est descrito el esquema percibido,convirtindolas en elementos del modelo E/R (entidades, atributos e interrelaciones).

    Si bien no existen reglas deterministas que nos digan qu elemento va a ser unaentidad o cul otro una interrelacin, s podemos enunciar unos principios generales que,junto al buen criterio del diseador, puedan ayudarnos a elaborar un primer esquemaconceptual, que ser sometido despus a un proceso de refinamientos sucesivos.

    En el enfoque lingstico Chen, se proponen un conjunto de heursticas que tienen encuenta tanto la estructura de las oraciones como los atributos gramaticales de laspalabras. El objetivo de estas recomendaciones es depender menos de la intuicin de losdiseadores y ms de mtodos estructurados. Chen presenta 11 heursticas (no reglas, yaque para cada una de ellas se pueden encontrar contra ejemplos). Destacamos las msrelavantes:

    Un substantivo (nombre comn) que acta como sujeto o complemento directo enuna frase es, en general, una entidad, aunque podra ser un atributo. Por ejemplo,en la frase Los departamentos solicitan empleados, existen dos posiblesentidades: DEPARTAMENTO (substantivo que acta como sujeto) y EMPLEADO(que acta como complemento directo).

    Los nombres propios nos suelen indicar ejemplares de una entidad; por ejemplo,Vela, B. indica un ejemplar de EMPLEADO.

    Un verbo transitivo o una frase verbal es una interrelacin; por ejemplo, en lafrase anterior solicitar indica una interrelacin entre las dos entidades,DEPARTAMENTO y EMPLEADO.

    Una preposicin o frase preposicional entre dos nombres suele ser unainterrelacin, o tambin puede establecer la asociacin entre una entidad y susatributos. Por ejemplo, al decir, el rea del departamento, podemos estarindicando la interrelacin entre las entidades DEPARTAMENTO y AREA, o bienpodemos estar asociando el atributo rea a la entidad DEPARTAMENTO.

  • Modelo Conceptual

    22

    El estudio de las frases que definen los requisitos del sistema permite ir clasificando losdistintos objetos. Existen dos verbos, muy comunes en la especificacin de los requisitos,que presentan un especial inters: ser y tener.

    1) ES UN nos permite, como ya hemos visto, crear jerarquas de entidades, ya quecorresponde al concepto de generalizacin. Por ejemplo, dada la frase: ...tanto unanalista como un programador son empleados..., podemos establecer unageneralizacin como la que representamos en la figura 3.13.

    2) TIENE es un verbo sobreutilizado en castellano ya que posee mltiplesinterpretaciones. Segn la acepcin del verbo en la correspondiente frase, puedecorresponder a:

    a) Una interrelacin general entre entidades: en cuyo caso el verbo se utilizacomo otro cualquiera, sin una acepcin especfica; por ejemplo, ...losempleados tiene un jefe..., indica una interrelacin entre las entidadesEMPLEADO y JEFE. En esta frase, tener acta de forma totalmente anlogaa cualquier verbo transitivo, y podra ser sustituido, por ejemplo, porasignar.

    b) Una asociacin de las entidades con sus atributos; por ejemplo, si decimosque ...los empleados tienen nombre y apellidos, un DNI, una direccin y untelfono..., estamos asociando a la entidad EMPLEADO una serie deatributos: nombre, apellidos, DNI, direccin, telfono.

    Existen otros aspectos a tener en cuenta, entre los que cabe destacar que, del nmerode las entidades (singular/plural) puede deducirse ciertos tipos, cardinalidades y grados delas interrelaciones; as, si decimos ...un empleado participa en uno o varios proyectos... y...en un proyecto participan varios empleados... podemos deducir que la interrelacin esde tipo N:M, y de grado 2.

    Dijimos al comienzo de este apartado lo difcil que puede resultar la categorizacin delos objetos del universo del discurso. Hemos visto, sin embargo, unos principios generalesque pueden servirnos como gua en este proceso, aunque siguen subsistiendo problemasy ambigedades, como la distincin entre atributo y entidad, que no siempre resulta claradel anlisis lexicogrfico del esquema percibido. A continuacin resumimos algunasconsideraciones que nos pueden ayudar a decidir si un determinado objeto de datos debeser representado como un atributo, o como entidad interrelacionada con la entidad de laque se supone que podra ser atributo.

  • Modelo Conceptual

    23

    Es preferible considerar el objeto de datos como entidad, en lugar de como atributo, enlos siguientes casos:

    Si el objeto de datos tiene asociados otros atributos. Por ejemplo, si las reas deun departamento (que considerbamos un atributo de DEPARTAMENTO) tiene asu vez otros atributos, como responsable de rea, tareas asignadas al rea, fechade creacin, etc.), conviene crear la entidad AREA.

    Si el objeto de datos estuviese relacionado con otras entidades. Por ejemplo, si elrea la hubiramos considerado como un atributo de DEPARTAMENTO, nopodramos reflejar las posibles interrelaciones existentes entre las reas y losempleados (por ejemplo, no se podra especificar que empleados pertenecen a unrea concreta).

    Un mismo atributo no puede aparecer en distintas entidades de datos y si estoocurriera debemos plantearnos la existencia de una interrelacin no identificada entredichas entidades.

    Estas reglas que acabamos de exponer pueden servirnos de ayuda en el paso delesquema percibido al conceptual. Sin embargo, no se debe olvidar que se trata de unproceso iterativo, y que slo mediante refinamientos sucesivos, a lo que nos ayudar lacrtica constructiva de los usuarios, podremos llegar a un esquema conceptual que reflejelo ms fielmente posible la estructura de la informacin de la empresa u organizacin.

  • Modelo Conceptual

    24

    5. Ejercicios de Autocomprobacin

    5.1. Enunciados

    1. En que etapa del proceso de desarrollo se encuentra el modelado conceptual dedatos?

    2. Qu es el universo del discurso?

    3. Explique con sus palabras el concepto de modelo de datos, dentro del contexto delmodelado 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 caractersticas deseables para un modelo conceptual de datos.

    7. Enumere los elementos bsicos del modelo E/R.

    8. Qu es un atributo identificador principal (AIP)?. Cite un ejemplo.

    9. Defina los conceptos de entidad regular y entidad dbil.

    10. Qu etapas pueden distinguirse en el modelado conceptual de datos? Describabrevemente en qu consiste cada una de ellas.

    Supuestos

    Para cada uno de los siguientes supuestos, se pide realizar el modelado conceptual dedatos utilizando el modelo E/R extendido. Suponemos que las entrevistas con los usuariosya han sido realizadas y por tanto estamos ya en la etapa de conceptualizacin. De laetapa de anlisis de requisitos se han obtenido las siguientes especificaciones de usuario:

    S1. Basndose en el ejemplo de la figura 3.16, represente, en el modelo E/R, elesquema resultante de aplicar las siguientes especificaciones de usuario:

    Un empleado puede ser, bien analista bien programador, pero nunca ambascosas a la vez.

    Todo proyecto tiene un nico jefe, que deber ser analista, y uno o variosprogramadores asignados.

    Un analista puede ser jefe de un solo proyecto. Un programador puedeparticipar en varios proyectos simultneamente.

  • Modelo Conceptual

    25

    S2. La empresa de formacin X, desea llevar un control informatizado de los cursos queimparte as como de lo profesores que participan en dichos cursos. Para ello, nos handado las siguientes especificaciones:

    Cada curso, del que se desea conocer el ttulo, el nmero de horas y el tema olos temas que trata, se identifica por un cdigo de cuso.

    Cada curso puede tener una serie de cursos cuyo realizacin previa esobligatoria (prerrequisito) o recomendada.

    Cada curso se puede impartir una o varias veces, en diferentes fechas y en cadaedicin del mismo pueden participar diferentes empleados.

    Los empleados, de los que se desea conocer su cdigo de empleado, nombre,DNI y fecha de antiguedad en la empresa, pueden impartir y recibir cursos perocon la restriccin de que en una mismo edicin de un curso no puedenparticipar 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 informacin referente a las pelculas queofrece en alquiler. Esta informacin es la siguiente:

    Una pelcula se caracteriza por su ttulo, nacionalidad, productora y fecha (p.e.,Quo Vadis, Estados Unidos, M.G.M., 1955).

    En una pelcula pueden participar varios actores (nombre, nacionalidad, sexo)algunos de ellos como actores principales.

    Una pelcula est dirigida por un director (nombre, nacionalidad).

    De cada pelcula se dispone de uno o varios ejemplares diferenciados por unnmero de ejemplar y caracterizados por su estado de conservacin.

    Un ejemplar se puede encontrar alquilado a algn cliente (nombre, direccin,telfono). Se desea almacenar la fecha de comienzo del alquiler y la dedevolucin.

    Cada socio puede alquilar como mximo 4 ejemplares.

    Un socio tiene que ser avalado por otro socio, que responda de l en caso detener problemas en el alquiler.

    S4. La empresa Personal Quality desea incorporar en su poltica de contratacincriterios de calidad del personal basados en la medicin de sus habilidades ocompetencias personales.

  • Modelo Conceptual

    26

    La empresa desea medir las competencias intelectuales de todos susempleados y adems desea conocer las competencias emocionales de susdirectivos (por ejemplo, la capacidad de trabajo en grupo, la motivacin,capacidad de liderazgo, etc.). De todas ellas se desea conocer: su cdigo deidentificacin, su nombre y su descripcin. Adems, para cada competenciaemocional se desea conocer, lo que se ha denominado el umbral; es decir, elvalor mnimo de cada competencia por debajo del cual ningn empleado podrser directivo.

    Para llevar a cabo este estudio, Personal Quality ha contactado con elEmotional Skill Center quien le ha proporcionado una batera de Test. Cadacompetencia est asociada a un conjunto de test que permiten medirla. Un testpuede medir una nica competencia. Cada Test se identifica por un nombre ydebe tener asociado un conjunto de preguntas, una plantilla para su correccinas como el modo en que se debern interpretar los resultados.

    Cada empleado se identifica por un cdigo interno. Adems se quiere conocerel nombre, la direccin y un telfono de contacto de cada empleado.

  • Modelo Conceptual

    27

    6. Bibliografa

    6.1. Bibliografa Bsica

    Piattini, M., Marcos, E., Calero, C., Vela. B. Tecnologa y Diseo de Bases de Datos. Ed.Ra-ma, Madrid 2006.

    Es el libro en el que nos hemos basado para la elaboracin de esta documentacin, porlo que es un excelente complemento de la misma. Presenta, de un modo claro ypreciso, el modelo E/R as como las diferentes aproximaciones al modelado conceptualde datos. Contiene adems una coleccin de ejercicios de modelado conceptual,algunos de ellos con soluciones, por lo que es tambin recomendable para aquellosalumnos que deseen practicar ms.

    6.2. Bibliografa Recomendada

    Batini, C., Ceri, S., Navathe, S. Diseo Conceptual de Bases de Datos. Un enfoque deentidades-interrelaciones. Addison Wesley Iberoamericana, 1994.

    Aunque no se trata de un libro reciente (la versin original es de 1992), es uno de losprimeros libros en abordar el tema de diseo conceptual de datos. El enfoque deBatini, Ceri y Navathe ha sido seguido por numerosos autores, por lo que se considerauna obra bsica para el modelado conceptual utilizando el modelo E/R.

    Elsmari, R. y Navathe, S. B. Fundamentos de Sistemas de Bases de Datos. Addison-Wesley Iberoamericana,5 Ed. 2007.

    Se trata de un libro de referencia obligado en el tema de bases de datos. Aunque no esespecfico para diseo conceptual, tambin trata esta parte de un modo claro yriguroso, siguiendo el enfoque E/R. Adems, es un excelente complemento para elalumno que quiera profundizar en la tecnologa de BD