Вы находитесь на странице: 1из 8

1.

3 Componentes y Reglas del modelo relacional


Los componentes del modelo relacional son:
Tabla
Es un arreglo bidimensional de datos. Una tabla est formada por un encabezado que define su
nombre y los nombres de las columnas y un cuerpo que contiene la fila de datos. Podemos decir
entonces que, en esencia, una base de datos relacional est formada por una recopilacin de
tablas. Por ejemplo, una tabla Estudiantes deber contener, entre otras, las columnas para
almacenar un nmero de documento nacional de identidad, un nombre, domicilio y un cuerpo con
los valores de los estudiantes con los valores de Seguridad.
Las columnas que forman una tabla almacenan los valores de cada atributo definido para la tabla,
tienen definido un tipo de dato y un dominio que define los valores posibles de de cada columna.
El orden de una relacin o tabla es la cantidad de columnas que posee y la cardinalidad es la
cantidad de filas que tiene la tabla.
Existe un valor especial para las columnas que se define a continuacin:
Valor null
Se define como null el valor que puede tomar un atributo en una tupla cuando se desconoce dicho
valor; por ejemplo: No se sabe el domicilio de una persona, Se desconoce su fecha de
nacimiento, etc.. Se diferencia el valor null de cualquier otro valor (blanco,--, etc.) que implique
una asignacin a un atributo; null significa que dicho atributo no tiene asociado ningn valor o que
su valor es desconocido. Null puede asignarse a tributos en cualquier dominio; ahora bien, no
es equivalente el valor null de un atributo tipo fecha con el valor null del domicilio de una persona,
es decir, no se pueden comparar nulos de atributos distintos; s puede evaluarse si el valor de un
atributo es o no null.
Ejemplo con la relacin Estudiante y sus tuplas
Estudiantes(dni:number, nombre:String, domicilio: String, Fecha_nac:Date) Pk(dni)
Ejemplo de tuplas:
t1<28645789V, Juan Lpez Castro, Avda. Reina Mercedes 24-5, #1/12/1982#>
t2<75476123K, Ana Snchez Benjumea, null, #1/10/1981#>
t3<33444444F, Araceli Valdivieso , San Jacinto 83 -3, null>
t4<07802444S, Antonio Mrquez ,null, null>
En la figura 1 se muestra un ejemplo de Tabla

DNI

28645789V
75476123K
33444444F
07802444S

ESTUDIANTES
NOMBRE
DOMICILIO

Juan Lpez Castro


Ana Snchez Benjumea
Araceli Valdivieso
Antonio Mrquez

Mercedes 24-5
Null
San Jacinto 83 -3
Null

FECHA
NAC
1/12/1982
1/10/1981
Null
Null

Figura 1. La relacin Estudiante en forma de tabla

Materia: Base de Datos I


Profesor: Calixto Maldonado

-1-

La zona sombreada corresponde al encabezamiento de la tabla y los datos estn en el cuerpo de


la tabla, zona sin sombrear.
No es suficiente con entender cada tabla en lo individual. Para comprender una base de datos
relacional tambin se deben comprender las conexiones o relaciones entre las tablas. Las filas de
una tabla generalmente se relacionan con las filas de otras tablas. Los valores que coinciden
(idnticos) indican relaciones entre las tablas. Considere el ejemplo de la tabla Inscripciones, en la
que cada rengln representa a un estudiante inscripto en alguno de los cursos ofrecidos. La
columna DNI ESTUDIANTE es una clave fornea que apunta a la clave primaria de la tabla
ESTUDIANTES.

INSCRIPCIONES
DNI ESTUDIANTE
CURSO

FECHA INSC

28645789V

INGLS

01/05/2008

75476123K

FRANCS

21/05/2008

33444444F
FRANCS
22/05/2008
Figura 2. Tabla con una clave fornea

Regla de Integridad de entidad


La regla de integridad de la entidad es el mecanismo que gobierna el comportamiento de la clave
primaria de una relacin, de modo que la representacin de entidades en el modelo relacional
garantice la identificacin o distincin de las mismas en el universo de modelado. "Ningn
atributo que forme parte de la clave primaria de una relacin puede tomar un valor nulo"
[Sevilla,2004]; es decir, un valor desconocido o inexistente.

Regla de Integridad referencial


La regla de integridad referencial gobierna las situaciones de representacin de interrelaciones en
el universo de discurso, de modo que se representan vnculos existentes o inexistentes, pero se
eviten referencias no permitidas. Esto quiere decir que si se define una columna o un grupo de
columnas, para cada fila habr un valor de esta clave y este valor debe existir en la tabla que
referencia como clave fornea. En el cuadro de la siguiente pgina observamos que en la tabla
Libro, existe una columna clave fornea Editorial, que referencia a la clave primaria nombre_e de
la tabla Editorial que es la clave primaria de esta tabla. Observamos que en la tabla Libro, en cada
fila hay un valor que existe en la tabla Editorial, y que la excepcin es el valor nulo que indica que
no se conoce el editorial del libro Virus informtico. Ver en la figura 4 de un ejemplo de Integridad
referencial.

Materia: Base de Datos I


Profesor: Calixto Maldonado

-2-

Figura 3. Ejemplo de Integridad Referencial

LAS 12 REGLAS DE CODD QUE DETERMINAN LA FIDELIDAD DE UN


SISTEMA RELACIONAL AL MODELO RELACIONAL [Petra, 1998]
En la dcada de los 80 comenzaron a aparecer numerosos SGBD (Sistemas de Gestin de Bases
de Datos, traduccin de DBMS) que se anunciaban como "relacionales". Sin embargo estos
sistemas carecan de muchas caractersticas que se consideran importantes en un sistema
relacional, perdiendo muchas ventajas del modelo relacional. Como ejemplo extremo de esto
"sistemas relacionales" eran simplemente sistemas que utilizaban tablas para almacenar la
informacin, no disponiendo de elementos como claves primarias, etc.
En 1984 Codd public 12 reglas que un verdadero sistema relacional debera de cumplir. En la
prctica algunas de ellas son difciles de realizar.
Un sistema podr considerarse "ms relacional" cuanto ms siga estas reglas.

REGLA 0 (es un prerrequisito, no contada dentro de las 12 reglas)


Para que un sistema se denomine sistema de gestin de bases de datos relacionales, este
sistema debe usar (exclusivamente) sus capacidades relacionales para gestionar la base de
datos.

Materia: Base de Datos I


Profesor: Calixto Maldonado

-3-

REGLA 1: REGLA DE LA INFORMACIN


Toda la informacin en una base de datos relacional se representa explcitamente en el nivel
lgico exactamente de una manera: con valores en tablas.




Por tanto los metadatos (diccionario, catlogo) se representan exactamente


igual que los datos de usuario.
Y puede usarse el mismo lenguaje (ej. SQL) para acceder a los datos y a
los metadatos (regla 4)
Un valor posible es el valor nulo, con sus dos interpretaciones:
Valor desconocido (ej. direccin desconocida)
Valor no aplicable (ej. empleado soltero no tiene esposa).

REGLA 2: REGLA DEL ACCESO GARANTIZADO


Para todos y cada uno de los datos (valores atmicos) de una Base de datos relacional en
adelante BDR, se garantiza que son accesibles a nivel lgico utilizando una combinacin de
nombre de tabla, valor de clave primaria y nombre de columna.






Cualquier dato almacenado en una BDR tiene que poder ser direccionado
unvocamente. Para ello hay que indicar en qu tabla est, cul es la
columna y cul es la fila (mediante la clave primaria).
Por tanto se necesita el concepto de clave primaria, que no es soportado en
muchas implementaciones. En estos casos, para lograr un efecto similar se
puede hacer lo siguiente:
Hacer que los atributos clave primaria no puedan ser nulos (NOT NULL).
Crear un ndice nico sobre la clave primaria.
No eliminar nunca el ndice.

REGLA 3: TRATAMIENTO SISTEMTICO DE VALORES NULOS


Los valores nulos (que son distintos de la cadena vaca, blancos, 0, ...) se soportan en los SGBD
totalmente relacionales para representar informacin desconocida o no aplicable de manera
sistemtica, independientemente del tipo de datos.
Se reconoce la necesidad de la existencia de valores nulos, para un tratamiento sistemtico de los
mismos. Hay problemas para soportar los valores nulos en las operaciones relacionales,
especialmente en las operaciones lgicas.

Lgica trivaluada.
Es una posible solucin. Existen tres (no dos) valores de verdad: Verdadero, Falso y Desconocido
(null). Se crean tablas de verdad para las operaciones lgicas:

Materia: Base de Datos I


Profesor: Calixto Maldonado

-4-

Figura 4. Tablas de Verdad de Lgica Trivaluada

Ejemplos:

null Y null = null


Verdadero Y null = null
Falso Y null = Falso
Verdadero O null = Verdadero
Verdadero Y Falso = Falso

Un inconveniente es que de cara al usuario el manejo de los lenguajes relacionales se complica al


resultar difcil de entender esta lgica trivaluada.

REGLA 4: CATLOGO DINMICO EN LNEA BASADO EN EL MODELO


RELACIONAL
La descripcin de la base de datos se representa a nivel lgico de la misma manera que los datos
normales, de modo que los usuarios autorizados pueden aplicar el mismo lenguaje relacional a su
consulta, igual que lo aplican a los datos normales.
Es una consecuencia de la regla 1 que se destaca por su importancia. Los metadatos se
almacenan usando el modelo relacional, con todas las consecuencias.

REGLA 5: REGLA DEL SUBLENGUAJE DE DATOS COMPLETO


Un sistema relacional debe soportar varios lenguajes y varios modos de uso de terminal (ej:
rellenar formularios, etc.). Sin embargo, debe existir al menos un lenguaje cuyas sentencias sean
expresables, mediante una sintaxis bien definida, como cadenas de caracteres y que sea
completo, soportando:






Definicin de datos
Definicin de vistas
Manipulacin de datos (interactiva y por programa)
Limitantes de integridad
Limitantes de transaccin (iniciar, realizar, deshacer) (Begin, commit,
rollback)

Materia: Base de Datos I


