Los SGBD que actualmente están en el mercado pretenden satisfacer un conjunto
de objetivos directamente deducibles de lo que hemos explicado hasta
ahora. A continuación los comentaremos, pero sin entrar en detalles, lo veremos más adelante en posteriores capítulos.

Consultas no predefinidas y complejas

El objetivo fundamental de los SGBD es permitir que se hagan consultas no
predefinidas (ad hoc) y complejas.

Consultas que afecta a más de una entidad tipo

  • Se quiere conocer el número de alumnos de más de 25 años y con nota media superior a 7 que están matriculados actualmente en la asignatura Bases de datos I.
  • De cada alumno matriculado en menos de tres asignaturas, se quiere obtener el nombre, el número de matrícula, el nombre de las asignaturas y el nombre de profesores de estas asignaturas.
Consultas de los usuarios

Los usuarios podrán hacer consultas de cualquier tipo y complejidad directamente al SGBD. El SGBD tendrá que responder inmediatamente sin que estas consultas estén preestablecidas; es decir, sin que se tenga que escribir, compilar y ejecutar un programa específico para cada consulta.

El usuario debe formular la consulta con un lenguaje sencillo (que se quede,
obviamente, en el nivel lógico), que el sistema debe interpretar directamente.
Sin embargo, esto no significa que no se puedan escribir programas con consultas
incorporadas (por ejemplo, para procesos repetitivos).

La solución estándar para alcanzar este doble objetivo (consultas no predefinidas
y complejas) es el lenguaje SQL, que veremos más adelante.

Flexibilidad e independencia

La complejidad de las BD y la necesidad de irlas adaptando a la evolución del SI
hacen que un objetivo básico de los SGBD sea dar flexibilidad a los cambios.

Interesa obtener la máxima independencia posible entre los datos y los procesos
usuarios para que se pueda llevar a cabo todo tipo de cambios tecnológicos y variaciones en la descripción de la BD, sin que se deban modificar los programas
de aplicación ya escritos ni cambiar la forma de escribir las consultas (o actualizaciones) directas.

 

Independencia física de los datos

Para conseguir esta independencia, tanto los usuarios que hacen consultas (o actualizaciones) directas como los profesionales informáticos que escriben programas que las llevan incorporadas, deben poder desconocer las características físicas de la BD con que trabajan. No necesitan saber nada sobre el soporte físico, ni estar al corriente de qué SO se utiliza, qué índices hay, la compresión o no compresión de datos, etc.

De este modo, se pueden hacer cambios de tecnología y cambios físicos para mejorar el rendimiento sin afectar a nadie. Este tipo de independencia recibe el nombre de independencia física de los datos.

En el mundo de los ficheros ya había independencia física en un cierto grado, pero en el mundo de las BD acostumbra a ser mucho mayor.

 

independencia lógica de los datos

Sin embargo, con la independencia física no tenemos suficiente. También queremos que los usuarios (los programadores de aplicaciones o los usuarios directos) no tengan que hacer cambios cuando se modifica la descripción lógica o el esquema de la BD (por ejemplo, cuando se añaden / suprimen entidades o interrelaciones, atributos, etc.

Y todavía más: queremos que diferentes procesos usuarios puedan tener diferentes visiones lógicas de una misma BD, y que estas visiones se puedan mantener lo más independientes posibles de la BD, y entre ellas mismas. Este tipo de independencia se denomina independencia lógica de los datos, y da flexibilidad y elasticidad a los cambios lógicos.

Ejemplos de independencia lógica

  • El personal administrativo de secretaría podría tener una visión de la entidad alumno sin que fuese necesario que existiese el atributo nota. Sin embargo, los usuarios profesores (o los programas dirigidos a ellos) podrían tener una visión en la que existiese el atributo nota pero no el atributo fecha de pago.
  • Decidimos ampliar la longitud del atributo nombre y lo aumentamos de treinta a cincuenta caracteres, pero no sería necesario modificar los programas que ya tenemos escritos si no nos importa que los valores obtenidos tengan sólo los primeros treinta caracteres del nombre.

 

 

 

26