02. Esquema relacional: representación de la realidad

Contenidos

    No hay encabezados.

    Una vez presentado el Modelo Relacional, es importante reflexionar, aunque sea de una forma muy intuitiva9 sobre la forma en que los datos, resultantes de la observación de la realidad, se pueden estructurar en relaciones para capturar el conocimiento que se tiene de la misma.

    Ejemplo 2.19

    Sea el esquema relacional del Ejemplo 2.8:

    RÍO (rcod: dom_rcod, nombre: dom_nom)

    OTROS_RIOS (rcod: dom_rcod, nombre: dom_nom)

    PROVINCIA (pcod: dom_pcod, nombre: dom_nom)

    PASA_POR (pcod: dom_pcod, rcod: dom_rcod)

    La base de datos relacional correspondiente a este esquema permite gestionar información geográfica. Como puede observarse, para cada objeto de la realidad del que se quiere tener información (p.e. ríos y provincias) se define una relación cuyos atributos denotan las propiedades de interés de esos objetos (código, nombre, ...) de manera que cada tupla presente en la relación se interpreta como una instancia particular del objeto. Para representar las asociaciones (relaciones) entre objetos se utilizan referencias explícitas mediante atributos que identifican a los objetos (p.e. cada tupla de la relación Pasa_por denota que un río, representado por el atributo rcod, pasa por una provincia, representada por el atributo pcod),

    Ejemplo 2.20

    PROVEEDOR (vcod: d_vcod, nombre: d_nom1, ciudad: d_ciu)

    PIEZA (zcod: d_zcod, nombre: d_nom2, color: d_color, peso: d_peso, ciudad: d_ciu)

    PROYECTO (ycod: d_ycod, nombre: d_nom3, ciudad: d_ciu)

    PEDIDO (vcod: d_vcod, zcod: d_zcod, ycod: d_ycod, cant: d_cant)

    La base de datos relacional correspondiente a este esquema permite llevar la gestión de pedidos es un empresa. Las tres primeras relaciones del esquema representan la información de interés relativa a los proveedores, las piezas y los proyectos; en la relación Pedido aparecen tres atributos que representan respectivamente a un proveedor, una pieza y un proyecto de manera que cada tupla de la relación denota que un proveedor (vcod) suministra una determinada pieza (zcod) a un proyecto (ycod) en una cantidad (cant).

    Ejemplo 2.21

    COMPOSITOR (nom_comp: d_nom, año:d_año, nación:d_nación)

    DIRECTOR (nom_dir:d_nom, año:d_año, biografía:d_bio)

    OBRA (cod_obra: d_cod_obra, título: d_título, año: d_año, nom_comp: d_nom)

    DISCO (ref: d_ref, nombre: d_nom, año: d_año, compañía: d_comp)

    ESTÁ_EN (cod_obra: d_cod_obra, ref: d_ref, nom_dir: d_nom)

    La base de datos relacional correspondiente a este esquema permite llevar la gestión de una discoteca (colección de discos). Obviamente, cada tupla de las relaciones Compositor, Director, Obra y Disco representan respectivamente información sobre un compositor, un director, una obra y un disco; el atributo nom_comp de la relación Obra es una referencia a alguno de los compositores e indica quién escribió esa obra; por último cada tupla de la relación Está_en representa el hecho de que una determinada obra (representada por cod_obra) ha sido grabada en un disco (el de referencia ref) bajo la batuta del director (aquél cuyo nombre sea nom_dir).

    De la observación de estos ejemplos se puede intuir que hay atributos en una relación que juegan papeles especiales. Así, en el Ejemplo 2.21 no tendría sentido que en la relación Obra hubiera dos tuplas que tuvieran los mismos valores en el atributo cod_obra ya que entonces no habría forma de distinguir una obra musical de otra; tampoco parece razonable que en esa misma relación el atributo nom_comp de alguna tupla contuviera un valor que no apareciera en la relación Compositor. Para que la base de datos represente siempre estados válidos de la realidad estos atributos van a estar sometidos a ciertas restricciones que aseguraran la calidad de la información almacenada. Estas ideas se estudiarán en el apartado 2.4.