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 llama atributo, es en esto en lo que se diferencia del modelo matemático. 


  • 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)
  • 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).
  • Esquema = Definición global y general de una relación.
  • Instancia de una relación = Información que contiene una relación en un momento determinado.

Claves en el Modelo Relacional

Debe existir un atributo o conjunto de atributos que identifique de un modo único a una tupla; a ese atributo se le llamaría superclave (puede ser el conjunto formado por todos los atributos), al menos hay uno siempre.
Para una r(M) diremos que un subconjunto de atributos (K) del esquema será clave de la relación si para toda tupla t1 ≠ t2 se cumple que t1[k] ≠ t2[k] (es decir, dadas dos tuplas diferentes el valor de la clave también lo es).
Dentro de las superclaves, llamaremos claves candidatas a las superclaves más pequeñas (aquellas superclaves que carecen de subconjuntos propios que sean también superclaves).De entre todas las que haya, es el usuario el que decide cual es la primaria, las demás se llaman alternativas.
Reglas de Integridad:

  1. Integridad de Identidad:La clave primaria de una relación no puede contener valores nulos.
  2. Integridad de Referencia:Cuando en una relación hay un atributo que hace referencia a una clave primaria de otra relación, el atributo debe tener un valor coincidente con alguno de la clave primaria o como mucho ser nulo (es decir, no puede tener un valor que no exista entre los valores de la clave primaria en la primera relación).

Propiedades

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:





AlumnoAsignatura
JoséCálculo
Algebra
Física
no es correcta, sin embargo si lo es esta otra:
AlumnoAsignatura
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.

Ejemplo: Alumno = (nombre: dom_nombre; nº: entero)
Asignatura = (nº: entero; asignatura:dom_asignatura).
En este caso el campo común entre las relaciones es el campo nº:







NombreNúm.
José
15
Antonio
17
Pedro
18

Num.Asignatura
15
Cálculo
15
Algebra
15
Física
 
Lenguajes de Consulta a Bases e Datos Relacionales

Los podemos dividir en dos tipos: Lenguajes Formales y Lenguajes Comerciales. Los lenguajes formales están basados en el álgebra relacional o en elcálculo relacional. Solamente se han descrito para consulta a Bases de Datos (existen lenguajes comerciales que además de consulta permiten otras operaciones). 
El álgebra relacional tiene procedimientos (procedimental), mientras que los lenguajes basados en el cálculo relacional son aprocedimentales. Dentro del cálculo relacional se distingue entre cálculo relacional orientado a tuplas y cálculo relacional orientado a dominios.
Los lenguajes comerciales, en su mayoría usan enfoques tanto procedimentales como aprocedimentales, o lo que es lo mismo, no son lenguajes puros como los formales. De esta manera hacen su sintaxis más amigable al usuario.