FUNDAMENTOS
DE BASES DE DATOS
Un Sistema Gestor de Bases de Datos (SGBD) o DBMA
(DataBase Management System) es una colección de programas cuyo objetivo
es servir de interfaz entre la base de datos, el usuario y las aplicaciones. Se
compone de un lenguaje de definición de datos, de un lenguaje de manipulación
de datos y de un lenguaje de consulta. Un SGBD permiten definir los datos a
distintos niveles de abstracción y manipular dichos datos, garantizando la
seguridad e integridad de los mismos.
Algunos ejemplos de SGBD son Oracle, DB2, PostgreSQL, MySQL,
MS SQL Server, etc.
¿Qué es una base de datos?
Una base de datos es una herramienta para recopilar y
organizar información. En las bases de datos, se puede almacenar información
sobre personas, productos, pedidos, o cualquier otra cosa. Muchas bases de
datos empiezan siendo una lista en un programa de procesamiento de texto o en
una hoja de cálculo. A medida que crece la lista, empiezan a aparecer
repeticiones e inconsistencias en los datos. Cada vez resulta más complicado
comprender los datos presentados en la lista y existen pocos métodos para buscar
o recuperar subconjuntos de datos para revisarlos. Cuando empiezan a observarse
estos problemas, es aconsejable transferir la información a una base de datos
creada mediante un sistema de administración de bases de datos (DBMS), como
Office Access 2007.
El modelo Entidad-Relación
Es sencillo diseñar una base de datos, pero a menudo hay que
reconsiderar posteriormente la estructura de los datos, lo cual ocasiona
retrasos y modificaciones. Es más lento la obtención de un diseño lo más óptimo
posible, pero el tiempo invertido se recupera al no tener que volver atrás para
replantearse el diseño de los datos. Un buen diseño es la clave para iniciar
con buen pie el desarrollo de una aplicación basada en una base de datos o la
implementación de un sistema.
Es de destacar la importancia de un buen diseño. Un diseño
apresurado o simplemente bosquejado puede mostrarse inservible o muy mejorable
cuando la aplicación ya está parcialmente codificado, o el administrador de la
base de datos ya tiene organizados el mantenimiento y el control de acceso a
los datos.
- Esquema: diseño general de la base de datos a nivel lógico.
Incluye el tipo de datos y las relaciones entre ellos. Es de naturaleza fija y
solo se altera excepcionalmente. El esquema se define y se mantiene utilizando
el lenguaje de definición de datos (DDL).
- Instancia: contenido concreto de la base de datos en un
momento dado. Varía con el tiempo, al añadir, eliminar o modificar datos,
utilizando el lenguaje de modificación de datos (DML).
El diseño de una base de datos se realiza a dos niveles. El
primero es el nivel conceptual, en la cual se contempla una estructura
abstracta y no implementable directamente con un SGBD. El segundo es elnivel
físico, en el cual la base de datos es ya implementable. Detalladamente, las
fases del diseño de una base de datos son las siguientes:
- Descripción en lenguaje natural.
- Diagrama Entidad-Relación (E-R). También conocido como
"diagrama de Chen". Estos diagramas modelizan el problema mediante
entidades asociadas por relaciones. Adoptan la forma de grafos donde los datos
se relacionan mediante flechas. El diagrama E-R no depende del modelo de datos.
- Elección del modelo de datos (usualmente el relacional)
- Conversión del diagrama E-R al modelo relacional (tablas)
- Normalización (eliminar diversos defectos de diseño).
- Optimización (según criterios de almacenamiento
interno, como el espacio en disco y el tiempo medio de acceso).
Entidades y Relaciones
El modelo de datos más
extendido es el denominado ENTIDAD/RELACIÓN (E/R) En el modelo E/R se parte de
una situación real a partir de la cual se definen entidades y relaciones entre
dichas entidades:
- Entidad.- Objeto del mundo real sobre el que queremos
almacenar información (Ej: una persona). Las entidades están compuestas de atributos que
son los datos que definen el objeto (para la entidad persona serían DNI,
nombre, apellidos, dirección,...). De entre los atributos habrá uno o un
conjunto de ellos que no se repite; a este atributo o conjunto de atributos se
le llama clave de la entidad, (para la entidad persona una clave
seria DNI). En toda entidad siempre hay al menos una clave que en el peor de
los casos estará formada por todos los atributos de la tabla. Ya que pueden
haber varias claves y necesitamos elegir una, lo haremos atendiendo a estas
normas:
- Que sea única.
- Que se tenga pleno conocimiento de ella.- ¿Por qué en las
empresas se asigna a cada cliente un número de cliente?.
- Que sea mínima, ya que será muy utilizada por el gestor de
base de datos.
Relación.- Asociación entre entidades, sin existencia propia
en el mundo real que estamos modelando, pero necesaria para reflejar las
interacciones existentes entre entidades. Las relaciones pueden ser de tres
tipos:
- Relaciones 1-1.- Las entidades que intervienen en la
relación se asocian una a una (Ej: la entidad HOMBRE, la entidad MUJER y entre
ellos la relación MATRIMONIO).
- Relaciones 1-n.- Una ocurrencia de una entidad está asociada
con muchas (n) de otra (Ej: la entidad EMPERSA, la entidad TRABAJADOR y entre
ellos la relación TRABAJAR-EN).
- Relaciones n-n.-Cada ocurrencia, en cualquiera de las dos
entidades de la relación, puede estar asociada con muchas (n) de la otra y
viceversa (Ej: la entidad ALUMNO, la entidad EMPRESA y entre ellos la relación
MATRÍCULA).
Video Ilustrativo

































