Bases de datos

Modelo relacional

Modelos de datos

Un modelo de datos sirve como instrumento de abstracción entre cualquier usuario y las características físicas de una base de datos

 

Formalmente, un modelo de datos es un conjunto de conceptos que sirven para describir la estructura de una base de datos, incluyendo las relaciones entre los datos así como las restricciones que deben cumplirse sobre ellos y las operaciones que se pueden realizar

 

Aunque hay distintos modelos de datos en uso actualmente (jerárquico, orientado a objetos, etc.) nos vamos a enfocar únicamente en el modelo relacional

Esquema de la base de datos

La descripción específica, y completa, de una base de datos a través de un modelo de datos se conoce como el esquema de la base de datos

Esquema de la base de datos

La descripción específica, y completa, de una base de datos a través de un modelo de datos se conoce como el esquema de la base de datos

Modelo relacional

El modelo relacional tiene su base en el concepto matemático de relación y tiene su origen conceptual en la teoría de conjuntos y la lógica de predicados

 

Bajo este modelo, podemos ver una relación como una tabla con columnas y filas

 

Un atributo es el nombre de una columna de una relación

 

Por decirlo de una forma simple, la relación se representa como una tabla cuyas filas corresponden a registros individuales y los atributos de éstos son las columnas

Modelo relacional

Al conjunto de valores aceptables de uno o varios atributos se le conoce como dominio y es lo que permite que podamos definir el significado y la fuente de los valores que los atributos pueden tomar

  • Las restricciones sobre los valores aceptados se conocen como restricciones de dominio

 

Una fila de una relación es una tupla

 

El grado de una relación es igual al número de atributos que contiene la relación

 

La cardinalidad de una relación es igual al número de tuplas que contiene

Modelo relacional

Una relación normalizada es cualquier relación en la que en la intersección de cada tupla con cada atributo de la misma hay un sólo valor

Modelo relacional

Formalmente, una relación R definida sobre un conjunto de dominios D1, D2, ..., Dn está formada de:

 

  • Cabecera: El conjunto fijo de pares atributo:dominio

               {(A1, D1), (A2, D2), ..., (An,Dn)}

    donde a cada Ai le corresponde un único Di y todos los Ai son distintos
     
  • Cuerpo: El conjunto variable de tuplas

               {(A1:vi1), (A2:vi2), ..., (An:vin)}

    Donde i va de 1 a la cardinalidad de la relación y cada vij pertenece a Dj

Propiedades de las relaciones

  • Cada relación tiene un nombre único
  • Los dominios sobre los que se definen los atributos son escalares
    • Los valores de los atributos son atómicos
  • Los nombres de los atributos son únicos
  • El orden de los atributos no importa
  • Las tuplas son únicas
  • El orden de las tuplas no importa

Claves

Una superclave es un atributo, o conjunto de atributos, que identifican de modo único a los atributos de una relación

 

Una clave candidata es una superclave que carece de subconjuntos propios que también sean superclaves

  • Una relación puede tener más de una clave candidata

 

Una clave compuesta es una clave candidata que está formada por más de un atributo

Claves

Una clave primaria es aquella clave candidata que se elige para identificar a cada tupla de manera unívoca

 

Una clave alternativa es toda aquella clave candidata que no es la clave primaria

 

Una clave ajena (o foránea) es un atributo o conjunto de atributos de una relación cuyos valores corresponden a los de la clave primaria de alguna otra relación

  • Estas claves representan relaciones entre datos distintos

Valor nulo

Cuando el valor de algún atributo es desconocido, o inexistente, se dice que es nulo

 

No es equivalente al valor numérico 0 o a una cadena vacía

 

No todos los SGBD soportan el valor nulo o lo tratan igual

Reglas de integridad

Hay dos reglas de integridad que deben cumplirse en todo momento:

  1. regla de integridad de entidades: Ninguno de los atributos que componen la clave primaria puede ser nulo

     
  2. regla de integridad referencial: si en una relación hay alguna clave ajena, sus valores deben coincidir con los valores de la clave primaria a la que hace referencia, o bien, deben ser completamente nulos

Reglas de integridad

Hay dos reglas de integridad que deben cumplirse en todo momento:

  1. regla de integridad de entidades: Ninguno de los atributos que componen la clave primaria puede ser nulo
    • La clave primaria debe ser irreducible

       
  2. regla de integridad referencial: si en una relación hay alguna clave ajena, sus valores deben coincidir con los valores de la clave primaria a la que hace referencia, o bien, deben ser completamente nulos
    • Esta regla indica lo que es un estado ilegal pero no la manera de evitarlo

Reglas de negocio

Cualquier otra restricción que sea necesaria, dependiendo de las operaciones específicas al dominio de conocimiento y operaciones relacionados a la base de datos forma parte del conjunto de las reglas de negocio de la misma

 

Algunas pueden ser implementadas a nivel del DBMS y otras tienen que ser implementadas en la capa de aplicación

Regla de integridad de entidades

Ninguno de los atributos que componen la clave primaria puede ser nulo