5.2.- Modelo Relacional

El modelo relacional es el más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Fue propuesto 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. 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 (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla).

En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información.

El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o "Lenguaje Estructurado de Consultas", un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. La versión libre es muy utilizada, se denomina mySql, aunque la tendencia es usar una nueva llamada MariaDB.

Estos últimos años se está extendiendo el modelo de BD relacional con objetos. Se trata de ampliar el modelo relacional, añadiéndole la posibilidad de que los tipos de datos sean tipos abstractos de datos, TAD. Esto acerca los sistemas relacionales al paradigma de la OO. Los primeros SGBD relacionales que dieron esta posibilidad fueron Oracle (versión 8), Informix (versión 9) e IBM/DB2/UDB (versión 5).

Modelos de bases de datos

Estructura de las Bases de Datos Relacionales

Es la estructura más utilizada actualmente. 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 llama atributo, es en esto en lo que se diferencia del modelo matemático.

Es habitual considerar los siguientes convencionalismos:

Los nombres de relaciones siempre en minúsculas.

Cada tupla se puede representar por una variable de tupla.

Cada atributo se representa por su nombre.

Cardinalidad = Nº de tuplas de una relación.

Grado = Nº de atributos de la relación.

Cada atributo puede tomar valores dentro de su dominio de atributo (conjunto de valores posibles)

Esquema = Definición global y general de una relación.

El esquema de una relación se representa en letras mayúsculas: r(R) donde r sería el nombre de la relación y R el nombre del esquema. Formato de un esquema: Nom_esquema = (lista de atributos con sus dominios).

Ejemplo:

Alumnos = (dni: dom_dni; nombre: dom_nombre; edad: dom_edad).

Obsérvese que la primera letra de Alumnos es mayúscula (es un esquema).

Instancia de una relación = Información que contiene una relación en un momento determinado.
Relaciones en bases de datos