INTRODUCCIÓN A BASES DE DATOS. MODELO RELACIONAL.

Una base de datos es una estructura donde podemos almacenar datos que se relacionen con cualquier ser real. Por ejemplo, una biblioteca almacena datos de sus libros, una empresa de sus trabajadores, un concesionario de sus coches, una tienda para ver sus productos en almacén...

En informática las bases de datos son fundamentales ya que sin ellas no tendríamos datos suficientes como para trabajar, como las redes sociales, que almacenan nombre, usuario, contraseña... Todo estos datos permanecen guardados en registros de datos en alguna parte para consultarlos y modificarlos cuando sea oportuno.

El modelo relacional 

Estes datos se almacenan en tablas donde a cada fila se le llamará tupla y corresponderá a un concepto real, y cada columna será un atributo que corresponde a una característica o peculiaridad de esa entidad. Tomando el ejemplo de la biblioteca, cada tupla será un libro diferente y cada atributo una característica diferente a esa tupla, como autor , título, codigo de barras...
En una relación/tabla NUNCA puede haber tuplas repetidas.

En esto se basa el modelo relacional en un aspecto más informal. El modelo relacional, instaurado por Codd, se estructura como una relación (tabla) denotada de la forma R(at1,...,atn); siendo R la relación y at sus atributos: Libros(autor,titulo,...,codigo).

EJEMPLO DE RELACIÓN 

Libros(código de barras, título, autor, editorial, fecha_publicación, estantería)

Conceptos:
  • Dominio: Conjunto de valores que puede tomar cierto atributo
  • Grado: número de atributos
  • Nulo: en un atributo, un valor nulo es aquel que se desconoce o no existe
  • Relación: conjunto de tuplas y atributos relacionados
Los valores de los atributos deben ser atómicos (indivisibles) y solo debe aparecer un valor por atributo, a esta norma se le denomina Restricción del dominio. Por ejemplo, poner nombre y apellidos en el mismo atributo es signo de mal diseño de la tabla ya que sería imposible hacer una ordenación por apellido, por ejemplo.

Restricciones 

Existen varias normas, llamadas restricciones, que toda relación debe cumplir para ser considerada relación.
  • CLAVE: Toda relación debe tener un conjunto de atributos mínimo que identifique una tupla con otra. En el ejemplo anterior, todo libro tiene un código de barras que identifica un libro con otro, ya que suponemos que el código es único para cada objeto. Como podemos ver en el ejemplo, viene subrayado para identificarlo con facilidad. Nótese que no es necesario que sea un único atributo, pueden ser varios, pero siempre con los mínimos atributos posibles (llamada superclave). Pueden existir varias claves candidatas, es decir, superclaves distintas con el mismo número de atributos: en tal caso se escoje a decisión del creador, a la que llamaremos clave primaria.
  • INTEGRIDAD DE ENTIDAD: Ningún valor de la clave primaria debe ser nulo, ya que no podriamos distinguir tuplas entre ellas.
  • INTEGRIDAD REFERENCIAL: Las claves foráneas deben ser usadas usadas por la clave primaria externa de la otra relación, o nulo. Una clave foránea es uno o varios atributos que referencian a otra relación usando una clave candidata de la misma.
En una entrada muy próxima subiré algún ejemplo de estas restricciones aplicadas a relaciones y problemas de obtener claves primarias.
Posteriormente empezaremos SQL, asi que no os perdais las próximas entradas.



Comentarios