Pgina 1
ESQUEMA
CONCEPTUAL MODELO
DISEO LOGICO
LOGICO
ESQUEMA LOGICO
Diseo Conceptual. Recibe como entrada la especificacin de requerimientos y su resultado es el esquema conceptual de la base de datos, que es una descripcin de alto nivel de la estructura de la base de datos, independiente del software que se use para manipularla. Modelos Conceptuales: MER, CCER, HERM, Modelos OO, Formalismo Individual, Redes Semnticas, Redes de Transicin de Estados. Diseo Lgico.
Pgina 2
Recibe como entrada el esquema conceptual y da como resultado un esquema lgico, que es una descripcin de la estructura de la base de datos que puede procesar el software DBMS. Modelos Lgicos: Relacional, de Redes, Jerrquico, Redes Semnticas, Redes de Transicin de Estados, Modelos OO. Diseo Fsico. Recibe como entrada el esquema lgico y da como resultado un esquema fsico, que es una descripcin de la implementacin de una base de datos en la memoria secundaria, describe las estructuras de almacenamiento y los mtodos usados para tener un acceso efectivo a los datos. Modelos Fsicos: Modelo Unificador, Memoria de Elementos.
Pgina 3
9.1 Dominio.
Conjunto de valores de un mismo tipo. Se define como un conjutno, ya sea por extensin o comprensin.
Dominio
9.2 Atributo.
Elemento de un Dominio. Aporta mediante su rtulo, la semntica de los valores del Dominio al que est asociado.
Dominio
Atributo
9.3 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 , 70, 80, 50, 50) 70) (Pedro , 90,
Pgina 4
Tipo de Entidad
En trminos de abstraccin, un "tipo de entidad" corresponde a la agregacin de atributos. Ejemplo. El tipo de entidad Persona, corresponde a la agregacin de los atributos (Rut, Nombre, Direccin, Fecha Nacimiento) As las entidades son una ocurrencia de un Tipo de Entidad.
Tipo de Entidad
Atributo identificador
Pgina 5
Tipo de Entidad 1
Tipo de Interrelacin
Tipo de Entidad 1 Ejemplo. la relacin dueo-de puede ser interpretada como un tipo de interrelacin entre dos tipos de entidades Persona y Auto.
9.7 Interrrelacin.
Es la ocurrencia de un tipo de interrelacin. Ejemplo. (Juan, LK-2346), considerando el tipo de interrelacin dueo-de.
(mnimo, mximo) TE R
Ejemplo
Pgina 6
Auto :
Persona:
Dueo_de:
Diagrama MER
autor de un libro libros de un autor prstamos de un alumno. materia de un libro editorial de un libro
Desarrollo.
Tipos de entidad
Pgina 7
Nombre Fecha Nacimiento Nacionalidad Libro @ Cdigo Libro Ttulo Ao Publicacin Alumno @ Matrcula Nombre Ejemplar
(numrico) (string)
@ Cdigo Ejemplar (numrico) Materia @ Cdigo Materia Materia Carrera @ Cdigo Carrera Editorial @ Cdigo Editorial Editorial Tipos de Interrelaciones (numrico) (numrico) (numrico)
Pgina 8
Prestamo : @ Cdigo Ejemplar @ Matrcula Fecha_prstamo (fecha) Fecha_devolucin Editado_por : @ Cdigo Editorial @ Cdigo Libro Ejemplar_de : @ Cdigo Ejemplar @ Cdigo Libro Es_de : @ Cdigo libro @ Cdigo Materia Diagrama MER (fecha)
Pgina 9
(1,1) Alumno
(0,3)
Prstamo
(0,1)
Ejemplar (1,1)
(1,n)
Autor_de
(1,n) Ejemplar_de
Es_de
(1,n)
Libro (1,1)
(1,n)
Editado_por
(1,n)
Editorial
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. Una Libro es editado por una y slo una Editorial. Una Editorial ha editado uno o muchos Libros.
Pgina 10
ii. En los tipos de interrelacin, la clave es la composicin de las claves de los tipos de entidad involucrados, en caso que no se pueda utilizar la clave de un subconjunto de ellos.
Pgina 11
2. Construir un esquema MER para una compaa de seguros de autos con un conjunto de clientes, cada uno de los cuales es propietario de un nmero de autos. Cada auto tiene asociado el nmero de accidentes registrados. 3. Construir un esquema MER para un hospital con un conjunto de pacientes y un conjunto de mdicos. A cada paciente se le asocia un registro de los anlisis realizados. 4. Construir un esquema MER para modelar la documentacin requerida para un esquema conceptual E-R. 5. Disear un esquema MER que recoja la organizacin de un sistema de informacin en el que se quiere tener informacin sobre municipios, viviendas y personas. Cada persona slo puede habitar en una vivienda, pero puede ser propietaria de ms de una. Nos interesa tambin la interrelacin de las personas con su cabeza de familia. (Haga los supuestos que estime convenientes para justificar sus decisiones de diseo). 6. Disear un esquema MER que recoja la organizacin de las carreteras de todo el pas. Se sabe que las carreteras se encuentran divididas en tramos, un tramo siempre pertenece a una nica carretera y no puede cambiar de carretera, existen una serie de reas en las que se agrupan los tramos, cada uno de los cuales no puede pertenecer a ms de un rea y un tramo puede pasar por varios trminos municipales, siendo un dato de inters el km del tramo por el que entra en dicho trmino municipal y el km por el que sale.
Pgina 12
Atributo Compuesto
10.1 Cardinalidad.
Caracteriza a los atributos de un tipo de entidad y a los tipos de interrelacin. (Las definicin aqu utilizada corresponde a la realizada por Tardieu).
Tipo de Entidad
Pgina 13
particular te del tipo de entidad TE se define como el conjunto de todos los valores de los atributos ai (i = 1,2, ..., n) y todos los casos de los tipos de entidad TEj (j = 1,2, ..., m) vinculadas con te. Cada entidad puede tener mltiples identificadores alternativos.
Tipo de Entidad
Atributo identificador
Tipo de Entidad
TE 1
TE 2
Atributo identificador
Pgina 14
10.4 Cobertura.
Las jerarquas de generalizacin presentan la propiedad de cobertura. La cobertura puede ser parcial o total y exclusiva o superpuesta. La cobertura parcial o total permite especificar una restriccin entre el tipo de entidad genrica y sus tipos de entidad subconjunto, donde todos los elementos del tipo de entidad genrico deben pertenecer a alguno de sus tipos de entidad subconjunto (si es total), o no (si es parcial). La cobertura exclusiva o superpuesta permite especificar una restriccin entre los tipos de entidad subconjunto, donde los elementos que pertenecen a un tipo de entidad subconjunto pueden pertenecer tambin a otro tipo de entidad subconjunto (si es superpuesto) o no (si es exclusiva).
Tipo de Entidad Genrica (x,y) Tipo de Entidad Subconjunto 1 Tipo de Entidad Subconjunto n-1 Tipo de Entidad Subconjunto n
Pgina 15
Tipo de Entidad 1
Tipo de Entidad n
TE 1
Rol TE1 en R
Rol TE 2 en R
TE 2
Pgina 16
Cardinalidad de atributo con respecto a un tipo de entidad. Cardinalidad de un tipo de entidad con respecto a un tipo de interrelacin. Identificadores. Cobertura. Tipos de Interrelacin Exclusivas con respecto a un Tipo de Entidad. Las restricciones dinmicas son aquellas que restringen los cambios de estado en la base de datos. Estos aspectos, no son soportados por el modelo entidad relacin.
10.10
El esquema conceptual de una base de datos en el modelo entidad relacin no es slo el diagrama que se genera al utilizar las reglas generadoras del modelo, sino tambin la documentacin textual asociada. En este ltimo punto, cobran mayor importancia aquellos aspectos que no quedan explcitamente especificados en el esquema grfico, ya sea por un criterio esttico o por falta de expresividad del modelo. Comunmente, los dominios no se incorporan en el esquema grfico, y su definicin ni siquiera tiene representacin, por lo que su documentacin fuera del esquema es obligatoria. Tambin es necesario hacer nfasis en restricciones estticas que no fueron modeladas, y, en caso de existir restricciones dinmicas, estas deben especificarse fuera del esquema, dado que el modelo entidad relacin no las soporta. Para efectos de documentacin, se propone anexar al esquema MER (grfico), las tablas siguientes con la informacn que corresponda.
10.10.1
Descripcin
Tipos de Entidad.
Tipo de Entidad
Pgina 17
Atributo
Dominio
Cardinalidad
10.10.2
Descripcin Tipos de Relacionados Atributo
Tipos de Interrelacin
Dominio
Cardinalidad
10.10.3
Atributo Descripcin Presente en
Atributos Compuestos.
Notacin para Descripcin: Atributo Componente 1+ Atributo Componente 2+ + Atributo Componente n : El atributo se compone de Atributo Componente 1, Atributo Componente 2, , Atributo Componente n. Cada uno de los atributos Atributo Componente i debe documentarse separadamente.
10.10.4
Atributo Descripcin Dominio Presente en
Atributos.
Notacin para presente en: Nombre1(TE) : El objeto donde se usa el atributo se denomina Nombre1 y es un Tipo de Entidad. Nombre2(TI): El objeto donde se usa el atributo se denomina Nombre2 y es un Tipo de Interrelacin. Nombre3(@TE): El objeto donde se usa el atributo se denomina Nombre3 y es un Tipo de Entidad, siendo este atributo (parte de) el identificador. Nombre4(A): El objeto donde se usa el atributo se denomina Nombre4 y es un atributo compuesto.
10.10.5
Dominio Definicin
Dominios.
Pgina 18
Atributos
10.10.6
Cobertura
Estructuras de Generalizacin.
Tipo de Entidad Genrica Entidad
10.10.7
Agregacin
Nombre Agregacin
10.10.8
10.10.9
Restricciones Dinmicas.
Restriccin
10.11
10.11.1
Un esquema es completo cuando representa todas las caractersticas pertinentes al dominio de la aplicacin. Se puede comprobar en principio mirado en detalle todos los requerimientos del dominio de la aplicacin y verificando que cada uno de ellos est representado en algn lugar del esquema (el esquema es completo respecto a los requerimientos) y tambin se puede revisar el esquema para verificar que cada concepto est mencionado en los requerimientos (los requerimientos estn completos respecto al esquema).
10.11.2
Correccin.
Un esquema es correcto cuando usa con propiedad los conceptos del modelo (MER en este caso).
Pgina 19
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. 2. 3. 4. 5. 6. 7. Usar un atributo en lugar de una entidad. Olvidar una generalizacin (o un subconjunto). Olvidar una propiedad de herencia de las generalizaciones. Usar una interrelacin con un nmero errneo de entidades (por ejemplo, una interrelacin binaria en vez de una ternaria). Usar una entidad en lugar de una interrelacin. Olvidar algn identificador de una entidad. Omitir alguna especificacin de cardinalidad mnima o mxima.
10.11.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.
10.11.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.
10.11.5
Legibilidad.
Pgina 20
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.
10.11.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).
10.11.7
Extensibilidad.
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.
10.11.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 21
11 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
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).
Ocurrencia de Individuo.
Es la ocurrencia o instancia de un individuo, esto es, corresponde a un objeto concreto de la realidad.
Pgina 22
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).
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.
Ocurrencia de Relacin.
Es la ocurrencia de la relacin entre dos individuos. Ejemplo. Juan es hijo de Pedro.
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 23
Restricciones.
Cardinalidad.
Se refiere a la cantidad de veces, mximo y mnimo, que una ocurrencia de un individuo puede participar en una relacin.
Relacin Implcita.
Cuando dos individuos A y B estn formando una relacin, y la cardinalidad de la relacin no es muchos es a muchos, entonces la relacin se puede omitir, perteneciendo a uno de los individuos. Ejemplo.
Autor
(1,n)
Escrito
(1,n)
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)
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.
Pgina 24
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
(0,n)
Est en
(1,1)
(0,n) Origen
Desarrollo.
Un Puerto est en un Pas. 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 25
12 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 26
Una clave candidata para una relacin R es un atributo K posiblemente compuesto, tal que satisface las siguientes dos propiedades independientes del tiempo:
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.
12.3.2
Claves Forneas.
En el modelo relacional se denominan claves ajenas o claves forneas a una referencia de una relacin a otra, mediante su clave. Este concepto lo conocemos en el formalismo individual como una relacin implcita. Una Relacin (R1) puede poseer como uno de sus atributos (A) una clave primaria de otra relacin (R2). Este atributo (A) constituye una clave fornea en R1 y referencia a R2. En este caso las claves forneas responden al mismo patrn de las relaciones implcitas del formalismo individual, es decir, existen cuando la cardinalidad de la relacin es uno es a muchos. 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 27
Consiste de un conjunto de operadores de alto nivel que operan sobre relaciones. Cada uno de estos operadores toma una o dos relaciones como entrada y produce una nueva relacin como salida (propiedad de clausura). Codd defini un conjunto de 8 operadores, los que se describen a continuacin. 1. Restriccin. Extrae las tuplas especificadas de una relacin dada (o sea, restringe la relacin slo a las tuplas que satisfagan una condicin especificada). 2. Proyeccin. Extrae los atributos especificados de una relacin dada. 3. Producto. A partir de dos relaciones especificadas, construye una relacin que contiene todas las combinaciones posibles de tuplas, una de cada una de las dos relaciones. 4. Unin. Construye una relacin formada por todas las tuplas que aparecen en cualquiera de las dos relaciones especificadas. 5. Interseccin. Construye una relacin formada por todas aquellas tuplas que aparecen en las dos relaciones especificadas. 6. Diferencia. Construye una relacin formada por todas las tuplas de la primera relacin que no aparezcan en la segunda de las dos relaciones especificadas. 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.
Pgina 28
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
12.5 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.
Pgina 29
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.
12.5.1
Formas Normales.
PRIMERA FORMA NORMAL
Una relacin est en primera forma normal (1FN) si y slo si todos los dominios simples subyacentes contienen slo valores atmicos.
Otra forma de expresar la primera forma normal es decir que todas las ocurrencias de un tipo de registro deben contener el mismo nmero de campos.
Pgina 30
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 2 Jeria Bravo COMPAA Ford GM Ford Ford PRODUCTO1 auto auto auto PRODUCTO2 camin camin ... 1
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 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. PRODUCTO auto camin auto camin auto
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 BODEGA CANTIDAD DIRECCIN-BODEGA
1Repeticin 2Se
forma un grupo.
Pgina 31
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 32
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
Pgina 33
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. 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.
Pgina 34
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:
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.
Pgina 35
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. Claves forneas: no tiene.
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.
Pgina 36
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.
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.
Pgina 37
Si una droga tiene una ubicacin, entonces el estado de esa ubicacin debe ser "ocupado".
Pgina 38
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
FObservacin. 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 para la cardinalidad (n,1) o muchos es a uno.
Pgina 39
13 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.
valor > 67
Pgina 40
Juan
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.
Pgina 41
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. 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
Modelo E/R
Pgina 42
Empresa
Emp 1
Las estructuras de cualquier red semntica consiste de un grafo (Red). La forma en que se distingue entre las diferentes redes y arcos determina el tipo de red semntica, y as mismo el modelamiento de datos para el cual fue creada. Ejemplo. Se puede tener un modelo de datos red semntica en que los nodos representan cosas (instancias o valores de entidades) y los arcos pueden representar relaciones entre los nodos. Ejemplo.
Luis
Pgina 43
Ruth
Ruth
tiene
hermano
tiene
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. 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.
Pgina 44
Ca peso tiene
valor
Va 70
valor unidad Ca
Va Kg
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. 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.
Pgina 45
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.
Eventos: golpea, usan, comen. Conceptos: personas, manos, dedos, Pedro, Juan, conejos, mamferos. Caractersticas: nmero de manos, nmero de dedos. Valores: 2,5,1.
Pgina 46
2 valor
Pedro
agente
mamfero
FObservacin. 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 47
Cdigo (C)Curso
Pgina 48
(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:
(A)Autor
(L)Libro
i.
(L)Libro
ii.
(A)Autor
Pgina 49
A1
A2
A3
L1
y segn el esquema ii:
L2
L3
L2
L4
L1
L4
L1
L2
L3
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 50
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. Tambin es posible sustituir un atributo por un mtodo que calcule un valor.
Pgina 51
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.
Un atributo con valores en un conjunto cuyo valor es el conjunto de todos los objetos que son instancias de la clase. Implementacin de un mtodo para el mensaje nuevo, el cual crea una nueva instancia de la clase.
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.
Pgina 52
Persona
Empelado
Cliente
Emp 1
Emp 2
Emp 3
Cli 1
Cli 2
FObservacin. Denotaremos las clases por medio de rectngulos con lnea simple, mientras que las instancias de las mismas u objetos, se representarn por rectngulos con lnea doble. El semicrculo denota la relacin ES_UN, o ESPECIALIZACIN_DE, que se utiliza para construir la jerarqua de clases.
15.2.1
Herencia.
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.
Pgina 53
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. FObservacin. 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.