Fundamentos de Ficheros, Bases de Datos y Sistemas Gestores (SGBD)

1. Ficheros: Estructura y Clasificación

Un fichero es una estructura creada por el sistema operativo para guardar información en dispositivos de almacenamiento (discos duros, USB, CD, etc.).

Elementos Básicos del Fichero

Nombre del fichero:
Identificador que utiliza el usuario.
Extensión:
Indica el formato del contenido (ej.: .txt, .jpg, .exe).
Formato:
Conjunto de reglas que explican cómo interpretar los bits almacenados dentro del fichero.

Tipos de Clasificación de Ficheros

1. Por Contenido

  • Fichero de texto: Guarda caracteres legibles para el ser humano. No necesita reglas avanzadas para su interpretación.

    Ejemplos: .txt, .html, .css, .sql.

  • Fichero binario: Contiene datos estructurados que las personas no pueden leer directamente. Requiere un programa que conozca su formato específico.

    Ejemplos: .jpg, .zip, .exe, .mp4.

2. Por Organización (Acceso a Datos)

Define cómo se accede a los datos guardados:

  • Secuencial: La información se lee en orden. Para llegar a un dato, se deben recorrer los anteriores.
  • Directa: Permite acceder a un dato específico de inmediato, sin recorrer datos previos.
  • Indexada: Utiliza un índice (similar al índice de un libro) que acelera significativamente la búsqueda de información.

3. Por Utilidad (Hoy en Desuso)

  • Maestros: Contienen la información principal y estable (clientes, productos).
  • Movimientos: Almacenan los cambios realizados sobre los ficheros maestros (altas, bajas, modificaciones).
  • Históricos: Guardan datos antiguos que ya no son necesarios para el uso diario.

2. Bases de Datos (BD): Conceptos y Estructura

Una base de datos es una colección organizada de información relacionada entre sí y almacenada en uno o varios ficheros de forma estructurada.

Conceptos Fundamentales de Bases de Datos

Dato:
Unidad mínima de información (un número, una palabra).
Tipo de dato:
Define la naturaleza del dato (entero, texto, fecha, etc.).
Campo:
Atributo o columna que describe una característica (ej.: “Nombre”).
Registro:
Fila completa que agrupa varios campos; representa un objeto o entidad (ej.: un cliente).
Tabla:
Conjunto de registros organizados en filas y columnas.
Clave primaria:
Campo que identifica de forma única cada registro dentro de una tabla.
Consulta:
Petición de información a la BD (ej.: “mostrar clientes de Madrid”).
Índice:
Estructura auxiliar utilizada para buscar datos más rápido.
Vista:
Resultado almacenado de una consulta que se utiliza como si fuera una tabla.
Informe:
Presentación de datos en un formato legible (para impresión o visualización).
Procedimiento almacenado / Script:
Conjunto de instrucciones almacenadas y ejecutables dentro de la BD.

Estructura de la BD: Esquema o Metadatos

El Esquema o Metadatos es la información que define cómo está organizada la BD (tablas, campos, relaciones). Es, literalmente, “información sobre la información”.

3. Aplicaciones y Usos de las Bases de Datos

Las Bases de Datos (BD) se aplican en numerosos ámbitos esenciales:

  • Administración: Gestión de clientes, pedidos, facturas.
  • Contabilidad: Balances, pagos, ingresos.
  • Motores de búsqueda: Como Google, que almacena páginas web indexadas.
  • Científicas: Meteorología, biología, química.
  • Bibliotecas: Catálogo de libros.
  • Censos: Datos de población.
  • Antivirus: Almacenamiento de firmas de virus.
  • Otros sectores: Videojuegos, deportes, militar, etc.

4. Historia y Evolución de las Bases de Datos

Años 50:
Uso de cintas magnéticas con acceso secuencial. No existía el concepto de BD moderna.
Años 60:
Surgen los discos magnéticos con acceso directo, dando lugar a las BD jerárquicas y BD en red.
1970:
Edgar F. Codd presenta el modelo relacional, basado en lógica matemática. Este modelo sigue siendo el más usado globalmente.
Años 80:
IBM lanza DB2 y se populariza el lenguaje estándar SQL.
Años 90:
Nacen las BD orientadas a objetos y otros modelos más modernos (espaciales, documentales, deductivas).

5. Sistemas Gestores de Bases de Datos (SGBD)

Un SGBD es un conjunto de programas que permite crear, administrar y utilizar bases de datos de manera eficiente.

Ejemplos de SGBD: Oracle, MySQL, SQL Server, PostgreSQL, SQLite, Access.

Funciones Principales del SGBD

  • Almacenamiento y acceso eficiente a los datos.
  • Integridad: Evita la incoherencia o corrupción de los datos.
  • Seguridad: Controla los permisos y accesos de los usuarios.
  • Diccionario de metadatos: Almacena la estructura interna de la BD.
  • Transacciones: Garantizan que un conjunto de operaciones se ejecute completamente o no se ejecute en absoluto (principio ACID).
    • Si todo va bien: COMMIT (confirmar cambios).
    • Si algo falla: ROLLBACK (deshacer cambios).
  • Estadísticas y monitorización del uso y rendimiento.
  • Concurrencia: Permite que varios usuarios utilicen la BD simultáneamente sin generar conflictos.
  • Independencia: Los datos no dependen del programa o aplicación que los utiliza.
  • Conectividad: Permite operaciones como replicación, exportación e importación.
  • Copias de seguridad y recuperación ante fallos.

6. Lenguaje SQL: El Estándar de Comunicación

SQL (Structured Query Language) es el lenguaje estándar que permite al usuario comunicarse e interactuar con un SGBD.

Sublenguajes de SQL

DML (Data Manipulation Language):
Manipula los datos almacenados.
Comandos principales: SELECT, INSERT, UPDATE, DELETE.
DDL (Data Definition Language):
Define la estructura de la base de datos (tablas, vistas, etc.).
Comandos principales: CREATE, DROP, ALTER.
DCL (Data Control Language):
Controla los permisos y accesos de los usuarios.
Comandos principales: GRANT, REVOKE.
TCL (Transaction Control Language):
Gestiona las transacciones.
Comandos principales: COMMIT, ROLLBACK.

7. Clasificación de los Sistemas Gestores de Bases de Datos (SGBD)

Según el Modelo Lógico

  • Jerárquico
  • En red
  • Relacional (el más común y extendido)
  • Orientado a objetos

Según el Número de Usuarios

  • Monousuario: Diseñado para ser utilizado por un solo usuario a la vez.
  • Multiusuario: Permite el acceso concurrente de múltiples usuarios.

Según la Ubicación de los Datos

  • Centralizados: Todos los datos residen en una única máquina o servidor.
  • Distribuidos: Los datos están repartidos en varias ubicaciones geográficas o servidores.
    • Homogéneos: Utilizan el mismo SGBD en todos los nodos.
    • Heterogéneos o federados: Utilizan SGBD distintos que colaboran entre sí.

Según el Propósito

  • General: Sirven para todo tipo de aplicaciones (la mayoría de SGBD comerciales).
  • Específico: Diseñados para una función concreta (p. ej., sistemas de reservas, bases de datos geoespaciales).