Diseño Conceptual de Bases de Datos

Documentos relacionados
Heurísticas de diseño conceptual Diseño de bases de datos

Ítems/Entidades/Objetos [sustantivos]: Objetos que existen en el mundo y que son

Diseño conceptual Diseño de bases de datos

BASES DE DATOS II. Tema III:El problema del modelado conceptual. Profesores: Fernando Berzal Galiano Javier García Castellano Maria-Amparo Vila

rg.o cm a Heu e rí r stica c s s d e e d iseñ e o o c o c n o ce c p e tual l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s

El ciclo de vida de un sistema de información

BASES DE DATOS. Fundamentos de Informática Grado en Ing. Química. Jesús Alcalá y David Pelta

Sistemas de Bases de Datos I MODELADO DE DATOS I. Sistema de Bases de Datos I

Gestion y Modelación de Datos Diseño de BD - Modelo Entidad Relación

UNIDAD 3 MODELO ENTIDAD- RELACION

El Sistema de Información (S.I.) regula la distribución, el compartimiento y el almacenamiento de la información.

TEMA 3.- MODELOS CONCEPTUALES DE DATOS.

rg.o cm a Diseñ e o o c o c n o ce c p e tual l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s

BASE DE DATOS Modelos de Datos

TECNOLOGÍAS DE LA INFORMACIÓN PARA LA INNOVACIÓN. Facultad de Estadística e Informática

Qué es un Modelo de Dominio

Estructuras de Almacenamiento de Datos

BASES DE DATOS 1. Teórico: Diseño Conceptual

Bases de datos 1. Teórico: Diseño Conceptual

Recolección y Análisis de Requerimientos

Modelado de datos. Bibliografía. Representación de la información Modelos de datos Modelado semántico

Tema 5: Conceptos de Diseño en Archivos y Bases de Datos. Ing. Elizabeth Guerrero

FACULTAD DE INGENIERÍA. Fundamentos de Bases de Datos

Modelado Entidad-Relación

Modelo Conceptual de datos. Yenifer Laurens.

id_trabajador nombre tarifa_hr tipo_de_oficio id_supv 1235 F. Aguilera 12,50 Electricista A. Calvo 13,75 Fontanero N.

Fundamentos de Informática

BASES DE DATOS TEMA 2 MODELOS DE DATOS

BASES DE DATOS. TEMA 4. Modelización semántica. Modelo entidad-relación

Modelo Entidad Relación.MER.

Sistemas de Bases de Datos I Modelo Conceptual Modelo Entidad-Relación

ESCUELA: UNIVERSIDAD DEL ISTMO

Unidad 2. Bases de Datos Relacionales

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos.

Sistemas de Bases de Datos I. Modelo Conceptual. Modelo Entidad-Relación

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA)

Unidad 5: MODELO DE COMPORTAMIENTO - ESQUEMA DE DATOS CARACTERÍSTICAS DEL ESQUEMA DE DATOS DIAGRAMA ENTIDAD RELACIÓN (D.E.R.)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA)

Carlos Castillo UPF 2008

Modelado Conceptual: El Modelo E/R Extendido. Modelado Conceptual: El Modelo E/R Extendido 1

Diseño de base de datos: Modelo Entidad Relación (I)

Modelo Conceptual Modelo Entidad - Relación

Es el instrumento (artefacto) más importante de crear en el AOO.

Capítulo 2. El Modelo Entidad- Relación (E-R)

Sistemas de Bases de Datos I. Modelo Conceptual. Modelo Entidad Relación

Tema II: Nivel conceptual de una Base de Datos. El modelo E/R

Modelo Entidad Relacion Extendido

INSTITUTO TECNOLOGICO SUPERIOR DE LERDO. ALUMNO: JUAN ESQUIVEL VAQUERA. ENSAYO: Modelo entidad-relación. PROFESOR: RICARDO BUSTAMANTE.

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

Introducción a las Bases de Datos UNIDAD II MODELO ENTIDAD-RELACION

Diseño de base de datos: Modelo Entidad Relación (II)

