Estructuras de Almacenamiento de Datos MODELADO DE DATOS MODELO DE ENTIDADES Y RELACIONES T E O R Í A 1 PA R T E I I 2 0 1 8 INGENIERÍA DE SISTEMAS
RELACIONES TERNARIAS Cual es la semántica de esta relación y de sus cardinalidades máximas? Cual es el nro. máximo de ejemplares de cada entidad que está vinculado con un par de ejemplares de la otra entidad? Por ejemplo: un profesor, para una materia cuantos libros utiliza (uno muchos)? Diferentes alternativas: N:N:N 1:1:N 1:N:N 1:1:1
RELACIONES TERNARIAS Cardinalidad N:N:N Un profesor, para cada materia utiliza muchos libros. Un profesor, cada libro lo utiliza para muchas materias. Un libro, en cada materia es utilizado por muchos profesores. Profesor Materia Libro Prof P1 P2 P3 R IdM MA MB MC Prof IdM CodL P1 MA L1 P1 MB L1 P1 MA L6 P2 MA L1 CodL L1 L2 L6
RELACIONES TERNARIAS Profesor Materia Libro Cardinalidad 1:N:N Un profesor, cada libro lo utiliza en muchas materias. Un proveedor, en cada materia utiliza muchos libros. En una materia, cada libro es utilizado por un único profesor. Prof P1 P2 P3 R IdM MA MB MC CodL L1 L2 L3 Estas tuplas no cumplen la condición de la relación, sólo una del par es correcta?? Prof IdM CodL P1 MA L1 P1 MB L1 P2 MA L2 P2 MA L1
RELACIONES TERNARIAS Cardinalidad 1:1:N Un profesor, en cada materia utiliza muchos libros. Cada libro, en cada materia es utilizado por un único profesor. Un profesor utiliza cada libro en una única materia. Hay tuplas que no cumplen las condiciones de la relación, sólo una de cada par es correcta???? Profesor Materia Libro Prof P1 P2 P3 IdM MA MB MC CodL L1 L2 L3 R Prof IdM CodL P1 MC L3 P1 MB L3 P2 MC L3 P2 MA L1
RELACIONES TERNARIAS Cardinalidad 1:1:1 Un profesor para cada materia utiliza un único libro. Cada libro en cada materia es utilizado por un único profesor. Un profesor, cada libro lo utiliza en una única materia. Cada par de tuplas incumple las condiciones de la relación Profesor Materia Libro Prof P1 P2 P3 IdM MA MB MC CodL L1 L2 L3 R Prof IdM CodL P1 MA L1 P1 MC L3 P3 MA L3 P1 MA L3
JERARQUÍA Existen situaciones en las cuales distintas entidades pueden compartir características comunes (atributos). Se puede crear un nuevo tipo de entidad llamado supertipo que contenga dichas características, realizando así una generalización o especialización de las entidades originales. Los atributos específicos se asocian a entidades denominadas subtipos.
JERARQUÍA El proceso anterior en el MERExt lleva a dos conceptos referidos a las jerarquías: La generalización especifica que varias entidades con ciertos atributos comunes (entidades subtipos) pueden generalizarse en un tipo de entidad de nivel superior (entidad supertipo). La especialización esto indica que los subtipos son una especialización del supertipo. La generalización se describe también en términos de herencia, y especifica que todos los atributos y relaciones de un supertipo se propagan en la jerarquía a las entidades de menor nivel.
JERARQUÍA Las relaciones de supertipo-subtipo se pueden caracterizar según 2 aspectos: La posibilidad de que las instancias de los subtipos sean conjuntos disjuntos, o no (overlaping) (jerarquías exclusivas o compartidas, respectivamente); La obligación de que cada instancia del supertipo deba estar presente en alguno de los subtipos, o no (jerarquías totales o parciales, respectivamente). Estas dos características son ortogonales, y por lo tanto conforman un espectro de 4 posibles definiciones de jerarquías cada una con un conjunto propio de restricciones de integridad semántica. Exclusiva Total, Exclusiva Parcial, Compartida Total, Compartida Parcial.
JERARQUÍA (RELACIONES ES-UN O ISA) Supertipo Jerarquía Exclusiva Disjoint - D Subtipo Supertipo/ Subtipo Subtipo Jerarquía Compartida Overlap - O Subtipo
JERARQUÍA Jerarquía Exclusiva de participación Parcial Jerarquía Compartida de participación Total
AGREGACIONES Es una extensión propuesta para modelar, interrelaciones entre entidades y relaciones, o entre relaciones. Cuál es su significado semántico? Cuándo tiene sentido plantear una agregación?
AGREGACIONES Cómo indicar la relación Trabaja, entre entidades y relaciones?
Identificador Alternativo Identificador Principal ATRIBUTOS IDENTIFICADORES CASOS REPRESENTACION Rol Composición Presencia Cardinalidad Simple Univaluado Obligatorio Compuesto Obligatorio Simple Opcional Obligatorio Compuesto Opcional
Descriptor ATRIBUTOS DESCRIPTORES CASOS REPRESENTACION Rol Composición Presencia Cardinalidad Univaluado Obligatorio Multivaluado Simple Univaluado Opcional Multivaluado Univaluado Obligatorio Multivaluado Compuesto Univaluado Opcional Multivaluado
CONSTRUCCIÓN DEL DEREXT No existen reglas que indiquen cómo construir un modelo de datos, sólo principios generales a aplicar junto al criterio del diseñador experimentado Interpretar las frases expresadas en lenguaje natural (en el relevamiento), identificando cuáles son las entidades (datos) y cuales las relaciones (entre los datos) en la organización. Chen propuso las siguientes heurísticas: En general un sustantivo es una entidad, aunque también podría ser un atributo (Ej: los ALUMNOS cursan MATERIAS ) Un verbo o frase verbal puede indicar una relación entre entidades (Ej: los alumnos CURSAN materias ). Asociaciones entre los datos. Que información acerca de las entidades y relaciones deberían registrarse? determinar los atributos (de entidades y relaciones). Respecto de relaciones más complejas (ternarias, agregaciones, etc.) la experiencia del diseñador, las herramientas computacionales que maneje y el conocimiento de las transformaciones en esquemas equivalentes constituyen un recurso fundamental.
DECISIONES DE DISEÑO Cuándo un concepto debería modelarse como entidad? O como atributo? Cuándo un concepto debería modelarse como una entidad? O como una relación? DEPENDE DE LOS REQUERIMIENTOS DEL CLIENTE!! Cómo definir correctamente el grado de una relación? Es binaria? Es ternaria o de orden >3? Son varias o es una? ANÁLISIS DE TIEMPOS Y ACTORES Es equivalente una relación ternaria a dos o más binarias entre las entidades involucradas? Es equivalente una relación ternaria a una agregación? NO SIEMPRE!! EXPERIENCIA Y PRÁCTICA SON INDISPENSABLES PARA RESOLVER ESTOS INTERROGANTES
RESUMEN: DISEÑO CONCEPTUAL DE DATOS El diseño conceptual se guía por el análisis de los requisitos Permite obtener una descripción de alto nivel de los datos que finalmente serán almacenados MER/MERExt es uno de los modelos más populares para el diseño conceptual. Construcciones expresivas, cercanas a la forma en que los usuarios piensan acerca de sus aplicaciones. Numerosas herramientas CASE (que generalmente siguen el modelo binario no hay relacions ternarias, que deben ser representadas por 2 o más binarias no siempre equivalentes!!). En actual evolución, mismo estilo que MER/MERExt: UML Algoritmos de derivación casi automática desde el esquema conceptual al esquema lógico temprano. continuará
LECTURA OBLIGATORIA Diseño de Bases de Datos Relacionales De Miguel, A.; Piattini, M.; Marcos, E. AlfaOmega RaMa editores, 2000. (Capítulos 1 y 2) Database Modeling and Design. Teorey, T.; Lighstone, S.; Nadeau, T.; Jagadish, H. Morgan Kaufmann. 5ta. Edición. 2011 (Capítulo 2)