Un modelo es una representacin de personas, objetos y eventos del mundo real y sus asociaciones. Es una abstraccin de la realidad, por ejemplo: modelos de aviones, modelos matemticos, maquetas, etc.
Un modelo de datos se define como una descripcin abstracta de los datos a cerca de entidades y asociaciones existentes entre ellos. El modelo de datos tiene dos objetivos principales: representar datos y ser comprensible. Es decir, si un modelo de datos representa exacta y completamente los datos requeridos en la organizacin y es fcil de comprender, entonces puede ser usado para desarrollar alguna aplicacin (o sistema de informacin).
Es posible distinguir tres tipos de modelos o niveles de abstraccin tanto para el caso de los datos o de cualquier otro tipo de elemento a representar.
Modelos Externos: Se refiere a lo que el usuario visualiza de la realidad que se representa. Por ejemplo, en el caso de un avin, un ingeniero de aeronutica lo ve en trminos de lneas y curvas, en cambio un piloto lo ve como un conjunto de instrumentos. Desde la perspectiva del modelamiento de datos, es a travs de los modelos externos que los usuarios explicitan sus requerimientos al analista. Son modelos independientes de la tecnologa (o DBMS existente). Se les denomina tambin vistas de usuarios (user views).
Modelo Conceptual: Consolida las visiones de las distintas personas involucradas en la realidad a representar. En el caso de un modelo de datos, esta consolidacin permite chequear consistencias (todos los usuarios deben referirse al mismo tem de dato con el mismo nombre) y validar que todos los datos y asociaciones hayan sido identificados. Adems se debe capturar la semntica de los datos, e informacin sobre el uso y mantencin de ellos.
Modelo Interno: es una especie de modelo de fabricacin que muestra en forma abstracta cada parte en el lugar en que debe ir. En el modelamiento de datos, provee la interface con la tecnologa (DBMS, sistema operativo, mtodos de acceso y otros programas). Debido a que este tipo de modelo acta con una tecnologa especfica, cada DBMS tiene su propio modelo interno. Se le llama tambin schema.
2
En la Figura 2.1 se muestra una analoga entre los distintos modelos de datos y el modelamiento de una casa. Similar a la labor que realiza un arquitecto para construir una casa, es la que debe llevar a cabo un diseador de una base de datos. En primer lugar, el
Figura 2.1. Tipos de Modelos
arquitecto debe capturar de su cliente las caractersticas que debe tener la casa por l deseada; en cambio el diseador de la base de datos, debe capturar del usuario lo que ste espera que la aplicacin a construir le entregue (es decir, debe capturar los requerimientos de informacin o vistas de usuario). Luego el arquitecto integra las caractersticas entregada por el cliente y construye una maqueta que le permitir validar, Consolidacin Consistencia Completitud Modelos Externos o Vistas Usuarios ............. Cocina Comedor Factura Consulta
Living Control Inventario Modelo Conceptual
Maqueta MD Comprensible Modelo Interno Plano Schema BD Eficiencia Seguridad Integridad Dependiente del DBMS Casa
BD Realidad Fsica Programas y Mtodos de Acceso
3 usando una herramienta visual, si captur con exactitud lo solicitado por el cliente; el diseador de la base de datos, construye un modelo de datos conceptual en el cual integra todas las vistas de usuario, eliminando redundancia y validando que estn todos los datos requeridos. Ahora es posible comenzar a traducir la maqueta o el modelo obtenido en una estructura ms fsica, es decir, en un modelo factible de construir con los recursos existentes, es por ello que el arquitecto construye un plano (donde incorporar medidas, tipo de material, cableado, etc.) y el diseador de la base de datos, traduce su modelo a uno procesable en un DBMS. Para representar un modelo de datos, existen distintos tipos de simbologas (grficas y narrativas). Se acostumbra usar por ejemplo, la simbologa propuesta por Chen en su Modelo E-R (Entidad-Relacin). En general se cuenta con dos tipos de modelos de representacin: los modelos de datos independientes de la tecnologa (como el E-R y el Orientado a Objeto) y los dependientes de ella (jerrquico, redes y relacional). Cada uno de ellos permite representar con distintos smbolos las diferentes caractersticas y significado de los datos.
Hasta el nivel del modelo de datos conceptual se puede ser independiente del DBMS y se pretende que los modelos utilizados en este nivel, sean capaces de capturar la mayor cantidad de semntica de los datos involucrados y las diferentes situaciones en que ellos se pueden encontrar.
Por otra parte, los modelos independientes de la tecnologa han sido desarrollados para representar modelos externos y conceptual de una mejor forma que los tradicionales modelos jerrquico, reticular y relacional (a estos ltimos se les denomina modelos dependientes de la tecnologa por ser procesables en un DBMS y ser por ello ms representativo de un modelo a nivel interno que conceptual y externo).
4 2.1.2.- Naturaleza del Dato
Para describir un dato deben considerarse tres niveles de abstraccin o estados en que se encuentra el dato. Estos se pueden visualizar en la Figura 2.2 y son: realidad, metadato y dato.
Eventos, Objetos Diccionario de Datos Base de Datos y
Realidad Metadato Dato (o valor)
Figura 2.2.- Niveles de Abstraccin del Dato
REALIDAD
Comprende el mundo real (una organizacin), con sus componentes y el medio ambiente en el cual opera. Cualquier organizacin se considera como un conjunto de personas, recursos financieros, materiales y equipos, que son organizados para satisfacer ciertos objetivos; adems posee una interaccin con el medio. Una entidad es una persona, objeto o evento sobre lo que la organizacin decide coleccionar y almacenar datos. Una entidad puede ser tangible como un empleado, un producto, un computador o un cliente; o intangible como una cuenta de un banco, un vuelo, un centro de costos. Una clase de entidades, es un conjunto de entidades que poseen caractersticas similares. Por ejemplo, todos los clientes de una empresa. Tambin se le llama tipo de entidades, y a veces, suele usarse indistintamente el trmino entidad o clase de entidad. En general, cada entidad es asociada a una y solo una clase de entidades. Sin embargo, esta asignacin as como la definicin de clase de entidades puede ser arbitraria, por ejemplo, la clase Empleados involucra a los empleados con contrato fijo solamente o tambin a los con contrato a honorarios, la respuesta va a depender del criterio del diseador. El nmero de clases de entidades por organizacin depende del tamao y complejidad de ella. Por ejemplo, una organizacin de tamao medio define generalmente varios cientos de clases de entidades.
Clase de Entidades Definicin Tipo de Registro Ocurrencia de Registro Atributos Definicin Itemes de Dato Ocurrencia de Itemes de Dato
5 Un atributo es una propiedad de una clase de entidades que se desea almacenar. Para cada clase existe un conjunto de atributos de inters para la organizacin. Por ejemplo, para la clase Empleado algunos atributos de inters seran: Rut, Nombre, Direccin, Telfono y Cargo. Cada entidad dentro de una clase, debe poseer al menos un atributo (o una combinacin de ellos) que la distinga de otras entidades dentro de su clase. A este atributo se le llama identificador, llave o clave primaria. Por ejemplo, el Rut para Empleado, Nro.Producto para Producto, Nro.Factura + Nro.Producto para Pedido. Este atributo debe ser nico, es decir, no pueden existir dos entidades con un mismo valor para ese atributo dentro de una clase. Otra propiedad de una entidad es la asociacin o relacionamiento (relationship) entre dos o ms clases de entidades. Esta se ver ms adelante. Las entidades son del mundo real, pero en la prctica es difcil para un administrador tomar decisiones en base a la observacin directa de ellas. Por eso la organizacin requiere modelar estas entidades.
METADATO
Es informacin acerca de los datos de una organizacin. Se usa para desarrollar modelos lgicos de las entidades y asociaciones de una organizacin. El metadato es almacenado y mantenido en el diccionario de datos (o repositorio) de una organizacin. Cada clase de entidad tiene un tipo de registro definido como metadato, cada atributo tiene un tipo de tem de dato como metadato. Un tem de dato es la unidad de dato ms pequea en una Base de Datos. Por ejemplo, Nombre del Empleado, Rol del Alumno, Fecha de Orden de Compra. En el diccionario de datos se registra por cada tem de dato, informacin sobre su nombre, largo, tipo y una breve descripcin narrativa de l. Un dato agregado, es un conjunto de tems de datos que son nombrados y referidos como un todo. Por ejemplo, Fecha est compuesto de Da, Mes y Ao. Debe registrarse informacin sobre ellos en el diccionario de datos. Un tipo de registro es un conjunto de tems de datos y/o datos agregados. La definicin de un tipo de registro para cada clase de entidades que se guarda en el diccionario de datos contiene por ejemplo: nombre del registro, descripcin, tamao (o largo), tems de datos, datos agregados e identificacin de clave primaria.
DATO (o valor)
Corresponde a ocurrencias de datos. Por cada entidad, existe una ocurrencia de registro que contiene valores de tem de datos que la representan. Es importante distinguir la diferencia entre metadatos (definiciones del dato) y dato (ocurrencias del dato). Los metadatos no son almacenados en la base de datos sino que en el diccionario de datos, los datos (ocurrencias de datos) son almacenados en la base de datos.
6 2.2.- Modelos Independientes de la Tecnologa
Hasta el nivel del modelo conceptual se puede ser independiente de la tecnologa (o DBMS) y se pretende que los modelos utilizados en este nivel, sean capaces de capturar la semntica de los datos y las distintas situaciones en las cuales los datos se pueden encontrar.
Existen modelos que han sido desarrollados para representar modelos externos y conceptual de una mejor forma que los modelos jerrquicos, reticular y relacional ms utilizados a nivel de modelo interno, pues estos ltimos se definen como modelos procesables en el DBMS.
A continuacin se detallarn dos de los modelos independientes de la tecnologa ms utilizados en la actualidad.
2.2.1.- Modelo de Datos Entidad-Relacin (E/R)
Este modelo fue propuesto por Chen en 1976, y bsicamente en su primera versin mejoraba el modelo reticular al introducir un smbolo de diamante para representar las asociaciones entre entidades. Es el modelo ms usado por las herramientas CASE con que hoy se cuenta. Existen varias extensiones a la versin original, tanto de Chen como de otros autores, no existiendo an una versin standard, por lo cual a continuacin se detalla un resumen de los smbolos ms comnmente usados.
SEMANTICA GRADO Binaria Unaria Ternaria Especializacin parcial y total SEMANTICA GENERALIZACION
8
CARACTERSTICAS ESPECIALES
Cada diamante dentro del Modelo E/R representa un tipo de asociacin, este diamante existe tanto para las asociaciones 1:1, 1:M y M:N.
Se acostumbra darle un nombre a la asociacin, generalmente se utilizan verbos de tal manera de representar a travs de ellos, la accin que une a las entidades.
Dentro del diamante pueden ir atributos, slo si se tratan de asociaciones M:N, a stos se les llama datos de interseccin. Por ejemplo, un modelo E/R para una distribuidora de productos podra ser el siguiente: SEMANTICA CARDINALIDAD Cardinalidad 1 Mandatoria Cardinalidad Muchos (M) (1,2,....M) Cardinalidad Opcional 0 o 1 Cardinalidad Opcional 0-Muchos (0,1,...M)
9
Es decir, los atributos pueden estar asociados a entidades y asociaciones; en este ltimo caso corresponden a datos de interseccin. En el momento de la implementacin una asociacin con atributos en ella, se convierte en una entidad o archivo. Esto lleva a un dilema: es un diamante una entidad?, a nivel interno debe serlo, a nivel externo slo depende de como la ve el usuario, por ejemplo una alternativa al modelo anterior sera considerando LINEA-PRODUCTO como una asociacin no como una entidad:
CLIENTE PEDIDO realiza Nombre Direccin #Pedido Fecha tiene LINEA PRODUCTO #Producto #Producto Descripcin #Pedido #Producto Cantidad PRODUCTO es-asignado tiene Precio Tpo-Entrega PROVEEDOR #Proveedor Nombre-Prov Dir-Prov