Tema II: Nivel conceptual de una Base de Datos. El modelo E/R

Tema 2: Diseño conceptual de Bases de Datos.

Bases de Datos. Laboratorio III, L106/L111. Profesor: Goyo Celada

Unidad II. Diseño Conceptual de una Base de Datos: Modelo Entidad/Relación Extendido. (Elmasri-Korth)

Modelo Entidad Relación

Gestión base de datos : Modelo Relacional (II)

Modelado Conceptual: El Modelo E/R Extendido

Modelos de datos. Colección de herramientas conceptuales para describir

Bases de Datos OTROS ASPECTOS MODELO E-R

Tema 2: Diseño conceptual de Bases de Datos: el Modelo Entidad Relación

Introducción a la orientación a objetos y a UML

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

BASES DE DATOS II 28/02/2005 IDBIS- DECSAI 1

4.2.4 Características de un Esquema Conceptual de Base de Datos

Conceptos Objetivos Un modelo... Artefactos Ejercicio. Base de Datos. Modelo Entidad-Relación (E-R) Eduardo Saavedra A.

Informática. Introducción a las bases de datos relacionales. Diseño conceptual. Carmen Graciani Díaz Luis Valencia Cabrera

Modelado de Datos Material desarrollado por Marcelo Rocha Vargas, 2011

Formato para prácticas de laboratorio

Modelos de Datos. Modelo Entidad-Relación

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Metodología de Diseño Lógico. Sistemas Gestores de Bases de Datos

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE

ING. YIM ISAIAS APESTEGUI FLORENTINO

Diseño lógico Diseño de bases de datos relacionales

ANÁLISIS Y DISEÑO DE SISTEMAS

Unidad 3 Modelo Relacional

Ingeniería de Software

ESCUELA DE INGENIERIA Informática Y Sistemas

UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson

BASES DE DATOS AVANZADAS. Facultad de Estadística e Informática

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

