Unidad I I.SISTEMAS GESTORES DE BASES DE DATOS
1.1. ¿Cuáles son las cuatro diferencias principales entre un sistema de
procesamiento de archivos y un SGBD?
- Dificultad
en el acceso a los datos. La cuestión aquí es que el entorno de
procesamiento de archivos convencional no permite que los datos necesarios sean
obtenidos de una forma práctica y eficiente. Se deben desarrollar sistemas de
recuperación de datos más interesantes para un uso general.
- Aislamiento
de datos. Debido a que los datos están dispersos en varios
archivos, y los archivos pueden estar en diferentes formatos, es difícil
escribir nuevos programas de aplicación para recuperar los datos apropiados.
- Problemas
de integridad. Los valores de los datos almacenados en la base de datos deben
satisfacer ciertos tipos de restricciones de consistencia; El problema es
complicado cuando las restricciones implican diferentes elementos de datos de
diferentes archivos.
- Problemas de atomicidad. Un sistema de un computador, como cualquier otro dispositivo mecánico o eléctrico, está sujeto a fallo. En muchas aplicaciones es crucial asegurar que, una vez que un fallo ha ocurrido y se ha detectado, los datos se restauran al estado de consistencia que existía antes del fallo. Es decir, la transferencia de fondos debe ser atómica: ésta debe ocurrir en ellos por completo o no ocurrir en absoluto. Es difícil asegurar esta propiedad en un sistema de procesamiento de archivos convencional.
1.2. En este capítulo se han descrito las diferentes ventajas
principales de un sistema gestor de bases de datos. ¿Cuáles son los dos
inconvenientes?
- Anomalías en el acceso
concurrente. Conforme se ha ido mejorando el conjunto de ejecución de los
sistemas y ha sido posible en muchos sistemas que múltiples usuarios
actualicen los datos simultáneamente. Sin embargo, ya que se puede acceder
a los datos desde muchos programas de aplicación diferentes que no han
sido previamente coordinados, la supervisión es difícil de proporcionar.
- Problemas de seguridad. No
todos los usuarios de un sistema de bases de datos deberían poder acceder
a todos los datos. Por ejemplo, en un sistema bancario, el personal de
nóminas necesita ver sólo esa parte de la base de datos que tiene
información acerca de varios empleados del banco. No necesitan acceder a la
información acerca de las cuentas de clientes. Como los programas de
aplicación se añaden al sistema de una forma espontánea, es difícil
garantizar tales restricciones de seguridad.
1.3. Explíquese la diferencia entre independencia de datos física y
lógica.
- 1.- Independencia lógica.
Es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos ni los programas de aplicación. Se puede modificar el esquema conceptual para ampliar la base de datos o para reducirla.Por ejemplo, el añadir cuentas de mercado de valores en un sistema bancario. Son más difíciles de lograr que las independencias físicas, ya que los programas de aplicación son fuertemente dependientes de la estructura lógica de los datos a los que acceden. - 2.- Independencia Física.
Es la capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual (o los externos). Se refiere sólo a la separación entre las aplicaciones y las estructuras físicas de almacenamiento.Por ejemplo, puede ser necesario reorganizar ciertos ficheros físicos con el fin de mejorar el rendimiento de las operaciones de consulta o de actualización de datos.
1.4. Lístense las cinco responsabilidades del sistema gestor de la base
de datos. Para cada responsabilidad explíquense los problemas que ocurrirían si
no se realizara esa función.
Un sistema de bases de datos se divide en módulos que se encargan
de cada una de las responsabilidades del sistema completo.
Los componentes funcionales de un sistema de bases de datos se pueden
dividir a grandes rasgos en los componentes gestor de
almacenamiento y procesador de consultas.
- El gestor
de almacenamiento es responsable de la interacción con el gestor
de archivos. Los datos en bruto se almacenan en disco usando un
sistema de archivos, que está disponible habitualmente en un sistema
operativo convencional.
- Gestor de autorización e
integridad, que comprueba que se satisfagan las restricciones 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
(correcto) a pesar de los fallos del sistema, y que las
ejecuciones de transacciones concurrentes ocurran si conflictos.
- Gestor de archivos, que
gestiona la reserva de espacio de almacenamiento de 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
memoria caché. El gestor de memoria intermedia es una parte crítica
del sistema de bases de datos, ya que permite que la base de datos
maneje tamaños de datos que son mucho mayores que el tamaño de
la memoria principal.
- Los componentes del
procesador de consultas incluyen:
• Intérprete del LDD, que interpreta las instrucciones del LDD y registra las definiciones en el diccionario de datos.
• Compilador del LMD, que traduce las instrucciones del LMD en un lenguaje de consultas a un plan de evaluación que consiste en instrucciones de bajo nivel que entiende el motor de evaluación de consultas.
Una consulta se puede traducir habitualmente en varios planes de ejecución alternativos que proporcionan el mismo resultado. El compilador del LMD también realiza optimización de consultas, es decir, elige el plan de evaluación de menor coste de entre todas las alternativas.
• Motor de evaluación de consultas, que ejecuta las instrucciones de bajo nivel generadas por el compilador del LMD.
1.5. ¿Cuáles son las cinco funciones principales del administrador de la
base de datos?
- Definición del esquema. El administradores de la
base de datos crea el esquema original de la base de datos escribiendo un
conjunto de instrucciones de definición de datos en el LDD.
- Definición de la estructura
y del método de acceso.
- Modificación del esquema y
de la organización física. Los administradores de la base de datos
realizan cambios en el esquema y en la organización física para reflejar
las necesidades cambiantes de la organización, o para alterar la
organización física para mejorar el rendimiento.
- Concesión de autorización
para el acceso a los datos. La concesión de diferentes tipos de
autorización permite al administrador de la base de datos determinar a qué
partes de la base de datos puede acceder cada usuario. La información de
autorización se mantiene en una estructura del sistema especial que el
sistema de base de datos consulta cuando se intenta el acceso a los datos
en el sistema.
- Mantenimiento rutinario.
Algunos ejemplos de actividades rutinarias de mantenimiento del
administrador de la base de datos son:
— Copia de seguridad periódica de la base de datos, bien sobre cinta o sobre servidores remotos, para prevenir la pérdida de datos en caso de desastres como inundaciones.
— Asegurarse de que haya suficiente espacio libre en disco para las operaciones normales y aumentar el espacio en disco según sea necesario.
— Supervisión de los trabajos que se ejecuten en la base de datos y asegurarse de que el rendimiento no se degrada por tareas muy costosas iniciadas por algunos usuarios.
Definiciones
Abstracción de datos.
Para que el sistema sea útil debe recuperar los datos eficientemente.
Esta preocupación ha conducido al diseño de estructuras de datos complejas para
la representación de los datos en la base de datos. Como muchos usuarios de
sistemas de bases de datos no están familiarizados con computadores, los
desarrolladores esconden la complejidad a los usuarios a través de varios
niveles de abstracción para simplificar la interacción de los usuarios con el
sistema.
Administrador de la base de datos (ADB).
Una de las principales razones de usar sistema gestor de bases de datos
es tener un control centralizado tanto de los datos como de los programas que
acceden a esos datos. La persona que tiene este control central sobre el
sistema se llama administrador de la base de datos
Aplicaciones de sistemas de bases de datos.
Las bases de datos son ampliamente usadas:
• Banca. Para información de los clientes, cuentas y préstamos, y transacciones
bancarias.
• Líneas aéreas. Para reservas e información de planificación. Las
líneas aéreas fueron de los primeros en usar las bases de datos de forma
distribuida geográficamente (los terminales situados en todo el mundo
accedían al sistema de bases de datos centralizado a través de las líneas
telefónicas y otras redes de datos).
• Universidades. Para información de los estudiantes, matrículas de
las asignaturas y cursos.
• Transacciones de tarjetas de crédito. Para compras con tarjeta de
crédito y generación mensual de extractos.
• Telecomunicaciones. Para guardar un registro de las llamadas
realizadas, generación mensual de facturas, manteniendo el saldo de las
tarjetas telefónicas de prepago y para almacenar información sobre
las redes de comunicaciones.
• Finanzas. Para almacenar información sobre grandes empresas,
ventas y compras de documentos formales financieros, como bolsa y bonos.
• Ventas. Para información de clientes, productos y compras.
Concurrencia.
cuando varias transacciones actualizan la base de datos
concurrentemente, la consistencia de los datos puede no ser preservada,
incluso aunque cada transacción individualmente sea correcta. Es
responsabilidad del gestor de control de concurrencia controlar la
interacción entre las transacciones concurrentes para asegurar la
consistencia de la base de datos.
Diccionario de datos.
El gestor de almacenamiento implementa varias estructuras de datos como
parte de la implementacion física del sistema donde el diccionario de datos,
que almacena metadatos acerca de la estructura de la base de datos, en
particular, el esquema de base de datos.
Esquema.
Las bases de datos van cambiando conforme la información se inserta
y borra. La colección
de información almacenada en la base de datos en un momento se llama
ejemplar de la base de datos. El diseño completo de la base de datos se llama
el esquema de la base de datos, es la analogía con un programa
escrito en un lenguaje de programación.
— Esquema de la base de datos.
Un esquema de base de datos corresponde a las declaraciones
de variables (junto con definiciones de tipos asociadas) en un
programa. Cada variable tiene un valor particular en un instante de
tiempo. Los valores de las variables en un programa en un instante de
tiempo corresponde a un ejemplar de un esquema de bases de datos.
— Esquema físico.
El esquema físico describe el diseño físico en el nivel físico.
Esté está oculto bajo el esquema lógico, y puede ser
fácilmente cambiado usualmente sin afectar a los programas de
aplicación.
— Esquema lógico.
El esquema lógico describe el diseño de la base de datos en el
nivel lógico. Esté es con mucho el más importante, en términos de su
efecto en los programas de aplicación, ya que los programadores construyen
las aplicaciones usando el esquema lógico.
• Inconsistencia de datos.
Debido a que los archivos y programas de aplicación
son creados por diferentes programadores en un largo período de
tiempo, los diversos archivos tienen probablemente diferentes formatos y
los programas pueden estar escritos en diferentes lenguajes. Esta
repetición conduce a un almacenamiento y coste de acceso más altos, que puede
conducir a la inconsistencia de datos; es decir, las diversas copias
de los mismos datos pueden no coincidir.
• Independencia física de los datos.
Los programas de aplicación se dice que muestran independencia
física de datos si no dependen del esquema físico y, por tanto, no deben
ser modificados si cambia el esquema físico.
• Lenguajes de bases de datos.
Un sistema de bases de datos proporciona un lenguaje de definición
de datos para especificar el esquema de la base de datos y un lenguaje de
manipulación de datos para expresar las consultas a la base de datos y las
modificaciones. En la práctica, los lenguajes de definición y manipulación de
datos no son dos lenguajes separados; en su lugar simplemente forman
partes de un único lenguaje de bases de datos.
— Lenguaje de consultas.
Una consulta es una instrucción de solicitud para
recuperar información. La parte de un LMD que implica recuperación de
información se llama lenguaje de consultas. Aunque técnicamente sea
incorrecto, en la práctica se usan los términos lenguaje de consultas y
lenguaje de manipulación de datos como sinónimos.
— Lenguaje de definición de datos.
Un esquema de base de datos se especifica mediante un conjunto de
definiciones expresadas mediante un lenguaje especial
llamado lenguaje de definición de datos (LDD). Especificamos el
almacenamiento y los métodos de acceso usados por el sistema de bases de
datos por un conjunto de instrucciones en un tipo especial de
LDD denominado lenguaje de almacenamiento y definición de datos.
Estas instrucciones definen los detalles de implementación de los esquemas
de base de datos, que se ocultan sualmente a los usuarios.Los valores de
datos almacenados en la base de datos deben satisfacer ciertas
restricciones de consistencia.
• Lenguaje de manipulación de datos.
Un lenguaje de manipulación de datos (LMD) es un lenguaje que
permite a los usuarios acceder o manipular los datos organizados mediante
el modelo de datos apropiado. Hay dos tipos básicamente:
• LMDs procedimentales. Requieren que el usuario especifique qué
datos se necesitan y cómo obtener esos datos.
• LMDs declarativos (también conocidos como LMDs no
procedimentales). Requieren que el usuario especifique qué datos se
necesitan sin especificar cómo obtener esos datos.
• Máquinas cliente y servidor.
La mayoría de usuarios de un sistema de bases de datos no están
situados actualmente junto al sistema de bases de datos, sino que se
conectan a él a través de una red. Se puede diferenciar entonces entre las
máquinas cliente, en donde trabajan los usuarios remotos de la base
de datos, y las máquinas servidor, en las que se ejecuta el sistema
de bases de datos.
En una arquitectura de dos capas, la aplicación se divide en un
componente que reside en la
máquina cliente, que llama a la funcionalidad del sistema de
bases de datos en la máquina servidor mediante instrucciones
del lenguaje de consultas. Los estándares
de interfaces de programas de aplicación como ODBC y JDBC se usan
para la interacción entre el cliente y el servidor.
En cambio, en una arquitectura de tres capas, la máquina cliente
actúa simplemente como frontal y no contiene ninguna llamada directa a la
base de datos. En su lugar, el cliente se comunica con un servidor de
aplicaciones, usualmente mediante una interfaz de formularios.
El servidor de aplicaciones, a su vez, se comunica con el sistema
de bases de datos para acceder a los datos.
• Metadatos.
Un diccionario de datos contiene metadatos, es decir, datos acerca
de los datos.
• Modelos de datos.
Es una colección de herramientas conceptuales para describir
los datos, las relaciones, la semántica y las restricciones de
consistencia. Para ilustrar el concepto de un modelo de datos, describimos
dos modelos de datos en este apartado: el modelo entidad-relación y
el modelo relacional. Los diferentes modelos de datos que se han propuesto
se clasifican en tres grupos diferentes: modelos lógicos basados en
objetos, modelos lógicos basados en registros y modelos físicos.
Comentarios
Publicar un comentario