En una base de datos relacional, la información se organiza en distintas tablas. Cada tabla mantiene múltiples columnas y cada columna un nombre único. Cada fila representa un pedazo de información.

Contraejemplo

No todas las BDD hoy en dia son relacionales. MongoDB almacena información en documentos JSON

Para almacenar la información, se utiliza el concepto de predicados.

Predicados

Los datos no se almacenan como oraciones, sino con relaciones. Separamos los datos en sujetos relacionados y agregamos información sobre dicha relación.

Una tabla, luego, es una representación de hechos. Cada fila de la tabla nos dice algo.

Las bases de datos tradicionales almacenan datos de texto o numéricos, que pueden enunciarse a través de proposiciones. Un conjunto de proposiciones con la misma estructura puede tipificarse a través de un predicado.

Example

Dada la proposición: “Rogerer Federer ganó el Abierto de Australia en 2018”. Podemos abstraer un predicado: “[jugador] ganó el [torneo] en [año]“.

El predicado puede ser pensado como una función que recibe las variables del mismo, y nos devuelve un resultado. El resultado será verdadero o falso y nos va a indicar si dicha fila se encuentra en la tabla.

Las bases de datos modernas aprovechan estas repeticiones en la estructura de datos para poder almacenar información de forma eficiente. La clave para el manejo de la complejidad es el concepto de abstracción.

Definición Matemática

Un nombre de relación junto con su lista de atributos asociados se denomina esquema de relación, y se denota como .

Cada uno de los atributos tiene un dominio asociado, que indica los valores posibles que pueden tomar los elementos de .

Una relación con esquemas de relación es un subconjunto del producto cartesiano

A cada elemento de una relación se lo denomina tupla

A partir de estas definiciones, podemos definir una función llamada predicado para cada relación que, a partir de una tupla nos devuelva si estos se encuentran relacionados.

El valor tomado por un atributo en determinada tupla se denota como , o .

La cardinalidad de una relación es la cantidad de tuplas que posee.

Restricciones

Una restricción de dominio especifican que dado un atributo de una relación . El valor del atributo de una tupla debe pertenecer al dominio de .

En el modelo relacional, se permiten que algunos valores tomen un valor nulo.

Los atributos deben ser monoevaluados Esto quiere decir que no se permiten arreglos de valores.

Los atributos deben ser atómicos. No se permiten valores compuestos.

No puede haber dos tuplas que coincidan en los valores de todos sus atributos. Generalmente, hay un subconjunto de atributos para el cual se cumple la condición que dos tuplas cualesquiera difieran en al menos uno de los atributos de .

Cuando un subconjunto de atributos cumple también esta prioridad, se dice que son una superclave de . Las superclaves que son minimales se denominan claves candidatas. Solo una de ellas se designa como clave primaria.

Una clave foránea es un atributo de una tupla que refiere a una clave primaria de otra tupla (de la misma, u otra relación)

En una base de datos relacional, la información se representa a través de un esquema de bases de datos relacional. Un esquema de bases de datos relacional es un conjunto de esquemas de relación , junto con una serie de restricciones de integridad.

La restricción de integridad de entidad dice que la clave primaria de una entidad no puede tomar un valor nulo.

La restricción de integridad referencial dice que si una tupla de tiene una clave foránea de . Entonces debe existir una tupla en con la clave foránea como claves primaria. Las claves foráneas pueden, a su vez, ser claves primarias.

Operaciones

Las operaciones del modelo relacional se especifican a través de lenguajes como el álgebra relacional o el cálculo relacional.

Las operaciones de consulta no modifican ninguna relación existente, por lo que no violan ningún tipo de restricción.

Las operaciones de inserción pueden violar restricciones de dominio, de unicidad y de integridad de entidad o referencial.

Las operaciones de eliminación solo pueden violar restricciones de integridad referencial. La eliminación en cascada se encarga de eliminar todas las tuplas que refieren a la entidad a eliminar.

En las operaciones de modificación, si se modifica una clave foránea, se debe verificar que sus nuevos valores referencien a una tupla existente de la relación referenciada. Si se modifica una clave primaria, pueden violarse cualquiera de las restricciones de integridad.

La normalización de una tabla es tratar de reducir la cantidad de columnas que tiene. Luego debemos ampliar esta información al recuperarla.