Saltar la navegación

3.1. Primera misión: establecer la base

1. Nudo de datos

Escritorio desordenado con muchos ficheros acumulados.Quizás alguna vez has intentado guardar tu información utilizando varios ficheros diferentes. Tal vez, al hacer algún trabajo de grupo habéis organizado el contenido también en varios ficheros. Pensad y discutid en el grupo de trabajo:

¿Qué ocurre si la información está repetida en varios sitios diferentes?¿Cuáles son los posibles riesgos si esto sucede?

Imaginad que alguien del equipo, por error, borra información en un fichero que se utilizaba para enlazar con información disponible en otro fichero diferente:

¿Se os ocurre alguna manera de evitarlo?

En algún momento puede ocurrir que intentes añadir a estos ficheros información que ya existía en ellos pero con datos que difieren de los ya almacenados, pero el fichero es tan extenso que no te das cuenta de que esa información ya estaba (para corregirla o contrastarla):

¿Creéis que se puede evitar este problema?

Habrás deducido algunos problemas...

Respondiendo a las preguntas anteriores habréis deducido algunos de los problemas que encontramos enlos sistemas de ficheros:

  • Separación y aislamiento de datos.
  • Duplicación de datos.
  • Dependencia de datos.
  • Formatos de ficheros incompatibles.
  • Consultas fijas / proliferación de programas de aplicación.

¡Piensa qué necesitarás!

En ejercicios de este tipo hay que intentar ser práctico porque pueden ser muy complejos si sabes muchas cosas. Así que te invito a identificar qué habilidades y recursos debes poner en marcha para resolver lo que se te ha planteado.

Solo te anticipo que los problemas existentes las bases de datos los resuelven  con conceptos como unicidad, integridad, campo clave...

2. Diferentes vistas y una sola para controlarlas a todas

A causa de los problemas planteados por los sistemas de ficheros para almacenar la información surgieron los sistemas de bases de datos como entidades en las que se pueden almacenar datos de manera estructurada, con la menor redundancia posible. En las bases de datos, diferentes programas y diferentes usuarios deben poder utilizar estos datos, en concordancia con los derechos de acceso que se les hayan otorgado. De ahí el término base.

Veamos cómo son y cómo se gestionan:

Esquema de una Base de Datos (BD)

¿Qué se almacena?

Hay que mirar desde dos puntos de vista:
Desde un punto de vista lógico
(el de los usuarios)
:
  • Se almacenan todos los datos en un solo lugar.
  • Se almacenan las definiciones de las relaciones entre los datos.

Desde un punto de vista físico:
  • Los datos se almacenan en uno o varios discos y en uno o varios archivos.
Así, la parte lógica y la parte física son independientes.

¿Cómo se accede?

A los datos se accede mediante el sistema de gestión de la base de datos (SGBD) que permite 3 formas de ver los datos:

  • Esquema de la base de datos: Visión lógica global para el administrador y el diseñador.
  • Subesquema o Vista: Visión parcial de los datos relacionados con una aplicación o con la función que tenga asignada el usuario.
  • Visión física: El modo físico en que están almacenados los datos para los programadores creadores de la BD.



Sistema Gestor de Bases de Datos (SGBD)

También conocido por sus siglas en inglés DBMS (DataBase Management System).

¿Para qué sirve un DBMS?

Es una aplicación que:

  • Permite definir y crear la base de datos gracias a un lenguaje de definición de datos (DDL).
  • Permite trabajar con los datos mediante un lenguaje de manejo de datos (DML).
  • Ofrece un acceso controlado a los datos gracias a que tiene:
    • Un sistema de seguridad.
    • Un sistema de integridad.
    • Un sistema control de concurrencia.
    • Un sistema de control de recuperación.
    • Un diccionario de datos, donde almacena la descripción de los datos y gracias a esto es independiente del almacenamiento físico de los mismos.

¿Qué estructura tiene?

En un SGBD existen 3 niveles de trabajo. Observa dónde se encuentra cada uno y para qué sirve:







De manera que esos datos son un conjunto de piezas bien organizadas como partes de un todo.

La redundancia es la repetición innecesaria que puede dar lugar a informaciones diferentes sobre el mismo dato.

Es un control de accesos simultáneos.

Lenguaje informático de programación utilizado para crear modificar la estructura de la base de datos.

