Edgar Frank Codd a finales definió las bases del modelo relacional a finales de los 60.
Trabajaba para IBM empresa que tardó un poco en implementar sus bases. Pocos años
después el modelo se empezó a implementar cada vez más, hasta ser el modelo de bases de
datos más popular.
En las bases de Codd se definían los objetivos de este modelo:
>Independencia física. La forma de almacenar los datos, no debe influir en su
manipulación lógica
>Independencia lógica. Las aplicaciones que utilizan la base de datos no deben ser
modificadas por que se modifiquen elementos de la base de datos.
>Flexibilidad. La base de datos ofrece fácilmente distintas vistas en función de los
usuarios y aplicaciones.
>Uniformidad. Las estructuras lógicas siempre tienen una única forma conceptual
(las tablas)
En 1978, IBM desarrolla el lenguaje QBE. Que aproximaba la idea relacional a sus ficheros
VSAM. En 1979 Oracle se convierte en el primer producto comercial DBMS relacional
(RDBMS). En 1980 aparece Ingres que utilizaba el lenguaje Que que implementaba el
cálculo relacional.
tablas
Las bases de datos relacionales se basan en el uso de tablas (también se las llama
relaciones). Las tablas se representan gráficamente como una estructura rectangular
formada por filas y columnas. Cada columna almacena información sobre una propiedad
determinada de la tabla (se le llama también atributo), nombre, dni, apellidos, edad,....
Cada fila posee una ocurrencia o ejemplar de la instancia o relación representada por la
tabla (a las filas se las llama también tuplas).
terminología relacional
>Tupla. Cada fila de la tabla (cada ejemplar que la tabla representa)
> Atributo. Cada columna de la tabla
>Grado.Número de atributos de la tabla
> Cardinalidad. Número de tuplas de una tabla
>Dominio. Conjunto válido de valores representables por un atributo.
tipos de tablas
Persistentes. Sólo pueden ser borradas por los usuarios:
►
Base. Independientes, se crean indicando su estructura y sus ejemplares.
Vistas. Son tablas que sólo almacenan una definición de consulta, resultado de
la cual se produce una tabla cuyos datos proceden de las bases o de otras vistas
e instantáneas. Si los datos de las tablas base cambian, los de la vista que utiliza
esos datos también cambia.
Instantáneas. Son vistas (creadas de la misma forma) que sí que almacenan
los datos que muestra, además de la consulta que dio lugar a esa vista. Sólo
modifican su resultado (actualizan los datos) siendo refrescadas por el sistema
cada cierto tiempo.
Temporales. Son tablas que se eliminan automáticamente por el sistema. Pueden
ser de cualquiera de los tipos anterior
dominios
Los dominios suponen una gran mejora en este modelo ya que permiten especificar los
posibles valores válidos para un atributo. Cada dominio incorpora su nombre y una
definición del mismo. Ejemplos de dominio:
Dirección: 50 caracteres
Nacionalidad: Español, Francés, Italiano,...
Los dominios pueden ser también compuestos a partir de otros (año, mes y día = fecha)
claves
clave candidata
Conjunto de atributos de una tabla que identifican unívocamente cada tupla de la tabla.
clave primaria
Clave candidata que se escoge como identificador de las tuplas.
clave alternativa
Cualquier clave candidata que no sea primaria
clave externa o secundaria
Atributo de una tabla relacionado con una clave de otra tabla.
nulos
Los valores nulos indican contenidos de atributos que no tienen ningún valor. En claves
secundarias indican que el registro actual no está relacionado con ninguno. En otros
atributos indica que no se puede rellenar ese valor por la razón que sea.
Las bases de datos relacionales admiten utilizar ese valor en todo tipo de operaciones.
Eso significa definir un tercer valor en la lógica. Además de el valor verdadero o falso,
existe el valor para los nulos.
La razón de este tercer valor ambiguo es que comparar dos atributos con valor nulo, no
puede resultar ni verdadero, ni falso. De hecho necesitamos definir la lógica con este valor:
verdadero Y (AND) nulo da como resultado, nulo
falso Y (AND) nulo da como resultado, falso
verdadero O (OR) nulo da como resultado, verdadero
falso O nulo da como resultado nulo
la negación de nulo, da como resultado nulo
restricciones
Se trata de unas condiciones de obligado cumplimiento por los datos de la base de datos.
Las hay de varios tipos.
inherentes
Son aquellas que no son determinadas por los usuarios, sino que son definidas por el
hecho de que la base de datos sea relacional. Por ejemplo:
No puede haber dos tuplas iguales
El orden de las tuplas no importa
El orden de los atributos no importa
Cada atributo sólo puede tomar un valor en el dominio en el que está
inscrito
semánticas
El modelo relacional permite a los usuario incorporar restricciones personales a los datos.
Las principales son:
Clave primaria. Hace que los atributos marcados como clave primaria no puedan
repetir valores.
Unicidad. Impide que los valores de los atributos marcados de esa forma, puedan
repetirse.
Obligatoriedad. Prohíbe que el atributo marcado de esta forma no tenga ningún
valor
Integridad referencial. Prohíbe colocar valores en una clave externa que no estén
reflejados en la tabla donde ese atributo es clave primaria.
Regla de validación. Condición que debe de cumplir un dato concreto para que
sea actualizado.
Read more ...