Profesor: Calixto Maldonado

-5-

Adems de poder tener interfaces ms amigables para hacer consultas, etc.


siempre debe de haber una manera de hacerlo todo de manera textual, que
es tanto como decir que pueda ser incorporada en un programa tradicional.

Un lenguaje que cumple esto en gran medida es SQL.

REGLA 6: REGLA DE ACTUALIZACIN DE VISTAS


Todas las vistas que son tericamente actualizables se pueden actualizar por el sistema.
El problema es determinar cules son las vistas tericamente actualizables, ya que no resulta muy
claro.
Cada sistema puede hacer unas suposiciones particulares sobre las vistas que son actualizables.

REGLA 7: INSERCIN, ACTUALIZACIN Y BORRADO DE ALTO NIVEL


La capacidad de manejar una relacin o tabla (base o derivada) como un conjunto se aplica no
slo a la recuperacin de los datos (consultas), si no tambin a la insercin, actualizacin y
borrado de datos.
Esto es, el lenguaje de manejo de datos tambin debe ser de alto nivel (de conjuntos). Algunas
bases de datos inicialmente slo podan modificar las tuplas de la base de datos de una en una
(un registro de cada vez).

REGLA 8: INDEPENDENCIA FSICA DE DATOS


Los programas de aplicacin y actividades del terminal permanecen inalterados a nivel lgico
cuando quiera que se realicen cambios en las representaciones de almacenamiento o mtodos de
acceso.
El modelo relacional es un modelo lgico de datos y oculta las caractersticas de su
representacin fsica.

REGLA 9: INDEPENDENCIA LGICA DE DATOS


Los programas de aplicacin y actividades del terminal permanecen inalterados a nivel lgico
cuando quiera que se realicen cambios a las tablas base que preserven la informacin.
Cuando se modifica el esquema lgico preservando informacin (no valdra por ejemplo eliminar
un atributo) no es necesario modificar nada en niveles superiores. Ejemplos de cambios que
preservan la informacin:

Aadir un atributo a una tabla base.


Sustituir dos tablas base por la unin de las mismas.
Usando vistas de la unin puedo recrear las tablas anteriores...

Materia: Base de Datos I


Profesor: Calixto Maldonado

-6-

REGLA 10: INDEPENDENCIA DE INTEGRIDAD


Los limitantes de integridad especficos para una determinada base de datos relacional deben
poder ser definidos en el sub lenguaje de datos relacional, y almacenables en el catlogo, no en
los programas de aplicacin.

El objetivo de las bases de datos no es slo almacenar los datos, si no


tambin sus relaciones y evitar que estas (limitantes) se codifiquen en los
programas. Por tanto en una BDR se deben poder definir limitantes de
integridad.
Cada vez se van ampliando ms los tipos de limitantes de integridad que se
pueden utilizar en los SGBDR, aunque hasta hace poco eran muy escasos.
Como parte de los limitantes inherentes al modelo relacional (forman parte
de su definicin) estn:
Una BDR tiene integridad de entidad. Es decir, toda tabla debe tener una
clave primaria.
Una BDR tiene integridad referencial. Es decir, toda clave externa no nula
debe existir en la relacin donde es primaria.

REGLA 11: INDEPENDENCIA DE DISTRIBUCIN


Una BDR tiene independencia de distribucin.

Las mismas rdenes y programas se ejecutan igual en una BD centralizada que en una
distribuida.
Las BDR son fcilmente distribuibles:
o Se parten las tablas en fragmentos que se distribuyen.
o Cuando se necesitan las tablas completas se recombinan usando
operaciones relacionales con los fragmentos.
o Sin embargo se complica ms la gestin interna de la integridad, etc.
Esta regla es responsable de tres tipos de transparencia de distribucin:
o Transparencia de localizacin. El usuario tiene la impresin de que
trabaja con una BD local. (aspecto de la regla de independencia
fsica)
o Transparencia de fragmentacin. El usuario no se da cuenta de que
la relacin con que trabaja est fragmentada (aspecto de la regla de
independencia lgica de datos).
o Transparencia de replicacin. El usuario no se da cuenta de que
pueden existir copias (rplicas) de una misma relacin en diferentes
lugares.

REGLA 12: REGLA DE LA NO SUBVERSIN


Si un sistema relacional tiene un lenguaje de bajo nivel (que procese un registro de cada vez), ese
bajo nivel no puede ser usado para saltarse (subvertir) las reglas de integridad y los limitantes
expresados en los lenguajes relacionales de ms alto nivel (que procesan relaciones o conjunto
de filas de cada vez).

Materia: Base de Datos I


Profesor: Calixto Maldonado

-7-




Algunos problemas no se pueden solucionar directamente con el lenguaje


de alto nivel.
Normalmente se usa SQL inmerso en un lenguaje anfitrin para solucionar
estos problemas. Se utiliza el concepto de cursor para tratar individualmente
las tuplas de una relacin. En cualquier caso no debe ser posible saltarse
los limitantes de integridad impuestos al tratar las tuplas a ese nivel.

Materia: Base de Datos I


Profesor: Calixto Maldonado

-8-