Академический Документы
Профессиональный Документы
Культура Документы
Tipos de acceso a los datos................................................................................................................. 4 2. Sistema tradicional de archivos .................................................................................................................. 5 3. Sistema de Bases de Datos ......................................................................................................................... 6 4. Modelos de Base de Datos ........................................................................................................................ 9 4.1. Modelo jerrquico de datos ................................................................................................................. 9 4.2 Modelo de datos en red ...................................................................................................................... 10 4.3. Modelo relacional de datos............................................................................................................... 11 4.4. Ventajas y desventajas de los tres modelos de bases de datos ........................................................ 13 5. Modelos de Datos Conceptuales (Semnticos) ........................................................................................ 15 5.1. Elementos del Modelo Entidad-Relacin ......................................................................................... 15 5.2. Diagramas Entidad - Relacionamiento (objetos de datos y sus relaciones) ..................................... 16 5.3. Modelo de Datos .............................................................................................................................. 17 Fases de la Metodologa para la estructuracin de los datos ................................................................ 17 5.4. Definicin de Conceptos del Modelo Entidad Relacionamiento....................................................... 18 Entidades .............................................................................................................................................. 18 Clasificacin de las Entidades. ............................................................................................................. 19 Atributos............................................................................................................................................... 19 Identificador ......................................................................................................................................... 20 Atributos de Multivalor ........................................................................................................................ 21 5.5. Relacionamientos (Asociacin)........................................................................................................ 21 Grado de un relacionamiento................................................................................................................ 21 Gerundios ............................................................................................................................................. 23 Conectividad (Cardinalidad) en el relacionamiento ............................................................................. 23 Cardinalidad Mnima y Mxima........................................................................................................... 23 Dependencia de Existencia................................................................................................................... 24 Comentarios sobre el Relacionamiento ................................................................................................ 24 5.6 Modelamiento de atributos multivalor ............................................................................................... 26 5.7. Datos Dependientes del Tiempo....................................................................................................... 27 5.8. Generalizacin - Especializacin ...................................................................................................... 28 Subtipos Y Supertipos .......................................................................................................................... 28 Tema VI: Enfoque de Bases de Datos en el Diseo de Sistemas ..................................................................... 30 1. Estrategia de Diseo de la Base de Datos ................................................................................................ 30 1.1. Diagrama de las fases del enfoque de bases de datos....................................................................... 30 FASE I: Generacin del Modelo Conceptual ........................................................................................... 30 FASE II: Generacin del Modelo Conceptual Cannico ......................................................................... 31 Proceso de Normalizacin................................................................................................................ 31 Primera Forma Normal (1 FN):................................................................................................... 31 Segunda forma normal (2 FN)..................................................................................................... 32 Tercera forma normal (3 FN) ....................................................................................................... 32 Relaciones muchos a muchos ....................................................................................................... 32 Eliminacin de Relaciones Redundantes (o loop) ........................................................................ 33 Relaciones Redundantes................................................................................................................... 33 Herencia........................................................................................................................................ 35 Fase III: Modelo de Procesos de Datos .................................................................................................... 35 2. Modelo Relacional .................................................................................................................................. 40 2.1. Tablas ................................................................................................................................................ 40 2.2. Relacin............................................................................................................................................. 40 2.3. Tablas relacionales ............................................................................................................................ 40 2.4. Claves ................................................................................................................................................ 40 2.5. Operaciones sobre Tablas.................................................................................................................. 40
Profesor. Oscar Saavedra Rodrguez
Seleccin. ............................................................................................................................................. 40 Proyeccin. ........................................................................................................................................... 40 Diferencia. ............................................................................................................................................ 40 Producto cartesiano. ............................................................................................................................. 41 Join. ...................................................................................................................................................... 41 3.1. Reglas De Transformacin ................................................................................................................ 42 Tema VII: Lenguaje de programacin SQL..................................................................................................... 46 1. Ejemplo de comandos DDL. ................................................................................................................... 48 2. Ejemplo de comandos DML.................................................................................................................... 52 2.1. INSERT............................................................................................................................................ 52 Insercin de un solo registro. ............................................................................................................... 52 Insercin de un solo registro, omitiendo nombres de campos.............................................................. 53 Insercin de un solo registro. ............................................................................................................... 53 2.2. UPDATE (ACTUALIZAR) .............................................................................................................. 54 Modificacin de un solo registro.......................................................................................................... 54 Modificacin de varios registros. ......................................................................................................... 54 2.3. DELETE (ELIMINAR).................................................................................................................... 54 Eliminacin de un solo registro............................................................................................................ 55 Eliminacin de varios registros. ........................................................................................................... 55 3. Ejemplo de comandos DML.................................................................................................................... 56 3. SELECT [ ALL | DISTINCT ] select-list................................................................... 56 1. Tecnologas Web para el Desarrollo de Sistemas de Informacin ........................................................... 68 1.1. Lenguaje de Hipertexto Basado en Marcas (HTML) ....................................................................... 68 1.1.1. Pginas Estticas y Dinmicas.................................................................................................. 69 1.1.2. Herramientas para la Construccin de Pginas Web ................................................................ 69 1.2. Lenguaje de Marcas Extensibles (XML).......................................................................................... 71 1.3. Herramientas para Pginas Web Personales (PHP).......................................................................... 73 1.4. MySQL............................................................................................................................................. 74 1.5. Java................................................................................................................................................... 74 2. Aplicacin de UML en el Modelado de un Sistema de Informacin de Gestin del Recurso Humano... 76 2.1. Contexto de la Situacin................................................................................................................... 76 2.2. Modelo de Proceso de Negocios ...................................................................................................... 77
Definicin
Un grupo de archivos (tablas) relacionados puede constituir una BD. Un grupo de registros del mismo tipo.
Ejemplo
BD Estudiantes: Archivo Curso; Archivo Notas; Archivo Asignaturas
Archivos
Registro Campo
Byte
Bit ----------------------------------Entidad
Atributo
Archivo Curso: Nombre; Cdigo; Fecha; O Taylor Ind401 F20-03-23 K Vincen Ind305 F20-04-21 S Watt Ind405 F20-05-27 Un grupo de campos relacionados Nombre; Cdigo; Fecha O Taylor Ind401 F20-03-23 Una agrupacin de caracteres en O Taylor (Nombre campo) una palabra, grupo de palabras o nmero completo. Carcter individual, puede ser un 10101010 (letra J en ASCII) nmero, una letra o cualquier otro smbolo. Unidad ms pequea de datos que 1 la computadora puede manejar. -------------------------------------------------------------------Es una persona, lugar, concepto, Cuenta Corriente: es una entidad cosa o hecho sobre el que se tpica en un sistema financiero o crdito. conserva informacin. Elemento de informacin que Por ejemplo, nmero de la cuenta describe a una entidad particular. corriente
1.1. Tipos de organizacin de datos En los sistemas de cmputo se almacenan los archivos en dispositivos de almacenamiento secundario. Los registros pueden ser ordenados de diversas maneras en los medios de almacenamiento y la disposicin determina la manera segn la cual los registros individuales pueden ser accesados o recuperados. Los tipos de organizacin de datos son:
Profesor. Oscar Saavedra Rodrguez
Organizacin secuencial de archivos: un mtodo de almacenar registros en donde stos deben ser recuperados en la misma secuencia fsica en la que se almacenan. Es el nico mtodo de organizacin de archivos que puede ser usado en cintas magnticas. Se usa todava en aplicaciones de procesamiento por lotes en donde accesan y procesan secuencialmente cada registro. Organizacin directa o aleatoria de archivos: mtodo de almacenar registros en donde stos pueden ser accesados en cualquier secuencia, independientemente de su orden fsico real en los medios de almacenamiento. Se utiliza con la tecnologa de los discos magnticos (aun cuando los registros en el disco se pueden almacenar si se desea en orden secuencial). 1.2. Tipos de acceso a los datos Mtodo de acceso secuencial indexado (MASI): aun cuando los registros pueden ser almacenados secuencialmente en dispositivos de acceso directo, los registros individuales pueden ser accesados directamente mediante el mtodo MASI. Este mtodo de acceso descansa en un ndice de campos claves para localizar los registros individuales. Un ndice es una tabla o listado que relaciona las claves de los registros con las ubicaciones fsicas en los archivos de acceso directo. Es semejante a un ndice de un libro, ya que enlista el campo clave de cada registro y donde se ubica fsicamente tal registro en el almacenamiento para facilitar su localizacin. Cualquier registro especfico puede ser localizado directamente usando el campo llave para encontrar la direccin de su almacenamiento en el ndice. El MASI se utiliza en aplicaciones que requieren de un procesamiento secuencial de gran nmero de sus registros, pero que ocasionalmente necesitan acceso directo de los registros individuales. Mtodo de acceso directo a archivos: se usa con la organizacin de archivos directos. Este mtodo emplea un campo llave para localizar la direccin fsica de un registro. Sin embargo, el proceso se lleva a cabo sin un ndice. En vez de ello, una expresin matemtica llamada algoritmo de transformacin se emplea para traducir el campo clave directamente en la ubicacin en el almacenamiento fsico del registro en el disco. El algoritmo de transformacin es una formula matemtica usada para traducir el campo llave de un registro directamente en la ubicacin del almacenamiento fsico de un registro. Este mtodo de acceso es el ms adecuado para aplicaciones en donde los registros individuales deben ser localizados directa y rpidamente para su procesamiento inmediato. Slo unos cuantos registros en el archivo deben ser localizados en un instante dado, y los registros requeridos no se encuentran en alguna secuencia en particular. Un ejemplo de ello podra ser un sistema en lnea para reservaciones en hoteles.
2. Sistema tradicional de archivos En muchas instituciones el procesamiento de la informacin se inici a escala pequea, automatizando una operacin a la vez. Los sistemas tienden a crecer de manera independiente y no de acuerdo a un gran plan. De manera tpica, cada divisin de una empresa desarroll sus propias aplicaciones. Dentro de cada divisin, cada rea funcional tendi a desarrollar sistemas aisladamente de otras reas funcionales. Contabilidad, finanzas, manufactura y mercadotecnia desarrollaron todos sus propios sistemas y archivos de datos. A medida que este proceso prosigue por 5 o 10 aos, la empresa queda atada por nudos de su propia creacin. La institucin queda amarrada por cientos de programas y aplicaciones, en donde nadie sabe qu hacen, qu datos usan, ni quin los usa. No existe un listado central de los archivos de datos, elementos de datos o definiciones de los datos. La institucin obtiene la misma informacin en demasiados documentos. Los problemas resultantes son redundancia de datos, dependencia de datos por parte de los programas, inflexibilidad, inconsistencia en los datos, seguridad muy pobre en los programas e incapacidad para compartir datos entre las distintas aplicaciones. Problemas del sistema tradicional de archivos
La redundancia de datos: es la presencia de datos duplicados en diversos archivos de datos. La redundancia de datos ocurre cuando diferentes divisiones, reas funcionales y grupos en una institucin captan de manera independiente el mismo elemento de informacin. La dependencia de los datos del programa: es la relacin estrecha entre los datos almacenados en los archivos y los programas especficos que se requieren para actualizar y mantener tales archivos. Todo programa de computadora debe describir la localizacin y naturaleza de los datos con los que opera. Estas declaraciones sobre los datos pueden ser ms largas que la parte substantiva del programa. En un ambiente tradicional de datos, cualquier cambio en los datos
Profesor. Oscar Saavedra Rodrguez
requiere de un cambio en todos los programas que accesan los datos. En consecuencia, el desarrollo de nuevas aplicaciones toma ms tiempo y cuesta ms que cualquier otro cambio. Una gran parte del esfuerzo de programacin de la institucin consiste en las actualizaciones de los elementos de datos que estn dispersos por cientos de archivos. En muchas ocasiones, las aplicaciones operan con datos no actualizados sencillamente a causa de la dificultad de actualizarlos. Falta de flexibilidad: un sistema tradicional de archivos puede dar informes programados de rutina luego de grandes esfuerzos de programacin, o pueden proporcionar informes adecuados o responder a requerimientos no previstos de informacin de manera oportuna. La informacin requerida por las solicitudes adhoc est en alguna parte del sistema pero es demasiado caro recuperarla. Seguridad pobre: como existe poco control o administracin de datos, el acceso a ellos y la diseminacin de la informacin virtualmente quedan fuera de control. Aquellas limitaciones al acceso tienden a ser el resultado de la costumbre y la tradicin, as como de la fuerte dificultad para encontrar informacin. Imposibilidad de compartir los datos y de su disponibilidad: la falta de control sobre el acceso a los datos en este ambiente de confusin no facilita que las personas obtengan la informacin. Como los elementos de informacin se encuentran en diferentes archivos y en diferentes partes de la institucin no pueden relacionarse entre s, y es virtualmente imposible que la informacin pueda ser compartida o accesada de manera oportuna.
3. Sistema de Bases de Datos Puede eliminar muchos de los problemas creados por la organizacin tradicional de archivos. Una Base de Datos es una coleccin de datos organizada para dar servicio a muchas aplicaciones al mismo tiempo al combinar los datos de manera que aparezcan estar en una sola ubicacin. En lugar de separar los datos en archivos separados para cada aplicacin, los datos son almacenados en una sola ubicacin. Sistema de Gestin de Bases de Datos (SGBD) o Data Base Management System consiste en un conjunto de programas, procedimientos y lenguajes que nos proporcionan las herramientas necesarias para trabajar con una base de datos. Los Sistemas de gestin de base de datos son un tipo de software muy especfico, dedicado a servir de interfaz entre la Base de Datos, el usuario y las Aplicaciones que la utilizan. Incorporar una serie de funciones que nos permita definir los registros, sus campos, sus relaciones, insertar, suprimir, modificar y consultar los datos. Un SGBD es sencillamente el software que permite que una institucin centralice sus datos, los administre eficientemente, y proporcione acceso a los datos almacenados mediante programas de aplicacin. Tiene los siguientes elementos: un lenguaje de definicin de datos; un lenguaje de manejo de datos y un diccionario de datos.
Profesor. Oscar Saavedra Rodrguez
Para disear una base de datos debemos establecer un proceso partiendo del mundo real, de manera que sea posible plasmarlo mediante una serie de datos. La imagen que obtenemos del mundo real se denomina modelo conceptual y consiste en una serie de elementos que definen lo que queremos plasmar del mundo real en la base de datos. La definicin de este modelo se denomina esquema conceptual y est compuesto de una parte esttica llamada lenguaje de definicin de datos DDL (Data Definition Language), donde se define la estructura de la base de datos y una parte dinmica denominada lenguaje de manipulacin de datos DML (Data Manipulation Language)
Componentes de un ambiente de bases de datos
Objetivos de un Sistema Administrador de Base de Datos (DBMS): Abstraccin de la informacin. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento fsico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. As, se definen varios niveles de abstraccin. Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (fsico o lgico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. Redundancia mnima. Un buen diseo de una base de datos lograr evitar la aparicin de informacin repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstante, en algunos casos la complejidad de los clculos hace necesaria la aparicin de redundancias. Consistencia. En aquellos casos en los que no se ha logrado esta redundancia nula, ser necesario vigilar que aquella informacin que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultnea.
Seguridad. La informacin almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta informacin se encuentra asegurada frente a usuarios malintencionados, que intenten leer informacin privilegiada; frente a ataques que deseen manipular o destruir la informacin; o simplemente ante las torpezas de algn usuario autorizado pero Profesor. Oscar Saavedra Rodrguez 7
despistado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categoras de permisos. Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la informacin almacenada. Respaldo y recuperacin. Los SGBD deben proporcionar una forma eficiente de realizar copias de seguridad de la informacin almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder. Control de la concurrencia. En la mayora de entornos (excepto quizs el domstico), lo ms habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar informacin, bien para almacenarla. Y es tambin frecuente que dichos accesos se realicen de forma simultnea. As pues, un SGBD debe controlar este acceso concurrente a la informacin, que podra derivar en inconsistencias. Tiempo de respuesta. Lgicamente, es deseable minimizar el tiempo que el SGBD tarda en darnos la informacin solicitada y en almacenar los cambios realizados.
Ventajas de un DBMS: Facilidad de manejo de grandes volmenes de informacin. Gran velocidad en muy poco tiempo. Independencia del tratamiento de informacin. Seguridad de la informacin (acceso a usuarios autorizados), proteccin de informacin, de modificaciones, inclusiones, consulta. No hay duplicidad de informacin, comprobacin de informacin en el momento de introducir la misma. Integridad referencial el terminar los registros. Inconvenientes de un DBMS: El costo de actualizacin del hardware y software son muy elevados. Costo (salario) del administrador de la base de datos es costoso. El mal diseo de esta puede originar problemas a futuro. Un mal adiestramiento a los usuarios puede originar problemas a futuro. Si no se encuentra un manual del sistema no se podrn hacer relaciones con facilidad. Generan campos vacos en exceso. El mal diseo de seguridad genera problemas en esta. Algunos Tipos de DBMS: SGBD libres PostgreSQL (http://www.postgresql.org Postgresql) Licencia BSD MySQL Licencia Dual, depende el uso. Firebird basada en la versin 6 de Interbase, Initial Developer's PUBLIC LICENSE Version 1.0. SQLite (htto://www.sqlite.org SQLite) Licencia Dominio Pblico DB2 Express-C (http://www.ibm.com/ar/businesscenter/catalogo/db2_express-c_phtml) Apache Derby (http://db.apache.or/derby) SGBD gratuitos Microsoft SQL Server Compact Edition Sybase ASE Express Edition para Linux (Edicin gratuita para Linux) Algunos DBMS Comerciales:
Profesor. Oscar Saavedra Rodrguez
Advantage Database dBase FileMaker Fox Pro IBM DB2 Universal Database (DB2 UDB) IBM Informix Interbase de CodeGear, filial de Borland MAGIC Microsoft Access Microsoft SQL Server NexusDB Open Access Oracle Paradox PervasiveSQL Progress (DBMS) Sybase ASE Sybase ASA Sybase IQ WindowBase
4. Modelos de Base de Datos Existen distintos modos de organizar la informacin y representar las relaciones entre los datos en una base de datos. Los SGBD convencionales usan uno de los tres modelos lgicos de datos para hacer el seguimiento de las entidades, atributos y relaciones. Los tres modelos lgicos principales de bases de datos son el jerrquico, de redes y el relacional. Cada modelo tiene ciertas ventajas de procesamiento y tambin ciertas ventajas de negocios. 4.1. Modelo jerrquico de datos Una clase de modelo lgico de bases de datos que tiene una estructura arborescente. Un registro se subdivide en segmentos que se interconectan en relaciones padre-hijo de uno a muchos. Los primeros SABD eran jerrquicos. El modelo jerrquico de datos presenta los datos a los usuarios en una estructura arborescente. El SABD ms comn de tipo jerrquico es el IMS de IBM (Information Management System). Dentro de cada registro, los elementos de datos quedan organizados en partes llamados segmentos. Para el usuario cada segmento se ve como un organigrama con el segmento de nivel superior llamado raz. Un segmento superior se conecta de manera lgica con un segmento inferior en una relacin de tipo padre-hijo. Un segmento padre puede tener ms de un hijo, pero un hijo slo puede tener un padre. La siguiente figura muestra una estructura jerrquica semejante a la que se emplea en los sistemas de reservaciones de las lneas areas. El segmento raz es Origen, que contiene informacin sobre los aeropuertos desde donde se originan los vuelos. El primer hijo es Destino y contiene informacin sobre hacia dnde van los vuelos. El segundo
Profesor. Oscar Saavedra Rodrguez
hijo es Fecha (las lneas areas aceptan en general reservaciones con un ao de anticipacin). El tercer hijo es nmero de vuelo porque en un da cualquiera puede haber diversos vuelos a un solo destino. El cuarto hijo es Listas de pasajeros, que contiene informacin sobre el pasajero (como nombre, telfono local, cundo se hizo la reservacin, direccin de facturacin, forma de pago y, en algunos casos, nmero de asiento). Detrs de la imagen lgica de los datos hay una cantidad de enlaces fsicos y dispositivos para ligar la informacin en un todo lgico. En los SABD lgicos, los datos estn enlazados fsicamente mediante una serie de sealadores que forman cadenas de segmentos de datos relacionados. Los sealadores son elementos de datos asociados a los extremos de los segmentos de registros sobre el disco que dirige el sistema hacia los registros relacionados. En el ejemplo, si la ruta fuera LGA (El aeropuerto La Guardia de Nueva York), al final del segmento Origen se tendran una serie de sealadores hacia todas los posibles destinos. A su vez, al final del segmento Destino se encuentran sealadores hacia las fechas cuando la lnea rea vuela a este destino. Como existen muchos aeropuertos desde donde se originan vuelos, sera conveniente que el sistema pueda encontrar rpidamente el segmento raz adecuado, el aeropuerto de origen. Mejor que leer cada segmento de datos (de los cuales hay millones) uno a la vez hasta que el adecuado (el aeropuerto raz de origen) se encuentre, todos los aeropuertos de origen pueden ser sacados en un ndice que contenga una lista y su localizacin precisa en un disco. Una vez que este segmento raz es identificado, los sealadores tomarn el mando para guiar la bsqueda de la base de datos.
93PS274
Jam es 97PS087
A1 A2 A1 A2
M e e ra B h a w a n A n ith a
M e e ra B h a w a n Jose
97PS085
A1
In g e n ie ra C o m e rc ia l
A 2 In g e n ie ra C iv il In d u s tria l
A1
In g e n ie ra C o m e rc ia l
A 2 In g e n ie ra C iv il In d u s ria l
4.2 Modelo de datos en red El modelo de datos en red es una variacin del modelo de datos jerrquico. De hecho, las bases pueden traducirse de jerrquicas a en redes y viceversa, con el objeto de optimizar la velocidad y la conveniencia del procesamiento. Mientras que las estructuras describen
Profesor. Oscar Saavedra Rodrguez
10
relaciones de uno a muchos, las estructuras en redes describen datos lgicamente en relaciones de muchos a muchos. En una relacin de muchos a muchos en la que los SABD en redes tienen un desempeo excelente es la relacin entre estudiantes y cursos (ver figura siguiente). Existen muchos cursos en una universidad y muchos estudiantes se inscriben en muchos cursos. Los datos de la figura anterior podran haber sido jerrquicamente estructurados. Pero esto hubiera significado una gran redundancia y hubiera hecho ms lenta la respuesta a ciertos tipos de solicitudes de informacin; el mismo estudiante hubiera aparecido en el disco de cada curso que tomara en vez de en uno solo. Las estructuras en red reducen la redundancia y, en ciertas situaciones (en las que existen relaciones muchos a muchos), responden de manera ms rpida. Sin embargo, existe un precio por esta reduccin en cuanto a redundancia e incremento de velocidad. El nmero de sealadores en las estructuras de la red se incrementa rpidamente, haciendo el mantenimiento y la operacin ms caros.
93PS274 James
Ram Bhawan
A1 A1 Ingeniera Comercial
97PS087 Alice
Meera Bhawan A2
97PS086 Anitha
97PS085 Jose
Meera Bhawan A2
4.3. Modelo relacional de datos El modelo relacional de datos, el ms reciente de estos modelos, supera algunas de las limitaciones de los otros dos. El modelo relacional representa todos los datos en la base de datos como sencillas tablas de dos dimensiones llamadas relaciones. Las tablas son semejantes a los archivos planos, pero la informacin en ms de un archivo puede ser fcilmente extrada y combinada. Algunas veces se llama archivos a las tablas.
11
Tabla: Estudiante
Tabla: Disciplina
En la figura se muestra una tabla de proveedores, una de partes y una de pedidos. En cada tabla, los renglones son registros nicos y las columnas son los campos. Otro trmino para un rengln o registro es tupla. Con frecuencia, un usuario requiere informacin de un nmero de relaciones para producir un reporte. Aqu se encuentra la fuerza del modelo relacional, puede relacionar datos en cualquier archivo o tabla con datos de otro archivo o tabla, siempre y cuando ambos compartan el mismo elemento. Para demostrarlo, supngase que se desea encontrar en la base de datos relacional de la figura los nombres y direcciones que nos pudieran abastecer con la parte nmero 137 152. Se necesita informacin de las dos tablas: la tabla de proveedores y la tabla de partes. Ntese que estos dos archivos comparten un elemento de datos NUMEROPROVEEDOR. En una base de datos relacional, se usan tres operaciones bsicas para desarrollar conjuntos tiles de datos, seleccionar, proyectar y unir. La operacin seleccionar crea un subconjunto que contiene todos los registros en el archivo que cumplen con un determinado criterio. Seleccionar crea, en otras palabras, un subconjunto de renglones que cumplen con determinados criterios. En el ejemplo, se desea seleccionar registros (renglones) de la tabla de partes en donde el nmero de parte sea igual a 137 152. La operacin juntar combina las tablas relacionales para proporcionar al usuario ms informacin que la que se encuentra disponible en las tablas individuales. En el ejemplo, se desea unir la ahora acortada tabla de partes (slo las partes de nmero 137 152) y la tabla de proveedores en una nueva y nica tabla de resultados. La operacin proyecto crea un subconjunto que consiste en columnas en una tabla, que permiten al usuario crear nuevas tablas que contengan nada ms la informacin que se requiera. En el ejemplo, se desea extraer de la nueva tabla de resultados slo las columnas siguientes: NUMERO-PARTE, NUMERO-PROVEEDOR, NOMBRE-PROVEEDOR y DIRECCIONPROVEEDOR.
12
Entre los principales sistemas de administracin de bases de datos relacionales para la macrocomputadoras se incluyen el Sybase de Sybase, DB-2 de IBM y el Oracle de la Oracle Corporation, el FoxBase Flus de la Fox Software Inc., y el Paradox de la Borland Internacional Inc, SQL Server y Access de Microsoft. 4.4. Ventajas y desventajas de los tres modelos de bases de datos La principal ventaja de los modelos de bases de datos jerrquicos y red es la eficiencia en el procesamiento. Por ejemplo, un modelo jerrquico es adecuado para sistemas de procesamiento de operaciones de reservaciones en una lnea area, que debe manejar millones de solicitudes rutinarias estructuradas cada da para informacin sobre reservaciones. Las estructuras jerrquica y de red tienen diversas desventajas. Todas las rutas de acceso, directorios e ndices deben ser especificados por adelantado. Una vez especificados, no se pueden cambiar fcilmente sin un esfuerzo importante de programacin. Por tanto, estos diseos tienen poca flexibilidad. Por ejemplo, si se llama a una lnea area y se dice: Mis padres me dieron un boleto de avin para un lugar extraordinario de vacaciones, que sale del aeropuerto La Guardia de Nueva York, pero no me dijeron exactamente dnde y cundo. Adnde me mandan?. Se podra descubrir que no hay manera de que el sistema pueda encontrar la respuesta en un tiempo razonable. Esta trayectoria en los datos no se especific por adelantado. O si el FBI llamara a una de las lneas principales y le preguntara sobre los movimientos de los ltimos seis meses de un terrorista sospechoso que viajara bajo cierto nombre supuesto, la lnea area podra responder luego de varios meses de esfuerzos de programacin (los registros se mantienen durante un perodo de cinco aos en cintas de respaldo). Los sistemas jerrquicos y de redes requieren de una programacin intensiva, consumidora de tiempo, difcil de instalar y ms difcil de corregir si ocurrieran errores de diseo. No soportan consultas adhoc en ingls para informacin. La fuerza de los SABD relacionales es la gran flexibilidad en cuanto a las consultas adhoc, el poder de mezclar la informacin de fuentes distintas, sencillez en el diseo y mantenimiento y capacidad de aadir nuevos datos a registros sin necesidad de perturbar los programas y las aplicaciones ya existentes. La debilidad de los SABD relacionales es su baja eficiencia relativa en el procesamiento. Estos sistemas son algo ms lentos porque en general requieren de muchos accesos a los datos almacenados en disco para llevar a cabo los comandos de seleccin, fusin y proyeccin. La seleccin de un nmero entre millones, un registro a la vez, puede tomar gran cantidad de tiempo. Por supuesto, la base de datos puede ser indexada y afinada para acelerar las consultas previamente especificadas. Los sistemas relacionales no tienen el gran nmero de sealadores que tienen los sistemas jerrquicos. Las grandes bases de datos relacionales pueden disearse para tener alguna redundancia en cuanto a los datos, con objeto de que la recuperacin sea ms eficiente. El mismo elemento de datos puede almacenarse en distintas tablas. La actualizacin de los elementos redundantes de datos no es una actividad automtica en muchos SABD relacionales. Por ejemplo, el cambio del cambio estatus del empleado en una tabla no lo
Profesor. Oscar Saavedra Rodrguez
13
habr de cambiar en todas las tablas. Arreglos especiales se requieren para asegurar que todas las copias del mismo elemento de datos sean actualizadas conjuntamente. Las bases de datos jerrquicas permanecen como el caballo de batalla para el procesamiento intensivo de un alto volumen de operaciones. Los bancos, compaas de seguros y otros usuarios de altos volmenes continan usando las confiables bases de datos jerrquicas, como el IMS de IBM, desarrollado en 1969. Es mucho ms fcil programar aplicaciones en un ambiente relacional, pero muchas empresas no desean gastar millones de dlares para reconvertir el software de sistemas de administracin de base jerrquica a estos sistemas de base relacional. Muchas empresas han cambiado a DB2, el SABD de IBM para nuevas aplicaciones, al mismo tiempo que retienen al IMS para el procesamiento de las operaciones tradicionales. Por ejemplo, la United States Automobile Association, descrita en la Ventana sobre Tecnologa, emplea el DB2 slo para funciones de programacin menos importantes. La Texas Instruments, con sede en Dallas, depende del IMS para sus requerimientos pesados de procesamiento. La Texas manufactura, en el IMS. La empresa ha logrado reunir una inmensa biblioteca de aplicaciones de IMS a lo largo de ms de veinte aos, una convencin total a DB le tomara otros diez aos. A medida que los productos relacionales adquieren ms fuerza, las empresas se alejarn por completo de los SABD jerrquicos, pero esto ocurrir en mucho tiempo. En la tabla se comparan las caractersticas de los distintos modelos de bases de datos. Tabla: Comparacin de las alternativas de bases de datos Tipo de base Eficiencia de Flexibilidad Amigabilidad Complejidad en la de datos procesamiento para usuarios programacin finales
Jerrquica En redes Relacional Alta Media-alta Baja pero mejorando Baja Baja-media Alta Baja Baja moderada Alta Alta Alta Baja
14
5. Modelos de Datos Conceptuales (Semnticos) Se trata de una tcnica de diseo de base de datos grfica, que nos muestra informacin relativa a los datos y la relacin existente entre ellos. Sus caractersticas principales son: Reflejan tan slo la existencia de los datos sin expresar lo que se hace con ellos. Es independiente de las bases de datos y de los sistemas operativos (por lo que puede ser implementado en cualquier base de datos). Est abierto a la evolucin del sistema. Incluye todos los datos que se estudian sin tener en cuenta las aplicaciones que se van a tratar. No tienen en cuenta las restricciones de espacio y almacenamiento del sistema. 5.1. Elementos del Modelo Entidad-Relacin Entidades Son objetos concretos o abstractos que presentan inters para el sistema y sobre los que se recoge informacin que ser representada en un sistema de bases de datos. Por ejemplo, clientes, proveedores y facturas seran entidades en el entorno de una empresa. Atributos Es una unidad bsica e indivisible de informacin acerca de una entidad o una relacin. Por ejemplo la entidad proveedor tendr los atributos nombre, domicilio, poblacin, CIF. Dominios Es el conjunto de valores que puede tomar cada atributo. Por ejemplo el dominio del atributo poblacin, ser la relacin de todas las poblaciones del mbito de actuacin de nuestra empresa.
15
OBJETOS
ATRIBUTOS
RELACIONES
Tiene
Fabricante
Construye
Coche
16
5.3. Modelo de Datos Es una representacin del mundo real en funcin de los Datos Relevantes a un sistema. Datos que son necesarios para representar la conducta del SIA.
Fases de la Metodologa para la estructuracin de los datos Fase 1: Modelo de datos conceptual Mayor nivel de abstraccin del sistema. Es un modelo que representa el problema de gestin en funcin de los Datos Relevantes. La forma cannica, es la menor expresin del modelo conceptual (normalizado) sin redundancia. Fase 2: Modelo de Procesos de Datos Representar como los requerimientos de informacin de un SIA (o ms) solicitan la estructura del modelo conceptual. Decisin del enfoque de uso y almacenamiento de los datos. Representar el contenido y estructura de las B.D., en el particular SABD-g elegido. Fase 3: Modelo de Datos Fsicos Implementacin de los modelos conceptuales en un Administrador de Base de Datos Relacional. Modelo Conceptual MC Est basado en el modelo Entidad-Relacionamiento, de Peter Chen (1976). ALTERNATIVAS: a) Hacer un M.C. para un rea funcional especifico, por ejemplo: Racionalizar la administracin en esa rea. Se est diseando un S.I. en esa rea. Integrar los S.I. de apoyo a esa rea. Administrar la informacin en el rea. b) Anlisis de la informacin global de la organizacin. Determinar cual es el quantum mnimo (o base) de informacin que la organizacin necesita para su gestin. Obtenemos el modelo corporativo.
17
El modelo de datos de Entidad-Relacionamiento (ER) fue introducido por Peter Chen (1976), en donde se describan por primera vez sus principales componentes. El modelo ha sido subsecuentemente extendido (EER) para incluir otros componentes [TEO-86, STO-91, McFadden94]. El ER contina desarrollndose, con lo cual no ha podido obtenerse una notacin estndar definitiva; es as como hoy en da algunos autores fusionan los conceptos de ER y EER bajo un solo nombre: Modelo de Datos EntidadRelacionamiento (McFadden94). Es as que, al referirse al ER, no se esta hablando de aquel modelo original de Chen, sino que del nuevo ente propuesto por aquellos autores que juntaron los antiguos y nuevos conceptos y elementos para conformar el modelo que se presentar. Adentrando un poco en materia, podemos definir un ER como una representacin detallada y lgica de los datos; expresado en trminos de entidades, relacionamientos (o asociaciones) y atributos (o propiedades); y representado grficamente en el Diagrama de Entidad-Relacionamiento (ER). Es construido durante la etapa de anlisis en el proceso de modelamiento de datos. Los mayores componentes del ER son las entidades, relaciones, y atributos que sern detallados a continuacin.
Entidades Se define entidad como una persona, lugar, objeto, evento, o concepto que adopte segn se requiera en el proceso de modelamiento, por ejemplo:
Persona Lugar Evento : EMPLEADOS, PACIENTES, etc. : ESTADOS, REGIN, etc. : VENTAS, COMPRAS, etc.
Dentro de l va el nombre que identifica a la entidad. Cabe hacer la distincin entre entidades (entity types) e instancias (entity instance). Las entidades son objetos, eventos o personas que pertenecen a una realidad. La cual es alguna organizacin o parte de ella donde interesa registrar datos. Objetos; Eventos; Personas; Ej. : Productos, Materias Primas. Ej. : Compras, Ventas, Salidas de Bodega. Ej. : Proveedores, Clientes, Empleados.
18
Una instancia es una ocurrencia de una entidad. Una entidad es descrita slo una vez en una base de datos (esto es conocido como METADATO), en cambio muchas entidades pueden ser. Representadas por los registros de una base de datos. Por ejemplo: Entidad: EMPLEADOS Atributos: RUT NOMBRE DIRECCIN Instancia de EMPLEADO 10.220.712-2 Maxwell, Jonathan Avda. Los Aromos #876 Clasificacin de las Entidades. 1. Entidad Sujeto Entidad Evento : Si su existencia no depende fundamentalmente del tiempo. : Su existencia depende del tiempo. Salida de Bodega.
2. Entidad Regular: Son aquellas que pueden ser identificadas por sus atributos Entidad Dbil: Si es necesaria una relacin para identificar las entidades.
Atributos
Un atributo es una propiedad o caracterstica de una entidad. Un ejemplo es el presentado anteriormente al definir la entidad EMPLEADO. Para nombrar un atributo se usa letra mayscula, al igual que con la entidad y su representacin es por medio del smbolo que se muestra a continuacin. Ej. :
NOMBRE
Adems de una lnea que lo conecte con su respectiva entidad. Atributos descriptores de una Entidad: Son aquellos datos que caracterizan la Entidad, por ejemplo, direccin, edad, fecha_nacimiento, etc. Identificador de la Entidad: Generalmente es nico para una Entidad Sujeto. Entidad : PROVEEDOR Atributos (identificador) : NUMERO_PROVEEDOR (descriptores) Nombre, Direccin, etc. Y es compuesto para las Entidades Evento.
Profesor. Oscar Saavedra Rodrguez
19
<pi>
Identificador Cada entidad debe tener uno o ms atributos que identifiquen nicamente a cada una de las instancias, para as, poder distinguirlas claramente. De esta manera, se define un identificador de aquel(los) atributo(s) que identifican exclusivamente a cada instancia de una entidad. Un ejemplo sera el NUMERO_PROVEEDOR, pues no existe otra instancia que lo contenga. Algunas veces una entidad puede tener varios identificadores; por ejemplo la entidad EMPLEADO puede tener un identificador RUT, y una segundo identificador llamado NOMBRE y DIRECCIN (suponiendo que no hay dos empleados con el mismo nombre que vivan en la misma direccin); en todo caso, de varias posibilidades se opta por determinar a uno de ellos como identificador, as pues se define un identificador como uno de los posibles identificadores que ha sido seleccionado para distinguir una entidad. Para dicha seleccin se aconseja los siguientes consejos propuestos por [BRU-92]: Criterio 1: Elegir aquel identificador que no cambie su valor durante toda su existencia en la instancia. Criterio 2: Elegir aquel identificador tal que para cada instancia, el atributo garantice que su valor no sea vaco (NULL). En el caso de combinaciones de varios atributos este criterio debe cumplirse para cada uno de ellos. Criterio 3: Impedir el uso de las llamadas identificadores inteligentes, cuya estructura puede indicar varias cosas (clasificaciones, localizaciones, fechas, nombres, etc. (todas en un solo nombre)); ya que alguna de ellas puede cambiar. Criterio 4: Considerar sustituir identificadores por alguna combinacin de otros. Su notacin corresponde a subrayar el nombre del atributo para el identificador de la siguiente forma:
RUT
20
Atributos de Multivalor Surge cuando un atributo puede tener ms de un valor para cada instancia. Su notacin es por medio del smbolo que se muestra en el ejemplo siguiente:
CARGAS_FAM.
En este caso un empleado en particular (una instancia de la entidad EMPLEADO), puede tener varias cargas familiares. En todo caso, durante etapas posteriores del modelamiento, se normalizan las entidades eliminando estos atributos colocndolos en entidades separadas o en una relacin. 5.5. Relacionamientos (Asociacin) Un relacionamiento es aquella por medio de la cual se unen los componentes del modelo ER, o sea, una asociacin entre las instancias de una o ms entidades. Su notacin es por medio del smbolo presentado en el ejemplo a continuacin:
H O S P IT A L T IE N E P A C IE N T E
De esta manera se quiere representar la relacin que existe entre la entidad HOSPITAL y la entidad PACIENTE de esta forma: un Hospital puede tener muchos pacientes. Los smbolos que acompaan a las lneas de unin en la relacin, sern explicados ms adelante. Aunque es loable destacar que su omisin es considerada correcta siempre y cuando se deje el nombre de la relacin sobre la lnea que une a las diferentes entidades. Es recomendable que para nombrar la relacin se use un nombre corto y descriptivo.
PROVEEDOR NUMERO_PROVEEDOR NOMBRE DIRECCION NUMERO_PROVEEDOR <pi > I A10 A20 <M> SOLICIT AR PART E NUMERO_PART E DESCRIPCION COST O ST OCK NUMERO_PART E <pi > I A10 I I <M>
<pi >
<pi >
Grado de un relacionamiento Es el nmero de entidades que participan en una relacin; as por ejemplo, si en una relacin participan dos entidades, entonces su grado es dos. Las ms comunes relaciones del ER son: unaria (grado 1), binaria (grado 2), ternaria (grado 3), n-aria.
Profesor. Oscar Saavedra Rodrguez
21
Por supuesto que la posibilidad de grados mayores est abierta, aunque no es frecuente encontrarlos en los modelos ER. Relacin Unaria: tambin llamada relacin recursiva, es una relacin entre las instancias de una entidad; esta relacin puede ser 1:1, 1:m, m:n ( se lee cantidad es a cantidad). Por ejemplo, la representacin de esposo(a) puede ser:
ES-ESPOSO
PERSONA
Notar que esta relacin es 1:1, ya que una persona slo puede tener un esposo a la vez (excluyendo la bigamia). Y la de jefe:
ES-JEFE
TRABAJADORES
Notar que la relacin es 1:m, ya que un jefe puede tener a su cargo a varios trabajadores. Relacin Binaria: es la relacin entre instancias de dos entidades, tambin prevalece que la relacin puede ser entre una entidad y ella misma, entre una entidad y otra(s) distinta(s), o entre muchas entidades con otras muchas. As por ejemplo:
HOSPITAL
TIENE
PACIENTE
Como nota al margen, se destaca que este es el tipo de relacin que con ms frecuencia se encuentra en el proceso de modelamiento. Relacin Ternaria: se define como una relacin simultnea entre instancias de tres entidades tipo, como se explicaba anteriormente. Un ejemplo sera como el que sigue a continuacin, en el que se muestra la relacin que debe existir ante un pedido de productos por parte de los clientes y por medio de una orden de compra
PR O D UC TO P E T IC IO N ORDEN DE COMPRA
BODEGA
22
Gerundios Tambin llamado entidad compuesta, es una relacin entre una entidad y muchas otras (1:m) que se ha cambiado por una entidad con varias relaciones 1:m asociadas. La notacin que usa como simbologa es la que se muestra a continuacin.
El gerundio al ser una entidad, posee tambin todas las caractersticas de las entidades. Este componente es tremendamente til en lo que se refiere a las relaciones ternarias y binarias (sobre todo en las ternarias). En general, para relaciones ternarias o de mayor orden, en donde cualquier lado de la relacin es una muchos, podemos mostrar la relacin como una entidad.
Conectividad (Cardinalidad) en el relacionamiento Se define la CONECTIVIDAD de una relacin como el nmero de instancias de dicha entidad que pueden ser asociadas por cada instancia de otra entidad. As es como surgen los trminos 1:1, 1:m, m:n; en todo caso, esta notacin ya fue introducida anteriormente para que pueda introducirse una definicin intuitiva del significado. La simbologa usada para representar dichas relaciones es:
ES A UNA ES A MUCHAS
Cardinalidad Mnima y Mxima La cardinalidad mnima de una relacin se define como el mnimo nmero de instancias de dicha entidad que pueden ser asociadas con cada instancia de otra entidad. El caso contrario a la definicin de la cardinalidad mxima, es decir, el mximo nmero de instancias que pueden relacionarse con cada una de las instancias de otra entidad. La notacin que representa a estos conceptos, se deben colocar sobre la lnea que une a las entidades (lnea que representa a la relacin), con uno de los siguientes tres
I MINIMA (EXCLUYENDO EL CERO) MINIMA (INCLUYENDO EL CERO) II MAXIMA
smbolos: Por ejemplo el siguiente ER define las entidades HOSPITAL y PACIENTE, que se relacionan con diferente conectividad (cardinalidad).
Profesor. Oscar Saavedra Rodrguez
23
HO S P IT A L
A TIE N D E
P A C IE NT E
En el caso de que la cardinalidad mxima sea un nmero conocido, este se coloca cerca del smbolo que representa la cardinalidad mxima. Dependencia de Existencia Es el concepto que explica el que una instancia perteneciente a una entidad no pueda existir a menos que exista una instancia en otra entidad previamente definida. En el ejemplo anterior si la entidad PACIENTE tuviera atributos tales como nro_hospital y nro_cama, entonces una instancia de esta entidad no podra existir sino existen las correspondientes instancias en la entidad HOSPITAL. Este concepto es tambin aplicable a las entidades por lo cual existiran entidades dependientes de otras. Ocurre frecuentemente que la entidad dependiente de otra no tiene un identificador o clave candidata. Para esto, la clave primaria de la entidad de la cual depende es generalmente usada como parte de la clave primaria de ella misma. De Existencia: Indica cuando debe existir la relacin, dada la existencia de una ocurrencia de las Entidades involucradas en la relacin. A 1 0 B
Significa que: Dado un B debe estar amarrado a un A. Ejemplo: Cliente - Factura Empleado - Carga Comentarios sobre el Relacionamiento
a) Entre dos Entidades puede haber ms de un relacionamiento Fecha Emisin Factura Vencimiento Prometido - Pago Pago Condicin: Cada relacin debe decir algo distinto.
24
Resumen Concepto
Entidades Regular Dbil
Representacin
Relacin
Atributo Atributo
Entidad
Dominio
Este concepto ayuda mucho a: Integridad de datos: ya que la existencia de unos datos depende de la existencia de otro. Fcil acceso a la entidad dependiente.
Tarea
Este ejemplo se entiende de manera que una tarea puede ser desarrollada por un Ingeniero o por un Tcnico pero no por ambos.
25
5.6 Modelamiento de atributos multivalor Los atributos de multivalor pueden ser eliminados despus de varios pasos en el diseo conceptual, como se mencion anteriormente (seccin Atributos de Multivalor). Esto se logra cuando cada atributo multivalor es convertido a una entidad separada que contenga sus propios atributos. GRUPOS REPETIDOS Un conjunto de dos o ms atributos de multivalor que estn lgicamente relacionados forman, como consecuencia de lo anterior, un grupo repetido. Por ejemplo para una instancia de la entidad EMPLEADO se tendr muchos valores para el atributo nombre_carga, que formarn un grupo repetido. Ahora bien, estos grupos repetidos pueden ser eliminados y reemplazados por una nueva entidad que rena a los atributos; y adems, esta nueva entidad es relacionada con la entidad original de donde se sacaron los atributos. Para el ejemplo anterior se tendra una nueva entidad llamada CARGAS, que estara relacionada con la entidad EMPLEADO de la forma Un EMPLEADO tiene muchas CARGAS. La nueva entidad cumple con todas las normas que rigen a las entidades, como lo es definir un atributo como identificador, cardinalidad, etc. Ejemplo: La entidad FUNCIONARIO tiene los siguientes atributos: Nombre Apellido Rut Direccin Telfono Cargas Nombres de cargas Edad de Cargas Empleos Anteriores Cargos_desempeados Duracin del Empleo Anterior En el ejemplo se puede notar que los grupos repetidos corresponden a aquellos relacionados con Cargas y Empleos Anteriores. Se pueden crear por tanto, dos nuevas entidades que agrupen estos grupos: La entidad CARGAS, que poseera los atributos: Nombre de cargas Edad de cargas Rut_Funcionario (para no perder la relacin con la entidad de origen) La entidad EMPLEOS_ANTERIORES, con los atributos: Nombre_Empresa Cargo_desempeado Duracin_Empleo Rut_Funcionario
26
La entidad FUNCIONARIO, con los atributos: Nombre Apellido Rut_Funcionario Direccin Telfono
5.7. Datos Dependientes del Tiempo Los contenidos de las bases de datos varan con el tiempo, un ejemplo muy didctico para explicar esta idea es el registrar la temperatura diaria de un paciente hospitalizado; conceptualizando esto, se podra crear una entidad llamada TEMPERATURA DIARIA que contenga los atributos DA, HORA, IDENTIFICACIN_PACIENTE y TEMPERATURA. Como esto ltimo es un grupo repetido, se puede separar en otra entidad llamada TEMPERATURA DIARIA POR HORAS que los contenga. Grficamente lo anterior sera como lo mostrado en el siguiente modelo ER.
DIA IIDENTIFICACIN_PACIENTE
HORA
TEMPERATURA DIARIA
TEMPERATURA
DIA
IDENTIFICACIN_PACIENT
DIA
IIDENTIFICACIN_PACIENT
TEMPERATURA DIARIA
II
TIENE
As, el valor del atributo temperatura se le estampa en el tiempo una hora una fecha y el nombre de un paciente. Una estampa en el tiempo (time stamp) es un valor en el tiempo (tal como la fecha, la hora y el nombre del paciente) que es asociada a un valor de algn dato que cambia durante el transcurso de su vida. De esta manera, se puede registrar cualquier variacin de los datos. Esta herramienta es muy til cuando se trata con datos variables en el tiempo; y en este punto fue donde existi la gran debilidad del antiguo modelo ER, del cual se habl en el punto anterior, pues para datos dependientes del tiempo este modelo era inadecuado. Esto incentiv el desarrollo de un modelo con conceptos orientados a objetos que permitiera un mayor manejo de datos variables.
27
5.8. Generalizacin - Especializacin Los humanos al ser seres racionales poseen la habilidad de clasificar los objetos y generalizar sus propiedades; por ejemplo un gorrin y un cndor son clasificados sin mayor titubeo bajo el nombre AVE, generalizndolos y obviando el que uno tenga, y carezcan atributos del otro. Con este ejemplo se introducen los conceptos de generalizacin y categorizacin. Generalizacin es el concepto que involucra el que algunas cosas (entidades) son subtipos de otras cosas ms generales; y como no puede existir un SI sin un NO, especializacin es el concepto opuesto, en donde una entidad tiene varios subtipos. A continuacin se bosquejan un ejemplo para cada concepto: Generalizacin : un IBM es un subtipo de computador. Especializacin : automviles tienen los subtipos sedan, deportivos, convertibles, etc. La generalizacin como estructura formal fue estudiada en el rea de la inteligencia artificial, y hasta hace poco estaba limitada a la semntica y a modelos orientados a objetos; hoy en da se incorpor al modelo ER y surgi el modelo EER. Subtipos Y Supertipos Una de las mayores dificultades del modelamiento de datos es reconocer y representar claramente las entidades que comparten propiedades, pero tienen una o ms distintas que las distinguen de las otras entidades. Ante situaciones como sta se proponen tres posibilidades: Definir una entidad que rena todos los atributos de las otras entidades; aunque esto tiene la desventaja de que al contener todos los atributos, alguno de ellos adopte el valor vaco al no ocuparse diariamente. Definir una entidad separada para cada una de las entidades existentes, y que adems rena los atributos que son comunes a todas las entidades. Este mtodo tiene la desventaja de que los usuarios deben ser cuidadosos en elegir la entidad correcta cuando usen el sistema. Definir un supertipo que rena los atributos comunes, y subtipos que contengan cada uno de los restantes atributos. En otras palabras, es dejar las entidades originales, pero se les extraen los atributos que son comunes entre ellas, y se renen en una sola entidad llamada supertipo.
Esto hace aparecer los conceptos de supertipo y subtipo. Supertipo es una entidad genrica que es dividida en subtipos. Un subtipo es un subconjunto de supertipo que comparten atributos o relaciones distintas desde otros subconjuntos. Cabe mencionar que tanto los supertipos como los subtipos cumplen con las normas de las entidades; eso si que el atributo usado como clave primaria (identificador) del supertipo debe coincidir con la clave primaria de los subtipos. La relacin entre cada supertipo y subtipo es llamada relacin ISA, su notacin usa el siguiente smbolo
Profesor. Oscar Saavedra Rodrguez
28
PROFESOR RUT RUT <pi > <pi > IS_A A10 <M>
PRO_JOR_COMPLET A
PROF_PARCIAL
PRO_HORA
Por ejemplo: Esta relacin es leda desde el subtipo al supertipo. La relacin desde el subtipo al supertipo es siempre del tipo obligatorio; es decir, simblicamente:
II
esta cardinalidad es as, pues una instancia de un subtipo es siempre una instancia de un supertipo, y por el otro lado de la relacin, el supertipo con respecto al subtipo es opcionalmente cero o uno. Por lo general, el smbolo usado para la relacin ISA es obviado. A esta relacin ISA se le suma otro smbolo en forma de curva como se muestra a continuacin:
PACIENTE
ISA
ISA
PACIENTE PENSIONADO
Cuyo significado es el de relacin exclusiva. Esta relacin involucra que varios subtipos son mutuamente exclusivos, y que exactamente uno, y no ms de uno, se requiere para cada una de las instancias del supertipo. Cuando usar un subtipo es una decisin que depende de cada circunstancia, aunque se dan dos criterios que pueden ayudar a tomar dicha decisin: Diferentes atributos son usados para describir cada entidad subtipo.
29
REQUERIMIENTOS USUARIO
PROCESO PROCESO NORMALIZACIN NORMALIZACIN MODELO CONCEPTUAL MODELO CONCEPTUAL CANONICO CANONICO REGLAS REGLAS DE TRANSFORMACIN DE TRANSFORMACIN MODELO FSICO MODELO FSICO DE DATOS DE DATOS
FORMAS NORMALES
MODELO RELACIONAL
B.D-R
FASE I: Generacin del Modelo Conceptual La generacin del modelo conceptual de datos se obtiene como una simplificacin de un Diagrama de Clases a travs del uso de la herramienta CASE. Dado que el modelo conceptual es una simplificacin, slo contempla las relaciones de asociacin y las de generalizacin entre las clases, las cuales pasan a convertirse en entidades. Las entidades, a diferencia de las clases slo conservan la estructura de datos, perdiendo las operaciones que se definieron en el Diagrama de Clases. Las relaciones especiales de un diagrama de clases (Agregacin, Composicin y dependencia) deben ser convertidas a relaciones de asociacin normales, manteniendo sus correspondencias previamente establecidas en el otro modelo.
30
Por qu se refina el modelo hasta llegar a la forma cannica? Por razones de mantencin futura del modelo y por facilidades de comprensin, a travs de su documentacin es que se refina el modelo. Cul es la estructura del modelo en la forma cannica? La estructura es de tipo estrella.
Cmo se obtiene una estructura tipo estrella o modelo cannico? Aplicando normalizacin a los datos - 1 Forma Normal - 2 Forma Normal - 3 Forma Normal Proceso de Normalizacin Primera Forma Normal (1 FN): Se identifican grupos de atributos repetitivos que existen o pueden existir en cada entidad. A continuacin, se separan estos grupos de la entidad y pasan a constituir una nueva Entidad. Sin perder la informacin de la llave de identificacin de la entidad que le dio origen. Ejemplo: 1. - Entidad: Orden - Pedido Entidad: Orden - Pedido - Producto 2. - Entidad: Personal Entidad: Personal - Carga Ventaja: Eliminar la redundancia - actualizacin - mantencin - almacenamiento
31
Desventaja: Puede perder claridad el modelo o la individualidad de las entidades. Asegurado Beneficio * Rut, Nombre, Direc. * Rut. , Nombre, Direc. Persona Segunda forma normal (2 FN) Identificar aquellos atributos de la entidad que dependen parcialmente de la llave de identificacin de sta. Estos pasan a constituir una nueva entidad
Identificador de la Entidad
2 FN A Ejemplo: B C B D