Tema 3. Diseño conceptual.dis.um.es/~jfernand/0405/dbd/tema3.pdf · DISEÑO CONCEPTUAL DOS GRANDES...
Transcript of Tema 3. Diseño conceptual.dis.um.es/~jfernand/0405/dbd/tema3.pdf · DISEÑO CONCEPTUAL DOS GRANDES...
1
1
Tema 3. Diseño conceptual.
2
DISEÑO CONCEPTUAL
¿Por qué debe el EC ser independiente de la implementación?- Meta del Diseño del EC: entendimiento completo del significado
(semántica), la estructura, interrelaciones y restricciones de la BD→ mejor si se consigue independientemente del SGBD, pues las peculiaridades de cada SGBD NO deben influir en el diseño del EC
- EC es una descripción del contenido de la BD (independiente de cómo, dónde, etc. se almacene). → Si es independiente del SGBD, no cambiará cuando cambien las decisiones de diseño o el SGBD elegido
- Un MD de Alto Nivel es más expresivo y general que un MD de implementación o de un SGBD particular
- EC vehículo de comunicación usuario/diseñador/analista. Un MD de alto nivel incluye conceptos más fáciles de entender
2
3
DISEÑO CONCEPTUAL
DOS GRANDES ETAPASA. Análisis de Requisitos• Etapa de percepción, identificación y descripción de los
fenómenos del mundo real a analizar.• ¿Qué representar?.• Objetivo: dar a los requerimientos una estructura que facilite las
actividades posteriores de modelado. - Análisis sistemático de especificaciones de requisitos para identificar
requisitos de información claros- Se trata de... eliminar ambigüedades (descripciones imprecisas o
incorrectas de la realidad), completar, entender el significado, estructurar ... los requisitos recopilados.
- Intención: producir descripciones claras (esquema descriptivo) como entradas de la fase de conceptualización.
4
ANÁLISIS DE REQUISITOS
• Entradas de la fase de diseño conceptual: - Lenguaje Natural: Entrevistas a usuarios de los diferentes niveles de la
organización (proporcionan detalles de los datos), Reglas de empresa (marco para el análisis), normativas, otros documentos.
- Formularios: Recogida de datos e intercambio de información entre usuarios.
- Formatos de registros y pantallas: Si se desarrolla una BD a partir de un sistema de archivos tradicional.
- Esquemas de datos: Expresados en DDL, pe.; cambio de DBMS, modificación de una BD existente, fusión de varias BD.
• Resultado: esquema percibido o descriptivo (lenguaje natural)
- Especificación clara y precisa de requisitos de datos del sistema
3
5
Análisis de requisitos: LENGUAJE NATURAL
• Lenguaje natural: - Problemas de ambigüedad y escaso formalismo.- Los usuarios pueden establecer en sus propios términos los requisitos sin
la intervención de formalismos. - Solución de problemas de comunicación entre usuarios y analistas.
Análisis de los requerimientos1. Analizar los requerimientos y filtrar las ambigüedades 2. Dividir los enunciados en conjuntos homogéneos
6
Lenguaje Natural: FILTRO DE AMBIGÜEDADES
7 REGLAS EMPÍRICAS PARA FILTRAR AMBIGÜEDADES
R1. Elegir un nivel apropiado de abstracción para los términosR2. Evitar el uso de “casos” en lugar de conceptos generalesR3. Evitar expresiones vagas o indirectasR4. Elegir estilo estandarizado de enunciadoR5. Verificar sinónimos y homónimosR6. Hacer explícitas las referencias entre términosR7. Utilizar un Glosario
4
7
1 En una base de datos de una universidad, se representan 2 datos sobre estudiantes y profesores. Para los estudiantes,3 se representa el apellido, edad, sexo, ciudad y provincia de4 nacimiento, ciudad y provincia de residencia de sus5 familias, lugares y provincias donde vivieron antes6 (con el lapso que vivieron en cada uno), cursos que han7 aprobado, con nombre, código, profesor, nota y fecha.8 Asimismo, se representan los cursos a los que asisten en9 la actualidad y para cada uno, día, lugares y horas de10 impartición de las clases (cada curso se imparte a lo sumo11 una vez en un día). Para estudiantes graduados se12 representa el nombre del tutor y el número total de13 créditos en el último año. Para estudiantes de doctorado,14 se representa el título y área de investigación de su tesis.15 Para los maestros, se representa el apellido, la edad, el16 lugar y provincia de nacimiento, nombre del departamento17 al que pertenecen, número de teléfono, título, situación y18 temas de investigación.
8
Lenguaje Natural: FILTRO DE AMBIGÜEDADES
• R1. Elegir nivel apropiado de abstracción para los términos- Los términos abstractos se usan con frecuencia en enunciados, en casos
en que los términos específicos serían más apropiados.- Las categorías generales son comunes en el lenguaje natural porque
producen una comunicación rápida y eficaz en la que, comúnmente, la ambigüedad se resuelve por el contexto.
- Sin embargo, en DC se debe utilizar términos en un nivel correcto de abstracción, especialmente si el diseñador no es un experto en el dominio de la aplicación.
Términos Abstractos:
(lín. 5) lugares(lín. 6) lapso(lín. 17) situación
Términos Apropiados:
ciudadesnúmero de añosestado civil
5
9
Lenguaje Natural: FILTRO DE AMBIGÜEDADES
• R2. Evitar el uso de “casos” en lugar de conceptos generales- Esta regla evita la fuente opuesta de ambigüedades; los usuarios de los
sistemas de información adoptan, a veces, términos más específicos de lo necesario.
- Ejemplo, empresa de electrónica: «la cantidad en existencia de chips».- El término chips no describe un concepto, sino más bien un caso del concepto
correcto, componentes.
• R3. Evitar las expresiones vagas o indirectas. - En el lenguaje natural se usa con frecuencia la repetición deliberada y las
expresiones indirectas. - «mira a la persona sentada en la taquilla», en vez de: «mira al taquillero» - La segunda oración indica una clase específica de entidades (taquillero),
mientras que la primera se refiere a la misma clase indicando una interrelación con otra clase de entidades (persona).
- Al usar rodeos se incurre en el riesgo expresar el significado de los conceptos en términos de referencias implícitas a otros conceptos, en lugar de referencias explícitas a los conceptos mismos.
10
Lenguaje Natural: FILTRO DE AMBIGÜEDADES
R4. Elegir Estilo adecuado de enunciado- En la libre conversación se usan muchos estilos sintácticos para lograr una
comunicación más eficaz. - Esta variedad de estilos debe evitarse en los textos que definen los
requerimientos; el uso de categorías sintácticas simples permite un modelado directo (y único) de los requerimientos.
- Lo ideal: enunciados con un estilo ESTÁNDARFormato de las Descripciones:
<SUJETO><VERBO><ESPECIFICACIÓN>Formato para las Operaciones:
<SI> <CONDICION> <ENTONCES> <ACCIÓN> <SI NO> <ACCIÓN>, o<CUANDO> <CONDICION> <HACER> <ACCIÓN>
- Diseñador debe seleccionar un estilo apropiado con EQUILIBRIO entre ESTANDARIZACIÓN y EXPRESIVIDAD
6
11
Lenguaje Natural: FILTRO DE AMBIGÜEDADES
R5. Verificar SINÓNIMOS y HOMÓNIMOS- Los requerimientos suelen resultar de las contribuciones de varios
usuarios. Distintas personas pueden dar - un mismo significado a diferentes palabras (sinónimos) - o diferente significado a las mismas palabras (homónimos).
- Riesgo de homónimos mayor - con vocabulario de términos es pequeño,
- Riesgo de sinónimos mayor - con vocabulario de términos es rico. - Si usuarios distintos adoptan vocabularios en diferentes niveles de abstracción
- Ejemplo:- maestro, profesor y tutor ... son sinónimos- lugares ... se usa dos veces con diferente significado (homónimos)
12
Lenguaje Natural: FILTRO DE AMBIGÜEDADES
R6. Hacer explícitas las referencias entre términos- Si no se especifica claramente las referencias entre los términos puede
surgir ambigüedad
número de teléfono¿es una propiedad de los PROFESORES, o de los DEPARTAMENTOS?
- Los conceptos referidos pueden aparecer explícitamente en los requisitos u omitirse por completo
* PROFESOR, DEPARTAMENTO sí aparecen en los requisitos* día ------- ¿día de la semana o día del mes?
SEMANA y MES no se mencionan en los requisitos
7
13
Lenguaje Natural: FILTRO DE AMBIGÜEDADES
R7. Utilizar un Glosario de términos
• Entender significado de los términos y Eliminar ambigüedades de los requisitos
1º Crear el Glosario2º Descripciones de requisitos usando sólo términos del glosario
• En el Glosario, para cada término debería aparecer:- NOMBRE- DEFINICIÓN CORTA- POSIBLES SINÓNIMOS (área de equivalencia)- POSIBLES PALABRAS CLAVE (área de influencia)
14
DISEÑO CONCEPTUAL
B. Conceptualización
• Refinamiento y estructuración sucesivos del Esquema Percibido hasta llegar al Esquema Conceptual de la BD
• Se responde a la pregunta ¿Cómo representar?• Descripción del EC mediante un Modelo de Datos de Alto Nivel
Así, el Esquema Conceptual ...- INTENTA recoger TODA la SEMÁNTICA de los requerimientos- El EC será INDEPENDIENTE de características de implementación
Utilizaremos la terminología del Modelo Entidad/Interrelación Extendido (MEER)
8
15
CONCEPTUALIZACIÓN
• Dos enfoques en el PASO del Esquema Descriptivo o Percibido a un primer Esquema Conceptual:
• LINGÜÍSTICO (CHEN, 1983)- 12 heurísticas (no reglas, posibles contraejemplos): estructura de las
oraciones y atributos gramaticales de las palabras.- Depender menos de la intuición de los diseñadores y más de métodos
estructurados
• CATEGORIZACIÓN DE OBJETOS (STOREY / GOLDSTEIN)- Reglas basadas en el papel desempeñado por un objeto de datos en el
proceso de información
16
CONCEPTUALIZACIÓN: Enfoque LINGÜÍSTICO
• Sustantivo Complemento Directo o Sujeto: TIPO de ENTIDAD o ATRIBUTO“Los socios piden prestados libros”
→ tipos entidad atributos SOCIO y LIBRO
• Nombre Propio: INSTANCIA (ocurrencia) de Tipo Entidad“...M. Ende...” → ocurrencia del tipo entidad AUTOR
• Verbo Transitivo o Frase Verbal, indica TIPO INTERRELACIÓN“Los socios piden prestados libros” → interrelación entre SOCIO y LIBRO
• Preposición o Frase Preposicional entre dos nombres, indica* TIPO INTERRELACIÓN entre Tipos Entidad o* ASOCIACIÓN entre Tipo Entidad y un atributo suyo
“... la editorial del libro...” →- interrelación entre los tipos entidad EDITORIAL y LIBRO, o bien- asociación del atributo “editorial” al tipo entidad LIBRO
9
17
Enfoque CATEGORIZACIÓN de OBJETOS
• Entidad: objeto de datos...- con MÁS PROPIEDADES además de su NOMBRE, o bien- OPERANDO en sentencia de SELECCIÓN | BORRADO | INSERCIÓNLibro, propiedades: título, idioma, número de copias... → Entidad LIBROSi un socio deja de serlo, debe borrarse su ficha → Entidad SOCIO
• Atributo: objeto de datos...- al que se asigna un VALOR, o bien- OPERANDO en operación ARITMÉTICA | BOOLEANA | ”STRING”
¿Es el título de este libro “Momo” o no? → “título” es un atributo• Interrelación: objeto de datos...
- Que hace posible la SELECCIÓN de una ENTIDAD, a través de una REFERENCIA a un ATRIBUTO de OTRA ENTIDAD
“Seleccionar los libros escritos por un autor cuyo nombre es M. Ende”→ Interrelación ESCRITO_POR
18
Enfoque CATEGORIZACIÓN de OBJETOS
Los verbos SER y TENER• “...ES UN...”
- Permite crear JERARQUÍAS DE ENTIDADES- Corresponde al concepto de Especialización/Generalización
“...tanto un libro como un artículo de nuestra biblioteca son documentos...” Supertipo: DOCUMENTO Subtipos: LIBRO, ARTICULO
• “...TIENE...”- “Ocurrencia de” ...un libro tiene varios ejemplares...- INTERRELACIÓN entre Tipos Entidad...los libros pueden tener más de un autor...- ASOCIACIÓN de un TIPO ENTIDAD y sus ATRIBUTOS...los libros tienen un título, un año de publicación y un idioma determinado...
10
19
Enfoque CATEGORIZACIÓN de OBJETOS
• Uso del SINGULAR o PLURAL
- Permite deducir CARDINALIDADES y GRADOS de las INTERRELACIONES
...un libro es escrito por varios autores...
...un autor puede escribir varios libros....» Interrelación ESCRIBIR es M:N y de GRADO 2
...un libro puede ser escrito por un autor anónimo...» card_min(AUTOR, ESCRIBIR) = 0
20
Criterios de elección entre conceptos
• Tipo de entidad o atributo simple- ¿tiene otros atributos? Editorial (dirección, nacionalidad)- ¿relacionado con otros tipos de entidades? Libro publicado por editorial- ¿multivalorado? Idioma de libro
• Especialización/Generalización o atributo simple- ¿alguna característica sólo para algún subtipo? Persona (sexo), queremos
modelar número de embarazos
• Atributo compuesto o conjunto de atributos simples- ¿nos referimos al atributo como un todo y por sus componentes? dirección
(calle, número, ciudad)
11
21
DISEÑO DEL ESQUEMA CONCEPTUAL
ENFOQUES PARA EL DISEÑO DE ESQUEMAS CONCEPTUALESCENTRALIZADO− Requisitos combinados en un ÚNICO CATÁLOGO ANTES del diseño− Se diseña un ÚNICO Esquema Conceptual (para el cjto global de requisitos)− Equipo del DBA ...
Decide cómo combinar los requisitos,Diseña el Esquema Conceptual de la BD, yEspecificar los Esquemas Externos para cada grupo de usuarios/aplicación
INTEGRACIÓN DE VISTAS− No se combinan los requisitos de los diferentes usuarios/aplicaciones− Se diseña UN Esquema Conceptual para CADA grupo de usuarios -- VISTA− Equipo del DBA ...
Integra o combina los Esquemas Conceptuales (vistas),Obtiene y refina el Esquema Conceptual Global (integrado) de la BD, yEspecificar los Esquemas Externos a partir de cada vista de usuario/aplicación
22
DISEÑO DEL ESQUEMA CONCEPTUAL
DIFERENCIAS ENTRE LOS ENFOQUES
CENTRALIZADO− QUÉ SE COMBINA: los requisitos recopilados− CUÁNDO SE COMBINA: antes del diseño del esquema conceptual global− QUIÉN COMBINA: el equipo del DBA− CÓMO SE COMBINA: manualmente
INTEGRACIÓN DE VISTAS− QUÉ SE COMBINA: los esquemas conceptuales diseñados para cada grupo
de usuario / aplicación− CUÁNDO SE COMBINA: una vez obtenidos todos los esquemas
conceptuales o vistas de cada grupo de usuarios/aplicación− QUIÉN COMBINA: el equipo del DBA− CÓMO SE COMBINA: manualmente o si la BD es grande, siguiendo un
método y usando herramientas automatizadas de ayuda
12
23
DISEÑO DEL ESQUEMA CONCEPTUAL
Conclusión: hemos de diseñar un ESQUEMA CONCEPTUAL que satisfaga un conjunto de requisitos...− ... de muchos (grupos de ) usuarios diferentes (centralizado), o bien− ... de un único grupo de usuarios (integración de vistas)
Seguiremos una ESTRATEGIA DE DISEÑO DE ESQUEMAS CONCEPTUALESProceso incremental− parte de un EC inicial (derivado de los requisitos)− se refina, modifica y desarrolla− aplicando TRANSFORMACIONES al EC
LUGAR
CIUDAD
PROVINCIA
EN
24
DISEÑO DEL ESQUEMA CONCEPTUAL
CARACTERÍSTICAS de una TRANSFORMACIÓN de ESQUEMA
ESQUEMA INICIAL (E-Ini) Y ESQUEMA RESULTANTE (E-Res)− La transformación se aplica al esquema inicial− El efecto de la transformación es el esquema resultante
CORRESPONDENCIA entre (nombres) CONCEPTOS del E-Ini y E-Resnombre LUGAR corresponde a los nombres CIUDAD, EN y PROVINCIA
HERENCIA DE CONEXIONES LÓGICAS− Los conceptos el E-Res heredan las
INTERRELACIONESATRIBUTOSGENERALIZACIONES/ESPECIALIZACIONES...
definidas para los conceptos correspondientes del E-Ini
13
25
LUGAR CIUDAD
PROVINCIA
ENPERSONA
VIVE_EN
PERSONA
VIVE_EN
DISEÑO DEL ESQUEMA CONCEPTUAL
• PRIMITIVAS DE REFINAMIENTO– Definidas para realizar transformaciones– Se aplican a un E-Ini y producen un E-Res– PRIMITIVAS ASCENDENTES y DESCENDENTES
26
PRIMITIVAS DE DISEÑO CONCEPTUAL
• PRIMITIVAS DESCENDENTESRefinamientos Puros: aplicadas a un concepto y
producen descripción más detallada del mismo– Propiedades:
ESTRUCTURA SIMPLE– Se aplican a un ÚNICO concepto y dan un pequeño CONJUNTO de
conceptos
TODOS LOS NOMBRES SE REFINAN EN NUEVOS NOMBRES – Descripción del concepto original a un nivel más bajo
SÓLO UNO DE LOS CONCEPTOS DEL E-Res HEREDA CONEXIONES LÓGICAS
14
27
LUGAR
CIUDAD
PROVINCIA
EN
PRIMITIVAS DESCENDENTES DE DC
D1. ENTIDAD →ENTIDADES INTERRELACIONADAS
D2. ENTIDAD →GENERALIZACIÓN/ESPECIALIZACIÓN
PERSONAPERSONA
MUJER HOMBRED3. ENTIDAD →ENTIDADES NO INTERRELACIONADAS
PREMIO
OSCAR
PREMIONOBEL
28
PRIMITIVAS DESCENDENTES DE DC
D4. INTERRELACIÓN → INTERRELACIONES
PARALELAS
PERSONA
CIUDAD
RELACIONADA_CON VIVE_EN NACIO_EN
PERSONA
CIUDAD
D5. INTERRELACIÓN →ENTIDAD CON INTERRELACIONES
EMPLEADO
DEPARTAMENTO
TRABAJA_EN
EMPLEADO
DIRECTOR
TRABAJA_CON
DEPARTAMENTO
JEFE_DE
15
29
PRIMITIVAS DESCENDENTES DE DC
D7. DESARROLLO DE ATRIBUTOS COMPUESTOS
D8. REFINAMIENTO DE ATRIBUTOS
D6. DESARROLLO DE ATRIBUTOS
30
PERSONA
CIUDAD
RELACIONADA_CON NACIO_EN VIVE_EN
PERSONA
CIUDAD
PERSONA
PROYECTO
EMPLEADA_EN DIRIGE TRABAJA_EN
PERSONA
PROYECTO
(a) (b)
PRIMITIVAS DESCENDENTES DE DC
• RESPETAR implícitamente ciertas RESTRICCIONES– cardinalidades máxima y mínimas en D4, D5
16
31
PRIMITIVAS DE DISEÑO CONCEPTUAL
• PRIMITIVAS ASCENDENTESIntroducen conceptos nuevos y propiedades que NO
aparecen en versiones anteriores del esquema, o modifican conceptos existentes
– Aplicadas...al descubrir rasgos del UoD no captados antesal fusionar esquemas (integración) para formar un esquema global
32
PRIMITIVAS ASCENDENTES DE DC
A1. GENERACIÓN DE ENTIDAD
A2. GENERACIÓN DE INTERRELACIÓN
A3. GENERACIÓN DE GENERALIZACIÓN
DIRECTOR
PERSONA
EMPLEADO DIRECTOR
EMPLEADO ⇒
17
33
PRIMITIVAS ASCENDENTES DE DC
A4. AGREGACIÓN DE ATRIBUTOS
A5. AGREGACIÓN DE ATRIBUTO COMPUESTO
Ojo: REVISAR INTERRELACIONES Y ATRIBUTOSLa aplicación de primitivas ascendentes obliga a los diseñadores a
investigar las consecuencias de la transformación en el resto del esquema (A3)
34
ESTRATEGIAS para el DISEÑO DE ESQUEMAS
4 estrategias, según las primitivas que utilizan:Descendente, Ascendente, Centrífuga y Mixta
• ESTRATEGIA DESCENDENTE (top-down)– Sólo aplica primitivas descendentes (c/u introduce nuevos detalles)– Fin del proceso cuando TODO requisito de información está representado
Estrategia descendente PURA:
todos los conceptos representados en el esquema final, deben aparecer en cada plano de refinamiento
18
35
ESTRATEGIA DESCENDENTE para el DISEÑO DE ESQUEMAS
En la base de datos de un censo se consideran las siguientes propiedades de las personas: nombre, apellido, sexo, edad, lugar de nacimiento, lugar de residencia, años de residencia, situación militar de los hombres, apellido de soltera de las mujeres (*obviamente, hablamos de un censo no español*).Los lugares pueden ser estados extranjeros o ciudades nacionales. Cada uno tiene un nombre y número de habitantes (que representa la población total en el caso de los estados extranjeros) y los nombres de las regiones o ciudades.
1.
2.
36
ESTRATEGIA DESCENDENTE para el DISEÑO DE ESQUEMAS
LUGAR
HOMBRE MUJER
PERSONA
NACIO_EN
VIVE_EN
PAIS EXTRANJERO
LUGAR NACIONAL
3.
19
37
ESTRATEGIA DESCENDENTE para el DISEÑO DE ESQUEMAS
4.
HOMBRE MUJER
NACIO_EN
VIVE_EN
PAIS EXTRANJERO
CIUDAD NACIONAL
PERSONA LUGAR
PROVINCIA
EN
EDADESTATURA
APELLIDOSNOMBRE
SITUACIÓN_MILITAR
CONTINENTE
APELLIDO_SOLTERA
HABITANTES
NOMBRE
NOMBRE
AÑOS
(1,N) (1,1)
(1,N) (1,N)
(1,N)
(1,1)
38
ESTRATEGIA ASCENDENTE para el DISEÑO DE ESQUEMAS
• Estrategia down-top– Sólo aplica primitivas ascendentes– Parte de un esquema con conceptos/abstracciones elementales– Construye conceptos más complejos, mediante combinación o
adición de nuevas abstracciones
☺ SENCILLEZ
NECESIDAD de REESTRUCTURAR el ESQUEMA (difícil si esquemas complejos)– Visión estable de conceptos e interrelaciones SÓLO se ve al final del diseño– permite ver con claridad los árboles, pero no el bosque
1.
20
39
ESTRATEGIA ASCENDENTE para el DISEÑO DE ESQUEMAS
2.HOMBRE
PAIS EXTRANJERO
PROVINCIA
EDADESTATURA
APELLIDOSNOMBRE
SITUACIÓN_MILITARCONTINENTE
APELLIDO_SOLTERA
HABITANTES
NOMBRE
NOMBRE
MUJER
EDADESTATURA
APELLIDOSNOMBRE
CIUDAD NACIONAL HABITANTES
NOMBRE
H O M B R E M U JER PA IS EX TR A N JER O
C IU D A D N A C IO N A L
PER S O N A LU G A R
P R O V IN C IA
EDADESTATURA
APELLIDO SN OM BRE
SITUACIÓN _M ILITAR
CO NTINENTE
APELLIDO_SO LTERA
HABITANTES
NO M BRE
N OM BRE
H O M B R E M U JER PA IS EX TR A N JER O
C IU D A D N A C IO N A L
PER S O N A LU G A R
P R O V IN C IA
EDADESTATURA
APELLIDO SN OM BRE
SITUACIÓN _M ILITAR
CO NTINENTE
APELLIDO_SO LTERA
HABITANTES
NO M BRE
N OM BRE
3.
4. (*ver el esquema final anterior*)
40
ESTRATEGIA CENTRÍFUGA para el DISEÑO DE ESQUEMAS
• Estrategia de dentro a fueraYa NO se procede por niveles de abstracción
HOMBRE MUJER
NACIO_EN
VIVE_EN
PAIS EXTRANJERO
CIUDAD NACIONAL
PERSONA LUGAR
PROVINCIA
EN
EDADESTATURA
APELLIDOSNOMBRE
SITUACIÓN_MILITAR CONTINENTEAPELLIDO_SOLTERA
HABITANTES
NOMBRE
NOMBRE
AÑOS
(1,N) (1,1)
(1,N) (1,N)
(1,N)
(1,1)
HOMBRE MUJER
NACIO_EN
VIVE_EN
PAIS EXTRANJERO
CIUDAD NACIONAL
PERSONA LUGAR
PROVINCIA
EN
EDADESTATURA
APELLIDOSNOMBRE
SITUACIÓN_MILITAR CONTINENTEAPELLIDO_SOLTERA
HABITANTES
NOMBRE
NOMBRE
AÑOS
(1,N) (1,1)
(1,N) (1,N)
(1,N)
(1,1)
HOMBRE MUJER
NACIO_EN
NACIO_EN
VIVE_ENVIVE_EN
PAIS EXTRANJERO
CIUDAD NACIONAL
PERSONA LUGAR
PROVINCIA
ENEN
EDADESTATURA
APELLIDOSNOMBRE
SITUACIÓN_MILITAR CONTINENTEAPELLIDO_SOLTERA
HABITANTES
NOMBRE
NOMBRE
AÑOS
(1,N) (1,1)
(1,N) (1,N)
(1,N)
(1,1)
21
41
ESTRATEGIA MIXTA para el DISEÑO DE ESQUEMAS
• Estrategia para dominio de aplicación muy complejo– Estrategia Descendente para DIVIDIR los requisitos en subconjuntos– Diseño Ascendente de un SUB-ESQUEMA para cada partición– COMBINACIÓN de los subesquemas (esquema armazón)
42
ESTRATEGIA MIXTA para el DISEÑO DE ESQUEMAS
HOMBRE MUJER
PAIS EXTRANJERO
CIUDAD NACIONAL
PERSONA
LUGAR
PROVINCIA
EN
EDADESTATURA
APELLIDOSNOMBRE
SITUACIÓN_MILITAR
CONTINENTE
APELLIDO_SOLTERA
HABITANTES
NOMBRE
NOMBRE
RELACIONADO
CONPERSONA LUGAR
A) ESQUEMA ARMAZÓN
B) ESQUEMA PERSONA
C) ESQUEMA LUGAR
D) ESQUEMA INTEGRADO GLOBAL (VER ANTERIOR)
22
43
INTEGRACIÓN DE VISTAS
• Enfoque centralizado:dificultad en conciliar las diferencias y conflictos entre los grupos de usuarios para establecer una definición clara de los requerimientos globales.
• Enfoque de Integración de vistas:• Ventaja: vistas relativamente pequeñas → diseño simplificado• Objetivo: Encontrar partes de los EC de entrada que se refieren
a la misma porción de la realidad y UNIFICAR su representación• Dificultad: descubrir diferencias y correspondencias entre Ecs→ una misma parte de la realidad suele estar modelada de formas distintas en cada esquema
44
IV: DIFERENCIAS DE MODELADO
Perspectivas diferentes: conceptos enfocados desde distintos niveles de abstracción o representados utilizando propiedades diferentes
• Equivalencia entre construcciones: modelos conceptuales variedad de estructuras de representación permiten distintas representaciones equivalentes de la misma realidad.
• Especificaciones de diseño incompatibles: errores durante el diseño de vistas relacionados con nombres, estructuras y restricciones de integridad pueden producir entradas erróneas para la actividad de integración
Detección de errores de diseño
nombre
título
EDITOR
título
editorLIBRO
LIBRO
PROYECTO
EMPLEADO
DEPARTAMENTO
EMPLEADO
PROYECTO
[ 1, 1 ]
[ 1, N ]
PROYECTO
EMPLEADO
[ 1, N ]
[ 1, N ]
PROYECTO
EMPLEADO
23
45
INTEGRACIÓN DE VISTAS
Esquema 1 Esquema 2
Análisis deConflictos
Resolución deConflictos
Fusión deEsquemas
Esquema Integrado
Esquema 1Esquema 2
Lista de Conflictos
Esquema 1Esquema 2
Propiedades inter-esquemáticas
1. Identificación y Análisis de conflictos:
de nombres y estructurales
2. Resolución de conflictos
3. Fusión de esquemas
4. Reestructuración del Esquema Conceptual Integrado
46
título
[ 0, n ]
NomDeptocódigo
área-investigación
títulocódigo
[ 1, n ]PALABRA CLAVEPUBLICACIÓN TRATA
dirección
[ 1, n ]
nombre
título
nombre
direcciónnombre
[ 0, n ]
TRATACONTRATISTA
PUBLICA ESCRITO-POR
[ 1, n ]
[ 0, n ]
[ 1, 1 ]
[ 0, n ]
INFORME
TEMA
DEPARTAMENTO
Esquema 1. Centrado en publicaciones
Esquema 2. Centrado en informes
24
47
Conflictos de nombres (sinónimos y homónimos)
• SEMEJANZA DE CONCEPTOS: conceptos con diferente nombre poseen propiedades y restricciones comunes
posibles SINÓNIMOS• DISCREPANCIA ENTRE CONCEPTOS: conceptos con el mismo nombre
poseen propiedades y restricciones diferentesposibles HOMÓNIMOS
Elemento del esquema
Propiedades (conceptos vecinos) Restricciones
Entidad Sus atributos, interrelaciones adyacentes y jerarquías de generalización
Cardinalidades mínima y máxima de las interrelaciones donde la entidad participa; identificadores
Interrelación Sus atributos; entidades participantes
Cardinalidades mínima y máxima de las entidades participantes
Atributo Entidades o interrelaciones a las que pertenece
Cardinalidades mínima y máxima; conjunto de valores; identificadores que incluyen el atributo
48
Conflictos de nombres (sinónimos y homónimos)
Detección:
a todas las posibles modificaciones las llamamos guiones de modificación.
• Suponen cambiar el nombre del concepto, y• pueden implicar la adición de alguna propiedad
interesquemática (restricciones mutuas entre conceptos que aparecen en diferentes esquemas)
• Después de unificación de nombres, se supone que dos conceptos (atributos, entidades, interrelaciones) con el mismo nombre representan la misma realidad.
25
49
Conflictos estructurales
• Durante análisis de conflictos estructurales, se comparan los conceptos con el mismo nombre en los esquemas de entrada para ver si pueden fusionarse.
Se utilizan las siguientes categorías:• Conceptos idénticos; • Conceptos compatibles; diferentes estructuras de representación o
propiedades vecinas no contradictorias. • Conceptos incompatibles; poseen propiedades contradictorias. P.ej.:
– Cardinalidades diferentes para el mismo atributo o entidad.– Identificadores diferentes – Interrelaciones inversas de subconjuntos: la entidad A es subconjunto de la
entidad B en un esquema, y B es subconjunto de A en el otro esquema.
Posibles soluciones:• selección de una representación y • construcción de una representación común tal que todas las restricciones de
los dos esquemas estén incluidas en el esquema integrado.
50
NomDeptotítulo
[ 0, n ]
código
área-investigación
títulocódigo
[ 1, n ]PALABRA CLAVEPUBLICACIÓN TRATA
dirección
[ 1, n ]
nombre
título
nombre
direcciónnombre
[ 0, n ]
TRATACONTRATISTA
PUBLICA ESCRITO-POR
[ 1, n ]
[ 0, n ]
[ 1, 1 ]
[ 0, n ]
INFORME
TEMA
DEPARTAMENTO
nombre[ 0, n ]TIENE
[ 1, 1 ]
DEPARTAMENTO
TEMA
nombre
INCLUYE
Resolución de conflictos
26
51
Fusión de Esquemas y reestructuración
• Actúa sobre los esquemas de entrada y produce un esquema que incluye todos los conceptos representados en los esquemas de entrada. Se han resuelto todos los conflictos
fusión de esquemas = simple superposición de conceptos comunes.• Las entidades que coinciden por completo se superponen de forma directa.• Las entidades que corresponden a los mismos objetos, pero poseen diferentes
atributos, se superponen tomando la unión de sus atributos; • Se añaden jerarquías que se presenten como propiedades interesquemáticas.• Las propiedades interesquemáticas pueden conducir a reestructuraciones,
adiciones o supresiones de conceptos en el esquema resultante.
Reestructuración: (opcional) el esquema global podrá analizarse y reestructurarse para eliminar cualquier redundancia o complejidad innecesaria.
• El esquema obtenido debe examinarse desde el punto de vista de cada una de las vistas parciales y, si no es aceptado por alguna de ellas debe modificarse repitiendo este proceso las veces que haga falta.
52
título
[ 0, n ]
código
área-investigación
nombrecódigo
[ 1, n ]TEMAPUBLICACIÓN INCLUYE
dirección
[ 1, n ]
nombre
título
direcciónnombre
[ 0, n ]
TRATA
CONTRATISTA
PUBLICA ESCRITO-POR
[ 1, n ]
[ 0, n ]
[ 1, 1 ]
[ 0, n ]
INFORME
DEPARTAMENTO
TIENE[ 1, 1 ]
FUSIÓN
27
53
título
[ 0, n ]
código
área-investigación
nombrecódigo
[ 1, n ]
TEMA
INCLUYE
dirección[ 1, n ]
nombre
título
direcciónnombre
[ 0, n ]
TRATA
CONTRATISTA
PUBLICA
ESCRITO-POR
[ 1, n ]
[ 0, n ]
[ 1, 1 ]
[ 0, n ]
DEPARTAMENTO
TIENE[ 1, 1 ]
[ 0, n ]
INFORME
PUBLICACIÓN
Reorganización
54
título
[ 0, n ]
código
área-investigación
nombrecódigo
[ 1, n ]
TEMA
INCLUYE
dirección[ 1, n ]
nombre
direcciónnombre
[ 0, n ]
TRATA
CONTRATISTA
PUBLICA
ESCRITO-POR
[ 1, n ]
[ 0, n ]
[ 1, 1 ]
[ 0, n ]
DEPARTAMENTO
TIENE[ 1, 1 ]
[ 0, n ]
INFORME
PUBLICACIÓN
d
∪
Propiedades interesquemáticas
28
55
título
[ 0, n ]
código
área-investigación
nombrecódigo
[ 1, n ]
TEMA
INCLUYE
direcciónnombre
direcciónnombre
[ 0, n ]
CONTRATISTAESCRITO-POR
[ 1, n ]
[ 0, n ]
DEPARTAMENTO
TIENE[ 1, 1 ]
INFORME
PUBLICACIÓN
d
∪
Eliminación de redundancia
56
ESTRATEGIAS de Fusión de Esquemas
V1
V3
V4
V2
Esquemas IntermediosIntegrados
Esquema Final Integrado
Integración de Escalera Binaria
V1 V3 V4V2
Esquema Final Integrado
Integración n-aria
V1
V3 V5
V2
EsquemasIntermedios Integrados
Esquema Final Integrado
Integración Binaria Balanceada
V4
V1 V3 V5V2
EsquemasIntermedios Integrados
Esquema Final Integrado
Integración Mixta
V4
V6
29
57
CARACTERÍSTICAS DE UN ESQ. CONCEPTUAL
¿Qué es un BUEN esquema?
1. COMPLETO2. CORRECTO3. MÍNIMO4. EXPRESIVO5. LEGIBLE6. AUTOEXPLICATIVO7. EXTENSIBLE
58
COMPLETITUD y CORRECCIÓN
COMPLETITUD• Representa TODA característica importante del UoD
– Completitud del esquema respecto a los requisitos– Completitud de los requisitos respecto al esquema
CORRECCIÓN• Uso adecuado de los conceptos del MEE
– Corrección SINTÁCTICA– Corrección SEMÁNTICA
Errores semánticos frecuentesATRIBUTO en lugar de TIPO ENTIDADOLVIDAR GENERALIZACIÓN o la PROPIEDAD DE HERENCIAGRADO ERRÓNEO DE INTERRELACIONESENTIDAD en lugar de INTERRELACIÓNOMITIR especificaciones de CARDINALIDAD MÍNIMA/MÁXIMA
30
59
MINIMALIDAD
• Cada aspecto de los requisitos aparece SÓLO UNA VEZ
• No se puede borrar un concepto SIN perder información
Un esquema NO MÍNIMO contiene REDUNDANCIA
FUENTES DE REDUNDANCIA– Ciclos de interrelaciones– Atributos derivados
60
MINIMALIDAD
• Ciclos de interrelaciones
VUELO
CIUDAD
1
N N
ATERRIZA
1
DESPEGA
CIUDAD
PERSONAPROVINCIA
1
N
NACIÓ_EN
N
1
TRABAJA_EN
N1
ES_DE
ESTUDIANTE
CURSILLO
M
N N
EXAMINADO
M
MATRICULADO
CIUDAD
COMUNIDADAUTONOMA
PROVINCIA
1
N
PERTENECE_A
1
N
ESTA_EN
1N
ES_DE
31
61
MINIMALIDAD
• Atributos derivados
director
TRABAJA_EN
nombre
Número de empleados
EMPLEADO
[ 1, N ]
[ 1, N ]
edad
código
PROYECTOdirector
TRABAJA_EN
nombreEMPLEADO
[ 1, N ]
[ 1, N ]
edad
código
PROYECTO
62
EXPRESIVIDAD
• Representa los requisitos de forma natural, entendible, sin explicaciones adicionales
• Acciones de mejora de la expresividad – CREACIÓN DE GENERALIZACIÓN– ELIMINACIÓN DE SUBTIPOS DE ENTIDAD COLGANTES EN G/E– ELIMINACIÓN DE TIPOS DE ENTIDAD COLGANTES
nombre
[ 1, n ]
apellidoNSS
nombre[ 1, 1 ]CIUDADPERSONA NACIDA_EN
nombre apellidoNSS
PERSONA ciudad_nacimiento
32
63
EXPRESIVIDAD
PROFESOR
OFRECE
ASISTENTE
SEMINARIO
∪
CURSOINSTRUCTOR
OFRECE
ENSEÑA
ENSEÑA
CALIFICA
PROFESOR ASISTENTESEMINARIO CURSOINSTRUCTOR
ENSEÑA
CALIFICA
PERSONAL ENSEÑANZA OFERTAS
∪∪∪
64
LEGIBILIDAD
- Homogeneidad en los tamaños
- Líneas rectas
- Simetría
- No cruces de líneas
- Mínimo nº esquinas
- Supertipos encima de subtipos y subtipos simétricos
33
65
AUTOEXPLICACIÓN
- Representa muchas propiedades usando construcciones del modelo
- sin usar otros formalismos
EXTENSIBILIDAD
- Fácil de adaptar a cambios en los requisitos
ESTUDIANTE
[ 2, 2 ]
[ 0, N ]
tipo
PROFESOR
POSEETUTOR
ESTUDIANTE[ 1, 1 ]
[ 0, N ]PROFESOR
POSEE TUTORDOCTORADO
POSEE TUTORMASTER
[ 0, N ]
[ 1, 1 ]
Metodología de diseño conceptual utilizando el modelo entidad/relación
• Elmasri, R.; Navathe, S.B. Sistemas de bases de datos. Conceptos fundamentales. 2ª ed. Addison-Wesley Iberoamericana, 1997.
Obtención del diagrama entidad/relaciónPara obtener un diagrama adecuado y fiable a partir del análisis de la realidad y de los requerimientos de la organización, actividades:
• identificar tipos de entidad y atributos,• identificar generalizaciones/especializaciones,• identificar tipos de relación entre tipos de entidades,• identificar tipos de entidad débiles,• identificar agregaciones, y• especificar restricciones de integridad.
Estas actividades se realizan de forma iterativa hasta conseguir definir un diagrama Entidad/Relación lo más fiel posible a la realidad.
34
CLASIFICACIÓN PERSONAS
COCHES
Mundo real Modelo de la realidad
1. Identificar entidades y atributos• De la observación de la realidad:
– detectar el conjunto de "objetos” (físicos o conceptuales) de los que se quiere almacenar información,
• Uso de la clasificación (mecanismo de abstracción primario) – abstraer el conjunto de "clases de objetos” (o tipos de objetos) que
son de interés para la organización. – no prestar atención a las ocurrencias concretas sino al conjunto de
ocurrencias.
68
1. Identificar entidades y atributos• Entidad: viene definida por un conjunto de atributos que representan la
información que se desea conocer de cada tipo de objeto. • Para cada atributo se debe:
– asociar un dominio o, si es derivado, especificar la fórmula de derivación, e
– indicar la cardinalidad de atributo en el caso de que el atributo tenga restricción de valor no nulo.
• Si es posible, se destacarán los atributos identificadores; • si no existen estos atributos la entidad debe ser considerada débil y habrá
que decidir, cuando se estudien las relaciones, sobre cuál o cuáles se apoya para identificarse.
ycod provincia
jefePROYECTO
nombre
35
69
ycod provincia
jefePROYECTO
nombre
ycod provincia
nombrePROYECTO
nombreJEFERESPON-
SABLE
1N
EJEMPLO 2• No hay que pensar que antes de avanzar en el diseño hay que definir un conjunto de
entidades que será fijo: – éste puede cambiar a medida que se tomen ciertas decisiones de diseño. – Por ejemplo es posible que algunos atributos inicialmente considerados desaparezcan fuego
y se conviertan en entidades.• Ejemplo 2. Sea una entidad con dos atributos entre los que se detectó una dependencia, el
atributo provincia representa en qué provincia nació el jefe del proyecto:
En el siguiente diagrama se decide considerar el atributo jefe corno una entidad, representado correctamente la dependencia anterior.
70
2. Identificar generalizaciones / especializaciones• La especialización es el proceso por el que se clasifica una clase de objetos
en subclases más especializadas.
• La generalización es el proceso inverso por el que se generalizan varias clases para obtener una abstracto de más alto nivel que incluyo los objetos de todos estas clases.
• La especialización es un refinamiento conceptual mientras que la generalización es una síntesis conceptual.
• En el modelo entidad-relación la especialización y la generalización se representan con el mismo concepto.
• Podemos pues distinguir tres procesos mentales que pueden conducir a definir una generalización / especialización.
36
71
Estrategia descendente (especialización)• En el conjunto de ocurrencias de una entidad, se pueden definir subconjuntos
con propiedades estáticas (atributos) o de comportamiento (relaciones) distintas.
DNI nombre
CIFCLIENTE
nombreEMPRESAPERTENECEN 1
país guía
DNI
nombre
CIF
CLIENTEnombre
EMPRESAPERTENECEN 1
paísguía
CLIENTETURISTA
SU U
EJEMPLO 3: contexto de una agencia de viajes:Más tarde se detecta que hay dos clases de clientes: los turistas, a los que siempre se asignará un guía y los viajantes de negocios, que siempre pertenecen a una empresa y de los que interesa conocer los países que suelen visitar
72
Estrategia ascendente (generalización):• existe en el esquema un conjunto de entidades con algunas propiedades
similares y que en la realidad se podrían clasificar en un objeto común.
DNI
EMPLEADO
nombre
categoríaidioma
TÉCNICOSECRETARIO
DU Upulsaciones
DNInombre
categoríaidioma
TÉCNICOSECRETARIO
pulsaciones DNI
nombre
• Ejemplo 4. En el diagrama se han definido dos entidades independientes con algunos atributos comunes.
• Si, además, se observa que ambas entidades se refieren a trabajadores de la empresa que para algunos procesos conviene tener juntos, sería más correcto considerar una entidad general Empleado.
37
73
3) Jerarquía (subconjunto). • Se detecta una relación jerárquica entre entidades previamente definidas.• Ejemplo 5. En el contexto de una escuela universitaria, supóngase que se han
definido dos entidades, alumno y proyectante. Pero si se tiene en cuenta que todo proyectante es también un alumno, la solución más adecuada sería mediante una jerarquía.
exp
ALUMNO
nombre
títulodirector
PROYECTANTE
U
especiali.
expnombre
títulodirector PROYECTANTE
especiali.
exp
ALUMNO
nombreespeciali.
74
atributo discriminador en la entidad general
• La [generalización | especialización] no debe definirse por los nombres que puedan tener los atributos, sino cuando realmente exista entre los objetos la relación de subclase que implica este concepto.
• Por otra parte, una generalización / especialización en la que las entidades especializados no tienen propiedades distintivas (atributos o relaciones) no resulta muy útil pudiéndose representar la misma información y de forma más sencilla con un atributo discriminador en la entidad general (Ejemplo 6).
cod
LIBRO
título
NO-ESPAÑOLESPAÑOL
DU U
español
cod
LIBRO
título
español: dominio(sí / no)
38
75
3. Identificar relaciones entre entidades• Una vez definido un conjunto inicial de entidades que, como ya se ha
comentado, podrá ser reconsiderado a lo largo de todo el diseño, hay que estudiar las relaciones (o vínculos) existentes entre ellos, ya que raramente existirán entidades sin conexiones con otras.
Para definir una relación hay que especificar:• entidades implicadas,• cardinalidades máximas y mínimas y• atributos propios de la relación (con sus restricciones sí las tienen).
Ocho puntos:3.1. Las cardinalidades máximas y mínimas que se puedan expresar se
indicarán con las etiquetas 1 y N (las máximas) y con la definición de restricciones de existencia / participación (las mínimas).
76
3.2. relaciones redundantes• Deben ser eliminadas. Dos o más relaciones se consideran redundantes si
representan el mismo concepto, sin embargo, hay que darse cuenta de que entre las mismos entidades se pueden definir más de una relación siempre que tengan significados diferentes.
• Ejemplo 7. Aunque con nombres diferentes, se han definido dos relaciones (vende, suministra) que representan la misma información por lo que una debería eliminarse. Sin embargo, pueden existir dos relaciones definidas sobre las mismos entidades pero con significados completamente distintos (despega, aterriza).
dnicolor
pesoPROVEEDOR
nombre
PIEZA
VENDEN N código
dirección SUMINISTRAN N
nº vuelo paísVUELO
hora
CIUDAD
DESPEGAN 1 nombre
ATERRIZAN 1
39
77
3.3. dependencias transitivas• Eliminar la redundancia que se deriva de dependencias transitivas.
código dir-aytonombre
PROVINCIA
nombre
CIUDADES_DE1 N
habitantes
COMUNIDAD
nombre
PERTENECE ESTÁ_EN
11
NN
• Ejemplo 8: En el siguiente diagrama se han definido tres relaciones. La relación Está_en es redundante ya que sus ocurrencias se pueden derivar a partir de Pertenece y Es_de (una ciudad está en la comunidad a la que pertenece su provincia), por ello debería ser eliminada..
78
EJEMPLO 9• No siempre es posible eliminar la redundancia.• Ejemplo 9. El departamento al que pertenece un profesor puede derivarse a
través del departamento al que está adscrita la asignatura de la que es responsable pero como puede darse el caso de que no sea responsable de ninguna asignatura no se puede eliminar.
código códigonombre
PROFESOR
nombre
ASIGNATURARESPONSABLE1 N
teléfono
DEPARTAMENTO
nombre
PERTENECE ADSCRITA
11
NN
• La mismo reflexión puede hacerse respecto a la relación adscrita. Dado que pese a existir cierta redundancia no es posible eliminar ninguno relación sin perder por ello información, este diagrama necesita una restricción de integridad que asegure que 'los profesores sólo son responsables de asignaturas de su departamento".
40
79
EJEMPLO 10• No hay que pensar, sin embargo, que siempre que hay un ciclo entre
entidades existe una dependencia transitiva.
dir-ayto nombre dni
CIUDAD
nombre
PERSONATRABAJA1 N
nombre
PROVINCIA
código
PERTENECE NACIÓ
11
NN
• Ejemplo 10. Pese a existir un ciclo de las mismas características que en el Ejemplo 8 no existe redundancia ya que una persona no tiene por que haber nacido en la mismo provincia en la que está la ciudad en la que trabaja.
80
3.4. relaciones de grado mayor que dosHay que ser cuidadoso al elegir relaciones de grado mayor que dos.• Ejemplo 11. Sea la siguiente relación ternaria entre las entidades Alumno,
Asignatura y Profesor que representa la información referente a la impartición de asignaturas a alumnos por los profesores:
exp nombre dni
ALUMNO
nombre
PROFESOR
nombre
ASIGNATURA
código
DOCENCIA
N
1N
• Si se elige este diseño sólo se podrá saber quién imparte cada asignatura cuando haya alumnos matriculados, no antes. Tampoco se podrá saber a qué asignaturas va a asistir un alumno hasta que no se sepa quién va a impartir las clases.
• [En una ocurrencia de una relación n-aria siempre participan nocurrencias de entidad, una de cada una de las n entidades relacionadas].
41
81
3.5. EJEMPLO 12• Sea una relación R entre las entidades E1,..., En. Supóngase que se
quiere tener constancia de que las mismos ocurrencias de E1,.... En, se relacionan más de una vez a través de la misma relación.
• Ejemplo 12. Sea la relación Visitar entre la entidad Médico y la entidad Paciente. Si un médico puede visitar al mismo paciente en distintas ocasiones, realizando diagnósticos diferentes, entonces la solución propuesta no sirve ya que en ese esquema una ocurrencia de médico sólo se puede relacionar una vez con la misma ocurrencia de paciente.
nº colegiado dni
nombreMÉDICO
nombrePACIENTEVISITA
N N
fecha diagnóstico
82
EJEMPLO 12Para contemplar esta situación se puede optar por :• introducir una nueva entidad relacionada con las anteriores (esta entidad será débil) o• especificar los atributos propios de la relación definida corno atributos multivaluados.
Solución 1: Definir una nueva entidad Visita. • Obsérvese que en la solución propuesta se asume que un paciente puede visitar en la misma
fecha a distintos médicos pero que el mismo médico no puede visitar más de una vez al día al mismo paciente. Si se quiere prever esta situación habría que añadir otro atributo a la entidad Visita (como la hora o un contador de visitas diarias).
nº colegiado dni
nombrenombrePACIENTE
RECIBEN N
fecha diagnóstico
VA
MÉDICO
VISITA
11
42
83
EJEMPLO 12• Solución 2: definir los atributos de la relación Visitar como atributos
multivaluados.• Hay que darse cuenta de que las dos soluciones no son equivalentes ya
que en el último caso el mismo médico puede visitar en la misma fecha al mismo paciente más de una vez.
• La elección de una u otra solución depende del problema concreto. La segunda solución parece menos restrictiva y sencilla aunque hay otros casos donde la más natural es la primera.
nº colegiado dni
nombreMÉDICO
nombrePACIENTEVISITA
N N
fecha diagnóstico
visita
84
3.6. entidad con un identificador compuesto por varios atributos
• Si se ha definido una entidad con un identificador compuesto por varios atributos y éstos a su vez son identificadores de otras entidades,
• la entidad original está enmascarando una relación entre estas últimas.
Ejemplo 13. Sean las tres entidades que se muestran:
dni
PROVEEDOR
nombre
dir
código
PIEZA
descripción
color
dni
PEDIDO
código
dni
PROVEEDOR
nombre
dir
código
PIEZA
descripción
colorPEDIDON N
• Como puede observarse, los atributos identificadores de la entidad Pedido son a la vez identificadores de las entidades Proveedor y Pieza por lo que hay una relación oculta entre estas dos entidades:
43
85
3.7. una entidad con un atributo que es el identificador de otra entidad,
•Este atributo debe eliminarse relación entre ambas entidades.Ejemplo 14. En el diagrama se han definido dos entidades una de las cuales tiene entre sus atributos el atributo identificador de la otra con la intención de representar a qué departamento pertenece un profesor.
dni
PROFESOR
nombre
dir
cód-dep
DEPARTAMENTO
nombre
teléfonocód-dep
dni
PROFESOR
nombre
dir
cód-dep
DEPARTAMENTO
nombre
teléfonoPERTENECEN 1
• La solución correcta es aquella que representa explícitamente la relación entre Profesor y Departamento.
COMENTARIOS: En el MER no existen las claves ajenas (concepto propio del modelo relacional) de forma que nunca se debe incluir un atributo en una entidad con la intención de que represente una relación con otra entidad. Una relación nunca tiene atributos identificadores, aunque si puede tener atributos con restricción de unicidad.
86
3.8. Papel que cada entidad• Especificar el papel que cada entidad juega en una relación cuando alguno entidad
participa más de una vez en la relación. El caso más sencillo se presenta en las relaciones binarias en las que las dos entidades relacionadas son la misma (interrelaciones reflexivas o recursivas).
ASIGNATURA JERARQUÍA
N
N
tiene_prerequisito
es_prerequisito
PIEZACOMPO-SICIÓN
N
N
Forma_parte_de
Se_compone_de
1) Relación de prerrequisitos en el conjunto de las asignaturas de una carrera: "una asignatura puede ser prerrequisito de muchas asignaturas y tener también a muchas asignaturas como prerrequisito”.
2) Relación de composición entre piezas: "una pieza se compone de muchas piezas y a su vez puede formar parte de muchas piezas”.
• En general, hay que ser cuidadosos con las relaciones reflexivas ya que normalmente exigen que se especifiquen ciertas propiedades que no quedan contemplados en la definición de la relación.
44
87
3.8. Papel que cada entidad• Por último, también hay que tener cuidado con la definición de restricciones de
existencia en este tipo de relaciones ya que son muy infrecuentes (¿tiene sentido pensar que todos los ríos son afluentes de otro río o que todos los ríos tienen al menos un afluente?.
RIO AFLUENCIA
1
N
Es_afluente_de
Tiene-como-afluentes3) Relación entre los ríos por el hecho de que unos son afluentes de otros: "un río puede ser afluente de otro pero a su vez muchos ríos puede afluir a él”
88
4. Entidad débil• Como ya debe saberse, una entidad sufre restricción de dependencia de
identificación cuando no puede identificarse con sus propios atributos de manera que sus ocurrencias son distinguibles gracias a su relación con otras entidades. A este tipo de entidades se les denomina entidades débiles. Esta restricción implica siempre una restricción de existencia.
a0
A
an
BR1 ?
...
?
b0 bn...
• El hecho de que B sea una entidad débil supone que pueden existir varias ocurrencias con el mismo valor para el atributo b0, pero cada una de ellas se relaciona obligatoriamente con una ocurrencia de A distinta, que sirve para identificarla.
• Los interrogantes en el diagrama representan que los cardinalidades máxima y mínima de B pueden ser cualesquiera, 1 ó n para la máxima y 0 ó 1 para la mínima; es decir, se permite cualquiera de los dos casos que se ilustran a continuación.
45
89
EJEMPLO 16• caso n. En este caso, dado que una ocurrencia de A se puede relacionar con muchas
ocurrencias de B, es necesario la existencia de un atributo "semi-identificador"(b0) que ayude a distinguir entre todas las ocurrencias de B que se relacionan con la misma ocurrencia de A.
• Ejemplo 16. La entidad Ciudad es débil ya que en la organización (información geográfica mundial) que estamos modelizando puede haber varias ciudades con el mismo nombre aunque evidentemente siempre en distintos países; entonces ¿cómo se distingue una ciudad de otra?. En primer lugar por el país al que pertenecen y en un mismo país por el atributo nombre (ciudad) necesario en este caso ya que en un país puede haber muchas ciudades.
nombre
PAIS
renta
CIUDADESTÁEN
1 N
... nombre alcalde...
90
EJEMPLO 17• caso 1. En este caso, dado que una ocurrencia de A como mucho se relaciona con
una de B, no es necesaria la existencia de un atributo "semi-identificador" ya que en realidad cada ocurrencia de B se identifica gracias a la ocurrencia de A con la que se relaciona.
• Ejemplo 17: "Una organización tiene informatizados los expedientes jurídicos de todos los pleitos en los que está involucrado; de cada pleito, entre otras informaciones, se conoce el nº de pleito y el resultado de la sentencia que puede ser favorable o desfavorable. En caso de ser desfavorable se puede presentar como mucho un recurso ante el mismo órgano jurisdiccional, cada recurso se identifica por el número de pleito al que atañe y entre otros atributos interesa saber en qué fecha se realiza". Dado que un pleito se puede recurrir como mucho una vez, para distinguir un recurso de otro sólo necesitamos saber qué pleito se está recurriendo no siendo necesario en este caso un atributo de la entidad recurso que ayude a distinguirlos.
Nºpleito
PLEITO
resultado
RECURSOTIENE1 1
... fecha ...
46
91
5. objetos agregados• La definición de objetos agregados en el esquema puede producirse por dos
circunstancias. En primer lugar, cuando en el análisis de la realidad, una relación se vea también con características de entidad;
• y en segundo, y más frecuentemente, cuando al estudiar las relaciones, se observe la necesidad de que una relación pase a ser entidad para poder participar en otras relaciones.
edad
dni
HOMBRE
nombre
MUJERedad
dni nombre
dir
número
teléfonoJUZGADO
MATRIMONIO
CASADOS_EN• Ejemplo 18. En este ejemplo se debe
apreciar que el uso de una ternaria no sería una buena solución si se quiere contemplar la posibilidad de que no todas las parejas se han casado en un juzgado.
• COMENTARIOS: Una entidad agregada nunca es débil aunque sí puede tener restricciones de existencia respecto a otras relaciones.
92
6. Especificar restricciones de integridad• Todos aquellas propiedades de la realidad que no hayan quedado expresadas en el
diagrama Entidad-Relación deben especificarse. Pueden representarse en lenguaje natural o mediante fórmulas bien formadas del lenguaje lógico que se haya definido asociado al modelo entidad-relación.
• Por ejemplo la restricción de integridad del Ejemplo 9 se podría expresarse con la siguiente fórmula:
código códigonombre
PROFESOR
nombre
ASIGNATURARESPONSABLE1 N
teléfono
DEPARTAMENTO
nombre
PERTENECE ADSCRITA
11
NN
RX: Responsable, PX: Pertenece, AX: Adscrita¬∃ RX ∃PX ∃AX (Responsable(PX) ∧Pertenece(PX) ∧ Adscrita(AX) ∧AX.Profesor = RX.Profesor ∧RX.Asignatura = AX.Asignatura ∧PX.Departamento ≠AX.Departamento)