Fundamentos de Bases de Datos: Modelos, Conceptos, Historia y SQL


Modelado de Bases de Datos

Para modelar un problema de base de datos son necesarios tres pasos o modelos:

  • Modelo Conceptual: Tiene un gran poder expresivo para poder comunicarse con un usuario que no es experto en informática. Utilizaremos el diagrama Entidad/Relación o diagrama E/R.
  • Modelo Lógico: Este modelo es más técnico. Los conceptos expresados por este modelo suelen ser difíciles de entender por los usuarios y generalmente tienen traducción directa al modelo físico que entiende el SGBD. Utilizaremos el modelo relacional.
  • Modelo Físico: Es el resultado de aplicar el modelo lógico a un SGBD concreto. Utilizaremos el lenguaje de programación de BBDD SQL.

Tipos de Ficheros Relevantes

Ficheros de Texto

  • Ficheros de configuración: Son ficheros cuyo contenido es texto sobre configuraciones del sistema operativo o de alguna aplicación (.ini, .inf, .conf).
  • Ficheros de código fuente: Su contenido es texto con programas informáticos (.sql, .c, .java).
  • Ficheros de páginas web: Las páginas web son ficheros de texto con hipertexto que interpreta el navegador (.html, .css, .xml, .php).

Otros Tipos de Ficheros Comunes

  • Imágenes: .jpg, .gif, .bmp, etc.
  • Vídeo: .mpg, .mov, .avi, .qt, etc.
  • Comprimidos: .zip, .Z, .gz, .tar, .lhz, etc.
  • Ejecutables: .exe, .com, .cgi, etc.
  • Procesadores de textos: .doc, .odt, etc.
  • Bases de datos: .mdb, .frm, .myd, .myi, etc.

Conceptos Fundamentales de Bases de Datos

Datos y Estructura

  • Dato: Es un trozo de información concreta sobre algún concepto o suceso. Los datos se caracterizan por pertenecer a un tipo.
  • Tipo de dato: Indica la naturaleza del campo. Se pueden tener datos numéricos, datos alfanuméricos, etc.
  • Campo: Es un identificador para toda una familia de datos. Cada campo pertenece a un tipo de datos. Al campo también se le llama columna.
  • Registro: Es una colección de datos referentes a un mismo concepto o suceso. A los registros también se les llama tuplas o filas.
  • Campo clave: Es un campo especial que identifica de forma única a cada registro.
  • Tabla: Es un conjunto de registros bajo un mismo nombre que representa el conjunto de todos ellos.

Operaciones y Vistas

  • Consulta o Query: Es una instrucción para hacer peticiones a una base de datos. Hay consultas de búsqueda de información, de eliminación o inserción de registros y de actualización.
  • Índice: Es una estructura que almacena los campos clave de una tabla, organizándolos para hacer más fácil encontrar y ordenar los registros de esta tabla.
  • Vista: Es una transformación que se hace a una o más tablas para obtener una nueva tabla. Esta nueva tabla es una tabla virtual, es decir, no está almacenada en los dispositivos de almacenamiento del ordenador, aunque sí se almacena su definición.
  • Informe: Es un listado ordenado de los campos y registros seleccionados en un formato fácil de leer.

Scripts y Esquema

  • Guiones o Scripts: Son un conjunto de instrucciones que, ejecutadas de forma ordenada, realizan operaciones avanzadas de mantenimiento de los datos almacenados en la base de datos.
  • Procedimientos: Son un tipo especial de script que está almacenado en la base de datos y que forma parte de su esquema.
  • Esquema: Definición de la estructura donde se almacenan los datos. El esquema está formado por:
    • Nombre de la tabla.
    • Cabecera: que incluye el nombre de todos los campos de la tabla.
    Al esquema también se le llama metainformación, es decir, información sobre la información o metadatos.

Evolución Histórica de las Bases de Datos

Años 50

  • Se inventan las cintas magnéticas, que sólo podían ser leídas de forma secuencial y ordenadamente.
  • Aplicaciones basadas en sistemas de ficheros; no existía el concepto de base de datos.

Años 60

  • Se generaliza el uso de discos magnéticos, cuya característica principal es que se podía acceder de forma directa a cualquier parte de los ficheros.
  • Aparecen las bases de datos jerárquicas y en red.
  • En octubre de 1969 se concibe el primer modelo de base de datos en red, conocido como CODASYL, que posteriormente IBM refina y mejora mediante el modelo IMS para el programa Apollo de la NASA.

Años 70

  • Edgar Frank Codd, científico informático inglés de IBM, publica el artículo “Un modelo relacional de datos para grandes bancos de datos compartidos”.
  • En dicho artículo definió el modelo relacional. La potente base matemática de este modelo es el gran secreto de su éxito. Es el más utilizado actualmente.
  • Nacieron las bases de datos relacionales.
  • Larry Ellison desarrolló Oracle basándose en el modelo relacional de Codd.

Años 80

  • IBM lanza su motor de bases de datos DB2.
  • IBM crea el lenguaje SQL.

Años 90

  • IBM y Oracle incorporan a sus bases de datos la capacidad de manipular objetos.
  • Surgen las bases de datos orientadas a objetos.
  • Con la aparición de Internet, se impulsa la creación de bases de datos distribuidas.

Sistema Gestor de Bases de Datos (SGBD)

Un SGBD es el conjunto de herramientas que facilitan la consulta, uso y actualización de una base de datos.

SQL: El Lenguaje Estándar de Consulta

SQL (Structured Query Language) es un potente lenguaje de consultas para manipular información de bases de datos relacionales.

  • Está estandarizado por la ISO (International Organization for Standardization), es decir, todos los sistemas gestores de bases de datos que soportan SQL deben tener la misma sintaxis a la hora de aplicar el lenguaje.
  • Se divide en 4 sublenguajes, cuyo conjunto permite al SGBD cumplir con las funcionalidades requeridas por Codd: DML, DDL, DCL y TCL.

Sublenguajes de SQL

  • Lenguaje DML (Data Manipulation Language): Lenguaje de manipulación de datos. Permite 4 sentencias principales: SELECT (seleccionar o consultar datos), INSERT (insertar datos), DELETE (borrar datos) y UPDATE (modificar datos).
  • Lenguaje DDL (Data Definition Language): Lenguaje de definición de datos. Sentencias de este lenguaje incluyen: CREATE (crear objetos), DROP (borrar objetos), ALTER (modificar objetos), etc.
  • Lenguaje DCL (Data Control Language): Lenguaje de control de datos.
  • Lenguaje TCL (Transaction Control Language): Lenguaje de control de transacciones.

Tipos de Sistemas Gestores de Bases de Datos

  • Gestores de Bases de Datos Ofimáticas: Son aquellos que manipulan bases de datos pequeñas orientadas a almacenar datos domésticos o de pequeñas empresas. Ejemplo: Microsoft Access.
  • Gestores de Bases de Datos Corporativas: Son aquellos que tienen la capacidad de gestionar bases de datos enormes, de grandes o medianas empresas. Ejemplo: Oracle y DB2.

MySQL: Una Solución Versátil

Una solución intermedia entre gestores de bases de datos ofimáticas y corporativas es MySQL.

  • MySQL es un gestor de bases de datos que, además de ser gratuito y sencillo, es capaz de manipular gran cantidad de datos.
  • El paquete XAMPP o WAMP incluye una versión del servidor Web Apache, MySQL y varios lenguajes de script (PHP, Perl, etc.) que dotan a MySQL de potentes herramientas para acceso y publicación de los datos.

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *