martes, 26 de febrero de 2008

1.3 Modelo de datos

Los modelos de datos son heramientas conceptuales que sirven para describir los datos, las relaciones entre los datos, las condiciones o restricciones que deben cumplir estas relaciones y, finalmente, la semantica de las mismas. Se verán dos modelos diferentes, el modelo Entidad-Relación, creado originalmente por Peter Chen, y el modelo Relacional, creado por Edgar Frank Codd. ambos modelos son equivalentes, en el sentido de que una serie de trasformaciones permite siempre pasar de un modelo a otro.

Existen, no obstante, muchos otros modelos. A nivel general, estos modelos se pueden clasificar en tras grandes grupos: modelos lógicos basados en objetos, modelos lógicos basados en registros y modelos físicos

Modelo Entidad-Relación (E-R)



En este modelo se utiliza en concepto de Entidad para representar los objetos básicos del sistema que queremos modelar. Las entidades se caracterizan por tener unos atributos, y por tener establecidas relaciones entre si. Todo el sistema se construye sobre estos tres conceptos, lo que le proporciona una de sus principales virtudes: su sencillez. Veamos con más detalle cada uno de estos conceptos.


Entidades


Una entidad es cualquier "objeto" discreto sobre el que se tiene información. Se representa mediante un rectángulo, etiquetada con el nombre de la entidad en su interior. La naturaleza de la entidad debe ser tal que sea perfectamente distinguible del resto del modelo. Por ejemplo, en un sistema bancario, las personas, las cuentas bancarias o las sucursales se podrían interpretar como entidades.

Normalmente en el sistema a modelar hay más de un ejemplar de la Entidad. Cada uno de estos ejemplares se denomina instancia. Por ejemplo, "Ana" y "Benito" pueden ser dos instancias distintas de la entidad "persona". Las instancias no se representan en el diagrama.


Relaciones


Una relación describe cierta interdependencia (de cualquier tipo) entre entidades. Se representa mediante un rombo, que debe unirse mediante líneas con las entidades que relaciona (es decir, los rectángulos).

Una relación no tiene sentido sin las entidades que relaciona. Por ejemplo: una persona (entidad) trabaja (relación) para un departamento (entidad).


Atributos


Los atributos son propiedades relevantes propias de una entidad y/o relación. Se representan mediante una elipse etiquetada con nombre en su interior. Cuando un atributo es identificativo de la entidad se subraya.

Los atributos describen información útil sobre las entidades. En particular, los atributos identificativos son aquellos que permiten diferenciar a una instancia de la entidad de otra distinta. Por ejemplo, el atributo identificativo que distingue a un empleado de otro podría ser su número de la Seguridad Social.



Se debe destacar que las líneas del diagrama solo unen atributos con entidades, o atributos con relaciones, o entidades con relaciones. En un diagrama de E/R NO existen otros posibles usos para las líneas aparte de los mencionados. Un error común es unir directamente dos entidades. No se puede unir con una linea una entidad con otra, obligatoriamente han de pasar por una relación.

Se denomina conjunto de entidades (entity set) al conjunto de todas las instancias que pertenezcan a una entidad. El conjunto de todas las relaciones del mismo tipo se denominan conjunto de relaciones.

Además de representar entidades y relaciones, el modelo permite representar restricciones que los datos almacenados deban cumplir. Una restricción importante es la correspondencia de cardinalidad, que expresa el número de entidades con las que otra entidad se puede asociar a través de una relación.

Veremos con más detalle el modelo relacional en el tema 2.

Modelo relacional



En modelo relacional se denomina así porque se utiliza un conjunto de relaciones o tablas para representar todo; tanto los datos como las interdependecias entre ellos (Las relaciones a las que hace referencia el modelo relacional no se deben confundir con el concepto general de relación, que se usa en el modelo Entidad/Relación; se refiere aquí al concepto matemático de relación: un conjunto de tuplas. Haciendo unas cuantas salvedades, podemos asumir que una relación o conjunto de tuplas es equivalente a una tabla). Cada tabla está compuesta por varias columnas, y cada columna tiene su propio nombre, que debe ser único. Este modelo es un ejemplo de modelo basado en registros. Estos modelos se denominan así porque la base de datos se estructura en registros de formato fijo, de diferentes tipos. Cada tabla contiene registros de un tipo particular. Cada tipo de registro define un número fijo de campos, donde cada campo representa un atributo.

El modelo de datos relacional es el modelo más ampliamente usado, y la mayoría de los sistemas actuales se basan, parcial o totalmente, en el modelo relacional. Se estudiará este modelo con más detalle en los temas 3 al 7.

Es habitual realizar primero un esquema E-R, situado en un nivel superior de abstracción, que luego es traducido al modelo relacional. En el Tema 2 se verá con más detalle este mecanismo de traducción.

Por último, se ha de destacar que en el modelo relacional es posible crear esquemas que tengan carencias graves, como por ejemplo, información duplicada. El tema 7 se dedicará íntegramente a evitar estos malos diseños y se presentarán los conceptos de normalización.


Más información

No hay comentarios: