• No results found

4. Materials & Methods

6.4 Comparison to other Modelling Approaches

Un dominio D es un conjunto de valores atómicos. Por atómico queremos decir que cada valor de un domi- nio es indivisible en lo que al modelo relacional se refiere. Una forma habitual de especificar un dominio es indicar un tipo de dato desde el que se dibujan los valores del mismo. También resulta útil darle un nombre que ayude en la interpretación de sus valores. Los siguientes son algunos ejemplos de dominios:

„ NumerosTelefonosFijos. El conjunto de los 9 dígitos que componen los números de teléfono en España. „ NumerosTelefonosMoviles. El conjunto de los 9 dígitos que componen los números de teléfono móvi-

les en España.

„ DocumentoNacionalIdentidad. El conjunto de documentos nacionales de identidad (DNI) válidos en España.

„ Nombres. El conjunto de caracteres que representan el nombre de una persona.

„ MediaNotasCurso. Los posibles valores obtenidos al calcular la media de las notas obtenidas por un alumno a lo largo del curso. Debe ser un valor en punto flotante comprendido entre 1 y 10.

„ EdadesEmpleado. Las posibles edades de los empleados de una empresa; cada una debe estar com- prendida entre 16 y 80.

5.1 Conceptos del modelo relacional 125

„ NombresDepartamentosAcademicos. El conjunto de nombres de los departamentos académicos de una universidad, como Informática, Económicas o Física.

„ CodigosDepartamentosAcademicos. El conjunto de códigos de los departamentos, como ‘INF’, ‘ECON’ y ‘FIS’.

Lo expuesto anteriormente se conoce como definiciones lógicas de dominios. Para cada uno de ellos se espe- cifica también un tipo de dato o formato. Por ejemplo, el tipo de datos del dominio Numeros-TelefonosFijos

puede declararse como una cadena de caracteres de la forma ddddddddd, donde cada d es un dígito numérico (decimal) y los dos, o tres, primeros especifican la provincia del número. El tipo de datos para

EdadesEmpleado es un número entero comprendido entre 16 y 80, mientras que para Nombres- DepartamentosAcademicos, es el conjunto de todas las cadenas de caracteres que representen los nombres de departamento válidos. Un dominio cuenta, por tanto, con un nombre, un tipo de dato y un formato. También puede facilitarse información adicional para la interpretación de sus valores; por ejemplo, un dominio numé- rico como PesoPersona debería contar con las unidades de medida, como kilogramos o libras.

Un esquema de relación2R, denotado por R(A

1, A2, . . . ,An), está constituido por un nombre de relación R y una lista de atributos A1, A2, . . ., An. Cada atributo Aies el nombre de un papel jugado por algún dominio D en el esquema de relación R. Se dice que D es el dominio de Aiy se especifica como dom(Ai). Un esquema

de relación se utiliza para describir una relación; se dice que R es el nombre de la misma. El grado (o arity) de una relación es el número de atributos n de la misma.

El siguiente es un ejemplo de esquema de relación de siete niveles (describe los estudiantes de una universi- dad):

ESTUDIANTE(Nombre, Dni, TlfParticular, Dirección, TlfTrabajo, Edad, Mnc)

Usando los tipos de datos de cada atributo, la definición aparece escrita a veces como:

ESTUDIANTE(Nombre: cadena, Dni: cadena, TlfParticular: cadena, Dirección: cadena, TlfTrabajo: cadena, Edad: entero, Mnc: real)

En este esquema de relación, ESTUDIANTEes el nombre de la misma y cuenta con siete atributos. En la defi- nición de más arriba mostramos una asignación de tipos genéricos a los atributos como cadena o entero. Basándonos en los ejemplos de dominios mostrados anteriormente, estos son los que se corresponden con alguno de los atributos de la relación ESTUDIANTE: dom(Nombre) = Nombres; dom(Dni) = Documento- NacionalIdentidad; dom(TlfParticular) = NumerosTelefonosFijos,3dom(TlfTrabajo) = NumerosTelefonosFijosy

dom(Mnc) = MediaNotasCurso. Es posible referirse también a los atributos de una relación por su posición dentro de la misma; así, el segundo atributo de ESTUDIANTEes Dni, mientras que el cuarto es Dirección. Una relación (o estado de relación)4r del esquema R(A

1, A2, . . . , An), también especificado como r(R), es un conjunto de n-tuplas r = {t1, t2, . . . , tm}. Cada tupla t es una lista ordenada de n valores t = <v1, v2, . . . ,

vn>, donde vi, 1 ⱕ i ⱕ n, es un elemento de dom(Ai) o un valor especial NULL(los valores NULLse tratan más adelante y en la Sección 5.1.2). El i-enésimo valor de la tupla t, que se corresponde con el atributo Ai, se refe- rencia como t[Ai] (o t[i] si utilizamos una notación posicional). Los términos intensidad de la relación para el esquema R y extensión de relación del estado r(R) son también muy utilizados.

La Figura 5.1 muestra un ejemplo de una relación ESTUDIANTEque se corresponde con el esquema del mismo nombre recién especificado. Cada tupla de la relación representa a un estudiante en particular.

2 Un esquema de relación recibe a veces el nombre de diseño de relación.

3 Debido a que casi todo el mundo dispone de un teléfono móvil, podría usarse también NumerosTelefonosMoviles como dominio. 4 Este concepto también ha recibido el nombre de instancia de relación, aunque no utilizaremos este término porque se emplea también

para hacer referencia a una única tupla o fila.

Figura 5.1. Los atributos y tuplas de una relación ESTUDIANTE.

Mostramos la relación como una tabla en la que cada tupla aparece como una fila y cada atributo como un

encabezamiento de columna que indica la interpretación que habrá que dar a cada uno de los valores de la

misma. Los valores NULL representan atributos cuyos valores no se conocen, o no existen, para una tupla

ESTUDIANTEindividual.

La anterior definición de relación puede ser enunciada más formalmente del siguiente modo. Una relación (o estado de relación) r(R) es una relación matemática de grado n en los dominios dom(A1), dom(A2), . . . , dom(An) que es un subconjunto del producto cartesiano de los dominios que definen R:

r(R) 債 (dom(A1) ⫻ dom(A2) ⫻ . . . ⫻ dom(An))

El producto cartesiano especifica todas las posibles combinaciones de valores de los dominios subyacentes. Por tanto, si especificamos el número total de valores, o cardinalidad, de un dominio D como |D| (asumien- do que todos ellos son finitos), el número total de tuplas del producto cartesiano es:

|dom(A1)| ⫻ |dom(A2)| ⫻ . . . ⫻ |dom(An)|

Este producto de cardinalidades de todos los dominios representa el número total de posibles instancias, o tuplas, que pueden existir en la relación r(R). De todas estas posibles combinaciones, un estado de relación en un momento dado (el estado de relación actual) sólo refleja las tuplas válidas que representan un estado par- ticular del mundo real. En general, a medida que varía el estado del mundo real lo hace también la relación, convirtiéndose en otro estado de relación diferente. Sin embargo, el esquema R es relativamente estático y no cambia salvo en circunstancias excepcionales (por ejemplo, como resultado de añadir un atributo para repre- sentar nueva información que no se encontraba originalmente en la relación). Es posible para varios atributos

tener el mismo dominio. Los atributos indican diferentes papeles, o interpretaciones, para el dominio. Por

ejemplo, en la relación ESTUDIANTE, NumerosTelefonosFijosjuega el papel de TlfParticulary TlfTrabajo.

Related documents