Gestor de ficheros: Se encarga de las estructuras de datos que se emplean para
representar la informacin almacenada en disco. Adems es el encargado de asignar espacio en disco. Gestor de BD: Es el interface entre los datos de bajo nivel almacenados en la BD y los programas de aplicaciones y consultas de datos. Procesador de consultas: traduce las proposiciones del lenguaje de consultas a instrucciones de bajo nivel para que las entienda el gestor de BD. Adems el procesador de consultas trata de traducir una peticin del usuario a otra equivalente pero ms eficiente. Compilador DDL: Convierte las proposiciones DD en un conjunto de tablas que contienen metadatos. Ficheros de datos: Almacenan la informacin !los datos". Diccionario de datos: Almacena informacin referida a la estructura de la BD. Se usa continuamente. Se debe poner un gran #nfasis en un buen dise$o y una implementacin adecuada del diccionario de datos.
GESTOR DE LA BD
as funciones del %estor de BD son&
Interactuar con el gestor de ficheros& 'raduce proposiciones D( a comandos del sistema de arc)ivos. El gestor de fic)eros asigna espacio en disco* locali+a el fic)ero* lleva el control de los fic)eros* ... Es responsable de conservar la integridad& Comprueba si los datos almacenados en la BD satisafecen las restricciones de integridad !cosistencia". Es responsable de garantizar la seguridad: Evita accesos indebidos. Es responsable de respaldo recuperaci!n: ,ara evitar perdidas de informacin el gestor BD debe detectar fallos y restaurar la BD estado que ten-a antes de que ocurriera el fallo. .suarios ingenuos ,rogram. Aplicac. .suarios casuales Admin. BD ,rogram. de aplic lamadas al sistema Consultas Esquema de la BD Cod. /bjeto de ,rog Aplicac. ,recompilador D( ,roc. consultas Compilador DD %estor BD %estor fic)eros 0ic)eros de datos Diccionario de datos Control de concurrencia: Cuando varios usuarios actuali+an la BD de forma concurrente !a la ve+" puede que no se conserve la consistencia de los datos* con lo cual el sistema debe controlar la interaccin entre los usuarios.
SISTEMAS GESTORES DE BASES DE DATOS (OBJETIVOS Y FUNCIONES)
Si disponemos de una base de datos* necesitamos un conjunto de )erramientas para poder acceder a los datos. a forma de acceso va a depender de la tarea a reali+ar* as-&
El administrador a$adir usuarios* modos de acceso* reorgani+ar la BD cuando sea necesario* ...
os analistas y programadores debern conocer la estructura de la BD para poder )acer aplicaciones y programas.
os usuarios finales utili+arn la BD a trav#s de aplicaciones o lenguajes de consulta interactivos.
,ara poder reali+ar todo esto necesitamos un sistema gestor de base de datos !SB%D" que se puede definir como el "con#unto de herramientas $ue suministra a todos %administrador& analistas& programadores& usuarios' los medios necesarios para describir& recuperar manipular los datos almacenados en la BD& manteniendo la seguridad& integridad confidencialidad de los mismos"(
OBJETIVOS DE LOS S.G.B.D.
En un ambiente multiusuario el S.%.B.D ofrece a la empresa un control centrali+ado de su informacin. os objetivos que se plantean estos sistemas estn relacionados con la intencin de evitar los problemas que e1ist-an en los sistemas de informacin orientados a los procesos. os principales objetivos son&
Evitar la redundancia de los datos* eliminando as- la inconsistencia de los mismos. (ejorar los mecanismos de seguridad de los datos y la privacidad. ,odemos distinguir cuatro tipos de conte1tos para usar mecanismos de seguridad& seguridad contra accesos indebidos a los datos* seguridad contra accesos no autori+ados a la BD* seguridad contra destruccin causada por el entorno !fuego* inundacin* robo* ..."* seguridad contra fallos del propio sistema !fallos del )ard2are* del soft2are* ...". Asegurar la independencia de los programas y los datos* es decir* la posibilidad de modificar la estructura de la base de datos !esquema" sin necesidad de modificar los programas de las aplicaciones que manejan esos datos. (antener la integridad de los datos reali+ando las validaciones necesarias cuando se realicen modificaciones en la base de datos. (ejorar la eficacia de acceso a los datos* en especial en el caso de consultas imprevistas.
FUNCIONES DEL S.G.B.D.
as principales funciones que debe reali+ar un S.%.B.D. son&
a definicin de los datos. a manipulacin de los datos. %aranti+ar la seguridad e integridad de los datos. a gestin de las transacciones y el acceso concurrente.
Definicin de da!"
(ediante el Len#$a%e de Definicin de da!" (L.D.D.) el S.%.B.D. permite describir y definir los esquemas de la base de datos. Este lenguaje debe permitir&
a creacin de objetos conceptuales a descripcin de estructuras f-sicas a definicin de vistas
,ara una base de datos e1istente* el .D.D. debe permitir tambi#n&
a modificacin de la descripcin de objetos conceptuales El borrado de objetos conceptuales a modificacin y borrado de caminos de acceso a modificacin de las vistas
.n .D.D. est compuesto por un conjunto de comandos que act3an sobre los objetos conceptuales y sobre los objetos f-sicos El conjunto de las descripciones de objetos de una base de datos se le conoce con el nombre de diccionario de datos(
Mani&$'acin de da!"
a funcin de manipulacin de datos se encarga de todas las operaciones de intercambio de datos entre los usuarios y la base de datos. Esta funcin se )ace con la ayuda del Len#$a%e de Mani&$'acin de da!" (L.M.D.)( que est compuesto por un conjunto de comandos que nos permiten la consulta o puesta al d-a !insercin* modificacin y borrado" de los datos de una base de datos.
os .(.D. funciona de forma diferente* seg3n el modelo de datos&
En los modelos en red y jerrquicos son* lenguajes procedimentales !se indica que datos se quieren y como se van a obtener esos datos"* es decir* los programadores deben indicar el camino a seguir para acceder a los datos solicitados.
En el modelo relacional son lenguajes declarativos o no procedimentales !se indica que datos se quieren pero no la forma de obtenerlos"* y no es necesario indicar cmo se tiene que acceder a los datos* es suficiente indicar qu# es lo que se desea obtener.
Se#$)idad e ine#)idad de '!" da!"
Se trata de garanti+ar la co)erencia de los datos* comprobando que slo los usuarios autori+ados puedan efectuar las operaciones correctas sobre la base de datos. Esto se consigue mediante&
.n control sobre los usuarios que acceden a la base de datos y los tipos de operaciones que estn autori+ados a reali+ar. Este control se llama #e"in de a$!)i*aci!ne"( y permite crear o borra usuarios y conceder o retirar derec)os a efectuar determinados tipos de operaciones !por ejemplo& crear objetos* borrar objetos* modificar datos* etc.".
a validacin de las operaciones reali+adas con los datos. Este control se )ace mediante un conjunto de reglas llamadas )e")icci!ne" de ine#)idad. E1isten varios tipos de restricciones de integridad* como por ejemplo* las restricciones de integridad referencial* que imponen que las modificaciones reali+adas sobre algunos datos* obliguen a reali+ar modificaciones de otros datos con los que estn enla+ados !por ejemplo* si se modifica el cdigo de un art-culo* se deber-a modificar ese cdigo en todos los pedidos que soliciten el art-culo".
.na proteccin de los datos contra los accesos malintencionados y los fallos. os accesos malintencionado se suelen evitar con la asignacin de palabras de paso !pass2ord" a los usuarios* la definicin de vistas* proteccin f-sica de los datos !encriptado de los datos". Con respecto a los fallos causados por manipulaciones incorrectas* o accidentes lgicos o f-sicos* los S.%.B.D. suelen disponer de utilidades de recuperacin de los datos despu#s de un fallo.
a correcta utili+acin de todas estas operaciones de seguridad e integridad constituye una tarea esencial del Administrador de la base de datos !gestin de usuarios y sus derec)os* gestin de vistas y recuperacin despu#s de un fallo".
Ge"in de )an"acci!ne" + acce"! c!nc$))ene
El principal objetivo de la implantacin de una base de datos en un sistema de informacin de una organi+acin* es poner a disposicin de un gran n3mero de usuarios un conjunto integrado de datos. El S.%.B.D. debe proteger los datos cuando estos sean manipulados simultneamente por diferentes usuarios.
.na )an"accin se define como una unidad lgica de tratamiento !conjunto de rdenes" que aplicada a un estado co)erente de la base de datos la deja* de nuevo* en un estado co)erente* despu#s de )acer las modificaciones. .na transaccin solo se puede ejecutar completamente o ser anulada.
,ara controlar la ejecucin simultanea de transacciones es necesario una buena #e"in de acce"! c!nc$))ene que controle que la ejecucin paralela de transacciones da el mismo resultado que una ejecucin secuencial. ,ara controlar la ejecucin paralela* la solucin clsica consiste en bloquear momentneamente los datos utili+ados por una transaccin )asta que finalice la actuali+acin y las dems transacciones que demandan estos datos se ponen en espera )asta que quedan desbloqueados.
.n parmetro importante que afecta al rendimiento es el nivel de bloqueo de datos* llamado #)an$'a)idad del bloque. Esta granularidad puede ser lgica !toda la base* una tabla* una l-nea" o f-sica !segmento* fic)ero* pgina".
a consecuencia de esta t#cnica de bloqueos es el riesgo del interbloqueo !llamado bloqueo mortal"* que sucede cuando dos o ms transacciones se encuentran a la espera de que queden liberados datos que tiene bloqueados otra transaccin que espera por los datos que estn bloqueados por las transacciones anteriores. El S.%.B.D. debe estar capacitado para detectar esta situacin y desbloquearla.
Capacidad de auditoria: ,ara el administrador de la base de datos es muy importante conocer quien accede a la base de datos y que operaciones reali+a. .n buen S.%.B.D debe poder proporcionarle esa informacin.
Garantizar un tiempo de respuesta id!neo para el dilogo entre los usuarios y la base de datos en los procesos en l-nea.
EL MODELO DE DATOS
.na base de datos est definida generalmente por un conjunto de datos que representan mediante un modelo determinado un universo dado. .n modelo de datos no es ms que un m#todo conceptual para estructurar los datos. E1isten tres modelo de datos fundamentales&
M!de'! %e)/),$ic!
Consiste en que todas las interrelaciones de los datos se basan en #erar$u)as( os arc)ivos se conectan entre s- mediante punteros f-sicos !direccin f-sica que indica donde puede encontrarse un registro sobre el disco" o campos a$adidos a los registros individuales.
En una jerarqu-a un padre !registro propietario" puede tener muc)os )ijos !registro subordinado" pero un )ijo slo puede tener un padre. ,or ejemplo si tenemos un fic)ero de facturas !0AC'.4A" y otro de l-neas de factura !56EA70"* el padre !registro propietario" ser-a los datos de la factura y los )ijos !registros subordinados" las l-neas de la factura.
Este modelo ten-a algunas limitaciones ya que no todas las interrelaciones se pueden representar en una estructura jerrquica. ,ara intentar solucionar estas limitaciones se desarrollan los sistemas de base de datos en red. .n ejemplo de bases de datos jerrquica es 5(S de 5B( desarrollado a finales de los 89.
M!de'! en )ed
os sistemas de base de datos en red al igual que los jerrquicos utili+an punteros f-sicos En este caso* un padre puede tener muc)os )ijos y un )ijo puede tener muc)os padres* es decir* un registro puede estar subordinado a registros de ms de un arc)ivo.
A principios de los :9 se desarrollaron y se comerciali+aron varios S%BD en red y este modelo de datos se normali+ como el modelo C/DAS;. Ejemplos de bases de datos en red son ADABAS* '/'A* 5(A%E*...
M!de'! )e'aci!na'
El uso de punteros era simultneamente una fortale+a y una debilidad de los sistemas de bases de datos jerrquicos y en red. os punteros permit-an una rpida recuperacin de los datos* pero las interrelaciones ten-an que definirse antes de que el sistema se pusiera en e1plotacin. Era muy dif-cil recuperar datos basados en otras interrelaciones.
En <=:9* E.0. Codd publica un art-culo en el que argumenta que los datos deber-an relacionarse mediante interrelaciones naturales* lgicas e in)erentes a los datos* ms que mediante punteros f-sicos. Codd propone as-* un modelo simple de datos en el que todos ellos se representar-an en tablas constituidas por filas y columnas. A estas tablas se les dio el nombre de relaciones y por eso se denomin al modelo relacional. Codd tambi#n propuso dos lenguajes para manipular los datos en las tablas& el lgebra relacional y el clculo relacional. a manipulacin lgica de los datos tambi#n )ace factible la creacin de lenguajes de interrogacin ms accesibles para un usuario no especialista en programacin.
Actualmente los sistemas relacionales son un estndar en el mercado* especialmente en operaciones comerciales. Ejemplos de sistemas de bases de datos relacionales son& 560/4(5>* DB?* /4ACE* S;BASE* DBASE* 0/>,4/* 56%4ES* (;S@* (S S@ SE4AE4* ...