base de datos
TRANSCRIPT
![Page 1: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/1.jpg)
Página 1
Introducción a la Administración de Base de Datos
Definición de Base de Datos
Las bases de datos y su tecnología están teniendo un impacto decisivo sobre el creciente
uso de las computadoras. No es exagerado decir que las bases de datos desempeñarán un papel
crucial en casi todas las áreas de aplicación de las computadoras, como los negocios, la
ingeniería, la medicina, el derecho y la educación, por mencionar sólo unas cuantas. El término
bases de datos es tan común que debemos comenzar por definir qué quiere decir. Nuestra
definición inicial ha de ser bastante general.
Una base de datos es un conjunto de datos relacionados entre sí. Por datos
entendemos hechos conocidos que pueden registrarse y que tienen un significado implícito. Por
ejemplo, consideremos los nombres, números telefónicos y direcciones de personas que
conocemos. Tal vez ya hayamos registrado estos datos en una libreta de direcciones indexada, o
quizá lo hayamos hecho en un diskette, empleando una computadora y software de tipo Dbase,
Paradox, Excel. Se trata de un conjunto de datos relacionados entre sí y que tienen un
significado implícito; por tanto, constituyen una base de datos.
La definición anterior es muy general; por ejemplo, podemos considerar el conjunto de
palabras que forman esta página de texto como datos relacionados entre sí, de modo que son
una base de datos. Pero la acepción común del término base de datos suele ser más
restringida. Una base de datos tiene las siguientes propiedades implícitas:
• Una base de datos representa algún aspecto del mundo real, en ocasiones llamado
minimundo o universo en discurso. Las modificaciones del minimundo se reflejan en la base
de datos.
• Una base de datos es un conjunto de datos lógicamente coherente, con cierto significado
inherente. Una colección aleatoria de datos no puede considerarse propiamente una base de
datos.
• Toda base de datos se diseña, construye y puebla con datos para un propósito específico.
Está dirigida a un grupo de usuarios y tiene ciertas aplicaciones preconcebidas que interesan
a dichos usuarios.
En otras palabras, una base de datos tiene una fuente de la cual se derivan los datos,
cierto grado de interacción con los acontecimientos del mundo real y un público que está
activamente interesado en el contenido de la base de datos.
Las bases de datos pueden ser de cualquier tamaño y tener diversos grados de
complejidad. La generación y mantenimiento de las bases de datos pueden ser manuales o
mecánicos. Las bases de datos computarizadas se pueden crear y mantener con un grupo de
![Page 2: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/2.jpg)
Página 2
programas de aplicación escritos específicamente para esa tarea, o bien mediante un sistema de
gestión de bases de datos.
Un sistema de gestión de bases de datos (SGBD; en inglés database managment
system: SGBD) es un conjunto de programas que permite a los usuarios crear y mantener una
base de datos. Por tanto, un SGBD es un sistema de software de propósito general que facilita
el proceso de definir, construir y manipular bases de datos para diversas aplicaciones. Y las
restricciones de los datos que se almacenarán en ella.
Construir una base de datos es el proceso de guardar los datos mismos en algún medio de
almacenamiento controlado por el SGBD. En la manipulación de una base de datos intervienen
funciones como consultar la base de datos para obtener datos específicos, actualizar la base de
datos para reflejar cambios en el minimundo y generar informes a partir de los datos.
Al conjunto formado por la base de datos y el software lo llamaremos sistema de base
de datos.
Un Ejemplo Consideremos un ejemplo que casi todos los lectores conocerán: una base de datos
UNIVERSIDAD para mantener información acerca de los estudiantes, cursos y notas en un
Programas de aplicación / consultas
Software del SGBD
Definición de las bases de datos Almacenadas
(metadatos)
Bases de Datos Almacenadas
Usuarios / Programadores
Software para procesar Consultas / Programas
Software para acceder a los datos almacenados
![Page 3: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/3.jpg)
Página 3
entorno universitario. La siguiente figura muestra la estructura de la base de datos y algunos
datos de muestra para ella.
ESTUDIANTE
Nombre NúmEstudiante Grado Carrera Suárez 17 1 CICO Borja 8 2 CICO
CURSO
NombreCurso NúmCurso HorasCrédito Departamento Introd. a la Computación CICO1310 4 CICO Estructura de Datos CICO3320 4 CICO Matemáticas discretas MATE2410 3 MATE Base de datos CICO3380 3 CICO
SECCION
IdentSección NúmCurso Semestre Año Profesor 85 MATE2410 Otoño 91 López 92 CICO1310 Otoño 91 Arreola 102 CICO3320 Primavera 92 Luján 112 MATE2410 Otoño 92 Chávez 119 CICO1310 Otoño 92 Arreola 135 CICO3380 Otoño 92 Sotelo
INFORME_NOTAS
NúmEstudiante IdentSección Notas 17 112 A 17 119 C 8 85 A 8 92 A 8 102 B 8 135 A
REQUISITO
NúmCurso NúmRequisito CICO3380 CICO3320 CICO3380 MATE2410 CICO3320 CICO1310
La base de datos está organizada en cinco archivos, cada uno de los cuales almacenará
registros de datos del mismo tipo.
1. El archivo ESTUDIANTE contiene datos de todos los estudiantes.
2. El archivo CURSO contiene datos de todos los cursos.
3. El archivo SECCION contiene datos de todas las secciones de los cursos ya impartidas. Una “sección de un curso” debe considerarse un grupo atendido por un profesor específico en una fecha determinada.
![Page 4: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/4.jpg)
Página 4
4. El archivo INFORME_NOTAS contiene las notas obtenidas por los estudiantes en los diversos grupos de los cursos ya impartidos.
5. El archivo REQUISITO contiene los requisitos previos para cada curso.
Para definir esta base de datos, debemos especificar la estructura de los registros de cada
archivo indicando los diferentes tipos de elementos de información que se almacenarán en
cada registro. También hay que especificar un tipo de datos para cada elemento de
información de un registro.
Para construir la base de datos UNIVERSIDAD, almacenamos datos que representan a
cada estudiante, curso, sección, informe de notas de calificación y requisito previo como un
registro de dato apropiado. Cabe señalar que los registros en los diversos archivos pueden estar
relacionados entre sí. Por ejemplo, el registro de “Suárez” en el archivo ESTUDIANTE se
relaciona con dos registros del archivo INFORME_NOTAS que especifican las notas de
“Suárez” en dos secciones. De manera similar, cada registro del archivo REQUISITO relaciona
dos registros de cursos: uno representa el curso y otro el requisito previo.
La manipulación de la base de datos consiste en las consultas y la actualización.
Ejemplos de consultas son “obtener la boleta [una lista de toso los cursos y las notas] de
Suárez”, “preparar una lista con los nombres de los estudiantes que tomaron la sección del curso
de Base de Datos impartida en el otoño de 1.992 y sus notas en esa sección”, y ¿qué requisitos
previos tiene el curso de Base de Datos?.
Ejemplos de actualizaciones son “cambiar el grado de Suárez a segundo”, “crear una
nueva sección del curso de Base de datos para este semestre”, e “introducir una nota de A para
Suárez en la sección de Bases de Datos del semestre anterior”.
Estas consultas y actualizaciones informales se deben especificar con precisión en el
lenguaje del sistema de base de datos antes de que sean procesadas.
Enfoque de Bases de Datos vs. Sistemas de Archivos Tradicionales
Hay varias características que distinguen el enfoque de bases de datos del enfoque
tradicional de programación con archivos. En el procesamiento de archivos tradicional, cada
usuario define e implementa los archivos requeridos para una aplicación específica. Por ejemplo
un usuario, la oficina de informe de notas, podría mantener un archivo de estudiantes y sus
respectivas notas, y se escribirán programas para imprimir las boletas de notas de un estudiante
y para introducir las nuevas notas en el archivo. Un segundo usuario, la oficina de contabilidad,
podría llevar el control de las matrículas de los alumnos y sus pagos. Aunque ambos usuarios
están interesados en datos relativos a los estudiantes, cada uno mantiene archivos separados – y
programas para manipular dichos archivos – porque requieren datos que no pueden obtener de
los archivos del otro. Esta redundancia al definir y almacenar los datos implica espacio de
almacenamiento desperdiciado y esfuerzos redundantes para mantener actualizados los datos
comunes.
![Page 5: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/5.jpg)
Página 5
En el enfoque de base de datos se mantiene un único almacén de datos que se define una
sola vez y al cual tienen acceso muchos usuarios. Las principales características del enfoque de
bases de datos, en comparación con el procesamiento de archivos, son las siguientes:
Naturaleza autodescriptiva de los sistemas de base de datos. Una característica fundamental del enfoque de bases de datos es que el sistema no sólo
contiene la base de datos misma, sino también una definición o descripción completa de la base
de datos. Esta definición se almacena en un catálogo del sistema, que contiene información
como la estructura de cada archivo, el tipo y formato de almacenamiento de cada elemento de
información y diversas restricciones que se aplican a los datos.
A la información almacenada en el catálogo se la denomina metadatos, y éstos describen
la estructura de la base de datos primaria.
El catálogo es utilizado por el software del SGBD y, ocasionalmente, por los usuarios de la
base de datos que necesitan información sobre la estructura de esta última. El software del
SGBD no está escrito para una aplicación de base de datos específica, así que tendrá que
consultar al catálogo para conocer la estructura de los archivos de una base de datos en
particular, como el tipo y el formato de los datos a los que tendrá acceso.
En el procesamiento de archivos tradicional, la definición de los datos suele ser parte de
los programas de aplicación mismos. Por tanto, dichos programas pueden trabajar con una base
de datos específica, cuya estructura se declara en los programas de aplicación.
En nuestro ejemplo de la UNIVERSIDAD, el SGBD almacena en el catálogo las
definiciones de todos los archivos mostrados. Siempre que se recibe una solicitud para tener
acceso, por ejemplo al Nombre de un registro ESTUDIANTE, el software del SGBD consultará
el catálogo para determinar la estructura del archivo ESTUDIANTE y la posición y tamaño del
elemento Nombre dentro de un registro de ESTUDIANTE.
Separación entre los programas y los datos, y abstracción de los datos.
En el procesamiento de archivos tradicional, la estructura de los archivos de datos viene
integrada en los programas de acceso, así que cualquier modificación de la estructura de un
archivo puede requerir la modificación de todos los programas que tienen acceso a dicho
archivo.
En cambio, los programas de acceso del SGBD se escriben de modo que sean
independientes de cualesquiera archivos específicos. La estructura de los archivos de datos se
almacena en el catálogo del SGBD aparte de los programas de acceso. Llamamos a esta
propiedad independencia con respecto a los programas y datos.
Por ejemplo si queremos agregar otro dato a cada registro, digamos FechaNacimiento, en
un entorno de SGBD, basta con modificar la descripción de los registros de ESTUDIANTE en
![Page 6: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/6.jpg)
Página 6
el catálogo y ningún programa se alterará. La próxima vez que un programa del SGBD consulte
el catálogo, tendrá acceso a la nueva estructura de los registros de ESTUDIANTE y la utilizará.
Avances recientes en las bases de datos orientadas a objetos y en los lenguajes de
programación permiten a los usuarios definir operaciones sobre los datos como parte de las
definiciones de la base de datos. Una operación (también llamada función) se define en dos
partes, la interfaz (o signatura) y su implementación. La implementación (o método) de la
operación se especifica aparte y se puede modificar
La característica que hace posible la independencia con respecto a los programas y datos
se denomina abstracción de los datos. Un SGBD ofrece a los usuarios una representación
conceptual de los datos que no incluye muchos de los detalles de cómo se almacenan. En
términos informales, un modelo de datos es un tipo de abstracción de los datos con que se
obtiene esta representación conceptual. En el modelo de datos intervienen conceptos lógicos,
como serían los objetos, sus propiedades y sus interrrelaciones, que la mayoría de los usuarios
pueden entender más fácilmente que los conceptos de almacenamiento en la computadora. Por
tanto el modelo de datos oculta los detalles de almacenamiento que no interesan a la mayoría de
los usuarios de la base de datos.
En el enfoque de bases de datos, la estructura y organización detalladas de todos los
archivos se guardan en el catálogo. Los usuarios de la base de datos hacen referencia a la
representación conceptual de los archivos, y el SGBD extrae del catálogo los detalles de
almacenamiento de éstos cuando los necesita. Hay muchos modelos de datos que sirven para
ofrecer a los usuarios esta abstracción de los datos, que veremos más adelante.
Manejo de múltiples vistas de los datos. Una base de datos suele tener muchos usuarios, cada uno de los cuales puede requerir
una perspectiva o vista diferente de la mencionada base de datos. Una vista puede ser un
subconjunto de la base de datos o contener datos virtuales que se deriven de los archivos de la
base de datos, pero que no estén almacenados explícitamente. Es posible que algunos usuarios
no necesiten saber si los datos están almacenados o son derivados. Un SGBD multiusuario
cuyos usuarios tengan diversas aplicaciones debe proporcionar mecanismos para definir muchas
vistas.
Compartir de datos y procesamiento de transacciones multiusuario. Todo SGBD multiusuario, como su nombre lo indica, debe permitir a varios usuarios tener
acceso simultáneo a la base de datos. Esto es indispensable para que los datos de múltiples
aplicaciones se integren y mantengan en una sola base de datos. El SGBD debe incluir software
de control de concurrencia para asegurar que cuando varios usuarios intenten actualizar los
mismos datos lo hagan de manera controlada para que el resultado de las actualizaciones sea
correcto.
![Page 7: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/7.jpg)
Página 7
Usuarios de las bases de datos
En esta sección identificaremos a las personas cuyo trabajo requiere el empleo cotidiano
de una base de datos grande:
Administradores de bases de datos En cualquier organización en las que muchas personas utilicen los mismos recursos se
requiere un administrador que supervise y controle dichos recursos. En un entorno de bases de
datos, el recurso primario es la propia base de datos, y el secundario es el SGBD y el software
con él relacionado. La administración de éstos recursos es responsabilidad del Administrador
de Bases de Datos (DBA: database administrator).
El DBA se encarga de autorizar el acceso a la base de datos, de coordinar y vigilar su
empleo, y de adquirir los recursos necesarios de software y hardware. El DBA es la persona
responsable cuando surgen problemas como violaciones a la seguridad o una respuesta lenta del
sistema. En las organizaciones grandes, el DBA cuenta con la ayuda de un personal para poder
desempeñar estas funciones.
Diseñadores de bases de datos Los diseñadores de bases de datos se encargan de identificar los datos que se
almacenarán en la base de datos y elegir las estructuras apropiadas para representar y
almacenar dichos datos. Por lo general, estas tareas se realizan antes de que de hecho se
implemente la base de datos. Los diseñadores tienen la responsabilidad de comunicarse con
todos los futuros usuarios de la base de datos, a fin de comprender sus necesidades, y de
presentar un diseño que satisfaga esos requerimientos.
En muchos casos los diseñadores forman parte del personal del DBA y tal vez asuman
otras responsabilidades una vez terminado el diseño de la base de datos. Casi siempre los
diseñadores interactúan con cada uno de los grupos de usuarios potenciales y desarrollan una
vista de la base de datos que satisfaga los requerimientos de datos y de procesamiento para ese
grupo. Después se analizan las vistas y se integran con las de otros grupos de usuarios. El
diseño final debe ser capaz de satisfacer las necesidades de todos estos grupos.
Usuarios finales Son las personas que necesitan tener acceso a la base de datos para consultarla,
actualizarla y generar informes; la base de datos existe primordialmente para que ellos la usen.
Hay varias categorías de usuarios finales:
Los usuarios finales esporádicos tienen acceso de vez en cuando a la base de datos,
pero es posible que requieran información diferente en cada ocasión. Utilizan un lenguaje de
consulta de base de datos avanzado para especificar sus solicitudes, y suelen ser gerentes de
nivel medio o alto o personas que examinan de modo superficial y ocasional la base de datos.
![Page 8: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/8.jpg)
Página 8
Los usuarios finales simples o paramétricos constituyen una porción apreciable de la
totalidad de los usuarios finales. La función principal de su trabajo gira en torno a consultas y
actualizaciones constantes de la base de datos, utilizando tipos estándar de estas operaciones –
llamadas transacciones programadas - que se han programado y probado con mucho cuidado.
Todos estamos acostumbrados a tratar con varios tipos de estos usuarios. Los cajeros bancarios
revisan saldos y asientan retiros y depósitos. Los encargados de reservaciones de líneas aéreas,
hoteles y compañías de alquiler de automóviles revisan las disponibilidades para una solicitud
presentada y hacen reservaciones.
Entre los usuarios finales avanzados se cuentan ingenieros, científicos, analistas de
negocios y otros, quienes conocen bien los recursos del SGBD para satisfacer sus complejos
requerimientos.
Los usuarios autónomos emplean bases de datos personalizadas gracias a los paquetes
de programas comerciales que cuentan con interfaces de fácil uso, basadas en menúes o en
gráficos. Un ejemplo es el usuario de un paquete fiscal que almacena diversos datos financieros
personales para fines fiscales.
Casi todos los SGBD cuentan con múltiples recursos para tener acceso a una base de
datos. Los usuarios finales simples no necesitan aprender mucho sobre los recursos que
proporciona el SGBD; sólo tienen que comprender los tipos normales de transacciones
diseñadas e implementadas para que ellos las usen. Los usuarios esporádicos aprenden a
emplear sólo unos cuántos recursos que quizá utilizarán varias veces. Los usuarios avanzados
intentan conocer la mayor parte de los recursos del SGBD para satisfacer sus complejos
requerimientos. Los usuarios autónomos por lo regular adquieren gran habilidad en el uso de un
paquete de software específico.
Analistas de sistemas y programadores de aplicaciones Los analistas de sistemas determinan los requerimientos de los usuarios finales, sobre todo
los de los simples o paramétricos, y desarrollan especificaciones para transacciones
programadas que satisfagan dichos requerimientos.
Los programadores de aplicaciones implementan esas especificaciones en forma de
programas, y luego prueban, depuran, documentan y mantienen estas transacciones
programadas. Para realizar dichas tareas, estos analistas y programadores deben conocer a la
perfección toda la gama de capacidades del SGBD.
Otros Usuarios... Además de los diseñadores, usuarios y administradores de bases de datos, hay otras
personas que tienen que ver con el diseño, creación y operación del software y entorno del
sistema del SGBD. Por lo general a éstos no les interesa la base de datos misma. A
continuación los detallaremos:
![Page 9: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/9.jpg)
Página 9
Diseñadores e implementadores del SGBD Estos se encargan de diseñar e implementar los módulos e interfaces del SGBD en forma
de paquetes de software. Un SGBD es un sistema complejo de software que consta de diversos
componentes o módulos para implementar el catálogo, los lenguajes de consulta, los
procesadores de interfaz, el acceso a los datos y la seguridad. El SGBD debe poder comunicarse
con otros programas del sistema, como el sistema opertaivo y los compiladores de diversos
lenguajes de programación.
Creadores de herramientas
Las herramientas son paquetes de software que facilitan el diseño y el empleo de los
sistemas de bases de datos, y que ayudan a elevar el rendimiento. Estos paquetes son opcionales
y a menudo se adquieren por separado. Incluyen paquetes para diseñar bases de datos, vigilar el
rendimiento, proporcionar interfaces del lenguaje natural o de gráficos, elaborar prototipos,
realizar simulaciones y generar datos de prueba. Los creadores de herramientas se ocupan de
diseñar e implementar estos paquetes. En muchos casos hay proveedores independientes de
software, que crean y comercializan estas herramientas.
Operadores y personal de mantenimiento Éstos son los miembros del personal de administración del sistema que tienen a su cargo
el funcionamiento y mantenimiento reales del entorno de hardware y software del sistema de
base de datos.
Aunque los usuarios anteriores son cruciales para que los usuarios finales puedan servirse
del sistema de base de datos, casi nunca utilizan la base de datos para sus propios propósitos.
Características deseables en los SGBD
En esta sección analizaremos qué características son deseables en los SGBD y qué
capacidades deben ofrecer. El DBA debe aprovechar estas capacidades para lograr diversos
objetivos relacionados con el diseño, la administración y el empleo de una base de datos
multiusuario.
Control de redundancia En la creación tradicional de programas con procesamiento de archivos, cada grupo de
usuarios mantiene sus propios archivos para manejar sus aplicaciones de procesamiento de
datos.
A veces, y no pocas, esta redundancia en el almacenamiento de los mismos datos provoca
varios problemas. En primer lugar, es necesario realizar una misma actualización varias veces,
todas las veces donde se encuentre duplicado el dato a actualizar. Esta propagación de las
actualizaciones es necesaria para evitar la inconsistencia de los datos. Esto implica duplicación
del trabajo, y además se desperdicia espacio de almacenamiento al guardar los mismos datos en
![Page 10: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/10.jpg)
Página 10
varios lugares, y este problema puede ser grave si las bases de datos son grandes. Con el
enfoque de las bases de datos, las vistas de los diferentes grupos de usuarios se integran durante
el diseño de la base de datos.
En algunos casos puede convenir la redundancia controlada. Por ejemplo,como vemos
en la siguiente figura :
INFORME_NOTAS
NúmEstudiante NombreEstudiante IdentSección NúmCurso Notas 17 Suárez 112 MATE2410 A 17 Suárez 119 CICO1310 C 8 Borja 85 MATE2410 A 8 Borja 92 CICO1310 A 8 Borja 102 CICO3320 B 8 Borja 135 CICO3380 A
Podríamos almacenar de manera redundante Nombre Estudiante y NúmCurso en un
archivo el archivo INFORME_NOTAS porque, siempre que recuperemos un registro de
INFORME_NOTAS, querremos recuperar el nombre del estudiante y el número del curso junto
con la nota, el número de estudiante y el identificador de la sección. Si colocamos juntos todos
los datos, no tendremos que buscar en varios archivos los datos que deseamos reunir. En tales
casos, el SGBD deberá ser capaz de controlar esta redundancia para que no haya
inconsistencias entre los archivos.
Restricción de los accesos no autorizados Cuando muchos usuarios comparten una misma base de datos, es probable que no todos
tengan la autorización para tener acceso a toda la información que contiene. Por ejemplo, es
común considerar que los datos financieros son confidenciales y que sólo ciertas personas
puedan tener autorización para tener acceso a ellos. Además, es posible que sólo algunos
usuarios tengan permiso para recuperar datos, en tanto que a otros se le permita obtenerlos y
actualizarlos. Por lo regular, a los usuarios o grupos de usuarios se le asignan números de
cuenta protegidos con contraseñas, y los mismos sirven para tener acceso a la base de datos. El
SGBD debe contar con un subsistema de seguridad y autorización que permita al DBA crear
cuentas y especificar restricciones para ellas. El SGBD deberá entonces obligar
automáticamente al cumplimiento de dichas restricciones
Almacenamiento persistente de objetos y estructuras de datos de programas Una aplicación reciente de las bases de datos consiste en ofrecer almacenamiento
persistente para objetos y estructuras de datos de programas. Ésta es una de las principales
razones de que hayan creado los SGBD orientados a objetos.
Es común que los lenguajes de programación cuenten con estructuras de datos complejas,
como los tipos de registro en Pascal o las definiciones de clases en C++. Los valores de las
![Page 11: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/11.jpg)
Página 11
variables de un programa se desechan una vez que éste termina, a menos que el programador
explícitamente los almacene en archivos permanentes; para ello, suele requerirse la conversión
de esas estructuras complejas a un formato adecuado para su almacenamiento en archivos.
Cuando hay que leer esos datos, el programador debe convertirlos del formato de archivo a la
estructura de variables del programa. Los sistemas de base de datos orientados a objetos son
compatibles con lenguajes de programación como C++ y SMALLTAK, y el SGBD realiza
automáticamente las conversiones necesarias. Así podemos almacenar permanentemente un
objeto complejo de C++ en un SGBD orientado a objetos, como ObjectStore. Se dice que los
objetos de este tipo son persistentes porque persisten cuando termina la ejecución del programa
y después se pueden recuperar directamente mediante otro programa en C++.
El almacenamiento persistente de objetos y estructuras de datos de programas es una
función importante para los sistemas de base de datos. Los SGBD tradicionales a menudo
adolecían del llamado problema de incompatibilidad de impedancia porque las estructuras de
datos proporcionadas por el SGBD eran incompatibles con las del lenguaje de programación.
Los SBGDOO suelen ofrecer compatibilidad de las estructuras de datos con uno o más
lenguajes de programación orientada a objetos.
Inferencias en la base de datos mediante reglas de deducción Otra aplicación reciente de los sistemas de bases de datos consiste en ofrecer recursos
para definir reglas de deducción que permitan deducir o inferir información nueva a partir de
los datos almacenados. A estos sistemas se les conoce como base de datos deductivas . Por
ejemplo, puede haber reglas complejas en la aplicación del minimundo para determinar cuándo
un estudiante está a prueba. Estas reglas se pueden especificar de manera declarativa como
reglas de deducción, con cuya aplicación será posible determinar cuáles estudiantes están a prueba. En un SGBD tradicional se tendría que escribir un programa por procedimientos
explícito para apoyar tales aplicaciones. Pero si cambian las reglas del minimundo, casi siempre
es más fácil modificar las reglas de deducción declaradas que volver a codificar los programas
por procedimientos.
Suministro de múltiples interfaces con los usuarios En vista de que muchos tipos de usuarios con diversos niveles de conocimientos técnicos
utilizan las bases de datos, el SGBD debe ofrecer diferentes interfaces. Entre éstas podemos
mencionar los lenguajes de consulta para usuarios esporádicos, las interfaces de lenguaje de
programación para programadores de aplicaciones, las formas y códigos de órdenes para
usuarios paramétricos y las interfaces controladas para menúes y en lenguaje natural par los
usuarios autónomos.
Representación de relaciones complejas entre los datos Una base de datos puede contener numerosos conjuntos de datos que estén relacionados
entre sí de muchas maneras. Si consideramos el ejemplo anterior, el registro de Borja en el
![Page 12: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/12.jpg)
Página 12
archivo de ESTUDIANTE se relaciona con cuatro registros del archivo INFORME_NOTAS.
De manera similar, cada registro de SECCIÓN se relaciona con un registro de CURSO y
también con varios registros de INFORME_NOTAS, uno por cada estudiantes que haya
concluído esa sección. Es preciso que el SGBD pueda representar diversas relaciones complejas
de los datos y también obtener y actualizar con rapidez y eficiencia datos que estén mutuamente
relacionados.
Cumplimiento de las restricciones de integridad
La mayor parte de las aplicaciones de base de datos tienen ciertas restricciones de
integridad que deben cumplir los datos. El SGBD debe ofrecer recursos para definir tales
restricciones y hacer que se cumplan. La forma más simple de restringir la integridad consiste en
especificar un tipo de datos para cada elemento de información. Por ejemplo, en el ejemplo
anterior podemos especificar que el valor del elemento Grado dentro de cada registro de
ESTUDIANTE debe ser un entero entre 1 y 5, y que el valor del Nombre debe ser una cadena
de no más de 30 caracteres alfabéticos. Otro tipo de restricción que encontramos a menudo,
más complejo, implica especificar que un registro de un archivo debe relacionarse con registros
de otros archivos. Por ejemplo, podemos especificar que “todo registro de SECCION debe estar
relacionado con un registro de CURSO”. Otro tipo de restricción especifica que los valores de
los elementos de información sean únicos; por ejemplo, “cada registro de curso debe tener un
único valor de NumCurso”. Estas restricciones se derivan de la semántica (o significado) de
los datos del minimundo que representa. Es responsabilidad de los diseñadores de la base de
datos identificar las restricciones de integridad durante el diseño. Algunas restricciones se
pueden especificar en el SGBD, el cual hará automáticamente que se cumplan; otras pueden
requerir verificación mediante programas de actualización o en el momento en que se introducen
los datos.
Respaldo y recuperación Todo SGBD debe contar con recursos para recuperarse de fallos de hardware o de
software. Para ello está el subsistema de respaldo y recuperación del SGBD. Por ejemplo, si el
sistema falla mientras se está ejecutando un programa complejo de actualización, el subsistema
de recuperación se encargará de asegurarse de que la base de datos se restaure al estado en el
que estaba antes de que comenzara la ejecución del programa. Como alternativa el subsistema
de recuperación puede asegurarse de que el programa reanude su ejecución en el punto en que
fue interrumpido, de modo que su efecto completo se registre en la base de datos.
Implicaciones del enfoque de Base de Datos
Además de los aspectos analizados en la sección anterior, hay otras implicaciones del
empleo del enfoque de bases de datos que pueden resultar provechosas para casi todas las
organizaciones.
![Page 13: Base De Datos](https://reader036.vdocuments.site/reader036/viewer/2022071815/55a9b3051a28abc7698b4575/html5/thumbnails/13.jpg)
Página 13
Potencial para imponer normas Con el enfoque de bases de datos el DBA puede definir e imponer normas a los usuarios
de la base de datos en una organización grande. Esto facilita la comunicación y cooperación
entre diversos departamentos, proyectos y usuarios de esa organización. Es posible definir
normas para los nombres y formatos de los elementos de información, para los formatos de
presentación, para las estructuras de los informes, para la terminología, etc. Es más fácil que el
DBA imponga normas en un entorno centralizado de bases de datos que en un entorno en el que
cada grupo de usuarios tenga el control de sus propios archivos y programas.
Menor tiempo de creación de aplicaciones Una de las características más convincentes a favor del enfoque de bases de datos es que
la creación de una aplicación nueva – como la obtención de cierta información de las base de
datos para imprimir un nuevo informe – requiere muy poco tiempo. Una vez que la base de
datos está construída y en funcionamiento, casi siempre requiere muy poco tiempo crear nuevas
aplicaciones con los recursos del SGBD.
Flexibilidad En ocasiones es necesario modificar la estructura de una base de datos cuando cambian
los requerimientos. Por ejemplo, podrá surgir un nuevo grupo de usuarios que necesite
información adicional que no se encuentra actualmente en la base de datos. Para atenderlos, tal
vez sea necesario añadir un nuevo archivo a la base de datos o extender los elementos de un
archivo ya existente. Algunos SGBD permiten efectuar estas modificaciones en la estructura de
la base de datos sin afectar los datos almacenados y los programas de aplicación ya existentes.
Disponibilidad de información actualizada Los SGBD ponen la base de datos a disposición de todos los usuarios. En el momento en
que un usuario actualiza la base de datos, todos los demás usuarios pueden ver de inmediato esta
actualización. Esta disponibilidad de información actualizada es indispensable en muchas
aplicaciones de procesamiento de transacciones, como los sistemas de reservaciones o las bases
de datos bancarias, y se hace posible gracias a los susbsistemas de control de concurrencia y de
recuperación del SGBD.
Economías de escala El enfoque de SGBD permite consolidar los datos y las aplicaciones, reduciéndose así el
desperdicio por traslapo entre las actividades del personal de procesamiento de datos en los
diferentes proyectos o departamentos. Esto permite que la organización completa invierta en
procesadores más potentes, disposistivos de almacenamiento o equipo de comunicación, en vez
de que cada departamento tenga que adquirir por separado su propio equipo (de menor
capacidad). Esto reduce los costos totales de operación y control.