Es un lenguaje que permite a los usuarios llevar a cabo las tareas de consulta o modificación de los datos contenidos en la Base de Datos.

3. Nuestra base estará bien relacionada

Dentro de las bases de datos, las que vamos a trabajar son las relacionales: recopilación de datos con relaciones entre ellos. Este modelo de base de datos visualiza las clases de datos como tablas. Las diferentes tablas de datos se unen o enlazan entre sí mediante el uso de claves que representan la relación de las entidades del mundo real.

¡Identifica sus elementos! En este ejercicio debes encontrar en las tablas de datos de ejemplo los siguientes elementos que definen una base de datos relacional:

  • Una BD relacional consiste de un conjunto de tablas, ya que en ellas los datos se almacenan agrupados en forma de tablas, cada una con un nombre único.
  • Cada tabla tiene columnas que recogen los atributos que caracterizan cada entidad o elemento del mundo real.
  • Cada fila en una tabla forma una tupla que representa una relación entre un conjunto de valores.
  • Toda tabla tiene una columna o conjunto de columnas que permiten identificar cada una de sus filas; éstas componen la llamada clave principal (Primary Key, PK) de la tabla. Los valores de la clave principal no se pueden repetir.
  • La referencia de una fila de una tabla a otra de la otra tabla se produce cuando ambas tienen el mismo valor (columnas de igual tipo de dato en las dos tablas) y se denomina clave ajena o Foreign Key (FK).
ENTIDAD CODIGO_OFICINA POBLACION DIRECCION
0893 001 Madrid Castellana, 73
3428 022 Las Palmas Triana, 21
0893 022 Gáldar R. Moreno, 3
5632 213 Oviedo Uría, 43
ENTIDAD NOMBRE
0893 Santander
059 Popular
3428 BBVA
5632 Banesto

Ejemplos tomados de Bases de Datos (2011), Marta Elena Zorrilla Pantaleón y Rafael Duque Medina, con licencia CC

Habilitar JavaScript

4. No pierdas el rastro de los datos

Hasta ahora hemos conocido las bases de datos y nos hemos acercado a su organización. Conviene que no perdamos el hilo de lo aprendido y por eso vas a realizar este rápido recordatorio de los elementos básicos de las bases de datos relacionales con las que trabajaremos a lo largo del recurso. Identifica cada término con su descripción colocando el número que le acompaña en la casilla en blanco, ¡seguro que los dominas!

1. Campo Es la intersección de una fila con una columna.
2. Atributo Es un campo o conjunto de campos que no admite valores duplicados en los registros. Debe ser única, no nula y obligatoria.
3. Registro Conjunto de reglas que sirven para garantizar que las relaciones entre los registros de tablas relacionadas son válidas y que no se eliminan ni modifican accidentalmente datos relacionados.
4. Tabla Se representa por los campos en una tabla y pueden almacenar información de diferente tipo: numérico, char, etc.
5. Dato Equivalen a las filas de una tabla y constituyen la información que va contenida en los campos de una tabla, referida a un mismo objeto o persona.
6. Base de Datos Representación simbólica (numérica, alfabética, algorítmica, etc.), atributo o característica de una entidad.
7. Integridad referencial Es una propiedad de una entidad, se representa por las columnas de una tabla.
8. Celda Conjunto de información relacionada y agrupada que está compuesta por varias tablas.
9. Clave principal Está formada por una o varias columnas que están asociadas a una clave primaria de otra o de la misma tabla. Se pueden definir tantas como se precise, y pueden estar o no en la misma tabla que la clave primaria.
10. Clave ajena Representan información de una base de datos y se representan en forma de filas y columnas.

Habilitar JavaScript

Para saber más...

Finalmente, puedes encontrar aquí una enumeración a modo de resumen de las principales ventajas que hemos obtenido con la aparición de las bases de datos:

Imagen con una Flecha que indica el camino hacia las aplicaciones de bases de datos

  • Independencia lógica y física de los datos.
  • Redundancia mínima.
  • Acceso concurrente por parte de múltiples usuarios.
  • Integridad de los datos.
  • Consultas complejas optimizadas.
  • Seguridad de acceso y auditoria.
  • Respaldo y recuperación.
  • Acceso a través de lenguajes de programación estándar.