Modelo relacional
El modelo relacional constituye una alternativa
para la organización y representación de la información que se pretende
almacenar en una base de datos. Se trata de un modelo teórico matemático que,
además de proporcionarnos los elementos básicos de modelado (las relaciones),
incluye un conjunto de operadores (definidos en forma de un álgebra relacional)
para su manipulación, sin ambigüedad posible.
Su
idea fundamental es el uso de «relaciones». Estas relaciones podrían considerarse en forma
lógica como conjuntos de datos llamados «tuplas». Pese a que ésta es la teoría de las bases de
datos relacionales creadas por Edgar
Frank Codd, la mayoría de
las veces se conceptualiza de una manera más fácil de imaginar, esto es,
pensando en cada relación como
si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un registro o tupla),
y columnas (también llamadas campos).
Introducción al
Modelo Relacional.
¿Qué es un Modelo?
Cuando en teoría de diseño de bases de datos se emplea el término
"modelo", esto no tiene el mismo significado que en Lógica.
En Lógica por "modelo" se entiende una interpretación en la
que se satisfacen (se evalúan como ciertas) las fórmulas de una teoría, lo que
asegura su consistencia.
En Bases de Datos, un Modelo es un formalismo que nos permite
representar la realidad y, más concretamente, aquélla parte de la realidad que nos
interesa (Una Empresa, una Universidad, una Biblioteca, el catálogo de las
especies protegidas en un determinado país...).
Las partes fundamentales de un Modelo, son:
•Estructura de datos
•Restricciones
•Operadores asociados.
ELEMENTOS DE UNA BASE DE DATOS RELACIONAL
- TABLAS:
Son estructuras encargadas de alojar la información de la base de datos.
- CAMPOS:
Son cada una de las columnas de una tabla, cada campo almacena un dato en concreto.
- REGISTROS:
Cada una de las filas de la tabla que agrupa toda la información de un mismo elemento.
- RELACIONES:
Son los vínculos establecidos entre as diferentes tablas que permiten trabajar con los datos de todas ellas, como si estuvieran en una sola.
- CONSULTA:
Mediante el uso de consulta se puede extraer información concreta aunque la misma provenga de varias tablas.
- CLAVES:
Es un campo cuyo contenido no puede estar duplicado en la misma tabla y permite identificar a cada registro de manera univoca.
- FORMULARIOS:
Son ventanas que permiten trabajar de manera cómoda sobre el contenido de varias tareas simultáneamente.
- INFORMES:
De la base de datos se adquiere la información y se imprime, o otra vez de un pantallazo.
Son estructuras encargadas de alojar la información de la base de datos.
- CAMPOS:
Son cada una de las columnas de una tabla, cada campo almacena un dato en concreto.
- REGISTROS:
Cada una de las filas de la tabla que agrupa toda la información de un mismo elemento.
- RELACIONES:
Son los vínculos establecidos entre as diferentes tablas que permiten trabajar con los datos de todas ellas, como si estuvieran en una sola.
- CONSULTA:
Mediante el uso de consulta se puede extraer información concreta aunque la misma provenga de varias tablas.
- CLAVES:
Es un campo cuyo contenido no puede estar duplicado en la misma tabla y permite identificar a cada registro de manera univoca.
- FORMULARIOS:
Son ventanas que permiten trabajar de manera cómoda sobre el contenido de varias tareas simultáneamente.
- INFORMES:
De la base de datos se adquiere la información y se imprime, o otra vez de un pantallazo.
Estructura de datos en el Modelo
Relacional.
El Modelo Relacional fue propuesto por
E.Codd en 1970 (E.Codd era entonces un investigador del Centro de IBM en San
José (California) y publicó su propuesta en un artículo fundamental que obtuvo
el ACM Award correspondiente al Congreso VLDB de 1970).
La estructura subyacente básica es la
relación, entendida en su acepción matemática básica: Un subconjunto de un
producto cartesiano de conjuntos.
Cuando se pretende describir una
parcela de la realidad mediante el formalismo relacional, el primer paso es
discernir los atributos presentes en el problema.
Un atributo es un ítem elemental de
información, en el sentido de no poder desglosarse en componentes más simples.
Los atributos son los nombres que
damos a las propiedades de los objetos acerca de los cuales se va a guardar
información.
Base de datos relacional
Una Base de Datos Relacional, es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para
implementar bases de datos ya planificadas. Permiten establecer interconexiones
(relaciones) entre los datos (que están guardados en tablas), y a través de
dichas conexiones relacionar los datos de ambas tablas, de ahí proviene su
nombre: "Modelo Relacional". Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San
José (California), no tardó en consolidarse como un nuevo paradigma en los
modelos de base de datos.
Estructura de las Bases de
Datos Relacionales
|
1.- Estructura de las Bases de Datos Relacionales Es la estructura más utilizada actualmente. En ella los datos están estructurados en tablas: - Cada fila es un registro o entidad. - Cada columna es un campo de ese registro. Esta estructura es similar al concepto matemático de relación, por ello ha tenido tanto auge, ya que todas las teorías y reglas matemáticas sobre relaciones son aplicables, lo que hace que sea fácil de formalizar. A la tabla se le llama relación, y a cada fila tupla; a cada columna de una tupla se le llamará atributo, es en esto en lo que se diferencia del modelo matemático. Convencionalismos
|
Concepto de Base de datos Relacionales.
Una base de datos relacional es una base de datos en donde todos los datos visibles al usuario están organizados estrictamente como tablas de valores, y en donde todas las operaciones de la base de datos operan sobre estas tablas. Estas bases de datos son percibidas por los usuarios como una colección de relaciones normalizadas de diversos grados que varían con el tiempo. El modelo relacional representa un sistema de bases de datos en un nivel de abstracción un tanto alejado de los detalles de la máquina subyacente, de la misma manera como, por ejemplo, un lenguaje del tipo de PL/1 representa un sistema de programación con un nivel de abstracción un tanto alejado de los detalles de la máquina subyacente. De hecho, el modelo relacional puede considerarse como un lenguaje de programación más bien abstracto, orientado de manera específica hacia las aplicaciones de bases de datos. [Date, 1993] En términos tradicionales una relación se asemeja a un archivo, una tupla a un registro, y un atributo a un campo. Pero estas correspondencias son aproximadas, en el mejor de los casos. Una relación no debe considerarse como ``solo un archivo'', sino más bien como un archivo disciplinado, siendo el resultado de esta disciplina una simplificación considerable de las estructuras de datos con las cuales debe interactuar el usuario, lo cual a su vez simplifica los operadores requeridos para manejar esas estructuras.
Estructura de datos relacional
Una base de datos relacional consiste en un conjunto de tablas, a cada una de las cuales se le asigna un nombre exclusivo. Cada fila de la tabla representa una relación entre un conjunto de valores. Dado que cada tabla es un conjunto de dichas relaciones, hay una fuerte correspondencia entre el concepto de tabla y el concepto matemático de relación, del que toma su nombre el modelo de datos relacional.
Estructura básica
Considérese la tabla cuenta. Tiene tres cabeceras de columna: número-cuenta, nombre-sucursal y saldo. Siguiendo la terminología del modelo relacional se puede hacer referencia a estas cabeceras como atributos. Para cada atributo hay un conjunto de valores permitidos, llamado dominio de ese atributo. Para el atributo nombre-sucursal, por ejemplo, el dominio es el conjunto de los nombres de las sucursales.
- TABLAS: son esencialmente relaciones.
- ATRIBUTOS: son las cabeceras de las tablas.
- DOMINIO: es el conjunto de valores que toma un atributo.
- TUPLAS: son cada una de las líneas que contiene una tabla.
- CLAVE PRIMARIA: atributo o conjunto de atributos de una relación que identifican inequívocamente a una tupla.
- Requisitos para que una clave primaria lo sea:
- Unicidad: el valor de la clave primaria de una tupla, no se puede repetir.
- Minimalidad: si el PK (Primary Key) es compuesto, no se podrá eliminar ninguno de sus componentes.
- CLAVE FORÁNEA O EXTERNA: atributo o conjunto de atributos que son clave primaria en otra relación o tabla.
Relaciones en bases de datos
Cuando
aprendemos el modelo relacional, el cuál es el más conocido en
teoría de datos; normalmente se nos enseña que existen 4 tipos de
relaciones:
- Uno a uno (1 a 1)
- Uno a muchos (1 a N)
- Muchos a muchos (N a M)
- Muchos a uno (N a 1)
Lo
que pocas veces se nos explica claramente es que el modelo relacional solo es válido
durante la fase de diseño del modelo conceptual, que nos
permite documentar y definir un modelo de datos solo a nivel de concepto, así
pues, no todos los tipos de relaciones del modelo relacional son válidos para
un modelo de base de datos lógico o físico. Pasamos a explicar lo anterior:
Propiedades de las relaciones:
Miden su grado de bondad/aproximación al modelo real matemático
por una serie de "formas normales", según se sube en las formas se
dice que la relación está mejor diseñada. Al menos debe estar en la primera
forma normal (1NF) y para ello debe cumplir:
- No hay duplicación de tuplas.
- No hay orden entre las tuplas.
- No hay orden entre los atributos (se accede a través de su nombre).
No existen atributos que no sean atómicos (una casilla un dato).
Es decir, no existe la posibilidad de tener una tabla como la siguiente:
Alumno Asignatura
José
Cálculo
Algebra
Física
No es correcta, sin embargo si lo es esta otra:
Alumno Asignatura
José Cálculo
José Algebra
José Física
Por último, decir que existe la posibilidad de tratar relaciones
entre sí a través de atributos comunes, esto evita la duplicación de la
información. Dividimos un esquema en más de uno.
Dominios:
Un dominio describe un conjunto de posibles valores para cierto
atributo. Como un dominio restringe los valores del atributo, puede ser
considerado como una restricción. Matemáticamente, atribuir un dominio a un
atributo significa "cualquier valor de este atributo debe ser elemento del
conjunto especificado".
Distintos tipos de dominios son: enteros, cadenas de texto,
fecha, no procedurales, etc.
Cada tabla puede tener uno o más campos cuyos valores identifican
de forma única cada registro de dicha tabla, es decir, no pueden existir dos o
más registros diferentes cuyos valores en dichos campos sean idénticos. Este
conjunto de campos se llama clave única. Pueden existir varias claves únicas en
una determinada tabla, y a cada una de éstas suele llamársele candidata a clave
primaria.
Claves relaciones:
Clave primaria
Una clave primaria es una clave única elegida entre todas las candidatas que define unívocamente a todos los demás atributos de la tabla, para especificar los datos que serán relacionados con las demás tablas. La forma de hacer esto es por medio de claves foráneas.
Clave foránea
Una clave foránea es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas.
Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados. Se permite que haya varios empleados en un mismo departamento, pero habrá uno y sólo un departamento por cada clave distinta de departamento en la tabla de departamentos.
Clave índice
Las claves índice surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave índice.
Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una de ellas es óptima para cierta distribución de datos y tamaño de la relación.
Los índices generalmente no se consideran parte de la base de datos, pues son un detalle agregado. Sin embargo, las claves índices son desarrolladas por el mismo grupo de programadores que las otras partes de la base de datos.
Una clave primaria es una clave única elegida entre todas las candidatas que define unívocamente a todos los demás atributos de la tabla, para especificar los datos que serán relacionados con las demás tablas. La forma de hacer esto es por medio de claves foráneas.
Clave foránea
Una clave foránea es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas.
Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados. Se permite que haya varios empleados en un mismo departamento, pero habrá uno y sólo un departamento por cada clave distinta de departamento en la tabla de departamentos.
Clave índice
Las claves índice surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave índice.
Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una de ellas es óptima para cierta distribución de datos y tamaño de la relación.
Los índices generalmente no se consideran parte de la base de datos, pues son un detalle agregado. Sin embargo, las claves índices son desarrolladas por el mismo grupo de programadores que las otras partes de la base de datos.
Restricciones de integridad
Una restricción es una limitación que obliga el cumplimiento de ciertas condiciones en la base de datos. Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el simple hecho de que la base de datos sea relacional. Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.
Las restricciones proveen un método de implementar reglas en la base de datos. Las restricciones limitan los datos que pueden ser almacenados en las tablas. Usualmente se definen usando expresiones que dan como resultado un valor booleano, indicando si los datos satisfacen la restricción o no.
Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto con los conceptos relacionales.
Las restricciones de integridad no permiten la existencia de relaciones que no representan un estado posible del mundo real que están representando.
Una restricción es una limitación que obliga el cumplimiento de ciertas condiciones en la base de datos. Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el simple hecho de que la base de datos sea relacional. Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.
Las restricciones proveen un método de implementar reglas en la base de datos. Las restricciones limitan los datos que pueden ser almacenados en las tablas. Usualmente se definen usando expresiones que dan como resultado un valor booleano, indicando si los datos satisfacen la restricción o no.
Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto con los conceptos relacionales.
Las restricciones de integridad no permiten la existencia de relaciones que no representan un estado posible del mundo real que están representando.
Valores nulos:
Los valores nulos (que son distintos de la cadena vacía, blancos, 0,...) se soportan en los SGBD totalmente relacionales para representar información desconocida o no aplicable de manera sistemática, independientemente del tipo de datos.
Se reconoce la necesidad de la existencia de valores nulos, para un tratamiento sistemático de los mismos.
Hay problemas para soportar los valores nulos en las operaciones relacionales, especialmente en las operaciones lógicas.
Lógica tribulada. En una posible solución. Existen tres (no dos) valores de verdad: Verdadero, Falso y Desconocido (null). Se crean tablas de verdad para las operaciones lógicas:
null Y null = falso
Verdadero Y null = null
Falso Y null = Falso
Verdadero O null = Verdadero
etc...
Un inconveniente es que de cara al usuario el manejo de los lenguajes relacionales se complica pues es más difícil de entender.
Los valores nulos (que son distintos de la cadena vacía, blancos, 0,...) se soportan en los SGBD totalmente relacionales para representar información desconocida o no aplicable de manera sistemática, independientemente del tipo de datos.
Se reconoce la necesidad de la existencia de valores nulos, para un tratamiento sistemático de los mismos.
Hay problemas para soportar los valores nulos en las operaciones relacionales, especialmente en las operaciones lógicas.
Lógica tribulada. En una posible solución. Existen tres (no dos) valores de verdad: Verdadero, Falso y Desconocido (null). Se crean tablas de verdad para las operaciones lógicas:
null Y null = falso
Verdadero Y null = null
Falso Y null = Falso
Verdadero O null = Verdadero
etc...
Un inconveniente es que de cara al usuario el manejo de los lenguajes relacionales se complica pues es más difícil de entender.
Integridad de entidad:
Pretende que cada entidad que se guarda en la base de datos sea identificable de un modo unico, es decir, que evitemos la información redundante.
La identificación de identidades no es única, podemos tener varios modos de identidad para un mismo objeto real.
Estas entidades pueden ser de diferentes caracteres:
Entidades físicas, Entidades conceptuales, Entidades como eventos.
La integridad de entidad define una fila como entidad única para una tabla determinada. Exige la integridad de columnas, de los identificadores o la clave principal de una tabla, mediante índices y restricciones UNIQUE, o restricciones PRIMARY KEY o IDENTITY
Pretende que cada entidad que se guarda en la base de datos sea identificable de un modo unico, es decir, que evitemos la información redundante.
La identificación de identidades no es única, podemos tener varios modos de identidad para un mismo objeto real.
Estas entidades pueden ser de diferentes caracteres:
Entidades físicas, Entidades conceptuales, Entidades como eventos.
La integridad de entidad define una fila como entidad única para una tabla determinada. Exige la integridad de columnas, de los identificadores o la clave principal de una tabla, mediante índices y restricciones UNIQUE, o restricciones PRIMARY KEY o IDENTITY
Integridad referencial:
Protege las relaciones definidas entre las tablas cuando se crean o se eliminan filas.
Se basa en las relaciones entre claves externas y claves principales mediante restricciones FOREIGN KEY y CHECK.
Garantiza que los valores de clave sean coherentes en las distintas tablas. Para conseguir esa conseguir esa coherencia, es preciso que no haya referencias a valores inexistentes y que, si cambia el valor de una clave, todas las referencias a ella se cambien en consecuencia en toda la base de datos.
Protege las relaciones definidas entre las tablas cuando se crean o se eliminan filas.
Se basa en las relaciones entre claves externas y claves principales mediante restricciones FOREIGN KEY y CHECK.
Garantiza que los valores de clave sean coherentes en las distintas tablas. Para conseguir esa conseguir esa coherencia, es preciso que no haya referencias a valores inexistentes y que, si cambia el valor de una clave, todas las referencias a ella se cambien en consecuencia en toda la base de datos.
Otras restricciones:
- Restricción de unicidad: No debe haber en la relación dos tuplas que tengan el mismo valor en todos los atributos del conjunto K (dos valores iguales en la misma columna)
- Restricciones de valor no nulo: No debe haber en la relación una tupla que tenga valor nulo en algún atributo de K (No debe haber ninguna casilla de la columna vacía)
Lenguaje de manipulación de datos
Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el álgebra relacional y el cálculo relacional. El álgebra relacional permite describir la forma de realizar una consulta, en cambio, el cálculo relacional sólo indica lo que se desea devolver.
El lenguaje más común para construir las consultas a bases de datos relacionales es SQL (Structured Query Language), un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales integrados.
En el modelo relacional los atributos deben estar explícitamente relacionados a un nombre en todas las operaciones, en cambio, el estándar SQL permite usar columnas sin nombre en conjuntos de resultados, como el asterisco taquigráfico (*) como notación de consultas.
Al contrario del modelo relacional, el estándar SQL requiere que las columnas tengan un orden definido, lo cual es fácil de implementar en una computadora, ya que la memoria es lineal.
Es de notar, sin embargo, que en SQL el orden de las columnas y los registros devueltos en cierto conjunto de resultado nunca está garantizado, a no ser que explícitamente sea especificado por el usuario.
Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el álgebra relacional y el cálculo relacional. El álgebra relacional permite describir la forma de realizar una consulta, en cambio, el cálculo relacional sólo indica lo que se desea devolver.
El lenguaje más común para construir las consultas a bases de datos relacionales es SQL (Structured Query Language), un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales integrados.
En el modelo relacional los atributos deben estar explícitamente relacionados a un nombre en todas las operaciones, en cambio, el estándar SQL permite usar columnas sin nombre en conjuntos de resultados, como el asterisco taquigráfico (*) como notación de consultas.
Al contrario del modelo relacional, el estándar SQL requiere que las columnas tengan un orden definido, lo cual es fácil de implementar en una computadora, ya que la memoria es lineal.
Es de notar, sin embargo, que en SQL el orden de las columnas y los registros devueltos en cierto conjunto de resultado nunca está garantizado, a no ser que explícitamente sea especificado por el usuario.
Álgebra relacional:
El álgebra relacional es un conjunto de operaciones que describen paso a paso cómo computar una respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Cálculo relacional que es de tipo declarativo.
Describe el aspecto de la manipulación de datos. Estas operaciones se usan como una representación intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versión más optimizada y eficiente de dicha consulta.
El álgebra relacional es un conjunto de operaciones que describen paso a paso cómo computar una respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Cálculo relacional que es de tipo declarativo.
Describe el aspecto de la manipulación de datos. Estas operaciones se usan como una representación intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versión más optimizada y eficiente de dicha consulta.
Calculo relacional:
El Cálculo relacional es un lenguaje de consulta que describe la
respuesta deseada sobre una Base de datos sin especificar como obtenerla, a
diferencia del Álgebra relacional que es de tipo procedural, el cálculo
relacional es de tipo declarativo; pero siempre ambos métodos logran los mismos
resultados.
Podemos distinguir, a lo menos, dos Clases de Cálculo Relacional:
Cálculo relacional basado en tuplas (TRC).
Una consulta en TRC es de la forma:
{T | φ (T)}
donde T es una variable tipo tupla y φ (T) es una fórmula que describe a T. El resultado de esta consulta es el conjunto de todas las tuplas t para las cuales la fórmula es verdadera.
Variable de tipo tupla
Una variable tipo tupla T es una variable capaz de tomar cualquier valor tupla que pertenece a una relación (o tabla).
Sintaxis de consulta en TRC
La sintaxis es definida a partir de la lógica de primer orden. Donde la variable a utilizar es de tipo tupla. Una variable es libre en una fórmula (o su fórmula) si la (sub) fórmula no contiene ninguna ocurrencia de cuantificadores que la limiten. En una consulta en TRC de la forma: {T | φ (T)}, T es la única variable libre.
Cálculo relacional basado en dominios (DRC)
Está constituido con los mismos operadores que el cálculo relacional de tuplas pero no hay tuplas sino variables dominio. Las expresiones del cálculo relacional de dominios son de la forma {(x, y, z,...) / P(x, y, z,...)}, donde x, y, z representan las variables de dominio, P representa una fórmula compuesta de átomos (igual que en el CRT). Los átomos del cálculo relacional de dominios tienen una de las siguientes formas:
(x, y, z) Î r, donde r es una relación con n atributos y x, y, z .son variables de dominio o constantes.
X q y, donde x e y son variables de dominio y q es un operador de comparación aritmética (>, <, =, ¹). Es necesario que los atributos x e y, tengan dominios cuyos miembros puedan compararse mediante q.
x q c, donde x es una variable de dominio, q es un operador de comparación y c es una constante en el dominio del atributo x.
http://www.um.es/docencia/barzana/IAGP/IAGP2-Bases-datos-relacionales.html#BM2
Podemos distinguir, a lo menos, dos Clases de Cálculo Relacional:
Cálculo relacional basado en tuplas (TRC).
Una consulta en TRC es de la forma:
{T | φ (T)}
donde T es una variable tipo tupla y φ (T) es una fórmula que describe a T. El resultado de esta consulta es el conjunto de todas las tuplas t para las cuales la fórmula es verdadera.
Variable de tipo tupla
Una variable tipo tupla T es una variable capaz de tomar cualquier valor tupla que pertenece a una relación (o tabla).
Sintaxis de consulta en TRC
La sintaxis es definida a partir de la lógica de primer orden. Donde la variable a utilizar es de tipo tupla. Una variable es libre en una fórmula (o su fórmula) si la (sub) fórmula no contiene ninguna ocurrencia de cuantificadores que la limiten. En una consulta en TRC de la forma: {T | φ (T)}, T es la única variable libre.
Cálculo relacional basado en dominios (DRC)
Está constituido con los mismos operadores que el cálculo relacional de tuplas pero no hay tuplas sino variables dominio. Las expresiones del cálculo relacional de dominios son de la forma {(x, y, z,...) / P(x, y, z,...)}, donde x, y, z representan las variables de dominio, P representa una fórmula compuesta de átomos (igual que en el CRT). Los átomos del cálculo relacional de dominios tienen una de las siguientes formas:
(x, y, z) Î r, donde r es una relación con n atributos y x, y, z .son variables de dominio o constantes.
X q y, donde x e y son variables de dominio y q es un operador de comparación aritmética (>, <, =, ¹). Es necesario que los atributos x e y, tengan dominios cuyos miembros puedan compararse mediante q.
x q c, donde x es una variable de dominio, q es un operador de comparación y c es una constante en el dominio del atributo x.
http://www.um.es/docencia/barzana/IAGP/IAGP2-Bases-datos-relacionales.html#BM2
- http://es.slideshare.net/omarzon/modelo-relacional-202868
- http://quimor.ath.cx/manejo/modulo134.html
- http://es.slideshare.net/vyezk007/integridad-de-entidad-e-integridad-referencial-en-sql-server-y-access?related=2
- http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos_relacionales#Regla_3:_tratamiento_sistem.C3.A1tico_de_valores_nulos
No hay comentarios:
Publicar un comentario