Introducción
Un modelo de datos es un lenguaje orientado a hablar una Base de Datos. Típicamente un modelo de datos permite describir:
· Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se relacionan.
· Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar correctamente la realidad deseada.
· Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado, modificación y recuperación de los datos de la base.
Otro enfoque es pensar que un modelo de datos permite describir los elementos de la realidad que intervienen en un problema dado y la forma en que se relacionan esos elementos entre sí.
No hay que perder de vista que una Base de Datos siempre está orientada a resolver un problema determinado, por lo que los dos enfoques propuestos son necesarios en cualquier desarrollo de software.
El modelo de datos se puede clasificar de la siguiente forma:
· Modelos de Datos Conceptuales
· Modelos de Datos Lógicos
· Modelos de Datos Físicos
Esquema modelamiento de una base de datos.
Modelo Conceptual
Son los orientados a la descripción de estructuras de datos y restricciones de integridad. Se usan fundamentalmente durante la etapa de Análisis de un problema dado y están orientados a representar los elementos que intervienen en ese problema y sus relaciones. El ejemplo más típico es el Modelo Entidad-Relación
Ventajas del Diseño Conceptual:
· El modelo conceptual aporta claridad y evita confusiones que surgen de intentar definir algo tan complejo como la estructura de una organización utilizando únicamente el lenguaje natural.
· Contribuye a detectar los posibles errores desde el principio, ya que permite al diseñador, una amplia visión de los datos y relaciones.
· Se obtiene una representación de datos independientes del entorno físico, lo que permite la fácil exportación del mismo a diferentes SGBD o a versiones distintas del mismo.
· Mejora el mantenimiento de la información.
El modelamiento más descriptico del Modelo Conceptual es el MODELO ENTIDAD/RELACION.
El modelo de datos de entidad-relación (ER)
Se basa en una percepción de un mundo real que consiste en un conjunto de objetos básicos llamados entidades y de relaciones entre estos objetos. Se desarrolló para facilitar el diseño de bases de datos permitiendo especificar un esquema empresarial. Este esquema representa la estructura lógica general de la base de datos.
Objetos básicos del modelo ER
Los conceptos básicos previstos por el modelo ER son entidades, relaciones y atributos.
· Entidades y conjunto de entidades
Una entidad es un objeto que existe y puede distinguirse de otros objetos. La entidad puede ser concreta, por ejemplo: una persona o un libro; o abstracta, por ejemplo un día festivo o un concepto.
Un conjunto de entidades es un grupo de entidades del mismo tipo. El conjunto de todas las personas que tienen una cuenta en el banco, por ejemplo, puede definirse como el conjunto de entidades clientes. Una entidad está representada por un conjunto de atributos. Los posibles atributos del conjunto de entidades clientes son nombre, documento, calle y ciudad. Para cada atributo existe un rango de valores permitidos, llamado dominio del atributo. El dominio del atributo nombre podría ser el conjunto de todas los nombres de personas de cierta longitud.
· Relaciones y conjunto de relaciones
Una relación es una asociación entre varias entidades. Por ejemplo es posible definir una relación que asocia al cliente Gutiérrez con la cuenta 401. Un conjunto de relaciones es un grupo de relaciones del mismo tipo. Se definirá el conjunto de relaciones clientecuenta para denotar la asociación entre los clientes y las cuentas bancarias que tienen. La relación clientecuenta es un ejemplo de una relación binaria, es decir, una que implica a dos conjuntos de entidades.
Existen conjuntos de relaciones que incluyen a n-conjuntos de entidades, relaciones narias, por ejemplo las relaciones tenaria cliecuentasuc que especifica que el cliente Gutiérrez tienen la cuenta 401 en la surcusal Córdoba.
Los relaciones recursivas son relaciones binarias que conectan una entidad consigo misma.
Una relación también puede tener atributos descriptivos o rótulos. Por ejemplo, fecha podría ser un atributo del conjunto de relaciones clientecuenta. Esto especifica la última fecha en que el cliente tuvo acceso a su cuenta.
· Cardinalidades de mapeo
Un esquema ER empresarial puede definir ciertas limitantes con las que deben cumplir los datos contenidos en la base de datos. Una limitante importante es la de las cardinalidades de mapeo que expresan el número de entidades con las que puede asociarse otra entidad mediante una relación.
Los cardinalidades de mapeo son más útiles al describir conjuntos binarios de relaciones, aunque también son aplicables a conjuntos n-arios de relaciones.
Para un conjunto binario de relaciones R entre los conjuntos de entidades A y B, la cardinalidad de mapeo puede ser:
· Una a una: una entidad de A está asociada únicamente con una entidad de B y una entidad de B está asociada solo con una entidad de A.
· Una a muchas: una entidad en A está asociada con varias entidades de B, pero una entidad de B puede asociarse únicamente con una entidad de A.
· Muchas a una: una entidad de A está asociada únicamente con una entidad en B, pero una entidad de B está relacionada con varias entidades de A.
· Muchas a muchas: una entidad en A está asociada con varias entidades de B y una entidad en B está vinculada con varias entidades de A.
Modelo Lógico
Son orientados a las operaciones más que a la descripción de una realidad. Usualmente están implementados en algún Manejador de Base de Datos. El ejemplo más típico es el Modelo Relacional, que cuenta con la particularidad de contar también con buenas características conceptuales (Normalización de bases de datos).
Este Modelos busca obtener una representación del modelo conceptual que use de forma eficiente las facilidades de estructuración de datos y modelado de restricciones, disponibles en el modelo.
El modelamiento más descriptico del Modelo Lógico es el MODELO RELACIONAL.
El modelo de datos Relacional
Se trata de un modelo bastante potente y a la vez bastante simple, que nos representas problemas. El elemento principal de este modelo es la relación. Por lo que podemos decir que una base de datos relacional está compuesta por un conjunto de relaciones.
· Relación
La relación se representa mediante una tabla, esta tabla representa a lo que en el modelo entidad-relación llamábamos entidad. Esta tabla contiene los atributos (columnas) y las tuplas (filas).
Atributo: se trata de cada una de las columnas de la tabla. Vienen definidas por un nombre y pueden contener un conjunto de valores.
Tupla: se trata de cada una de las filas de la tabla. Es importante señalar que no se pueden tener tuplas duplicadas en una tabla.
· Dominios
El dominio dentro de la estructura del modelo relacional es el conjunto de valores que puede tomar un atributo. Existen dos tipos de dominios:
Dominios generales: son aquellos que están comprendidos entre un máximo y un mínimo.
Dominios restringidos: son los que pertenecen a un conjunto de valores específicos.
· Claves
Cada tupla de una tabla tiene que estar asociada a una clave única que permita identificarla.
Una clave puede estar compuesta por uno o más atributos.
Una clave tiene que ser única dentro de su tabla y no se puede descartar ningún atributo de la misma para identificar una fila.
Existen dos tipos de claves:
Clave primaria (Primary Key): es el valor o conjunto de valores que identifican una fila dentro de una tabla. Nunca puede ser NULL. Un ejemplo claro de clave primaria seria el DNI, que es único para cada persona y no puede ser NULL.
Clave ajena (Foreign Key): es el valor o valores de una tabla que corresponde con el valor de una clave primaria en otra tabla. Esta clave es la que representa las relaciones entre las tablas.
· Vistas
Se trata de una tabla ficticia la cual muestra atributos de otras tablas relacionadas. De esta forma obtenemos los datos que nos interesan de una o varias tablas. Es importante señalar que no se pueden realizar operaciones sobre vistas.
Modelo Físico
El diseño físico es el proceso de producir una descripción de la implementación de la base de datos en memoria secundaria. Describe las relaciones base y las estructuras de almacenamiento y métodos de acceso que se utilizarán para acceder a los datos de modo eficiente. El diseño de las relaciones base sólo se puede realizar cuando el diseñador conoce perfectamente toda la funcionalidad que presenta el SGBD que se vaya a utilizar.
El primer paso consiste en traducir el esquema lógico global de modo que pueda ser fácilmente implementado por el SGBD específico. A continuación, se escogen las organizaciones de ficheros más apropiadas para almacenar las relaciones base, y los métodos de acceso, basándose en el análisis de las transacciones que se van a ejecutar sobre la base de datos. Se puede considerar la introducción de redundancias controladas para mejorar las prestaciones. Otra tarea a realizar en este paso es estimar el espacio en disco.
La seguridad de la base de datos es fundamental, por lo que el siguiente paso consiste en diseñar las medidas de seguridad necesarias mediante la creación de vistas y el establecimiento de permisos para los usuarios.
El último paso del diseño físico consiste en monitorizar y afinar el sistema para obtener las mejores prestaciones y satisfacer los cambios que se puedan producir en los requisitos.
Bibliografía
· www.Wikipedia.com
· www.google.cl
· www.emagister.com
· www.ibm.com
Autor:
Daniel del Canto
Analista Programador Incacap Valparaíso