base de datos

13
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úblic o 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

Upload: infosistemasuno

Post on 18-Jul-2015

254 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Base De Datos

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

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

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

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

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

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

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

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

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

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

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

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

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.