Buscar este blog

domingo, 18 de diciembre de 2011

TEORÍA DE RELACIONES I

Relaciones

Las bases de datos representan entidades, que pueden ser objetos materiales como libros y fotografías, seres animados como personas o ideas abstractas como teorías y conceptos.

Para ser eficaces, las bases de datos deben representar a las entidades con la mayor fidelidad posible. Es por ello que los registros de las bases de datos deben incluir las propiedades más relevantes de cada tipo de entidad. Esto se hace a través de los modelos de registros que, como sabemos, se articulan en campos que, a su vez, corresponden a propiedades de las entidades. Si el modelo de registro descuida alguna propiedad importante de una entidad, la base de datos será ineficiente.

Ahora bien, las entidades, además de tener atributos, tienen relaciones entre ellas. Por ejemplo, supongamos una base de datos de imagen que contenga datos sobre fotografías y sobre fotógrafos. Ciertamente, tanto las fotografías como los fotógrafos son entidades que poseen determinadas propiedades, y los registros deben recogerlas de la forma más adecuada posible en sus modelos de registro, siempre según los objetivos de la base de datos y el público de la misma.

Ahora bien, por el mismo motivo que necesitamos representar a las entidades y a sus propiedades, necesitamos también representar las relaciones que se dan entre las entidades.

Por ejemplo, entre imágenes y autores se da la siguiente relación: las imágenes son hechas por autores. Para saber como tratar estas relaciones en una base de datos necesitamos determinar el grado de la misma. A efectos de su representación, consideramos que los grados de una relación pueden ser de tres clases:

- De uno a uno (1:1)
- De uno a varios (n:1)
- De varios a varios (n:m)

CARDINALIDAD

Cardinalidad de las relaciones
El tipo de cardinalidad se representa mediante una etiqueta en el exterior de la relación, respectivamente: "1:1", "1:N" y "N:M", aunque la notación depende del lenguaje utilizado, la que más se usa actualmente es el unificado. Otra forma de expresar la cardinalidad es situando un símbolo cerca de la línea que conecta una entidad con una relación:
"0" si cada instancia de la entidad no está obligada a participar en la relación.
"1" si toda instancia de la entidad está obligada a participar en la relación y, además, solamente participa una vez.
"N" , "M", ó "*" si cada instancia de la entidad no está obligada a participar en la relación y puede hacerlo cualquier número de veces.
Ejemplos de relaciones que expresan cardinalidad:
Cada esposo (entidad) está casado (relación) con una única esposa (entidad) y viceversa. Es una relación 1:1.
Una factura (entidad) se emite (relación) a una persona (entidad) y sólo una, pero una persona puede tener varias facturas emitidas a su nombre. Todas las facturas se emiten a nombre de alguien. Es una relación 1:N.
Un cliente (entidad) puede comprar (relación) varios artículos (entidad) y un artículo puede ser comprado por varios clientes distintos. Es una relación N:M.

TIPOS DE RELACIONES
1°DE UNO A UNO
Estas relaciones entre bases de datos se dan cuando cada campo clave aparece sólo una vez en cada una de las tablas.
Tomando un ejemplo del mundo real, una clara relación de "uno a uno" podría ser, el nombre de cualquier persona y su número de teléfono. Si partimosdel supuesto en que cada persona tiene un solo número de teléfono, se podría hablar de una relación "uno a uno".
Gráficamente, se podría representar de la siguiente manera:


2°RELACION DE UNO A VARIOS
El ejemplo del caso anterior (cada persona, un teléfono), si bien es correcto teóricamente, es muy improbable desde el punto de vista de la realidad. Conla gran expansión de los teléfonos, por lo general, cada persona tiene un número de teléfono fijo, y ademas del teéfono móvil. Debemos tener en cuenta que de el de su casa también tendrá un número de teléfono de empresa, y que quizá también sus móviles estén divididos en ocio y trabajo.
Por ello, debemos tener nuestras bases de datos preparadas para ello. Este tipo de relaciones es conocido como "uno a varios", y se podría representar de la siguiente manera:


3°RELACION DE VARIOS A VARIOS
Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa.
Por ejemplo: tenemos dos tablas una con los datos de clientes y otra con los artículos que se venden en la empresa, una cliente podrá realizar un pedido con varios artículos, y un artículo podrá ser vendido a más de un cliente.
Las relaciones varios a varios se suelen representar definiendo una tabla intermedia entre las dos tablas. Siguiendo el ejemplo anterior sería definir una tabla lineas de pedido relacionada con clientes y con artículos.

No hay comentarios: