280 likes | 600 Views
MODELO DE OBJETOS SEMÁNTICOS . Francisco Moreno. Introducción. Propuesto por Michael Hammer y Dennis McLeod * . Es un modelo conceptual alternativo al modelo E-R y al diagrama de clases de UML.
E N D
MODELO DE OBJETOS SEMÁNTICOS Francisco Moreno Curso Bases de Datos
Introducción • Propuesto por Michael Hammer y Dennis McLeod*. • Es un modelo conceptualalternativo al modelo E-R y al diagrama de clases de UML. *Databasedescriptionwith SDM: A semanticdatabasemodel, ACM TransactionsonDatabaseSystems, Sept. 1981. Curso Bases de Datos
Introducción • Sus principales elementos son los Objetos Semánticos (OS), es decir, objetos con “significado” , “cosas” identificables y de interés para la organización. • Los OS son análogos a las clases del modelo objetual y a las entidades del modelo E-R. Curso Bases de Datos
Objetos semánticos • OS: Conjunto de atributos que describen suficientemente una identidad bien definida. • Los OS pueden ser físicos (una persona) o abstractos (una carrera universitaria). • Los OS son los sustantivos sobre los cuales se produce información. Curso Bases de Datos
Objetos semánticos • Atributos: Definen las características de un OS. Tipos de atributos: • Simples: tienen un solo valor*. Ej: teléfono. • Grupales: están compuestos por otros atributos. Ej: dirección (compuesta por bloque y oficina). • De objetos semánticos: relacionan un OS con otro OS (enlaces entre OS). * Un valor atómico desde el punto de vista del modelo. Curso Bases de Datos
Ejemplos de atributos Objeto semántico DEPARTAMENTO Nombre Dirección Bloque Oficina Teléfono Fax Atributos simples Atributo grupal Atributos de objetos Semánticos (No confundir con los subtipos del modelo E-R) PROFESOR ESTUDIANTE Curso Bases de Datos
Cardinalidad de los atributos • Indica el número mínimo y máximo de instancias que deben existir en cada atributo para que el OS sea válido. • Se representa mediante dos números subíndices separados por un punto: NombreAtributomin.max • min 0 y max 1. • min max. • El subíndice N (en max) significa muchos Curso Bases de Datos
Cardinalidad de los atributos En este ejemplo, cada departamento debe tener mínimo un número telefónico (y puede tener muchos más), puede tener o no un número de fax (y solo uno), debe tener mínimo un estudiante (y puede tener muchos más). DEPARTAMENTO Nombre1.1 Dirección Bloque1.1 Oficina1.1 Teléfono1.N Fax0.1 0.1 PROFESOR 1.N ESTUDIANTE 1.N Curso Bases de Datos
Instancia de un OS Departamento Sistemas M8A 201 4255350, 4255351 4259999 Nombre Bloque Dirección Oficina Teléfonos Fax 13, George Michael, … Profesores (solo se muestra su código y nombre) 34, Björk, … 65, Fernando Arango, … 898, Carmen Electra, … Estudiantes (solo se muestra su carné y nombre) 876, Kim Kardashian, … Curso Bases de Datos
Identificador único • Identificador único de un OS: Uno o más atributos que se emplean para diferenciar las instancias de un OS. • Se representa con la palabra ID subrayada. • Su cardinalidad es usualmente1.1 • Si está conformado por más de un atributo, se denomina identificador único grupal. Curso Bases de Datos
Identificador no único y multivaluado • El modelo de OS considera identificadores no únicos: son atributos, que aunque no son únicos, los usuarios los suelen emplear para identificar a las instancias de un OS, por ejemplo, Nombre de persona. Se simbolizan con ID pero sinsubrayado. • Un ejemplo, poco común, de un identificador único multivaluado (cardinalidad 1.1). Suponiendo que cada empleado puede tener varios códigos y que no hay códigos repetidos en la empresa EMPLEADO ID Código1.N Curso Bases de Datos
OS pareados • Sobre los atributos de tipo de objeto semántico: Si un OS w “contiene” a un OS z entonces el OS zdebe contener al OS w. Esto se denomina OS pareados. Curso Bases de Datos
Ejemplo: OS pareados DORMITORIO ID Nombre Teléfono ESTUDIANTE ID Carné Nombre 1.1 1.1 0.1 1.1 ESTUDIANTE DORMITORIO 0.N 0.1 Curso Bases de Datos
Comparar estos dos modelos: DORMITORIO ID Nombre Teléfono Pago DORMITORIO ID Nombre Teléfono 1.1 1.1 0.1 0.1 ESTUDIANTE ESTUDIANTE 0.N 1.1 Cuota Cuota 0.N 1.1 0.N 2 1 Curso Bases de Datos
Comparar estos dos modelos: CUENTA ID Código Fecha 1.1 1.1 Identificador único grupal CUENTA ID Código Fecha Detalle Servicio Precio DETALLE 1.N 1.1 DETALLE IDIDdelDetalle Servicio Precio 1.1 CUENTA 1.1 1.1 1.1 1.1 1.1 1.N 1.1 2 1 Curso Bases de Datos
Ejemplo: Muchos a muchos AUTOR ID CodAutor Nombre Pseudónimo LIBRO ID ISBN Título 1.1 1.1 1.1 1.1 0.N AUTOR 1.N LIBRO 1.N Curso Bases de Datos
Análogo a la entidad intersección del modelo E-R. Un OS de asociación: Vuelo VUELO ID Número Fecha PILOTO ID NroLicencia Nombre AVIÓN ID Nro Modelo 1.1 1.1 1.1 1.1 AVIÓN 1.1 1.1 1.1 VUELO VUELO 1.N 1.N PILOTO 1.1 Un mismo piloto y avión podrían aparecer varias veces en la misma fecha…Si se desea evitar esto, ver el siguiente modelo. Curso Bases de Datos
Un OS de asociación: Vuelo VUELO Número ID IdVuelo Fecha Quedaría como un identificador alternativo (no hay notación especial para indicarlos, se deben documentar) 1.1 1.1 AVIÓN Acá la combinación: (fecha, piloto y avión) no se repite 1.1 PILOTO 1.1 1.1 Curso Bases de Datos
Sinónimos PROFESOR ID Nroregistro Nombre ESTUDIANTE ID Carné Nombre 1.1 1.1 1.1 1.1 ASESORADO ASESOR 1.N 1.1 Donde ASESORADO = ESTUDIANTE y ASESOR = PROFESOR. Los sinónimos dan contexto a la relación entre PROFESOR y ESTUDIANTE Curso Bases de Datos
Supertipos y Subtipos en el modelo OS: Parent Subtype EMPLEADO ID Código Nombre Salario ADMINISTRADOR TipodeAdministrador 1.1 1.1 1.1 EMPLEADO P 1.1 ADMINISTRADOR PROGRAMADOR Lenguaje 0.ST PROGRAMADOR 0.N 0.ST EMPLEADO P Heredados por los subtipos El cero indica que el subtipo es opcional (es lo usual) No exclusivo Curso Bases de Datos
Supertipos y Subtipos en el modelo OS: EMPLEADO ID Código Nombre Salario ADMINISTRADOR TipodeAdministrador 1.1 1.1 1.1 EMPLEADO P 1.1 ADMINISTRADOR PROGRAMADOR Lenguaje 0.ST PROGRAMADOR 0.N 0.ST EMPLEADO 0.1.1 P Indica si se requiere el grupo Mínimo # de subtipos simultáneos permitido Máximo # de subtipos simultáneos permitido Exclusivo Curso Bases de Datos
Supertipos y Subtipos en el modelo OS: • Evitar contradicciones en la notación: • el mínimo de subtipos permitido debe ser menor o igual que el máximo permitido • debe haber consistencia con los subíndices internos de los subtipos: EMPLEADO ID Código 1.1 En este ejemplo, un empleado nunca podría ser programador ADMINISTRADOR 1.ST PROGRAMADOR 0.ST 0.1.1 Curso Bases de Datos
Comparación modelo E-R vs. modelo de OS • Similitudes: • Ambos son herramientas para la comprensión y documentación de la estructura del “mundo” de los usuarios • Ambos tratan de modelar la estructura de las “cosas” del mundo del usuario y las relaciones entre ellas • Ambos tratan de identificar los elementos de interés para la organización y la forma de describirlos (entidades vs. OS, atributos, relaciones vs. atributos de tipo de objeto semántico) Curso Bases de Datos
Comparación modelo E-R vs. modelo de OS • Diferencias: • Los OS son “semánticamente completos”, es decir, si se pide mostrar un OSPEDIDO este contiene “todo” lo que incluye un pedido. En el modelo E-R el PEDIDO está “disperso”, fragmentado a través del modelo. • Los OS incluyen atributos multivaluados a diferencia del modelo E-R donde todos los atributos son simples. • El modelo de OS no posee arcos: se tratan de simular con supertipos y subtipos con construcciones artificiosas que pueden oscurecer el modelo… Curso Bases de Datos