Professional Documents
Culture Documents
El modelo relacional se ha establecido actualmente como el principal modelo de datos para las
aplicaciones de procesamiento de datos. Ha conseguido la posición principal debido a su
simplicidad, que facilita el trabajo del programador en comparación con otros modelos.
Una base de datos relacional consiste en un conjunto de tablas, a cada una de las cuales se le
asigna un nombre exclusivo. Cada tabla tiene una estructura parecida a la presentada en la
unidad 2, donde se representaron las bases de datos E-R mediante tablas.
La primera línea de una tabla, es una cabecera que indica el nombre de cada columna. O
sea, cada columna tiene asignado un nombre único.
Cada línea (excepto la primera) recibe el nombre de tupla, y almacena ítemes concretos
para cada columna.
Todas las filas deben ser diferentes entre sí.
El orden de las filas y de las columnas carece de importancia a efectos del S.G.B.D. Este
hecho es el que verdaderamente diferencia las tablas relacionales del concepto
matemático de relación, en el que el orden de las columnas es fundamental.
Dominio de Valores. Los dominios a que puede pertenecer un atributo, suelen depender de
los que proporcione el S.G.B.D. que empleemos. Suelen ser comunes dominios como: Texto,
Número entero, Número decimal, Fecha, Hora, Sí/No, etc.
Por otro lado, un dominio como pueda ser Número entero, es un dominio cuyo conjunto de
valores es infinito, y dado que trabajamos con ordenadores, es imprescindible poner un límite
que permita almacenar un valor concreto debido a las limitaciones de memoria, y sobre todo al
hecho de que toda tupla debe poseer el mismo tamaño.
Este modelo permite representar la información del mundo real de una manera
intuitiva, introduciendo conceptos cotidianos y fáciles de entender por cualquier
inexperto. Asimismo, mantiene información sobre las propias características de la
base de datos (metadatos), que facilitan las modificaciones, disminuyendo los
problemas ocasionados en las aplicaciones ya desarrolladas. Por otro lado,
incorpora mecanismos de consulta muy potentes, totalmente independientes del
S.G.B.D., e incluso de la organización física de los datos; el propio S.G.B.D. es el
encargado de optimizar estas preguntas en formato estándar, a sus características
propias de almacenamiento.
El modelo relacional fue propuesto por E.F. Codd en los laboratorios de IBM en
California. Se trata de un modelo lógico [Irene Luque Ruiz- Ed. Ra-ma], que
establece una estructura sobre los datos, aunque posteriormente éstos puedan ser
almacenados de múltiples formas para aprovechar características físicas concretas
de la máquina sobre la que se implante la base de datos realmente. Es algo así
como guardar unos libros en una biblioteca; dependiendo del número de salas de la
biblioteca, del tamaño y forma de cada una de ellas, su número de estanterías, y en
definitiva, de las características físicas del recinto, podremos disponer los libros de
una forma u otra para hacer más cómoda y fácil su consulta y acceso. Los libros
son los mismos, pero pueden ubicarse de muy distintas formas.
Una base de datos relacional consiste en un conjunto de tablas, a cada una de las
cuales se le asigna un nombre exclusivo. Cada tabla tiene una estructura parecida
a la presentada en el Capítulo 2, donde se representaron las bases de datos E-R
mediante tablas. 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.
Los matemáticos definen las relaciones como subconjuntos del producto cartesiano
de la lista de dominios.
El Esquema de una Base de datos (en Inglés Database Schema) describe la estructura de una Base
de datos, en un lenguaje formal soportado por un Sistema administrador de Base de datos (DBMS).
En una Base de datos Relacional, el Esquema define sus tablas, sus campos en cada tabla y las
relaciones entre cada campo y cada tabla.
El esquema es generalmente almacenado en un Diccionario de Datos. Aunque generalmente el
esquema es definido en un lenguaje de Base de datos, el término se usa a menudo para referirse a
una representación gráfica de la estructura de base de datos.
Niveles de Esquema de Base de datos
Esquema Conceptual, un mapa de conceptos y sus relaciones.
Esquema Lógico, un mapa de las entidades y sus atributos y las relaciones.
Esquema Físico, una aplicación de un esquema lógico.
Esquema Objeto, Base da datos Oracle Objeto.
El concepto de relación se corresponde con el concepto de variable de los lenguajes de
programación. El concepto de esquema de la relación se corresponde con el concepto de definición
de tipos de los lenguajes de programación.
Resulta conveniente dar un nombre a los esquemas de las relaciones, igual que se dan nombres a
las definiciones de tipos en los lenguajes de programación. Se adopta el convenio de utilizar nombres
en minúsculas para las relaciones y nombres que comiencen por una letra mayúscula para los
esquemas de las relaciones. Siguiendo esta notación se utilizará Esquema-cuenta para denotar el
esquema de la relación de la relación cuenta. Por tanto,
Se denota el hecho de que cuenta es una relación de Esquema-cuenta mediante cuenta (Esquema-
cuenta)
En general, los esquemas de las relaciones incluyen una lista de los atributos y de sus dominios
correspondientes. La definición exacta del dominio de cada atributo no será relevante hasta que se
discuta el lenguaje SQL.
El concepto de ejemplar de relación se corresponde con el concepto de valor de una variable en los
lenguajes de programación. El valor de una variable dada puede cambiar con el tiempo; de manera
parecida, el contenido del ejemplar de una relación puede cambiar con el tiempo cuando la relación
se actualiza. Sin embargo, se suele decir simplemente «relación» cuando realmente se quiere decir
«ejemplar de la relación».
Como ejemplo de ejemplar de una relación, considérese la relación sucursal. El esquema de esa
relación es
3.3 Claves
Es necesario tener una forma de especificar cómo las entidades dentro de un conjunto de
entidades dado y las relaciones dentro de un conjunto de relaciones dado son distinguibles.
Conceptualmente las entidades y relaciones individuales son distintas; desde una perspectiva de
bases de datos, sin embargo, la diferencia entre ellas se debe expresar en término de sus
atributos.
Por lo tanto, los valores de los atributos de una entidad deben ser tales que permitan identificar
unívocamente a la entidad. En otras palabras, no se permite que ningún par de entidades tengan
exactamente los mismos valores de sus atributos. Una clave permite identificar un conjunto de
atributos suficiente para distinguir las entidades entre sí. Las claves también ayudan a identificar
unívocamente a las relaciones y así a distinguir las relaciones entre sí.
Una superclave es un conjunto de uno o más atributos que, tomados colectivamente, permiten
identificar de forma única una entidad en el conjunto de entidades.Por ejemplo, el atributo id-
clientedel conjunto de entidades cliente es suficiente para distinguir una entidad cliente de las
otras. Así, id-cliente es una superclave. Análogamente, la combinación de nombre-cliente e id-
cliente es una superclave del conjunto de entidades cliente. El atributo nombre-cliente de cliente no
es una superclave, porque varias personas podrían tener el mismo nombre.
Aunque los atributos id-cliente y nombre-cliente juntos puedan distinguir entidades cliente, su
combinación no forma una clave candidata, ya que el atributo id-cliente por sí solo es una clave
candidata.
Se usará el término clave primaria para denotar una clave candidata que es elegida por el
diseñador de la base de datos como elemento principal para identificar las entidades dentro de un
conjunto de entidades.
Usaremos lenguajes que nos permitan trabajar con el álgebra relacional, siendo ésta de tipo
procedimental, mientras que el cálculo relacional de tuplas y el de dominios son no procedimentales.