MODELO RELACIONAL ESTRUCTURA DE LAS BASES DE DATOS RELACIONALES Una base de datos relacional consiste en una colección de tablas, a cada una de las cuales se asigna un nombre único. Una fila de una tabla representa una relación entre un conjunto de valores. Estructuras básicas: Para cada atributo hay un conjunto de valores permitidos, llamado dominio, de ese atributo. En general, una tabla de n columnas debe ser un subconjunto de D1 x D2 x … x Dn-1 x Dn Puesto que las tablas son esencialmente relaciones, usaremos los términos matemáticos relación y tupla en lugar de los términos tabla y fila. Es necesario que para todas las relaciones R, los dominios de todos los atributos de R sean atómicos. Un dominio es atómico si los elementos del dominio se consideran unidades indivisibles. Por ejemplo, el conjunto de enteros es un dominio atómico. Esquema de la base de datos: Cuando hablamos de una base de datos debemos diferenciar entre el esquema de a base de datos o el diseño lógico de la base de datos, y una instancia de la base de datos, que son los datos en la base de datos en un instante de tiempo dado. El concepto de esquema de una relación corresponde a la noción de definición de tipo en los lenguajes de programacion, una variable de un tipo dado tiene un valor determinado en un instante de tiempo dado. Así, una variable en los lenguajes de programación corresponde al concepto de una instancia de una relación. En general, el esquema de una relación es una lista de atributos y sus correspondientes dominios. El uso de atributos comunes en esquemas de relaciones es una forma de relacionar tuplas de distintas relaciones. Claves: Las nociones de superclave, clave candidata y clave primaria también pueden aplicarse al modelo relacional. Lenguajes de consulta: Un lenguaje de consulta es un lenguaje en el que un usuario solicita información de la base de datos. Estos lenguajes son normalmente de mas alto nivel que los lenguajes estándar de programación. Los lenguajes de consulta pueden clasificarse en lenguajes procedimentales o no procedimentales. En un lenguaje procedimental, el usuario da instrucciones al sistema para que realice una secuencia de operaciones en la base de datos para calcular el resultado deseado. En un lenguaje no procedimental, el usuario describe la información deseada sin dar un procedimiento específico para obtener esa información. Un lenguaje de manipulación de datos completo incluye no solo un lenguaje de consulta, sino también un lenguaje para la modificación de la base de datos. Dichos lenguajes incluyen órdenes para insertar y borrar tuplas así como órdenes para modificar partes de tuplas existentes. EL ALGEBRA RELACIONAL. Es un lenguaje de consulta procedimental. Consta de un conjunto de operaciones que toman una o dos relaciones como entrada y producen una nueva relación como resultado. Las operaciones fundamentales en el álgebra relacional son: seleccionar, proyectar, producto cartesiano, renombrar, unión y diferencia de conjuntos.