Professional Documents
Culture Documents
Pgina 1
Pgina 2
Modelamiento de Datos
Descripcin. Esta asignatura est orientada a la incorporacin de los elementos fundamentales del modelamiento de datos, base para el rea de bases de datos, estructuras de datos, etc. Contiene las bases de los formalismos utilizados en el rea as como refuerza la importancia del uso de modelos de datos y de comportamiento de sistemas, como mecanismo de ayuda en la expresividad del planteamiento y del tratamiento de problemas de ndole informtica. Objetivo. Capacitar al alumno para modelar la realidad de un sistema, como por ejemplo, una empresa, utilizando herramientas de modelacin. Contenidos. I. Introduccin. 1. Conceptos Bsicos. 2. Conceptos sobre el modelado de datos. II. Herramientas de Modelacin. 1. Modelo Entidad InterRelacin (MER). 2. MER Extendido. 3. Formalismo Individual. 4. Modelo Relacional. 5. Redes Semnticas. 6. Modelo Jerrquico. 7. Modelo Orientado a Objetos.
Pgina 3
Bibliografa. von Bertalanffy, Ludwig, "Teora General de Sistemas", Fondo de Cultura Econmica Mxico, 1976. Chen, P., "The ER Model-Toward a unified view of data", ACM Transactions on Database Systems, Vol. 1 no 1, Mayo 1976. Tardieu et al., "Conception d'un systeme d'information", Les Editions d'Organisation, Pars, 1979. Bachman, Ronald; Levesque, Hctor, "Readings in Knowledge representation", Morgan Kaufmann Publishers, San Mateo, California, 1985. Korth, Henry; Silberschatz, Abraham, "Fundamentos de Bases de Datos", McGraw-Hill1991. (Captulos 2, 3, 6 y 13) Rich, Elaine; Knight, Kevin, "Inteligencia Artificial", 2a edicin, McGraw-Hill, 1991. (Captulo 9) Date, C.J. "Introduccin a los Sistemas de Bases de Datos", 5a edicin, Addison-Wesley, 1993. (Captulo 22) Batini, Ceri, Navathe, 1994 "Diseo Conceptual de Bases de Datos: Un enfoque de entidades-interrelaciones", Addison-Wesley, 1994.
Pgina 4
Contenidos
UNIVERSIDAD CATOLICA DEL MAULE.....................................................................................................1 MODELAMIENTO DE DATOS .........................................................................................................................2 I. INTRODUCCIN...............................................................................................................................................7 1. CONCEPTOS BSICOS ..............................................................................................................................................7 1.1 El significado de dato..........................................................................................................................7 1.2 Modelamiento de Datos.......................................................................................................................8 1.3 Modelo de Datos................................................................................................................................10 1.4 Operaciones.......................................................................................................................................12 1.5 Conjuntos, Dominios y Atributos.......................................................................................................13 2. CONCEPTOS SOBRE EL MODELADO DE DATOS ...........................................................................................................17 2.1 Abstracciones.....................................................................................................................................17
2.1.1 Abstraccin de clasificacin............................................................................................................................17 2.1.2 Abstraccin de Agregacin.............................................................................................................................18 2.1.3 Abstraccin de generalizacin.........................................................................................................................18
III. HERRAMIENTAS DE MODELACIN...................................................................................................23 1. MODELO ENTIDAD INTER RELACIN (MER, ENTITY RELATIONSHIP MODEL )..........................................................23 1.1 Entidad...............................................................................................................................................24 1.2 Tipo de Entidad..................................................................................................................................24 1.3 Tipo de Intrerrelacin........................................................................................................................24 1.4 Interrrelacin.....................................................................................................................................24 1.5 Atributo...............................................................................................................................................25 1.6 Restricciones......................................................................................................................................29 1.7 Cmo Modelar en MER.....................................................................................................................30 1.8 Reglas para elegir claves...................................................................................................................31
Pgina 5
1.9 Documentacin..................................................................................................................................31 1.10 Ejercicios Propuestos......................................................................................................................34 2. MODELO ENTIDAD RELACIN EXTENDIDO .............................................................................................................35 2.1 Cardinalidad.....................................................................................................................................35 2.2 Agregacin........................................................................................................................................35 2.3 Generalizacin...................................................................................................................................36 2.4 Cualidades de un esquema de datos..................................................................................................40
2.4.1 Completitud......................................................................................................................................................40 2.4.2 Correccin........................................................................................................................................................40 2.4.3 Minimalidad.....................................................................................................................................................41 2.4.4 Expresividad.....................................................................................................................................................41 2.4.5 Legibilidad.......................................................................................................................................................41 2.4.6 Autoexplicacin...............................................................................................................................................41 2.4.7 Extensibilidad...................................................................................................................................................41 2.4.8 Normalidad......................................................................................................................................................42
3.2 Relacin..............................................................................................................................................44
3.2.1 Ocurrencia de Relacin....................................................................................................................................44
5. REDES SEMNTICAS .............................................................................................................................................61 5.1 Caractersticas de las Redes Semnticas..........................................................................................62 5.2 Descripcin Formal de Red Semntica.............................................................................................64
Pgina 6
5.2.1 Estructuras........................................................................................................................................................64
6. MODELO DE DATOS JERRQUICO ..........................................................................................................................69 7. MODELO ORIENTADO A OBJETOS ..........................................................................................................................72 7.1 Estructura de Objetos........................................................................................................................72 7.2 Jerarqua de Clases...........................................................................................................................73
7.2.1 Herencia............................................................................................................................................................74
Pgina 7
I. Introduccin.
1. Conceptos Bsicos.
1.1 El significado de dato.
La percepcin del mundo puede ser descrita como una sucesin de fenmenos. Desde el comienzo de los tiempos el hombre ha tratado de descubrirlos, ya sea que los entienda completamente o no. La descripcin de estos fenmenos es llamada DATO. Los datos corresponden al registro discreto (no continuo) de hechos acerca de un fenmeno, con lo cul ganamos informacin acerca del mundo que nos rodea (Informacin: incremento del conocimiento que puede ser inferido de los datos). Usualmente el dato y su significado son registrados juntos, ya que el lenguaje natural es lo suficientemente poderoso para hacerlo. Por ejemplo "el kilo de pan cuesta $460" registra el valor (460) y su significado o semntica (valor del kilo de pan en pesos). En ciertos casos los datos estn separados de su semntica. Por ejemplo, una planilla de notas es una tabla de datos. Su interpretacin est implcita y se supone que quien la lee conoce su significado. El uso del computador para procesar datos ha trado consigo una mayor separacin entre los datos y su interpretacin. Mucha de la interpretacin de los datos est explcita. Consideremos por ejemplo un programa que calcula integrales definidas, este programa recibe valores de entrada y genera valores como salida. Sin embargo, el programa en si no tiene conocimiento si el problema resuelto es de termodinmica o electromagnetismo. Han habido dos razones para separar los datos de su significado: los computadores no manejan (bien) el lenguaje natural, que es la mejor forma de dar interpretacin y significado a un dato.
Pgina 8
el almacenamiento del significado de los datos ocupa espacio, e inicialmente este era escaso y costoso.
As, tradicionalmente la interpretacin de los datos se deja al usuario y al sistema manual externo al computador. En muchos sistemas la interpretacin de datos se encuentra en los programas que hacen uso de ellos, de modo que los datos pasan a ser una simple coleccin de valores. Por otra parte, supongamos que algo de la semntica de los datos se codifica junto con ellos . As los datos no son solo valores, sino que tambin tienen una semntica, y los datos estn ms cerca de la interpretacin del mundo. Ellos forman una "vista" del mundo, la que no es exacta ni concreta, sino que usualmente es bastante abstracta. Los datos no son estticos, y corresponden a un mundo que est en constante cambio. La flexibilidad en la interpretacin de los datos permite capturar los aspectos dinmicos del mundo y al mismo tiempo, proveer una estructura estable para los datos. Esta flexibilidad se puede tener de dos formas:
El sistema puede permitir que los mismos datos sean vistos de diferente forma. Por ejemplo, diferentes aplicaciones puedan usar los mismos datos y dar su propia semntica. Diferentes datos pueden ser vistos de la misma forma. Por ejemplo, se quiere ver a los gerentes, secretarias y empleados slo como trabajadores de una organizacin, no importando su cargo. Aqu la interpretacin debe ser lo suficientemente abstracta para que diferentes vistas del mundo se vean de la misma forma.
Pgina 9
Es aparente que una interpretacin del mundo es necesaria, la que debe ser suficientemente abstracta para que no sea afectada por la dinmica del mundo (los pequeos cambios), y debe ser suficientemente robusta para poder representar como los datos y el mundo se relacionan. Una herramienta como esta es llamada modelo de datos, el cual permite representar en forma ms o menos razonable alguna realidad. El modelo de datos permite realizar abstracciones del mundo, permitiendo centrarse en los aspectos macros, sin preocuparse de las particularidades; as nuestra preocupacin se centra en generar un esquema de representacin, y no en los valores de los datos. Los modelos de datos nos permiten capturar parcialmente el mundo, ya que es improbable generar un modelo que lo capture totalmente. Sin embargo, se puede tener un conocimiento relativamente completo de la parte del mundo que nos interesa. As, un modelo captura la cantidad de conocimiento tal que cumpla con los requerimientos que nos hemos impuesto previamente. DATO: la siguiente tupla: <nombre del objeto, propiedad del objeto, valor, tiempo> Esta definicin es correcta, ya que cada vez que se describe un fenmeno, ste se refiere a un objeto (nombre del objeto) y ciertas caractersticas (propiedades del objeto) el cual tiene un valor en un momento determinado (tiempo). Ejemplo. El precio del pan es $460 . nombre: precio del pan propiedades : (unidad, $), entero no negativo. valor: 460 tiempo: hoy En general, el modelar un objeto no se considera el tiempo, sino que ste se considera implcito en la semntica de l. Ejemplo. Consideremos el caso de una matriz: nombre: matriz_coeficiente
Pgina 10
propiedades: +, -, *, a[i,j] R valor : [1 2] [3 4] ESQUEMA Para una aplicacin particular de un modelo de datos, el modelamiento de la realidad se llama esquema. Un esquema es una definicin genrica que identifica categoras (ejemplo: libro, autor, etc.), sus propiedades (nombre, ttulo) y sus relaciones (escrito). Por ejemplo, un modelo de datos simple es una archivo (tabla). Aplicando este modelo a una situacin particular se puede tener el siguiente esquema: Persona (Nombre, Edad, Direccin), donde Persona es el nombre genrico de una entidad, y Nombre, Edad y Direccin son nombres genricos para los atributos.
Pgina 11
Todo modelo de datos debe poder capturar las propiedades estticas y dinmicas de una realidad. Las propiedades estticas corresponden a lo que es relativamente invariante en el tiempo, son siempre verdadero y no cambia en el tiempo. Ejemplo. Que los precios se midan en $ es relativamente invariante. Las propiedades dinmicas corresponden a la naturaleza evolutiva del mundo. Por esto, para todo modelo debe ser posible capturar los dos tipos de propiedades. MODELO DE DATOS Se define el modelo de datos M consistente de dos partes: G: un conjunto de reglas que lo generan. O: un conjunto de operaciones. El conjunto de reglas G expresan las propiedades estticas de un modelo de datos y corresponden a lo que se denomina generalmente Data Definition Language (DDL). Este define las estructuras permitidas para el modelo de datos M. El conjunto G se puede dividir en dos: Gs: las estructuras permitidas. Gc: las restricciones del modelo. As, Gs genera las categoras y estructuras para un modelo, y Gc las restricciones. Utilizando esta ltima notacin, un esquema S consiste de dos partes: una estructura Ss y restricciones Sc, donde Sc es una lista explcita de restricciones que no deben ser violadas. Por ejemplo, en la definicin de la entidad persona, un atributo particular CI (Cdula de Identidad) puede ser declarado como clave, esto es, en un instante dado no puede haber dos personas con el mismo valor para CI. Ss no prohibe dos ocurrencias, pero Sc s.
Pgina 12
Un modelo de datos tambin puede tener restricciones que son inherentes a l, las que generalmente se incorporan en Ss (la estructura). Ejemplo, slo se permite relaciones entre objetos mediante una estructura de rbol. Las reglas de generacin G son generadoras de un conjunto de esquemas S, en el que cada uno de ellos define estructuras y restricciones particulares para los datos. Hoy muchas bases de datos D en trminos de la ocurrencia del esquema S, pero todos tienen la misma estructura genrica y obedecen a las mismas restricciones definidas en S. En resumen: Gs: Su Estructura Gc: Sus Restricciones O: Operaciones Asociadas Ss: Estructuras y categoras generadas por Gs S: Esquema Generado por G Sc: Restricciones Generadas por Gc D: Base de Datos Ocurrencia del esquema S. Las restricciones Sc deben ser siempre vlidas, para toda ocurrencia D del esquema S.
1.4 Operaciones.
Las propiedades dinmicas de un modelo de datos son expresadas por un conjunto de operaciones O, las que generalmente son llamadas Data Manipulation Language (DML). Estas propiedades definen las acciones permitidas para una base de datos, tal que transforme la ocurrencia Di en la ocurrencia Dj.
Pgina 13
No todas las operaciones definidas en O causan cambios en la base de datos, pero si causan un cambio en el estado de ella. El estado de una base de datos no es un objeto de ella, pero est asociado a la base de datos, y cambia como resultado de una operacin. Ejemplo. Consideremos el modelo de datos tipo Tabla; este modelo tiene como una de sus operaciones la operacin "read", que permite recorrer la tabla en forma secuencial. Esta operacin no cambia el contenido de la Base, pero si su estado (cambia el registro actual, que ahora es el siguiente).
Pgina 14
Enteros
Dominio
1..60
d1,d2,...,d8
Dominio
Minutos
Edad
Matrcula
Rut
Atributo
Ejercicio. Modelar las personas haciendo fila en la caja de un banco. Desarrollo. Gs: ltimo
primero
---->
---->... ---->
Gc: Los nuevos elemento se incorporan por ltimo. Los elementos salen por primero. O:
: Inserta un elemento por ltimo. : Elimina un elemento por primero. : Muestra el elemento en primero. : Vaca la fila.
Pgina 15
Sc: Nombre: tipo: caracter de largo 20. Se permiten slo letras, '.' y espacio. Edad: tipo: entero rango: 10..100 unidad: aos Transaccin: tipo: entero (cada nmero representa a una transaccin) dominio (40,41,...,70,81,85) Mxima cantidad de elementos en la fila: 50. Ejercicio. Modelar los empleados de una empresa, usando el modelo de datos relacional. Desarrollo.
Gs: La nica estructura utilizada es la relacin. Dados los conjuntos D1, D2, ..., Dn (no necesariamente distintos), R es una relacin de stos n conjuntos si es un conjunto de tuplas en que el primer elemento toma valores de D1, el segundo de D2 y as sucesivamente. Los conjuntos Di se llaman Dominios. Gc: a. no se permiten tuplas repetidas. b. identificacin nica. Si en una tupla se define una clave, sta identifica a la tupla. c. no se debe poder eliminar un atributo de la clave de modo que b. se siga cumpliendo (la clave debe ser mnima). O: Select Insert Update Delete : buscar en una tabla : agregar una tupla : modificar una tupla : eliminar una tupla
Pgina 16
rango: 1..1000 Nombre: tipo: string caracteres permitidos: letras, '.' y espacio Direccin: tipo: string Sueldo: tipo: entero rango: 10e5-10e6 unidad: $
Pgina 17
La abstraccin es un proceso mental que se aplica al seleccionar algunas caractersticas y propiedades de un conjunto de objetos y excluir otras no pertinentes. En otras palabras, se hace una abstraccin al fijar la atencin en las propiedades consideradas esenciales de un conjunto de cosas y desechar sus diferencias. En el modelamiento de datos, se usan tres tipos de abstracciones: clasificacin, agregacin y generalizacin.
1Los
conceptos de este captulo fueron tomados de Batini, Ceri, Navathe, " Diseo Conceptual de
Pgina 18
rut
nombre
direccin
telfono
La clasificacin y la agregacin son las dos abstracciones bsicas utilizadas para construir estructuras de datos dentro de la base de datos y dentro de los lenguajes convencionales de programacin. La clasificacin es el procedimiento utilizado cuando, partiendo de elementos individuales de informacin, se identifican tipos de campos o atributos. La agregacin es el procedimiento mediante el cual se renen tipos de campos relacionados en grupos como por ejemplo tipos de registros.
Pgina 19
Automviles Personas Representacin para la agregacin "POSEE". Al observar la figura, se puede decir que la persona p1 posee los autos a1 y a2, la persona p2 posee los autos a2,a4 y a5, mientras que la persona p3 no posee autos. De esto ltimo se puede observar que no es obligatorio que todas las personas posean autos, pero al parecer todos los autos deben tener un dueo. Esta ltima caracterstica es propia de cada agregacin, y se refieren a la cardinalidad de correspondencia entre las clases. 2.2.1.1 Cardinalidad mnima. Consideremos una agregacin A entre las clases C y D. La cardinalidad mnima de C en A, denotada por card-min(C,A), es el menor nmero de correspondencias en las que cada elemento de C puede tomar parte. Anlogamente se define cardmin(D,A). Si card-min(A,B)=0, entonces se dice que la clase A tiene una participacin opcional en la agregacin B. Si card-min(A,B)>0, entonces se dice que la clase A tiene una participacin obligatoria en la agregacin B.
Pgina 20
2.2.1.1 Cardinalidad mxima. Consideremos una agregacin A entre las clases C y D. La cardinalidad mxima de C en A, denotada por card-mx(C,A), es el mayor nmero de correspondencias en las que cada elemento de C puede tomar parte. Anlogamente se define cardmx(D,A). Si card-max(C,A)=1 y card-max(D,A)=1, se dice que la agregacin es de uno a uno. Si card-max(C,A)=n y card-max(D,A)=1, se dice que la agregacin es de uno a muchos. Si card-max(C,A)=1 y card-max(D,A)=n, se dice que la agregacin es de muchos a uno. Si card-max(C,A)=n y card-max(D,A)=m, se dice que la agregacin es de muchos a muchos. Ntese que n y m representan valores mayores que 1.
a) c1 c2 c3 c4 d1 d2 d3
b) c1 c2 c3 c4 d1 d2 d3
c) c1 c2 c3 c4 d1 d2 d3
d) c1 c2 c3 c4 d1 d2 d3
a) Agregacin Uno a Uno. Card(C,A)=(x,1) y Card(D,A)=(x,1), con x en {0,1}. b) Agregacin Uno a Muchos. Card(C,A)=(x,n) y Card(D,A)=(y,1), con x en {0,1,...,n} e y en {0,1}. c) Agregacin Muchos a Uno. Card(C,A)=(x,1) y Card(D,A)=(y,n), con x en {0,1} e y en {0,1,...,n}.
Pgina 21
d) Agregacin Muchos a Muchos. Card(C,A)=(x,n) y Card(D,A)=(y,m), con x e y en {0,1,...,n), n y m valores indefinidos mayores que uno.
2.2.3 Generalizaciones.
Una abstraccin de generalizacin establece una correspondencia entre la clase genrica (raz) y las clases subconjunto. Considrese la clase Persona como una generalizacin de las clases Mujer y Hombre; casa elemento de stas corresponde exactamente a un elemento de la clase Persona. En esta generalizacin, cada elemento de la clase Persona corresponde a un elemento de la clase Mujer o la clase Hombre, pero nunca a ambas. Esto es una caracterstica de cada generalizacin y se denomina cobertura. 2.2.3.1 Cobertura total o parcial. La cobertura de una generalizacin es total (t) si cada elemento de la clase genrica corresponde al menos a un elemento de las clases subconjunto; es parcial (p) si existe algn elemento de la clase genrica que no corresponde a ningn elemento de las clases subconjunto.
Pgina 22
2.2.3.2 Cobertura exclusiva o superpuesta. La cobertura de una generalizacin es exclusiva (e) si cada elemento de la clase genrica corresponde, a lo ms a un elemento de las clases subconjunto; es superpuesta (s) si existe algn elemento de la clase genrica que corresponde a elementos de dos o ms clases subconjunto diferentes. Persona Hombre Mujer
a) total, exclusiva. Todas las personas son Hombres o Mujeres, pero no ambos. Empleado Administrativo Docente
b) total, superpuesta. Todos los empleados son Administrativos o Docentes, pudiendo haber empleados desempeando ambas funciones. Estudiante Egresado Ttulado
c) parcial, exclusivo. Algunos estudiantes son egresados, mientras que otros estn titulados, pero no hay ningn estudiante en ambas situaciones. Estudiante Ingeniera Postgrado d) parcial, superpuesta. Algunos estudiantes son de Ingeniera y otros son de postgrado, y hay algunos estudiantes que son de ingeniera y tambin participan en postgrado.
Pgina 23
Pgina 24
1.1 Entidad.
Consideremos un nmero de conjuntos cada uno orientado a un tipo particular de objetos. Estos conjuntos estn relacionados con dominios y atributos. Si consideramos la relacin dada por el producto cartesiano de estos dominios, una interpretacin que se le da a cada una de estas tuplas es que cada una corresponde a una entidad particular. Ejemplo. (Juan (Pedro
50) 70)
1.4 Interrrelacin.
Es la ocurrencia de un tipo de interrelacin. Ejemplo. (Juan, LK-2346), considerando el tipo de interrelacin dueo-de.
Pgina 25
1.5 Atributo.
Los elementos "tipo de entidad" y "tipo de interrelacin" son descritos por una coleccin de atributos. estos atributos se pueden dividir en diferentes categoras. a. b. c. descriptivos. clave descriptiva clave asociativa.
Ejemplo Tipos de entidades (y atributos) Auto : Patente (clave) Ao Fabricacin Color Persona: Rut (clave) Nombre Direccin Tipos de Interrelaciones Dueo_de: Rut (clave) Patente (clave) Fecha (clave) Diagrama MER (1,1) (1,n) Auto @ Patente
Persona @ Rut
Dueo de
@ Rut @ Patente (1,n) : Una persona puede tener uno o ms autos (1,1): Un auto puede tener slo un dueo . Ejercicio. Modelar un sistema de biblioteca que permita saber : autor de un libro libros de un autor prstamos de un alumno.
Pgina 26
Desarrollo. Tipos de entidades Autor @ Cdigo Autor Nombre Fecha Nacimiento Nacionalidad Libro @ Cdigo Libro Ttulo Ao Publicacin Alumno @ Matrcula Nombre
(numrico) (string)
Ejemplar @ Cdigo Ejemplar Materia @ Cdigo Materia Materia Carrera @ Cdigo Carrera Editorial @ Cdigo Editorial Editorial
(numrico)
(numrico)
(numrico)
(numrico)
Tipos de Interrelaciones
Pgina 27
Autor_de : @ Cdigo Libro @ Cdigo Autor Estudia : @ Matrcula @ Cdigo Carrera Prestamo : @ Cdigo Ejemplar @ Matrcula Fecha_prstamo Fecha_devolucin Editado_por : @ Cdigo Editorial @ Cdigo Libro Ejemplar_de : @ Cdigo Ejemplar @ Cdigo Libro Es_de : @ Cdigo libro @ Cdigo Materia
(fecha) (fecha)
Pgina 28
Materia
Autor (1,n)
(0,3) Ejemplar
(1,n)
Autor_de
(1,n)
(1,n)
Editado_por
(1,1)
Editorial
Lectura de las cardinalidades: Un Alumno estudia una y slo una Carrera. Una Carrera es estudiada por uno o muchos Alumnos. Un Alumno puede tener en prstamo ninguno o a lo ms tres Ejemplares. Un Ejemplar puede no estar en prstamo o estar en Prstamo a lo ms una vez. Un Ejemplar corresponde a uno y slo un Libro. Un Libro tiene uno o muchos Ejemplares. Un Autor es autor de uno o muchos Libros. Un Libro fue escrito por uno o muchos Autores. Un Libro es acerca de una o muchas Materias. Una Materia es abordada por uno o muchos Libros.
Pgina 29
Una Libro es editado por una y slo una Editorial. Una Editorial ha editado uno o muchos Libros.
1.6 Restricciones.
Cuando se consideran las veces que una entidad puede relacionarse con otra, se hace referencia a una restriccin del esquema propuesto. En algunas implementaciones del modelo ER estas restricciones se representan utilizando el concepto de cardinalidad, en la que se indican el mximo y el mnimo para la participacin de una entidad con otra en la interrelacin. En otras implementaciones slo se utiliza el mximo. Ejemplo. 1. Un alumno toma un y slo un curso, y un curso puede ser tomado por un y slo un alumno. 1 1
Alumno
Toma
Curso
2. Un alumno toma un y slo un curso, y un curso puede ser tomado por uno o n alumnos. (1,n) (1,1)
Alumno
Toma
Curso
3. Un alumno toma uno o muchos cursos, y un curso es tomado por ningn o muchos alumnos. (0,n) (1,n)
Toma
Pgina 30
(Mara)
(Complemento) (Ecuaciones)
4. Una persona puede ser padre de cero, uno o muchos hijos, y un hijo tiene un y slo un padre. (0,1)
Persona
Padre_de
(0,n)
La regla bsica es distinguir tipos de entidades e interrelaciones de atributos. As, los atributos deben ser atmicos y caractersticos del tipo de entidad o interrelacin que describan. Tambin los atributos deben pertenecer al tipo de entidad o interrelacin que describen y no a otro tipo. Otra diferencia entre tipo de entidad y atributo es que, por ejemplo, se puede tener el tipo de entidad Empleado, que tiene como atributo el departamento al que pertenece. En forma alternativa se pueden tener los tipos de entidades Empleado y Departamento, y el tipo de interrelacin Trabaja_en, que relaciona un empleado con el departamento donde trabaja.
Pgina 31
Esta segunda alternativa es mejor desde el punto de vista del modelamiento conceptual y presenta una clara diferencia entre atributo y tipos de entidad.
1.9 Documentacin.
La documentacin de un esquema conceptual utilizando MER consta de los siguientes temes: 1. Diagrama MER. Corresponde al diagrama realizado segn el formalismo MER. Por ejemplo: (1,n) (1,1) Alumno Toma Curso
2. Documentacin Tipos de Entidades. Para cada tipo de entidad presente en el esquema se debe indicar su nombre, descripcin, descripcin narrativa. Tambin se incluye para diagramas de gran tamao los atributos relacionado con, que indica con que otros tipos de entidades se relaciona.
descripcin narrativa Alumno de la Universidad de Concepcin. Curso Dictado por la Facultad de Ingeniera
Pgina 32
3. Documentacin Tipos de Interrelaciones. Para cada tipo de interrelacin presente en el esquema se debe indicar su nombre, descripcin, descripcin narrativa y tipos de entidades que relaciona. nombre Toma descripcin @rut + @cdigo descripcin narrativa Curso que est tomando durante este semestre un alumno tipos de entidades que relaciona Alumno Curso
4. Docuemntacin de Atributos. Para cada atributo presente en un tipo de entidad o tipo de interrelacin se debe indicar su nombre, descripcin, descripcin narrativa y los tipos de entidades, tipos de relaciones o atributo que lo contiene. Existen muchos esquemas de notacin comunes utilizados para describir cada dato. Este es uno de los ms utilizados. = + () {} [] ** @ | est compuesto de y optativo (puede estar presente o ausente) iteracin seleccionar una de varias alternativas comentario identificador (campo clave) para un objeto del esquema separa opciones alternativas en la construccin
Por ejemplo, podemos definir nombre = ttulo de cortesa + nombre + (segundo nombre) + apellido paterno + apellido materno ttulo de cortesa = [Sr. | Srta. | Sra. | Dr. | Profesor ] nombre = {caracter legal} apellido paterno = {caracter legal}
Pgina 33
apellido materno = {caracter legal} Por ejemplo, la documentacin de los atributos mencionados en el esquema sera:
nombre rut
di
En algunos casos utilizar esta notacin resulta engorrosa, por lo que se puede utilizar la siguiente notacin alternativa: nombre rut descripcin rut de alumno dominio enteros positivos de 8 dgitos caracter largo 35 caracter largo 50 enteros positivos de 5 dgitos Caracter largo 35 validacin Dgito verificador contenido en Alumno (TE@) Toma(TI@)
Alumno (TE)
nombre asignatura
no tiene
Curso(TE)
Pgina 34
Pgina 35
2.1 Cardinalidad
Este concepto ya se introdujo. Ciertas interrelaciones pueden ser estrictamente jerrquicas, en el sentido que una entidad de la relacin no existe si no est presente la otra. Para que esto ocurra, la cardinalidad debe ser (1,1) o (1,n). Ejemplo. (1,1) (0,n)
Departamento
Dicta
Curso
2.2 Agregacin.
La agregacin ayuda a construir entidades de niveles superiores.
En este ejemplo se puede referenciar la interrelacin Dicta entre los dos tipos de entidad como Curso, la que es una agregacin realizada por conveniencia.
Pgina 36
En este sentido la agregacin permite generar una entidad de nivel superior, la que puede ser utilizada en otra interrelacin.
2.3 Generalizacin.
Una forma de realizar generalizaciones es utilizar la relacin Es_Un, y adaptarla al modelo ER. Ejemplo. Consideremos la siguiente clasificacin. Vehculo
Motorizado
No Motorizado
Moto
Camin
Automovil
Carreta
Triciclo
Bicicleta
Pgina 37
Vehculo
Es_Un Clase
Motorizado
No Motorizado
Es_Un Tipo
Es_Un Categora
Moto
Camin
Automovil
Carreta
Triciclo
Bicicleta
En cada entidad se tienen los atributos genricos de la categora: Vehculo: Motorizado: No Motorizado: Moto: Automvil: Camin: Carreta: Triciclo: Bicicleta: (Patente, color, clase) (Patente, Nmero Chasis, Nmero Motor, tipo) (Patente, Nmero de Ruedas, Categora) (Patente, Cilindrada) (Patente, Nmero de Puertas) (Patente, Tara, Carga, Nmero de ejes) (Patente, Traccin [caballos/bueyes]) (Patente, carga) (Patente, Nmero de cambios)
Se supone que una entidad vehculo pertenece slo a una subclase. Ejemplo.
Pgina 38
Empleado
Es_Un Trabajo
Es_Un Sexo
Junior
Secretaria
Ingeniero ( Especialidad)
Hombre
Mujer (Edad)
Ejemplos de tuplas en los registros: (104, Henrquez Salazar Claudia Ester, 620000, Ingeniero, Mujer), en Empleado (104, Civil Elctrica) , en Ingeniero (104, 32) , en Mujer (195, Solar Lpez Juan Esteban, 150000, Junior, Hombre) ,en Empleado (195) , en Junior (195) , en Hombre # representa un identificador nico en la jerarqua, que permite establecer la relacin entre las diferentes entidades. Aqu las interrelaciones no poseen atributos.
Pgina 39
Trabaja en
(1,n)
Funcionario
Es_Un
imparte
(0,n)
Docente Administrativo
(0,n) Toma
(1,n) Alumno
Desarrollo. Un Departamento tiene uno o muchos empleados, pero un empleado trabaja para un y slo un departamento. Un empleado puede ser un docente o un administrativo. Un departamento imparte asignaturas, y cada asignatura debe ser impartida por un departamento. Los docentes pueden dictar una o ms asignaturas, as como cada asignatura puede ser dictada por a lo menos un docente. Los alumnos pueden tomar cursos, y cada curso debe tener a lo menos un alumno. Una asignatura puede disponer de una o ms salas, y cada una de estas puede estar ocupada por ningn curso o por muchas de ellos.
Pgina 40
2.4.2 Correccin.
Un esquema es correcto cuando usa con propiedad los conceptos del modelo (MER en este caso). Un esquema es sintcticamente correcto cuando los conceptos se definen con propiedad en el esquema; por ejemplo, los subconjuntos y las generalizaciones se definen entre entidades pero no entre interrelaciones. Un esquema es semnticamente correcto cuando los conceptos (entidades, interrelaciones, etc.) se usan de acuerdo con sus definiciones. Por ejemplo, es un error semntico usar un atributo para representar los productos de un empresa manufacturera cuando se necesita representar varias propiedades de los productos (por ejemplo, cdigo del producto, precio, partes, etc.), porque un atributo es una propiedad elemental. Errores semnticos ms frecuentes: 1. Usar un atributo en lugar de una entidad. 2. Olvidar una generalizacin (o un subconjunto). 3. Olvidar una propiedad de herencia de las generalizaciones. 4. Usar una interrelacin con un nmero errneo de entidades (por ejemplo, una interrelacin binaria en vez de una ternaria). 5. Usar una entidad en lugar de una interrelacin. 6. Olvidar algn identificador de una entidad. 7. Omitir alguna especificacin de cardinalidad mnima o mxima.
Pgina 41
2.4.3 Minimalidad.
Un esquema es mnimo cuando cada aspecto de los requerimientos aparece slo una vez en el esquema. Tambin se puede decir que un esquema es mnimo si no se puede borrar del esquema un concepto sin perder alguna informacin. Cabe sealar que algunas veces es aconsejable permitir alguna redundancia en el esquema; sin embargo, esta redundancia debe documentarse. Esto se logra, por lo regular, aadiendo al esquema conceptual una tabla que indica cmo se calculan los datos derivados a partir de otros datos.
2.4.4 Expresividad.
Un esquema es expresivo cuando representa los requerimientos de una forma natural y se puede entender con facilidad a travs del significado de las construcciones del esquema, sin necesidad de explicaciones adicionales.
2.4.5 Legibilidad.
Esta es una propiedad del diagrama que representa grficamente al esquema. Un diagrama tiene buena legibilidad cuando respeta ciertos criterios estticos, tales como evitar los cruces de lineas, trazar los cuadros (tipos de entidades) y los rombos (tipos de interrelaciones) de un tamao similar, que las conexiones sean trazos verticales u horizontales, dejar los niveles jerrquicos superiores sobre los inferiores y minimizar el nmero de 'esquinas' en el diagrama.
2.4.6 Autoexplicacin.
Un esquema se explica a s mismo cuando puede representar un gran nmero de propiedades usando el modelo conceptual por si mismo, sin otros formalismos (por ejemplo, anotaciones en lenguaje natural).
2.4.7 Extensibilidad.
Pgina 42
Un esquema se adapta fcilmente a requerimientos cambiantes cuando puede descomponerse en partes (mdulos o vistas), a fin de aplicar los cambios dentro de cada parte.
2.4.8 Normalidad.
El concepto de normalidad viene de la teora de la normalizacin, asociada al modelo relacional. Las formas normales (primera, segunda, tercera, Boyce/Codd, cuarta y quinta), pretenden mantener la estructura lgica de los datos en una forma normal purificada, mitigando los problemas de las anomalas de insercin, borrado y actualizacin que ocasionan trabajo innecesario porque deben aplicarse los mismos cambios a varios casos de datos, as como el problema de prdida accidental de datos o la dificultad de representacin de determinados hechos.
Pgina 43
3. Formalismo Individual
El Formalismo Individual es una herramienta de modelacin, o modelo de datos, que permite generar esquemas para cierta realidad. El formalismo individual es un mtodo eminentemente semntico. Este modelo es utilizado como lenguaje de alto nivel para otros modelos. Los componentes bsicos del F.I. son: Individuo Relacin Propiedad
3.1 Individuo
Es una familia de objetos que se caracterizan por tener las mismas caractersticas. Se les debe definir sin hacer referencia a otros individuos y cada ocurrencia de un individuo debe ser distinguible de otro. Las caractersticas principales de un individuo son: la eleccin de cada individuo es una eleccin de quien realiza el esquema. un individuo debe tener existencia propia, y se le debe poder describir por s solo, es decir, sin hacer referencia a otros componentes cada ocurrencia de un individuo debe ser distinguible de otras entre todas las propiedades de un individuo, al menos una o un grupo de ellas nos debe permitir identificar en forma nica una ocurrencia de l; a esta propiedad o grupo de propiedades se le llama Identificador. Un individuo queda completamente definido cuando se conoce su nombre, identificador, y lista de propiedades (tambin llamada entidad o rubrica).
Pgina 44
3.2 Relacin
Es una asociacin que se establece entre individuos. En general una relacin es consecuencia de asociaciones que existen en la realidad. Una relacin se define por cuatro proposiciones: su eleccin depende del inters de la persona que est modelando. no tiene existencia propia, materializa una asociacin entre dos o ms individuos. cada ocurrencia de una relacin debe ser distinguible de otras las propiedades de una relacin son comunes a todas sus ocurrencias. Esta lista de propiedades puede estar vaca, en este caso, la relacin no tiene ninguna propiedad propia y no hace ms que representar un enlace semntico (generalmente de pertenencia). Para definir completamente una relacin se utilizan los siguientes conceptos:
Coleccin: es la lista de individuos que componen una relacin. Una relacin puede tener una coleccin de dos o ms individuos. Identificador: es la concatenacin de los identificadores de los individuos que componen la relacin. Rbrica: est constituida por la lista de identificadores y propiedades propias.
3.3 Propiedad
Es una caracterstica o atributo que permite describir a los individuos y relaciones. Ejemplo. nombre. La ocurrencia de una propiedad es un valor. Los valores que toman las propiedades pertenecen a un dominio dado.
Pgina 45
3.4 Restricciones.
3.4.1 Cardinalidad.
Se refiere a la cantidad de veces, mximo y mnimo, que una ocurrencia de un individuo puede participar en una relacin.
Autor
Libro
Esta es una relacin del tipo muchos es a muchos, donde una ocurrencia de Autor puede participar una o muchas veces en la relacin Escrito, y una ocurrencia de Libro tambin puede aparecer una o muchas veces en la relacin Escrito. Esto significa que un Autor debe haber escrito al menos un libro para que se le considere como tal, que un Autor puede escribir ms de un libro, que un Libro puede ser escrito por ms de un Autor y que todo Libro debe tener a lo menos un Autor. (1,1) Trabaja (1,n)
Pgina 46
Esta relacin no es muchos a muchos, donde una ocurrencia de Empleado debe participar una y slo una vez en la relacin Trabaja, mientras que una ocurrencia de Depto puede participar una o muchas veces en esta relacin. Esto significa que un Empleado debe trabajar slo en un Departamento, y no puede no trabajar en ninguno, un Departamento debe tener al menos un empleado, pero puede tener ms de uno. En este caso, se puede hacer uso de una relacin implcita (por la cardinalidad uno es a uno de Empleado), quedando el esquema siguiente: Trabaja
Ejercicio. Describir la realidad modelada por el siguiente esquema (0,n) Est en (1,1)
(0,n) Origen
Desarrollo.
Pgina 47
Un Pas puede tener muchos o ningn Puerto, as como muchos o ningn Barco con su Bandera. Un Barco debe tener la bandera de un slo pas. Un Barco puede ir vaco (sin Carga) o con muchas Cargas. Las Cargas tienen a lo ms un Puerto de origen y un Puerto de Destino. Los Puertos pueden ser Origen y Destino para muchas o ninguna Carga.
Pgina 48
4. Modelo Relacional.
Este modelo fue propuesto pro Codd en 1970 y se divide en tres partes, las cuales separan la estructura, la integridad y la manipulacin de los datos.
No existen tuplas repetidas. Las tuplas no estn ordenadas (de arriba hacia abajo). Los atributos no estn ordenados (de izquierda a derecha). Todos los valores de los atributos son atmicos.
Pgina 49
Unicidad. En cualquier momento dado, no existen dos tuplas en R con el mismo valor de K. Minimalidad. Si K es compuesto, no ser posible eliminar ningn componente de K sin destruir la propiedad de unicidad.
De entre las claves candidatas se elige la clave primaria. Ningn componente de la clave primaria de una relacin puede en algn momento no tener valor (aceptar nulos). Esto significa que no tiene sentido modelar una entidad que no podemos identificar ni distinguir unas de otras.
Pgina 50
La regla de integridad referencial nos indica que ningn atributo A que constituye una clave fornea en una relacin R1 y referencia a la clave primaria de una relacin R2 (no necesariamente distinta) puede tomar un valor que no est presente en la relacin referenciada R2. Esto significa, que la base de datos no debe contener valores de clave ajena sin concordancia.
Pgina 51
7. Reunin. A partir de dos relaciones especificadas, construye una relacin que contiene todas las posibles combinaciones de tuplas, una de cada una de las dos relaciones, tales que las dos tuplas participantes en una combinacin dada satisfagan alguna condicin especificada. 8. Divisin. Toma dos relaciones, una binaria y otra unaria, y construye una relacin formada por todos los valores de un atributo de la relacin binaria que concuerdan (en el otro atributo) con todos los valores en la relacin unaria. Restriccin Proyeccin
Producto a b c z y = a a b b c c z y z y z y
Divisin a a a b c c x y div z x z y z y = a c
Reunin a1 b1 a2 b2 JOIN a3 b2
b1 c1 b2 c2 b3 c3
a1 b1 c1 a2 b2 c2 a3 b2 c2
Pgina 52
4.4 Normalizacin.
El diseo de esquemas para generar bases de datos relacionales debe considerar el objetivo de almacenar informacin sin redundancia innecesaria, pero que a la vez nos permitan recuperar informacin fcilmente. Una tcnica consiste en disear esquemas que tengan una forma normal adecuada.
Las propiedades indeseables que trae un mal diseo son bsicamente repeticin de informacin incapacidad para representar cierta informacin prdida de informacin. Las formas normales, definidas en la teora relacional, nos permiten evitar que estas propiedades indeseables aparezcan en una base de datos basada en un esquema mal diseado. Un esquema debe estar a lo menos en tercera forma normal, para que sea aceptable. Hay que considerar que las reglas de normalizacin estn dirigidas a la prevencin de anomalas de actualizacin e inconsistencias en los datos. Ellas no reflejan ninguna consideracin de rendimiento. En cierta forma pueden ser visualizados como orientadas por el supuesto de que todos los atributos no clave sern actualizados frecuentemente.
Pgina 53
Ejemplo. Consideremos el caso de agentes que representan compaas que fabrican productos. Una relacin sin normalizar que indique los productos que venden los representantes es: AGENTE Caro Jeria Bravo
3
COMPAA PRODUCTO1 PRODUCTO2 ... Ford GM Ford Ford auto auto auto camin camin
Una relacin que representa la misma situacin y no transgrede la primera forma normal sera: AGENTE Caro Caro Caro Caro Jeria Bravo COMPAA Ford Ford GM GM Ford Ford PRODUCTO auto camin auto camin auto
SEGUNDA FORMA NORMAL Una relacin est en segunda forma normal (2FN) si y slo si est en 1FN y todos los atributos no clave dependen por completo de la clave primaria. La segunda forma normal es transgredida cuando un campo no clave es un dato sobre un subconjunto de una clave (compuesta). Ejemplo. Consideremos el siguiente esquema propuesto para un registro de inventario. ARTCULO
2Repeticin 3Se
BODEGA
CANTIDAD DIRECCIN-BODEGA
forma un grupo.
Pgina 54
Aqu, la clave est formada por (ARTCULO,BODEGA). Se puede observar fcilmente que DIRECCIN-BODEGA es un dato acerca de BODEGA y no de ARTICULO, por lo que no se estara cumpliendo con la segunda forma normal. Los problemas bsicos de diseo son:
La direccin de la bodega se repite para cada artculo que se almacena en esa bodega (redundancia). Si la direccin de bodega cambia, cada registro que se refiera a un artculo almacenado en esa bodega debe ser actualizado. Debido a la redundancia, los datos pueden llegar a ser inconsistentes, con diferentes registros indicando diferentes direcciones para la misma bodega (integridad). Si en algn momento no hubiera partes almacenadas en alguna bodega, no habra un registro para anotar la direccin de la bodega (anomala).
Para satisfacer la segunda forma normal, el esquema anterior debe ser reemplazado por el siguiente: ARTCULO BODEGA BODEGA DIRECCIN CANTIDAD
Pgina 55
TERCERA FORMA NORMAL Una relacin est en tercera forma normal (3FN) si y slo si est en 2FN y todos atributos no clave dependen de manera no transitiva de la clave primaria. La tercera forma normal es transgredida cuando una propiedad no identificada (no clave) es un dato acerca de otro campo no clave. Ejemplo. El esquema siguiente no est en 3FN. EMPLEADO PADRE DIRECCIN-PADRE
Estas son las tres formas normales bsicas, existen adems la forma normal de Boyce/Codd, la cuarta forma normal, quinta forma normal. Ejercicio. Un hospital mantiene un sistema de control de drogas en el cual las siguientes caractersticas aparecen como las relevantes:
Las drogas estn mantenidas en estantes especiales. Las drogas son provistas por distintos proveedores Existe un archivo que incorpora datos para permitir la ubicacin de los proveedores usuales o alternativos de las drogas. Siempre que una droga es usada para una intervencin y/o tratamiento, los registros del archivo indicado anteriormente es actualizado. Cuando la cantidad de la droga en stock cae bajo un cierto nivel, es puesta en una lista de re-orden. Se revisan los fabricantes de la droga y se ubican el proveedor usual o alternativo para ella y se emite una orden de compra para ella. Ocasionalmente pedidos urgentes son hechos por telfono.
Pgina 56
Las drogas recibidas traen adjunto un recibo el cual es chequeado con los detalles de la droga. El registro de la droga es actualizado y la droga es ubicada en el estante correspondiente.
Desarrollo. Supuestos de Diseo. Los principales supuestos que soportan la normalizacin del sistema son los que se indican a continuacin. 1. Existen Ubicaciones (por ejemplo casilleros) en donde se almacenan todas las versiones de una droga. 2. Slo se almacena a lo ms una droga (en todas sus versiones) en una ubicacin. 3. Una droga y sus versiones es almacenada en una y slo una ubicacin. 4. Una droga tiene una o ms versiones, las cuales se identifican por un cdigo (versin). 5. Una versin es nica, y pertenece slo a una droga. 6. No existen dos versiones con el mismo nombre y cdigo para la misma droga. 7. Un laboratorio puede producir una o varias versiones de drogas. 8. Un laboratorio cuenta con uno o ms proveedores. 9. Un proveedor representa a uno o ms laboratorios. 10. Un proveedor distribuye todas las drogas que produce un laboratorio al cual representa. 11. Una droga tiene slo un proveedor usual. 12. Todos los proveedores que proveen una droga y no estn catalogados como su proveedor usual constituyen sus proveedores alternativos. 13. Un proveedor puede ser proveedor usual de ninguna, una o muchas drogas. 14. Dos proveedores pueden tener la misma direccin o telfono. Relaciones, Atributos y Dominios. Se constituye el sistema de las siguientes relaciones:
Pgina 57
Objetivo: Contener todas las ubicaciones destinadas para el almacenamiento de las drogas. ubicacin: numrico de largo 4. Vara de 1 a 9999. nico. estado: caracter de largo 3. Toma valores 'ocu' o 'dis', para indicar ocupado y disponible respectivamente. Claves candidatas: ubicacin. Clave primaria: ubicacin. Claves forneas: no tiene.
Objetivo: contener la informacin de los proveedores de drogas del hospital. proveedor: numrico de largo 4. Vara de 1 a 9999. nico. nombreproveedor: caracter de largo 35. Nombre de los proveedores. nico. fono: numrico de largo 7. Vara de 1 a 9999999. direccin: caracter de largo 50. Direccin de los proveedores. Claves Candidatas: proveedor, nombreproveedor. Clave primaria: proveedor. Claves forneas: no tiene.
Objetivo: contener la informacin de los laboratorios que producen drogas que se utilizan en el hospital. laboratorio: numrico de largo 4. Vara de 1 a 9999. nico. nombrelaboratorio: caracter de largo 15. Nombre de los laboratorios. nico. Claves candidatas: laboratorio, nombrelaboratorio. Clave primaria: laboratorio.
Pgina 58
Objetivo: contener la informacin de las drogas que se utilizan y mantienen en el hospital. droga: numrico de largo 4. Vara de 1 a 9999. nico. nombredroga: caracter de largo 10. Nombre de las drogas. nico. stock: numrico de largo 4. Mayor que 0. Stock actual de la droga. stockmin: numrico de largo 4. Mayor que 0. Stock mnimo de la droga. ubicacin: numrico de largo 4. Ubicacin de la droga. nico. proveedor: numrico de largo 4. Proveedor usual de la droga. vara de 1 a 9999. Claves candidatas: droga, nombredroga, ubicacin. Clave primaria: droga Claves forneas: ubicacin, referencia a ubicacin en la relacin Ubicacin. proveedor, referencia a proveedor en la relacin Proveedor.
Objetivo: contener la informacin de las distintas versiones que existen para cada droga que se utiliza en el hospital. droga: numrico de largo 4. Vara de 1 a 9999. versin: numrico de largo 4. Vara de 1 a 9999. . nombreversin: caracter de largo 35. Nombre de las versiones. nico. laboratorio: numrico de largo 4. Vara de 1 a 9999. Claves candidatas: (droga, versin), nombreversion. Clave primaria: (droga, versin) Claves forneas: laboratorio, referencia a laboratorio en la relacin Laboratorio.
Pgina 59
Objetivo: contener la informacin acerca de cuales son los proveedores de un laboratorio. proveedor: numrico de largo 4. Vara de 1 a 9999. laboratorio: numrico de largo 4. Vara de 1 a 9999. Claves candidatas: (proveedor, laboratorio) Clave primaria: (proveedor, laboratrorio) Claves forneas: proveedor, referencia a proveedor en la relacin Proveedor laboratorio, referencia a laboratorio en la relacin Laboratorio.
Restricciones de Integridad. Adems de las restricciones de integridad de las entidades (claves primarias no nulas), las de integridad referencial para las claves forneas y las dadas por el dominio de los atributos, se tienen las que se declaran a continuacin. Si un proveedor es proveedor (usual) para una droga, este proveedor debe representar a un laboratorio que produzca una versin de esa droga. Si una droga tiene una ubicacin, entonces el estado de esa ubicacin debe ser "ocupado".
Pgina 60
Esquema.
Droga Key Data droga [PK1] Non-Key Data nombredroga stock stockmin ubicacion [FK] proveedor [FK]
Version Key Data droga [PK1] [FK] version [PK2] Non-Key Data nombreversion laboratorio [FK]
Proveedor Key Data proveedor [PK1] Non-Key Data nombreproveedor fono direccion
Observacin. El formalismo grfico utilizado explcita la implementacin de interrelaciones (del MER) entre relaciones(del modelo Relacional) a travs de claves forneas. Las cardinalidades se representan por la notacin pie de gallo, donde se utiliza para la cardinalidad (1,1) o uno es a uno , para la cardinalidad (0,1) o cero o uno, para la cardinalidad (0,n) o cero es a muchos y muchos es a uno. para la cardinalidad (n,1) o
Pgina 61
5. Redes Semnticas.
Las redes semnticas fueron desarrolladas por quienes trabajan en el rea de la inteligencia artificial. Las estructuras bsicas de este modelo consisten en nodo y arcos formando una red (un grafo). El objetivo de estas redes es la organizacin y representacin del conocimiento general acerca del mundo. El objetivo inicial para el desarrollo de las redes semnticas fue el entender el lenguaje natural, ms que la clasificacin de datos. Otra caracterstica de las redes semnticas es que existen tantas como las necesidades que han tenido diferentes investigadores en diferentes proyectos. As, resulta difcil decidir a qu se le llama modelo de datos Red Semntica. Esto se debe a que se han tenido diferentes modelos de datos red semntica que son buenos al representar una realidad especfica. Se puede decir entonces que cualquier grafo en el cual los nodos se conecten por medio de arcos se le puede llamar red semntica, siempre que nodos y arcos estn etiquetados. Para tener semntica en un grafo, se necesita definir cuidadosamente el significado de nodos y arcos, y cmo son usados. Las primeras redes semnticas usaban diferentes nodos y arcos para representar las asociaciones presentes en la memoria humana. Estas primeras redes fueron poco uniformadas en su estructura, no distinguiendo adecuadamente entre diferentes tipos de nodos y arcos. Por ejemplo, objetos individuales (instancias) y clases de objetos (entidades) coexistan en la misma red semntica. No se tena una clara diferencia entre los nodos que denotaban instancias y los que denotaban clases, por ejemplo, las siguientes redes semnticas.
Pgina 62
valor > 67
tiene V ojos > color caracterstica Pediatra atiende V nios Instancia de Instancia de Mara Hermano de valor > azul
Juan
Pgina 63
c. En las redes semnticas tambin se tiene la idea de particin: es el contexto de una red, en el sentido de tener una subred, as para una tarea o trabajo especfico slo una parte de la red est disponible. Esta facilidad resulta til en el momento de realizar bsquedas, ya que se limita el espacio de bsqueda. d. Tambin se tiene la jerarqua de tipo (u objeto). Los tipos de jerarquas que se tienen en una red semntica son PARTE-DE y ES-UN. La existencia de una jerarqua implica que se permite la herencia donde un objeto que pertenece a una clase hereda todas las propiedades de la clase. Ejemplo. casado_con tiene
Auto
es_un
Secretaria
La herencia no se refiere a la herencia de atributos y sus valores, sino que tambin se heredan los tipos de relaciones permitidas para esa clase, esto es, su comportamiento.
Pgina 64
Ejemplo. Si un empleado es una persona, y la relacin "casado con" es vlida para persona, entonces tambin es vlida para Ingeniero, Abogado y Secretaria. Ejemplo. La representacin de que un Empleado trabaja en un Departamento, vista en un modelo ER y Red Semntica.
Depto.
Trabaja
Empleado
Emp 1
Pgina 65
Ejemplo. hermano Ruth hermano En lo antes dicho se tiene que una unidad de informacin puede ser considerada ya sea como una cosa (nodo) o hecho (arco). Aqu se procura cierta libertad de interpretacin, respecto a qu son arcos y qu son nodos. Una forma de decidir si una unidad es cosa (nodo) o hecho (arco) es preguntarse si ms adelante tiene que relacionarse con otra cosa (nodo). Si es as, entonces es nodo. hermano Luis tiene valor Luis
Ruth tiene
Ruth
hermano
nombre
Luis
Los nodos pueden ser caracterizados de acuerdo a las cosas que representan. Una de estas caracterizaciones (no la nica) es la que establece que los nodos representan conceptos, eventos, caractersticas y valores. a. Conceptos. Son constantes para la realidad que se desea representar, y son utilizados para especificar valores (Ejemplo. Juan, la persona Juan) b. Eventos. Corresponden a acciones que ocurren en la realidad que se modela. As, "Juan golpea a Pedro" se puede representar mediante un nodo "golpear" y dos nodos conceptos "Juan" y "Pedro". Los arcos que conectan nodos eventos y nodos concepto corresponden a los roles que los conceptos juegan en el evento. En el ejemplo, "Juan" es el agente (el que produce el golpe) y "Pedro" el objetivo (el que recibe el golpe). c. Caractersticas.
Pgina 66
Son nodos que describen propiedades de un concepto. Corresponden a los atributos de un concepto. Ejemplo: el "peso" de Juan. d. Valores. Son nodos correspondientes a dominios de valores. Ejemplo: el peso de Juan es "48 Kg.". Corresponden a los valores que pueden tomar las caractersticas. Ejercicios. a. Juan golpea a Pedro. b. Juan pesa 70 Kg. Genere los esquemas y caracterice cada nodo, segn lo visto. Desarrollo. Conceptos: Juan, Pedro Eventos: golpea Caractersticas: peso Valores: 70 Kg. Co tiene Juan agente Ev golpea afectado Co Pedro unidad Ca Ca peso tiene valor Va Kg valor Va 70
En particular, si tuviramos por ejemplo autos y personas, ambos corresponderan a un tipo de nodo CONCEPTO, y no hay diferencia entre el tipo de nodo Auto y el tipo de nodo Persona.
Pgina 67
Complementariamente se agrega la clasificacin por CLASES. As, Juan y Pedro son conceptos que pertenecen a la clase Persona, que es a su vez otro concepto. Para lograr esta pertenencia a clases se usa el arco ES_UN. Adems se tiene el arco PARTE_DE, que permite generar estructuras de composicin. Ejemplo. a. Pedro y Juan son personas. b. Las personas tienen brazos. Desarrollo. Conceptos: Persona, Pedro, Juan, brazos. Persona es_un Juan parte_de brazos
es_un
Pedro
Ejercicio.
Las personas tienen dos manos. Las manos tienen cinco dedos. Pedro y Juan son personas. Pedro golpea a Juan. Las personas usan ropa. Las personas comen conejos. Los conejos son mamferos. Las personas son mamferos. Juan tiene una mano.
Desarrollo.
Pgina 68
Eventos: golpea, usan, comen. Conceptos: personas, manos, dedos, Pedro, Juan, conejos, mamferos. Caractersticas: nmero de manos, nmero de dedos. Valores: 2,5,1.
5 valor n. dedos caract parte_de dedos mano es_un valor n. manos caract parte_de Persona agente comen afectado es_un conejo 2 valor n. manos es_un golpea es_un agente usan afectado ropa Pedro agente 1 caract Juan afectado
mamfero
Observacin. En este caso, persona tiene dos manos, pero Juan (que es persona) tiene una, lo que se denota "ocultando" la caracterstica "n. manos" de persona mediante la misma caracterstica de Juan.
Pgina 69
Pgina 70
(D) Informtica
(A) Silvia
(P) Varas
(P) Vidal
(E) Al. 1
(E) Al. 2
(C) C y P
(D) Depto 1
(A) Secretaria
(P) Profesor 1
(P) Profesor 2
(E) Al. 1
(E) Al. 2
(C) Curso 1
(C) Curso 2
En el modelo Jerrquico se tiene la conexin padre-hijo, y en consecuencia no puede haber un hijo sin un padre (no puede estar desconectado). Una jerarqua debe obedece la estructura de un rbol. As, el nico nodo sin padre es el nodo raz. Esto trae otra consecuencia, si se borra el padre tambin desaparecern los hijos en la base de datos. Adems hay problemas con las relaciones muchos a muchos: un hijo no puede tener muchos padres, por lo que se debe repetir (duplicacin de datos). Ejemplo. Un autor tiene muchos libros escritos, los que a su vez pudieron ser escritos por muchos autores. Existen dos alternativas:
Pgina 71
(A)Autor
(L)Libro
i.
(L)Libro
ii.
(A)Autor
L1
L2
L3
L2
L4
L1
L4
A1
A3
A1
A2
A1
A2
A3
Cul es mejor? Cada uno sirve para obtener diferente informacin con mayor facilidad, por lo que la eleccin ser condicionada a las necesidades del problema.
Pgina 72
Un conjunto de atributos que contienen datos acerca del objeto. A su vez, cada valor de un atributo es un objeto. Un conjunto de mensajes a los que el objeto responde. Un conjunto (puede ser unitario) de mtodos, que es un procedimiento o trozo de cdigo para implementar la respuesta a cada mensaje. Un mtodo devuelve un valor (otro objeto) como respuesta al mensaje.
Puesto que la nica interfaz externa de un objeto es el conjunto de mensajes al que responde, es posible modificar la definicin de mtodos y atributos sin afectar a otros objetos.
Pgina 73
Tambin es posible sustituir un atributo por un mtodo que calcule un valor. Ejemplo. Un objeto documento puede contener un atributo de tamao que contenga el nmero de bytes de texto en el documento, o bien un mtodo de tamao que calcule el tamao del documento leyndolo y contando el nmero de bytes. La capacidad de modificar la definicin de un objeto sin afectar al resto del sistema est considerada como una de las mayores ventajas del modelo de programacin orientada a objetos.
Pgina 74
Un esquema orientado a los objetos, normalmente requiere un gran nmero de clases. Sin embargo, a menudo se da el caso que varias clases son similares. Para permitir la representacin directa de similitudes entre clases, se utiliza una jerarqua de especializacin, como aquella utilizada por el modelo MER extendido. Ejemplo. En un banco, es de esperarse que los Empleados y los Clientes tengan ciertos atributos comunes, como rut, nombre, direccin y telfono, sin embargo los Empleados podran tener un atributo exclusivo, como salario, mientras que Clientes tendrn uno como tasa_crdito. Aqu los empleados y clientes pueden ser representarse por especializaciones de una clase Persona. Los atributos y los mtodos especficos para Empleado se asocian a la clase Empleado, en forma anloga, se acta para los clientes. Los atributos y mtodos comunes para empleados y clientes se asocian a la clase Persona.
Persona
Empelado
Cliente
Emp 1
Emp 2
Emp 3
Cli 1
Cli 2
Observacin. Denotaremos las clases por medio de rectngulos con lnea doble, mientras que las instancias de las mismas u objetos, se representarn por rectngulos. El semicrculo denota la relacin ES_UN, o ESPECIALIZACIN_DE, que se utiliza para construir la jerarqua de clases.
7.2.1 Herencia.
Pgina 75
Una propiedad interesante para efectos de modelacin es la herencia. sta se manifiesta cuando se tiene una clase que es una especializacin de otra que se encuentra en un nivel superior en la jerarqua de clases. La clase subordinada (en un nivel inferior) hereda los mtodos, mensajes y atributos de la clase superior. Cuando una clase que hereda de otra necesita incluir un atributo extra, ste se le asocia, y no afecta a la clase superior. Por otro lado, es comn que en una clase que constituye una especializacin, se desee modificar alguno de los mtodo heredados para adecuar la respuesta a algn mensaje. En este caso, se modifica el comportamiento de esta clase, y el mtodo nuevo se le asocia. Ejemplo. Retornando al caso del banco, podemos observar que como atributos para la clase persona se tiene rut, nombre, direccin y telfono. A su vez los empleado tienen un sueldo, y los clientes una tasa de crdito. Rut Nombre Persona Direccin Telfono Empelado Cliente
Sueldo
Tasa Crdito
En este caso, un objeto de la clase persona tiene como atributos Rut, Nombre, Direccin y Telfono, un Empleado, hereda todos los anteriores y agrega el atributo Sueldo, mientras que el Cliente agrega el atributo Tasa Crdito. Observacin.
Pgina 76
1. El tringulo del diagrama denota la relacin COMPUESTO_DE o INTEGRADO_POR, para indicar que los atributos de una clase pertenecen a las clases que se indican. En algunos formalismos para modelar clases y objetos existe la cardinalidad, para indicar el nmero de veces que un atributo puede aparecer en una clase. 2. En este caso no se han incluido los mtodos pertenecientes a cada clase ni los mensajes a los que responde cada mtodo. Esto se ha obviado por quedar fuera del mbito de nuestro inters.