1. 1 TEMA 1. INTRODUCCION
1 TEMA 1. INTRODUCCION ................................................................................... 1
1.1 CONCEPTOS BÁSICOS ................................................................................. 2
1.1.1 Introducción.............................................................................................. 2
1.1.2 Concepto de base de datos........................................................................ 3
1.1.3 Concepto de SGBD .................................................................................. 5
1.1.4 Tareas del SGBD ...................................................................................... 6
1.1.5 Funciones de la Base de Datos ................................................................. 6
1.1.6 El Administrador de la BD y el Administrador de los Datos ................... 7
1.1.7 Beneficios de la Base de Datos ................................................................ 7
1.1.8 Tipos de Bases de Datos........................................................................... 8
1.1.9 Estructura de un SGBD ............................................................................ 9
1.2 Arquitectura de un SGBD. El modelo ANSI-SPARC.................................... 11
1.2.1 Introducción............................................................................................ 11
1.2.2 El Nivel Externo ..................................................................................... 12
1.2.3 El Nivel Conceptual................................................................................ 12
1.2.4 El Nivel Interno ...................................................................................... 13
1.2.5 Mapeos, Aplicaciones y Correspondencias ............................................ 13
1.2.6 El Administrador de la Base de Datos.................................................... 14
1.2.7 El Sistema de Gestión de Bases de Datos .............................................. 15
1.2.8 BackEnd y FrontEnd .............................................................................. 16
Tema 1: Introducción 1
2. 1.1 CONCEPTOS BÁSICOS
1.1.1 Introducción
Los sistemas de información tradicionales almacenan información en ficheros. Estos
sistemas tienen las siguientes características:
• Los ficheros se diseñan para una determinada aplicación
• Las aplicaciones no suelen compartir los ficheros
Como consecuencia:
• Hay una ocupación inútil de memoria secundaria
• Suele aparecer un cierto grado de inconsistencia en la información
• Aparece una falta de flexibilidad del sistema de ficheros para adaptarse a las
nuevas necesidades
• Existe cierta dificultad para compartir información
En general, estamos ante un esquema de funcionalidad datos/aplicaciones que puede ser
bien representado por el siguiente ejemplo:
DATOS 1 FICHERO 1
APLICACION 1
DATOS 2 FICHERO 2
APLICACION 2
DATOS 3 FICHERO 3
DATOS 4 FICHERO 4 FICHERO 5
Para resolver estos problemas relacionados con el tratamiento de los datos y de la
información surgieron las Bases de Datos. Se trata de aplicar una ‘orientación al dato’
para resolver todos los problemas relacionados con las necesidades de manejar y tratar
la información, bien directamente por los usuarios o bien a través de aplicaciones que
hagan uso de la información.
Así pues, el esquema de funcionalidad anterior, se podría representar ahora bajo este
nuevo concepto de la siguiente forma:
Tema 1: Introducción 2
3. DATOS 1
APLICACION 1
DATOS 2
BASE DE
DATOS 3 DATOS
APLICACION 2
DATOS 4
1.1.2 Concepto de base de datos
Son muy numerosas las definiciones de base de datos, y si se analizan detenidamente, se
suele observar en casi todas ellas coincidencias en ciertos elementos, aunque también se
detecta la falta de otros fundamentales que son característicos de las bases de datos y
que marcan la diferencia entre este concepto y el de ficheros. A continuación se
proporcionan algunas definiciones de base de datos:
“Colección de datos interrelacionados almacenados en un conjunto
sin redundancias perjudiciales o innecesarias; su finalidad es servir a
una aplicación o más, de la mejor manera posible; los datos se
almacenan de modo que resulten independientes de los programas
que los usan; se emplean métodos bien determinados para incluir
nuevos datos y para modificar o extraer los datos almacenados.
(Martín, 1975).”
“Colección o depósito de datos, donde los datos están lógicamente
relacionados entre sí, tienen una definición y descripción comunes y
están estructurados de una forma particular. Una base de datos es,
también, un modelo del mundo real y, como tal, debe poder servir
para toda una gama de usos y aplicaciones. (Conference des
Staticiens Européens, 1977).”
“Conjunto de datos de la empresa memorizado por un ordenador, que
es utilizado por numerosas personas y cuya organización está regida
por un modelo de datos. (Flory, 1982).”
“Conjunto estructurado de datos registrados sobre soportes
accesibles por ordenador para satisfacer simultáneamente a varios
usuarios de forma selectiva y en tiempo oportuno. (Delobel, 1982).”
“Colección no redundante de datos compartibles entre diferentes
sistemas de aplicación. (Howe, 1983).”
“Colección integrada y generalizada de datos, estructurada
atendiendo a las relaciones naturales de modo que suministre todos
los caminos de acceso necesarios a cada unidad de datos con objeto
Tema 1: Introducción 3
4. de poder atender todas las necesidades de los diferentes usuarios.
(Deen, 1985).”
“Conjunto de ficheros maestros, organizados y administrados de una
manera flexible de modo que los ficheros puedan ser fácilmente
adaptados a nuevas tareas imprevisibles. (Frank, 1988).”
“Colección de datos interrelacionados. (Emasri y Navathe, 1989).”
La aparición de la expresión base de datos se produce a comienzos de los años 60. En
1963 ya aparece el término Data Base en un simposio en Santa Mónica (EEUU), donde
se propuso una definición que no fue universalmente aceptada.
Posteriormente, en 1967, el grupo de estandarización CODASYL decidió cambiar su
primitiva denominación en la que no aparecía la expresión bases de datos por el de Data
Base Task Group.
Algo en lo que coinciden todas las definiciones es que una base de datos es un conjunto,
colección o depósito de datos almacenados en un soporte informático de acceso directo.
Los datos deben estar estructurados e interrelacionados de acuerdo con un modelo capaz
de recoger en máximo contenido semántico.
Dada la importancia que tienen en el mundo real las interrelaciones entre los datos, es
imprescindible que la base de datos sea capaz de almacenarlas, al igual que hace con
otros elementos, siendo esta diferencia esencial respecto a los ficheros donde no se
almacenan las interrelaciones. En el mundo real existen, además, restricciones
semánticas a las que se está concediendo una importancia creciente y que, en los
sistemas actuales, tienden a almacenarse junto con los datos, igual que las
interrelaciones.
La redundancia de los datos debe ser controlada, de forma que no existan duplicidades
perjudiciales ni innecesarias, y que las redundancias físicas, en muchos casos
convenientes, sean tratadas por el mismo sistema, de modo que no puedan producirse
incoherencias. Esto podría resumirse diciendo que en las bases de datos no debe existir
redundancia lógica, aunque sí se admite redundancia física por motivos de eficiencia.
Las bases de datos han de atender a múltiples usuarios y diferentes aplicaciones, en
contraposición a los sistemas de ficheros, en los que cada fichero está diseñado para
responder a las necesidades de una determinada aplicación.
Otro aspecto importante de las bases de datos es la independencia, tanto física como
lógica, entre datos y tratamientos. Esta independencia, objetivo fundamental de las
bases de datos, es una característica esencial que distingue a las bases de datos de los
ficheros.
La definición y la descripción del conjunto de datos contenidos en la base deben ser
únicas y estar integradas con los mismos datos. En los sistemas basados en ficheros, los
datos se encuentran almacenados en soporte magnético, mientras su descripción está
separada de los mismos, formando parte de los programas. Suele haber, además, una
documentación adicional en soporte papel, en muchos casos insuficiente y no
actualizada. Este tipo de organización da lugar a infinidad de problemas. En las bases de
datos, la descripción y la definición y documentación completa se almacenan junto con
Tema 1: Introducción 4
5. los datos, de modo que estos están autodocumentados, y cualquier cambio que se
produzca en dicha documentación se ha de reflejar y quedar recogido en el sistema con
todas las ventajas que de ello se derivan.
La actualización y recuperación en las bases de datos se debe realizar mediante procesos
bien determinados, procedimientos que han de estar diseñados de modo que se
mantenga la integridad, seguridad y confidencialidad de la base de datos.
El concepto de base de datos ha ido cambiando y configurándose a lo largo del tiempo,
y en la actualidad podemos definir una base de datos como:
“Colección o depósito de datos integrados, con redundancia
controlada y con una estructura que refleje las interrelaciones y
restricciones existentes en el mundo real; los datos, que han de ser
compartidos por diferentes usuarios y aplicaciones, deben mantenerse
independientes de estas, y su definición y descripción, únicas para
cada tipo de datos, han de estar almacenadas junto con los mismos.
Los procedimientos de actualización y recuperación, comunes y bien
determinados, habrán de ser capaces de conservar la integridad,
seguridad y confidencialidad del conjunto de los datos.”
1.1.3 Concepto de SGBD
Se puede definir un sistema de gestión de base de datos (SGBD) como un conjunto
coordinado de programas, procedimientos, lenguajes, etc. que suministra, tanto a los
usuarios no informáticos como a los analistas, programadores o al administrador, los
medios necesarios para describir, recuperar y manipular los datos almacenados en la
base de datos, manteniendo su integridad, confidencialidad y seguridad.
Dicho con otras palabras, un SGBD es la herramienta que permite interactuar los datos
con los usuarios de los datos, de forma que se garanticen todas las propiedades definidas
para una base de datos. En algunos casos el SGBD trabajará directamente con los datos,
y en otras ocasiones lo hará a través del Sistema Operativo de la máquina donde resida
el SGBD.
Usuarios
SGBD
S.O.
DATOS
Tema 1: Introducción 5
6. 1.1.4 Tareas del SGBD
Las principales tareas que debe desarrollar un SGBD son las siguientes:
• El SGBD oculta al usuario los detalles del almacenamiento de la
información, mostrando una visión ‘abstracta’ de la información.
• El SGBD garantiza la independencia lógica y física de los datos.
• El SGBD permite integrar distintos tipos de información y permite
compartirlos entre distintas aplicaciones y usuarios.
• EL SGBD se encarga también de garantizar la seguridad de la información,
controlando el acceso a la misma.
• El SGBD controla la integridad de la información comprobando la
consistencia de la misma cuando se realizan operaciones de inserción,
modificación o borrado.
• El SGBD organiza el acceso concurrente a la información por parte de
distintas aplicaciones y usuarios, eliminando la posibilidad de interferencias
o conflictos entre diferentes acciones.
1.1.5 Funciones de la Base de Datos
Las funciones que realiza una base de datos son las siguientes:
• Crear nuevos ficheros. Crear nuevas estructuras que permitan el
almacenamiento de nueva información o nuevos datos, así como de las
interrelaciones adecuadas entre los mismos.
• Introducir datos. Capacidad de insertar nuevos datos sobre las estructuras ya
creadas, al igual que la inserción de interrelaciones entre los datos
introducidos en el sistema.
• Extraer datos. Capacidad de extracción selectiva de la información en base,
generalmente, a un lenguaje de consulta que permite interaccionar con la
base de datos a través del SGBD.
• Actualizar o modificar datos. Alteración de las estructuras de datos y de los
contenidos existentes en las estructuras de datos que definen una base de
datos.
• Borrar datos. Eliminación de datos existentes en la base de datos, pero
manteniendo siempre la integridad de la base de datos.
La interacción con la BD se realiza a través de un lenguaje de definición (DDL) y
manipulación (DML) de datos. Estos lenguajes permiten realizar operaciones
interactivas o diferidas sobre la base de datos.
Tema 1: Introducción 6
7. El SQL (Structured Query Language) es un lenguaje combinado de manipulación y
definición de datos, y es el estándar más utilizado en las bases de datos relacionales. Por
ejemplo, algunas sentencias en SQL son:
SELECT * FROM MI_TABLA;
INSERT INTO MI_TABLA VALUES (‘CLAVE1’,12124);
DELETE FROM MI_TABLA;
UPDATE MI_TABLA SET MI_CAMPO=‘CLAVE2’ WHERE
MI_CAMPO=’CLAVE1’;
Las instrucciones al SGBD y a la base de datos pueden introducirse interactivamente
por el operador o incorporarse a programas de aplicación escritos en cualquier lenguaje
de propósito general (C, Pascal, Basic, …). En SQL, este modo de programación se
denomina SQL embebido (embeded SQL).
1.1.6 El Administrador de la BD y el Administrador de los Datos
El Administrador de la Base de Datos es la persona encargada de la operación de
sistema, y es el responsable de decidir:
• Los datos que se deben almacenar en la base de datos
• La política de mantenimiento, tratamiento de los datos y seguridad de la
información
El Administrador de los Datos es una persona relacionada con las actividades de gestión
y dirección en la empresa que conoce a fondo los flujos de información dentro de la
empresa y las necesidades de utilización de la misma por cada departamento.
El Administrador de la BD decide la mejor forma de desarrollar las directivas del
administrador de datos, organizando la administración del sistema y la operación de los
usuarios.
El Administrador de la BD es un especialista en bases de datos e informática que
conoce las herramientas de gestión de la base de datos, así como la forma de desarrollar
los planes del administrador de datos. Así mismo, decide la política de copias de
seguridad, duplicación de la información filtros de acceso de usuarios que aseguren los
niveles de seguridad deseados, tanto frente a la pérdida de información como frente al
acceso no autorizado.
1.1.7 Beneficios de la Base de Datos
• Independencia de los datos. Podemos definirla como la independencia de la
representación de la información respecto a las aplicaciones que la utilizan.
De esta forma, se consigue una representación conveniente para todos los
usos posibles de los datos y la estandarización de procedimientos.
• Distintas aplicaciones necesitan distintas ‘vistas’ de los datos.
Tema 1: Introducción 7
8. • Es posible modificar la estructura de almacenamiento de la
información sin afectar a las aplicaciones que los utilizan.
• Reducción de la redundancia. Evita el almacenamiento múltiple de una
misma información para uso de distintas aplicaciones, o en distintos
departamentos con propósitos diferentes. Como veremos, además de la
economía importante en coste de mantenimiento de la información y la
posibilidad de extender el uso de la información, se consigue también evitar
algunos problemas que puede producir la redundancia.
• Evitar inconsistencias. Impide que exista información discrepante sobre un
mismo y único hecho. La aparición de información inconsistente e incluso
contradictoria puede darse si se almacena redundantemente información
relativa a un mismo hecho u objeto.
• Compartir datos. Permite utilizar los mismos datos entre distintos usuarios
y aplicaciones, gestionando el acceso concurrente de todas ellas a la
información.
• Garantizar la seguridad. Permite garantizar la seguridad de la información,
controlando el acceso y la manipulación de la información por las distintas
aplicaciones y usuarios. También mantiene la integridad de la información.
• Balancear aplicaciones conflictivas. Permite balancear la utilización de los
recursos existentes, en capacidad de almacenamiento y de procesamiento
entre las necesidades de los distintos usuarios y aplicaciones.
1.1.8 Tipos de Bases de Datos
Los sistemas de bases de datos se pueden clasificar en forma conveniente atendiendo a
las estructuras de datos que manejan y los operadores presentados al usuario y que le
permiten acceder a la información almacenada en ella.
Los sistemas más antiguos se han denominado pre-relacionales, y se clasifican en tres
categorías. Luego aparecen los sistemas relacionales, que marcan la frontera y definen
el antes y el después. Posteriormente, los sistemas post-relacionales, que están todavía
en evolución, marcan la pauta de las nuevas tendencias y tecnologías:
• De lista invertida (CA-DATACOM/DB, etc.)
• Jerárquicos (IMS de IBM, etc.)
• De red (CA-IDMS/DB, etc.)
• Relacionales (ORACLE, DB2, SQL/DS, Rdb/VMS, INGRES, INFORMIX,
SQLSERVER, etc.)
• Sistemas deductivos de administración de bases de datos
• Sistemas semánticos de administración de bases de datos
• SGBD de relación universal
• SGBD orientados a objetos
• Sistemas extensibles de administración de bases de datos
• Sistemas expertos de administración de bases de datos
Tema 1: Introducción 8
9. 1.1.9 Estructura de un SGBD
Un sistema de bases de datos se divide en módulos que se encargan de cada una de las
responsabilidades del sistema completo. Algunas de estas funciones del sistema de
bases de datos las puede proporcionar el sistema operativo de la computadora. En la
mayoría de los casos, los sistemas operativos de la computadora proporcionan sólo los
servicios más básicos y los sistemas de bases de datos deben construirse sobre esta base.
Así, el diseño de un sistema de bases de datos debe incluir consideraciones de la interfaz
entre el sistema de base de datos y el sistema operativo.
Los componentes funcionales de un sistema de base de datos se pueden dividir, a
grandes rasgos, en componentes de procesamiento de consultas y componentes de
gestión y almacenamiento. Los componentes de procesamiento de consultas incluyen:
• Compilador de DML (Data Manipulation Language), que traduce las
instrucciones del DML en lenguaje de consultas a instrucciones a bajo nivel
que entiende el motor de evaluación de consultas. Además, el compilador del
DML intenta transformar las peticiones del usuario en otras equivalentes pero
más eficientes, encontrando así una buena estrategia para ejecutar la consulta.
• Precompilador del DML embebido, que convierte las instrucciones del DML
embebidas en un programa de aplicación en llamadas a procedimientos
normales en el lenguaje anfitrión. El precompilador debe interactuar con el
compilador del DML para generar el código apropiado.
• Intérprete del DDL (Data Definition Language), que interpreta las
instrucciones del DDL y las registra en un conjunto de tablas que contienen
metadatos.
• Motor de evaluación de consultas, que ejecuta las instrucciones a bajo nivel
generadas por el compilador de DML.
Los componentes de gestión de almacenamiento proporcionan la interfaz entre los datos
de bajo nivel almacenados en la base de datos y los programas de aplicación y envío de
consultas al sistema. El gestor de almacenamiento incluye:
• Gestor de autorización e integridad, que comprueba que se satisfagan las
ligaduras de integridad y la autorización de los usuarios para acceder a los
datos.
• Gestor de transacciones, que asegura que la base de datos quede en un estado
consistente a pesar de los fallos del sistema, y que las ejecuciones de
transacciones concurrentes ocurran sin conflictos.
• Gestor de archivos, que gestiona la reserva de espacio de almacenamiento en
disco y las estructuras de datos usadas para representar la información
almacenada en disco.
• Gestor de memoria intermedia, que es responsable de traer los datos del disco
de almacenamiento a memoria principal y decidir qué datos tratar en la
memoria caché.
Tema 1: Introducción 9
10. Además, se necesitan varias estructuras de datos como parte de la implementación física
del sistema:
• Archivos de datos, que almacenan la base de datos en sí.
• Diccionario de datos, que almacena metadatos acerca de la estructura de la
base de datos. El diccionario de datos se usa mucho. Por lo tanto, se debería
poner especial énfasis en el desarrollo de un buen diseño e implementación
eficiente del diccionario.
• Indices, que proporcionan acceso rápido a elementos de datos que tienen
valores particulares.
• Datos estadísticos, que almacenan información estadística sobre los datos en
la base de datos. El procesador de consultas usa esta información para
seleccionar las formas eficientes para ejecutar una consulta.
En la siguiente figura se muestra una estructura completa de un SGBD con sus
componentes y las relaciones que existen entre ellos:
usuarios programadores usuarios administrador de la
normales de aplicaciones avanzados base de datos
Interfaces de Programas de Esquema de
Consulta
aplicaciones aplicación Base de Datos
Precompilador
Compilador DML Intérprete DDL
DML embebido
Código objeto
Procesador
de los programas
Motor de de Consultas
de aplicación
evaluación de
consultas
Gestor de Gestor de memoria
Transacciones intermedia
Gestor de
Almacenamiento
Gestor de
Archivos
Indices Datos Estadísticos Almacenamiento
en Disco
Archivos de Datos
Diccionario de Datos
Tema 1: Introducción 10
11. 1.2 Arquitectura de un SGBD. El modelo ANSI-SPARC
1.2.1 Introducción
En este punto explicaremos una arquitectura de referencia de sistema de base de datos
propuesta por el grupo de trabajo ANSI/SPARC Study Group on Data Base
Management Systems (ANSI/X3/SPARC). La arquitectura cubre un doble objetivo:
• Ofrece un lenguaje común para explicar los conceptos generales de base de
datos.
• Ofrece una arquitectura de referencia para el desarrollo de bases de datos.
La arquitectura propuesta está formada por tres niveles diferentes:
• Interno: relacionado con el almacenamiento físico de la información.
• Conceptual: establece la conexión entre el nivel interno y el externo
• Externo: relacionado con la relación del usuario con la base de datos
De forma esquemática, los tres niveles se pueden representar del siguiente modo:
Nivel externo:
Vistas individuales
de los usuarios
Nivel conceptual:
Vista común de
los usuarios
Nivel interno:
Vista del almacenamiento
La siguiente figura muestra la arquitectura completa propuesta por ANSI/SPARC:
Usuario A1 Usuario A2 Usuario A3
Lenguaje Lenguaje Lenguaje
anfitrión anfitrión anfitrión
+DSL +DSL +DSL
Vista externa A Vista externa B
Correspondencia Correspondencia
Externa/coneptual Externa/coneptual
Esquemas y
correspondencias
construidos y
Vista Conceptual
mantenidos por el Sistema de
administrador de Correspondencia
Coneptual/interna Administración
base de datos de la base de
(DBA) datos (DBMS)
Tema 1: Introducción 11
12. La arquitectura muestra:
• Los distintos actores que intervienen en un sistema de bases de datos
(usuarios, DBA, DBMS, sistema de ficheros).
• El papel del Administrador de la Base de Datos y del Sistema de Gestión de
la Base de Datos (DBMS).
• El papel del DSL y los distintos niveles en el desarrollo de una aplicación
(DSL = DDL + DML).
1.2.2 El Nivel Externo
El usuario interactúa con el nivel externo de la base de datos. Los usuarios tienen vistas
externas de la base de datos (organización + contenido). Para estos usuarios la vista es
la base de datos.
• El programador de aplicaciones utiliza un lenguaje de programación y un
sublenguaje de datos (DSL) para desarrollar aplicaciones que manipulan y
utilizan información de la base de datos (lenguaje inmerso).
• El usuario final que realiza peticiones/operaciones interactivas de consulta,
inserción, actualización o borrado sobre la BD.
Los DML consisten muchas veces en llamadas al SGBD a través de funciones
predefinidas (API – Application Programming Interface).
Según ANSI/SPARC:
• Los usuarios tienen vistas externas de la base de datos (organización +
contenido).
• Las vistas externas consisten en ocurrencias múltiples de registros externos.
• Los registros externos (registros lógicos) no corresponden necesariamente a
registros almacenados en la BD. Pueden incluir información de distintas
tablas o campos calculados.
• Las vistas externas se definen por medio de un esquema externo. Consiste en
la definición de los distintos registros externos que la forman.
• Los esquemas se definen utilizando el lenguaje DDL externo.
1.2.3 El Nivel Conceptual
Es la representación de toda la información contenida en la base de datos. Es la
representación de los datos ‘como son’.
Según ANSI/SPARC:
Tema 1: Introducción 12
13. • Las vistas conceptuales consisten en múltiples ocurrencias de registros
conceptuales que no necesariamente coinciden con los registros externos o
físicos.
• La vista conceptual se define a través del esquema conceptual que incluye
definiciones de los distintos registros conceptuales.
• El esquema conceptual se define utilizando el DDL conceptual que no tiene
en cuenta los aspectos de almacenamiento de la información, la estructura de
acceso, la secuencia de acceso o los índices. El esquema conceptual incluye
aspectos como controles de seguridad y control de integridad.
1.2.4 El Nivel Interno
El nivel interno es el que trata los aspectos de almacenamiento físico de la información,
y recoge la representación de almacenamiento de la información.
El nivel interno se encuentra en el paso anterior a los aspectos físicos como pista o
cilindro, y es independiente de los dispositivos de almacenamiento, que son tratados por
el gestor de ficheros o por el propio dispositivo de almacenamiento. Trata, pues, los
aspectos lógicos del almacenamiento físico.
Las vistas internas también reciben a veces el nombre de base de datos almacenada.
Según ANSI/SPARC:
• El nivel interno consiste en múltiples ocurrencias de registros internos
(registros almacenados).
• La vista interna se define a través del esquema interno que describe los
distintos tipos de registros almacenados, los índices que existen, cómo se
representan los valores (entero, doble precisión, coma flotante o fija, EBDIC
o ASCII, etc.), así como la secuencia de almacenamiento de los registros.
• El esquema interno se crea utilizando un lenguaje DDL interno.
En los siguientes apartados veremos las ventajas que representa la división a tres niveles
de la base de datos, que fundamentalmente son aislar la operación de la base de datos
frente a modificaciones de la estructura de almacenamiento y a la adición de nueva
información.
1.2.5 Mapeos, Aplicaciones y Correspondencias
Hemos visto las tres capas que según el comité ANSI/SPARC debe tener un sistema de
base de datos. Los tres niveles forman un sistema de base de datos, y por lo tanto es
necesario desarrollar los mecanismos de transformación de la información entre ellos
(aplicaciones que relacionen los tres niveles sobre una misma base de datos).
Tema 1: Introducción 13
14. 1.2.5.1 Correspondencia Conceptual/Interno
Esta correspondencia establece cómo se almacena a nivel interno los registros y campos
conceptuales. Si se modifica el almacenamiento de los datos, sólo es necesario
modificar la aplicación de correspondencia, y no la vista conceptual.
1.2.5.2 Correspondencia Externo/Conceptual
Define la correspondencia entre cada una de las vistas externas y la única vista
conceptual (diferentes tipos de datos, diferentes nombres de campos, múltiples registros
conceptuales fundidos en un único registro externo, etc.).
Se pueden crear vistas externas nuevas o modificar las existentes sin necesidad de
modificar la vista conceptual.
La vista conceptual describe la empresa o proyecto del cual almacena información la
BD en su globalidad. Por lo tanto, la vista conceptual tiene existencia más allá de los
otros niveles: la vista interna se modifica con la adquisición de nuevos equipos, las
vistas externas se crean para nuevas aplicaciones y se modifican para mejorar las
aplicaciones anteriores.
1.2.6 El Administrador de la Base de Datos
En esta sección se describe el papel del Administrador de la Base de Datos (DBA) en la
arquitectura ANSI/SPARC
1.2.6.1 Definición del esquema conceptual
Basándose en las decisiones del Administrador de Datos (DA), el DBA crea el esquema
conceptual de la base de datos. El DA decide qué información se ha de almacenar en
función de las distintas aplicaciones de la BD de interés para la empresa (Diseño
Conceptual). El DA conoce también las relaciones y atributos de cada una de las
entidades escogidas.
El DBA decide cómo se debe almacenar la información y crea los esquemas
conceptuales. El esquema compilado lo utiliza el SGBD. El esquema fuente se utiliza
como documento de referencia.
1.2.6.2 Definición del esquema interno
El DBA decide la organización del almacenamiento físico de la información y crea la
vista interna de la base de datos. Asimismo, establece las correspondencias entre los
niveles físico y conceptual.
1.2.6.3 Relación con los usuarios
El DBA se encarga también de mantener la relación con los usuarios, asegurar que
tienen acceso a la información que necesitan y que se cumplen las normas de seguridad
establecidas.
El DBA presta apoyo en la definición de esquemas externos y de la correspondencia
Externo/Conceptual que se realizan para los distintos grupos de usuarios.
Tema 1: Introducción 14
15. Asimismo, el DBA se encarga de los cursos de formación y soporte técnico de los
usuarios de las bases de datos
1.2.6.4 Definición de los controles de seguridad e integridad
Como se ha visto, forman parte del nivel conceptual
1.2.6.5 Definición de procedimientos de copia de seguridad y recuperación
El DBA debe definir los procedimientos necesarios para prevenir accidentes fortuitos o
intencionados sobre un recurso que se convierte en vital para la empresa: la
información. Debe definir también los procedimientos de recuperación ante un error en
caso de que se llegue a producir.
1.2.6.6 Analizar y controlar el rendimiento del sistema
El DBA debe mantener el sistema de modo que se consiga el rendimiento requerido en
la operación del sistema por cada usuario.
1.2.7 El Sistema de Gestión de Bases de Datos
El SGBD es la aplicación que gestiona/maneja todos los accesos u operaciones sobre la
base de datos. Sus funciones son:
1.2.7.1 Definición de datos
Proporcionar lenguajes para la creación de los esquemas externo, conceptual e interno.
1.2.7.2 Manipulación de datos
Proporcionar un lenguaje para la manipulación de datos y un soporte para gestionar las
peticiones del usuario: consulta, modificación, inserción y borrado de datos,
manteniendo las propiedades que ya se han estudiado de integridad, seguridad y
concurrencia.
Pueden existir dos tipos de peticiones: peticiones planificadas (la base de datos ha sido
diseñada para contestarlas) y no planificadas, donde la base de datos no está adaptada a
resolverlas. Estas últimas son aquellas para las cuales las correspondencias entre niveles
son complejas o no existen índices creados para resolver eficientemente la consulta.
1.2.7.3 Seguridad e Integridad de los datos
El SGBD debe controlar las operaciones de los usuarios sobre la base de datos e impedir
acciones que pongan en peligro la integridad y seguridad de la BD. La BD debe
controlar el acceso a los usuarios autorizados, confirmando a través de palabras de paso
la identidad de los mismos.
1.2.7.4 Recuperación de datos y Concurrencia
El SGBD debe contener un gestor de transacciones capaz de recuperar un estado
consistente de la base de datos ante errores del sistema (fallo de la alimentación, errores
provocados por usuarios, etc.).
Tema 1: Introducción 15
16. El SGBD debe permitir el acceso concurrente de distintos usuarios a la base de datos a
través del bloqueo de transacciones.
1.2.7.5 Diccionario de datos
El diccionario de datos contiene información sobre los ‘datos sobre los datos’, los
distintos esquemas externo, conceptual e interno, y las operaciones de correspondencia
entre niveles.
El diccionario de datos debe incluir también información sobre las aplicaciones que
utilizan la base de datos, usuarios, etc.
1.2.7.6 Rendimiento
El SGBD debe proveer las herramientas para medir y ajustar el rendimiento de todas las
operaciones anteriores, facilitando a cada usuario el rendimiento requerido por su
aplicación dentro de las restricciones del equipo.
1.2.8 BackEnd y FrontEnd
Una visión más simplificada de la base de datos permite su estructuración en dos partes
principales:
• BackEnd, o Sección posterior. Es el DBMS en sí, y permite llevar a cabo las
funciones básicas de un DBMS. En particular, permite establecer todos los
aspectos de los niveles externo, conceptual e interno. Por tanto, éste es sólo
otro nombre para el DBMS.
• FrontEnd, o Secciones frontales. Son las diversas aplicaciones ejecutadas
dentro del DBMS, tanto las escritas por los usuarios como las integradas que
son proporcionadas por el proveedor del DBMS o bien por otros proveedores
de programas.
Interfaz de
Aplicaciones programación DMBS DB
Usuarios finales Secciones Sección
Base de datos
frontales posterior
Tema 1: Introducción 16