|
Modelo Relacional: Conceptos básicos
| |
Claro que lo entiendo. Incluso un
niño de cinco años podría entenderlo. ¡Que me traigan un niño
de cinco años! |
| Groucho Marx. |
Comenzaremos con la definición de algunos conceptos básicos:
Dominio:
- Conjunto de valores identificados por un nombre. En el contexto del
Modelo Relacional no tendremos dominios complejos (p.ej. set, array, record, ...),
deberán ser tipos simples (p.ej. char, integer, ...).
Relación:
- Subconjunto del producto cartesiano de n dominios simples (no necesariamente disjuntos).
En tal subconjunto no existirán elementos repetidos; por otra parte cabe
destacar que el orden de los elementos no es significativo.
- A partir de este momento nos podremos referir a Relación también como Tabla.
P.ej., tomando la extensión de la relación:
- Es tabla:
- Es tabla:
- No es tabla:
- No es tabla:
Entidad:
- Siendo muy purista quizá este concepto no debería aparecer aquí :-?,
es posterior al modelo dado por Codd allá por 1970, no obstante se utiliza
comunmente. Según el Modelo Entidad-Relación, diseñado por
Chen, se trata de algo que se puede conceptualizar como diferente de todo lo demás,
y de lo que sólo interesan sus propiedades. Por otra parte, Chen viene a definir
relación como una asociación entre entidades, siendo que el hecho
de no incluirla en el modelo que diseñemos, supondría pérdida de
información. En el Modelo Relacional, pese a utilizar el término
relación para referirnos a entidades y asociaciones, es comunmente
utilizado también entidad, cosa que nos permite una diferenciación
más clara e intuitiva sobre el concepto al que nos referimos (por otra parte
también lo utilizaremos en la Regla de Integridad Entidad de una relación).
Atributo:
- Papel o rol que juega un dominio dentro de una tabla, define una propiedad de la
relación. Es lo que, por poner una equivalencia, en términos de
ficheros se ha dado en llamar campo.
Con los conceptos expuestos hasta ahora, podemos ver un
ejemplo de representación
gráfica:
La interpretación de este diseño es la siguiente: un módulo
puede estar integrado en varias aplicaciones para alguna versión, y a su vez
una aplicación estará integrada por varios módulos diferentes.
Por otra parte, cada módulo ha sido implementado por un programador, mientras
que un mismo programador ha podido implementar varios módulos.
MODULO, APLICACION, PROGRAMADOR, INTEGRA e IMPLEMENTA
son relaciones, si bien podemos puntualizar que
MODULO, APLICACION y PROGRAMADOR son entidades, y que
INTEGRA e IMPLEMENTA son relaciones entre sus respectivas entidades.
En este ejemplo se muestra un atributo versión de la relación
INTEGRA.
|
Grado de una relación:
- Número de atributos de dicha relación.
Tupla:
- Cada uno de los elementos de una relación (se parece pero no es lo mismo
que un registro; en una tupla el orden de los atributos no es significativo).
Cardinalidad de una relación:
- Es el número de tuplas que tiene dicha relación en un momento determinado.
Esquema de la relación:
- Nombre de la relación seguido por los nombres de sus atributos, siendo que
éstos se muestran entre paréntesis y separados por comas.
P.ej.: EMPRESA(cif, telefono, ciudad, n_empleados)
Valor Nulo (NULL):
- Valor que puede tomar cualquier dominio para representar la información en caso de que bien dicha
información sea desconocida, o bien sea inaplicable al caso concreto.
Normalización:
- Se trata del proceso de organización de los datos en tablas de modo
que se evite la redundancia de éstos, garantizando además que
los atributos en cada tabla quedan identificados por un único valor
de la clave. Mediante este proceso eliminaremos las
anomalías.
Otros conceptos (dependencias funcionales, formas normales, etc)... to do O:-)
|
|
 |
 |
| De interés: |
 |
 |
- I.I.U.G.:
International Informix Users Group.
|
|
|