Published on Marco de Desarrollo de la Junta de Andalucía (

Modelos de datos T Dpto. Lenguajes y Sistemas Informáticos. Universidad de Alicante

MODELIZACIÓN CONCEPTUAL DE DATOS

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

Proceso Unificado de Desarrollo de Software. 13 de sep de 2006

INTERPRETACIÓN DEL DISEÑO CONCEPTUAL. MODELO ENTIDAD/RELACIÓN. UNIDAD 2. Bases de datos. Modelado de BD

El modelo Entidad-Relación

02 El Modelo Conceptual

Diseño de Modelos de Bases de Datos

INTERPRETACIÓN DEL DISEÑO CONCEPTUAL. MODELO ENTIDAD/RELACIÓN. UNIDAD 2

Modelo Relacional I. Nos encontramos en la FASE 2: REGLAS DE TRANSFORMACIÓN del Modelo Entidad Relación (MER) al Modelo Relacional (MR).

Empleado. Departamento

Notaciones de Entidad Relación ER

Capítulo 6: Diseño de BD y el modelo ER

Transcripción:

Diseño Conceptual de Bases de Datos Modelado semántico El modelo entidad/relación Elementos del modelo E/R Representación gráfica del modelo E/R Entidades fuertes y entidades débiles Especialización y generalización Heurísticas de diseño conceptual Proceso de creación del esquema conceptual Enfoques para el diseño del esquema conceptual Identificación de entidades, relaciones y atributos Refinamiento del esquema conceptual Apéndice: Metodología incremental para el diseño conceptual Bibliografía Craig Larman: Applying UML and patterns: An introduction to objectoriented analysis and design and iterative development Prentice Hall PTR, 3ª edición, 2004, ISBN 0131489062 En castellano como: UML y Patrones Prentice Hall, 2ª edición, 2004, ISBN 8420534382 Eric Evans: Domain-driven design: Tackling complexity in the heart of software Addison-Wesley, 2004, ISBN 0321125215

Modelado semántico Modelo de datos Mecanismo formal para representar datos de manera general y sistemática (descripción de datos, operaciones y reglas de integridad). Ejemplos de modelos de datos: Modelos basados en grafos (en red y jerárquico) Modelo relacional Modelos orientados a objetos Modelos lógicos Características deseables de un modelo de datos Expresividad (diferentes tipos de datos, relaciones y restricciones). Sencillez (lo bastante simple para que los usuarios lo comprendan). Minimalidad (número pequeño de conceptos básicos). Representación gráfica (notación gráfica fácil de interpretar). Formalidad (especificación formal y sin ambigüedad de los datos). Diseño de Bases de Datos 1

Modelado semántico Consiste en estudiar los datos que se pretenden almacenar en la base de datos antes de elegir el modelo de datos concreto que se va a usar en la base de datos. El modelado semántico permite separar el análisis ( qué?) del diseño ( cómo?). NOTA: El modelado semántico o modelado conceptual de una base de datos forma parte de lo que se suele denominar modelado del dominio en Ingeniería del Software (la representación visual de las clases de objetos relevantes en el dominio de un sistema concreto). El modelado conceptual es subjetivo: No existe una forma única de modelar un problema. Para asegurar un buen diseño, hay que revisar y refinar el esquema obtenido (p.ej. en el diseño lógico analizaremos las dependencias funcionales existentes y normalizaremos nuestro esquema). DISEÑO CONCEPTUAL OBJETIVOS Comprensión de la estructura, semántica, relaciones y restricciones de la BD. Descripción estable del contenido de la base de datos. Comunicación entre usuarios, analistas y diseñadores. TAREAS Modelado de los datos del sistema RESULTADOS Representación gráfica del modelo de datos (E/R, UML, CASE*Method ) Diccionario de datos Diseño de Bases de Datos 2

El modelo entidad/relación Técnica de análisis basada en la identificación de las entidades y de las relaciones que se dan entre ellas en la parte de realidad que pretendemos modelar. Existen notaciones alternativas para la representación gráfica del diseño conseguido mediante la técnica de análisis que propone el modelo E/R: o Diagramas E/R o Diagramas UML (Unified Modeling Language) o Diagramas CASE*Method o Diagramas ORM (Object-Role Modeling) o Diagramas IDEF1X Elementos del modelo E/R Entidad: Objeto, real o abstracto, distinguible de otros objetos. Al grupo de entidades con cualidades similares acerca de los cuales se almacena información se le denomina TIPO (o, simplemente, conjunto de entidades). p.ej. Un libro concreto o un escritor Atributo: Propiedad asociada a un conjunto de entidades (esto es, mediante los atributos representamos propiedades de los objetos). Para cada atributo hay un conjunto de valores permitidos llamado DOMINIO. p.ej. Del libro: Título, ISBN, edición, número de páginas Del escritor: Nombre, apellidos, fecha de nacimiento Clave: Conjunto de atributos que permite identificar unívocamente a una entidad dentro de un conjunto de entidades. p.ej. Del libro: ISBN Del escritor: (nombre, apellidos, fecha de nacimiento) Relación: Conexión semántica entre dos (o más) conjuntos de entidades. p.ej. Relación entre los escritores y los libros que han escrito. Diseño de Bases de Datos 3

- Relaciones - Relaciones - Relaciones Representación gráfica del modelo E/R Tipo de entidad Grupo de objetos que tienen las mismas propiedades y que en la organización para la que va a servir la BD tienen una existencia independiente, bien sea física o abstracta. Notación Tipo de relación Asociación que se establece entre tipos de entidad para representar un conjunto de relaciones que se establecen entre las ocurrencias de esos tipos de entidades. Notación E/R clásico UML Características Grado Cardinalidad Número de tipos de entidades que participan en la conexión. Número de elementos de un tipo que se conectan con un elemento de otro (restricción que se observa en el dominio del problema y que controla las ocurrencias de las relaciones). En el caso de las relaciones binarias (grado 2): muchos a muchos (n:m) uno a muchos (1:m) uno a uno (1:1) Diseño de Bases de Datos 4

Representación de la cardinalidad máxima de una relación Relación uno a uno E/R clásico Notación UML Relación muchos a uno E/R clásico Notación UML Relación muchos a muchos E/R clásico Notación UML Representación de la cardinalidad mínima de una relación La notación UML permite especificar la cardinalidad mínima (obligatoriedad) Relación opcional Un cliente puede o no ser titular de una cuenta Relación obligatoria Una cuenta ha de tener un titular como mínimo Diseño de Bases de Datos 5

Relaciones involutivas Una relación involutiva es una relación de un tipo consigo mismo E/R clásico Notación UML Relaciones n-arias El grado de una relación no tiene por qué ser siempre 2. Pueden existir relaciones ternarias, cuaternarias Ahora bien, siempre se puede reemplazar una relación n-aria por nuevo tipo de entidad y un conjunto de relaciones binarias: NOTA: En UML no existen las relaciones ternarias. Diseño de Bases de Datos 6

Agregaciones en el modelo E/R para expresar relaciones entre relaciones o relaciones entre relaciones y conjuntos de entidades. Empresa entrevista Solicitante de empleo Oferta de empleo Siempre se puede eliminar la agregación si creamos un nuevo tipo de entidad que represente la relación que dio lugar a la agregación: NOTA IMPORTANTE: En UML no existe la agregación del modelo E/R extendido. Cuando se habla de agregación en UML, se está haciendo referencia a la relación que existe entre un todo y sus partes (una relación binaria normal con una semántica particular). Diseño de Bases de Datos 7

Atributos Propiedades que caracterizan a las ocurrencias de un tipo de entidad o de un tipo de relación. E/R Clásico Notación UML TIPOS DE ATRIBUTOS Atributos compuestos vs. Atributos simples (atómicos) Los atributos compuestos se pueden dividir en componentes más pequeños con significado propio p.ej. dirección = calle + municipio + CP + provincia Atributos monovaluados vs. Atributos multivaluados Un atributo monovaluado tiene un único valor para una entidad particular. Atributos almacenados vs. Atributos derivados p.ej. la edad de una persona [atributo derivado] se puede calcular (derivar) de su fecha de nacimiento [atributo almacenado], que es lo que almacenaremos en la base de datos. Diseño de Bases de Datos 8

- Si - La Entidades fuertes y entidades débiles Un tipo de entidad es fuerte si la existencia de sus ocurrencias no depende de ningún otro tipo. En caso contrario, se dice que el tipo de entidad es débil. Ejemplo: Un apunte (entidad débil) sólo puede existir asociado a una cuenta (entidad fuerte). E/R clásico Notación UML Características se elimina una ocurrencia del tipo de entidad fuerte, habrá que eliminar las ocurrencias del tipo de entidad débil que dependen de ella. p.ej. Si eliminamos una cuenta, sus apuntes han de desaparecer de la base de datos (si no, tendríamos apuntes que corresponden a una cuenta que no existe) entidad débil no tiene suficientes atributos propios para formar una clave primaria: La clave primaria de la entidad débil incluye a la clave primaria de la entidad fuerte de la que depende existencialmente. p.ej. {CCC} es la clave primaria de la entidad fuerte Cuenta {CCC, Número} es la clave primaria de la entidad débil Apunte Clave primaria entidad débil = Clave primaria entidad fuerte + Discriminante Diseño de Bases de Datos 9

- Los - La Especialización y generalización Supertipo Subtipo Tipo de entidad que incluye uno o más subgrupos distintos de ocurrencias que deben ser representados en el modelo de datos. Cada uno de los subgrupos de ocurrencias de un tipo de entidad que se han de representar en el modelo de datos. Especialización Generalización Proceso de extraer diferencias entre las ocurrencias de un tipo de entidad para distinguir los subtipos que lo forman. Proceso de encontrar la parte común de las ocurrencias de distintos tipos de entidad para extraer el supertipo que los engloba. Relación de especialización (relación ES-UN) Relación que se establece en un diagrama E/R entre un supertipo y sus subtipos. E/R clásico Notación UML subtipos heredan los atributos de los supertipos: Los subtipos poseen todos los atributos del supertipo más algunos propios. clave primaria de los subtipos es la clave primaria del supertipo. Diseño de Bases de Datos 10

Heurísticas de diseño conceptual Cómo se crea el esquema conceptual de una base de datos? Se puede utilizar el siguiente proceso de forma iterativa: 1. Se identifican las entidades relevantes para nuestro sistema. 2. Se representan gráficamente en un diagrama (E/R, UML o similar) 3. Se añaden atributos y relaciones. 4. Se revisa y refina el esquema obtenido hasta que se satisfagan todos los requerimientos del sistema. Enfoques para el diseño del esquema conceptual Podemos optar por crear el esquema conceptual de dos formas diferentes: 1. Enfoque centralizado Se combinan los requisitos de todos los grupos de usuarios y aplicaciones de nuestro sistema en un único conjunto de requisitos antes de comenzar el diseño del esquema. 2. Enfoque de integración de vistas 2.1 Se diseña un esquema (o vista) para cada tipo de usuario y aplicación a partir de sus requisitos específicos. 2.2 Integración de vistas: Se combinan (integran) los distintos esquemas obtenidos para crear un esquema conceptual global (del cual cada vista individual puede considerarse un esquema externo). Diseño de Bases de Datos 11

Identificación de entidades Cómo se pueden identificar las entidades que han de formar parte del esquema conceptual de nuestra base de datos (de menor a mayor dificultad)?: 1. Reutilizando modelos ya existentes. 2. Utilizando una lista de categorías. 3. Identificando sintagmas nominales en los requerimientos. Patrones de diseño: Reutilización de modelos ya existentes El enfoque más sencillo consiste en recurrir a modelos publicados en catálogos de patrones de diseño que suelen existir para distintos dominios de aplicación: David C. Hay: Data Model Patterns: Conventions of thought Dorset House, 1996. ISBN 0-932633-29-3 Martin Fowler: Analysis Patterns: Reusable object models Addison-Wesley, 1996. ISBN 0-201-89542-0 Jim Arlow & Ila Neustadt: Enterprise Patterns and MDA: Building better software with archetype patterns and UML. Pearson Education, 2003. ISBN 032111230X Los patrones de diseño describen soluciones elegantes a problemas que se repiten a menudo. Estas soluciones nos pueden servir de punto de partida en el diseño de nuestro esquema conceptual. Diseño de Bases de Datos 12

Utilización de listas de categorías Podemos comenzar nuestro diseño conceptual construyendo una lista de entidades candidatas a partir de una lista de categorías comunes que, usualmente, merece la pena tener en cuenta: Transacciones económicas (suelen resultar críticas porque involucran el uso de dinero): ventas, pagos, reservas Detalles de las transacciones (las transacciones suelen involucrar varios artículos, por lo que deberemos considerar la creación de entidades débiles asociadas a las transacciones en las que se recojan los detalles particulares de cada transacción). Productos y/o servicios relacionados con las transacciones (o los detalles de las transacciones): artículo, libro, película, vuelo, asiento, comida El lugar donde se realiza o registra la transacción: caja, cuenta Los roles de las personas u organizaciones relacionadas con las transacciones (los actores de los casos de uso): empleado, cliente El lugar donde se presta el servicio asociado a la transacción: sucursal, almacén, aeropuerto, avión Eventos destacados (usualmente ligados a un momento y un lugar que hemos de recordar): venta, vuelo, juego, partido Objetos físicos tangibles (cuyo seguimiento hemos de realizar de algún modo): lote, avión, cheque, tarjeta de crédito Contenedores de objetos (reales o abstractos) y objetos incluidos en dichos contenedores: almacén/artículo, tablero/casilla, avión/pasajero Documentos de trabajo, financieros o legales: facturas, albaranes, pedidos, contratos, libros de contabilidad Calendarios, manuales y documentos a los que hay que hacer referencia para realizar determinadas tareas (porque contienen datos que cambian con el tiempo): listas de tarifas vigentes, impuestos Diseño de Bases de Datos 13

Análisis lingüístico: Identificación de sintagmas nominales Las entidades corresponden a objetos que existen en el mundo y que son distinguibles unos de otros, por lo que deben aparecer como sustantivos (o sintagmas nominales) en los requerimientos del sistema: Los sintagmas nominales que aparecen en la descripción textual de los requerimientos del sistema se deben considerar como entidades candidatas (o como atributos de otras entidades) Debemos ser especialmente cuidadosos porque establecer una correspondencia directa entre nombres y entidades no es posible, ya que las palabras pueden tener varios significados y distintas palabras pueden hacer referencia a lo mismo. La imprecisión del lenguaje natural hace recomendable que combinemos el análisis lingüístico de nuestra especificación con las técnicas anteriores (patrones de diseño y listas de categorías). Es conveniente mantener siempre el vocabulario del usuario del sistema para hacer referencia a las entidades que identifiquemos (por ejemplo, película en lugar de producto en un videoclub). Dónde aparecen los nombres que hacen referencia a las entidades? En la lista de requerimientos funcionales de nuestro sistema. En la especificación de los casos de uso del sistema. En los documentos adicionales que adjuntamos al documento de especificación del sistema (vg. modelos de informes). Entidad o atributo? Si no podemos interpretar X como un simple número o texto en el dominio de nuestro sistema, probablemente X sea una entidad y no un mero atributo. p.ej. Un aeropuerto no es sólo el destino de un vuelo, por lo que probablemente sea una entidad independiente de vuelo. Diseño de Bases de Datos 14

Identificación de relaciones Las relaciones entre entidades hay que plasmarlas siempre que tengamos que preservar el conocimiento de la relación por un período de tiempo determinado (sean segundos o años). Debemos evitar añadir demasiadas relaciones a nuestro esquema y eliminar las relaciones redundantes de nuestro esquema (aquéllas que se podrían reconstruir a partir de otras que ya están presentes en él). Usualmente, nombraremos nuestra relación con un sintagma verbal que nos permita leer nuestro diagrama con facilidad (de tal forma que la secuencia NombreEntidad1-VerboRelación-NombreEntidad2 tenga sentido). Opcionalmente, especificaremos los roles asociados a los extremos de una relación (especialmente, en las relaciones involutivas). Pueden existir múltiples relaciones entre dos conjuntos de entidades (p.ej. un vuelo parte de un aeropuerto y tiene como destino otro aeropuerto). Las relaciones, usualmente, aparecen como verbos (o sintagmas verbales) en la especificación textual de los requerimientos del sistema. También podemos utilizar listas de relaciones comunes (igual que hicimos con las listas de categorías de entidades): A es una transacción relacionada con otra transacción B p.ej. pago/venta, cancelación/reserva A es un detalle de una transacción B p.ej. factura / línea de factura A es un producto/servicio asociado a una transacción (o detalle) B. p.ej. vuelo/reserva, artículo/pedido A es un rol asociado a una transacción B p.ej. cliente/pago, pasajero/billete A es una parte (física o lógica) de B p.ej. asiento/sala, casilla/tablero, profesor/departamento A utiliza/gestiona/posee B p.ej. cajero/caja, piloto/avión Diseño de Bases de Datos 15

Identificación de atributos En nuestro esquema conceptual debemos incluir únicamente aquellos atributos que aparezcan referenciados en la especificación (lista de requerimientos funcionales, casos de uso y documentos adicionales) y, además, sean estrictamente necesarios para dar soporte a la funcionalidad de nuestro sistema. Los atributos puede que no se incluyan explícitamente en el diagrama asociado al esquema conceptual de una base de datos (para facilitar su interpretación cuando éste es complejo) pero SIEMPRE deberán aparecer en el diccionario de datos asociado al diagrama. En el esquema conceptual se pueden incluir atributos derivados (que, en UML, se marcan con el prefijo /), si bien éstos no se almacenarán físicamente en la base de datos (salvo que nos encontremos con problemas de rendimiento al llegar a la etapa de diseño físico). Es importante identificar el dominio de los atributos (el conjunto de valores permitido para cada atributo), así como indicar si el atributo puede tomar un valor nulo o no. Así mismo, cualquier restricción reseñable deberá figurar en el diccionario de datos asociado al modelo conceptual de nuestra base de datos: claves primarias y alternativas, relaciones entre atributos Atributo o entidad? Debería ser la dirección de un cliente un atributo de la entidad cliente o una entidad independiente relacionada con el cliente? Depende del uso que le vayamos a dar a los datos asociados a la dirección y de la semántica particular de nuestro problema: - Si un cliente puede tener varias direcciones asociadas, podríamos definir la dirección como un atributo multivaluado, pero generalmente se opta por crear una entidad independiente para plasmar este hecho (aplicando preventivamente una restricción particular del modelo relacional que no existe en otros modelos). - Si la estructura del atributo compuesto dirección (calle, localidad, provincia ) nos interesa utilizarla para otras cosas, probablemente también convertiremos la dirección en una entidad independiente. Diseño de Bases de Datos 16

Refinamiento del esquema conceptual: Especialización/generalización Crearemos relaciones de especialización/generalización cuando: 1. Regla del 100%: El 100% de los atributos del supertipo sean aplicables al subtipo. 2. Regla es-un : Todas las entidades del subtipo sean miembros del supertipo (una comprobación que puede realizarse en lenguaje natural viendo si entidad sub es una entidad super tiene sentido o no). OJO! Usando sólo los dos criterios anteriores, podríamos llegar a la conclusión de que podemos dividir a los clientes de una empresa en hombres y mujeres pero, tendría sentido? Posiblemente no. Cuándo especializar? Crearemos subtipos en nuestro esquema cuando: El subtipo tiene atributos adicionales que son de interés. Las entidades del subtipo se relacionan con otras entidades de forma diferente a como lo hacen las entidades del supertipo. Cuándo generalizar? Incluiremos un supertipo en nuestro esquema si: Los potenciales subtipos representan variaciones de un concepto similar. Los subtipos verifican la regla del 100% y la regla es-un. Todos los subtipos incluyen el mismo atributo (que pasará a ser un atributo del supertipo). Diseño de Bases de Datos 17

Refinamiento del esquema conceptual: Entidades débiles En algunos casos, la existencia de una entidad débil resulta evidente. En ocasiones, no obstante, no queda del todo claro si una entidad es débil o no: En caso de duda, haremos que la entidad NO sea débil. Algunas pistas que nos pueden indicar la existencia de una entidad débil: Existe una relación obvia entre un todo (la entidad fuerte) y sus partes (las entidades débiles). Algunos atributos de la entidad fuerte se propagan a las entidades débiles que dependen de ella (por ejemplo, el destinatario de los artículos incluidos en un pedido). El ciclo de vida de la entidad débil siempre está acotado por el ciclo de vida de la entidad fuerte de la que depende (dependencia existencial). Qué beneficios tiene identificar las entidades débiles? Se muestra explícitamente en el esquema conceptual la dependencia existencial de la entidad débil (que no puede existir de forma independiente a la entidad fuerte de la que depende). Sirve para que tengamos en cuenta que determinadas operaciones aplicadas a una entidad fuerte (copia o borrado) han de propagarse a las entidades débiles que dependen de ella. Diseño de Bases de Datos 18

Apéndice: Metodología incremental para el diseño conceptual Primitivas en el diseño conceptual Concepto de primitiva Primitivas descendentes Primitivas ascendentes Propiedades Estrategias para el diseño de esquemas Estrategia descendente Estrategia ascendente Estrategia centrífuga Estrategia mixta Carlo Batini, Stefano Ceri & Shamkant B. Navathe: Diseño conceptual de bases de datos Addison-Wesley / Díaz de Santos, 1991 ISBN 0-201-60120-6 Diseño de Bases de Datos 19