You are on page 1of 12

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

Introduccin a las Bases de Datos (BDs)


Una base de datos (BD) se define como un conjunto de datos relacionados entre s. Los conceptos relevantes en esta definicin son datos y relacionados. Datos: Conjunto de hechos relevantes que pueden ser registrados de algn modo, y que cuentan con un significado implcito. Reflejan situaciones del mundo real y cambios en esas situaciones. Relacionados: Debe existir homogeneidad en la coleccin de datos que conforma una BD. No se trata de un conjunto seleccionado de forma aleatoria. Los datos se recopilan y registran con una finalidad. Los datos deben ser relevantes con respecto a esa finalidad. La particularidad definitiva que convierte a un conjunto de datos en una base de datos es la siguiente: una BD se controlan por medio de Sistemas de Gestin de Bases de Datos (SGBDs). Sistema de Gestin de Bases de Datos: Conjunto de programas de propsito general, que proporcionan funcionalidades horizontales para facilitar la gestin de la informacin contenida en una base de datos. Los SGBDs actan de intermediarios entre los datos y los programas de aplicacin (y sus usuarios) que los procesan y utilizan.
Programas de aplicacin Usuarios SGBD Base de datos

Usuarios

En ocasiones, los usuarios tambin podrn acceder a los datos interaccionando directamente con el SGBD. Necesidad de los SGBDs La pregunta a realizar es por qu son necesarios los SGBDs para gestionar las colecciones de datos (las BDs)? En el enfoque tradicional (el adoptado en los albores de la informtica), se suma que cada quien se construa los programas de aplicacin que necesitaba; y para cada programa se creaban un conjunto de ficheros en el almacenamiento secundario (discos...) donde se registraban y mantenan los datos que se necesitaban. Cada uno de estos ficheros se creaba con la estructura y formato internos que se ajustasen ms a las necesidades del programa. Por ejemplo, un programa para la gestin de la matriculacin
Autor: Juan Ramn Lpez Rodrguez 1

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

de una universidad podra mantener la informacin sobre los alumnos en un fichero de texto, con una lnea por alumno, y los diferentes datos separados por smbolos especiales.
DNI || Nombre || FNacimiento || Direccin || CP || Localidad 76.666.999 || Pedro Prez || 03-07-1913 || Plaza Conchias 5678 || 23.879 || A Corua 01.000.009 || Mara Blasco || 31-02-1878 || Plaza Armas 329 || 99.369 || Ferrol ...

Y un programa de gestin de socios de la biblioteca de la misma universidad podra mantener su propio fichero con informacin sobre los mismos, aunque almacenada en diferente orden y formato, con separadores diferentes, e incluso con cierta informacin diferente.
DNI @ Apellidos @ Nombre @ Direccin @ CP @ Localidad @ Telfono 76.666.999 @ Prez @ Pedro @ Plaza Conchias 5678 @ 23.879 @ A Corua @ 981 123456 01.000.009 @ Blasco @ Mara @ Plaza Armas 329 @ 99.369 @ Ferrol @ 981 654321 ...

Tambin podra existir un fichero con informacin sobre los fondos disponibles en la biblioteca:
ISBN @ Titulo @ Autor @ Ejemplares disponibles 12-4567-321 @ Base de Datos @ Ramez Elmasri @ 3 12-3128-510 @ XML @ Peter Schnk @ 0 ...

Y, finalmente, otro fichero con informacin sobre los prstamos de libros realizados hasta la fecha
DNI Socio @ ISBN Libro @ Fecha prstamo @ Fecha devolucin 76.666.999 @ 12-4567-321 @ 05/01/2003 @ 09/01/2003 76.666.999 @ 12-4567-321 @ 09/01/2003 @ 12/01/2003 01.000.009 @ 12-3128-510 @ 10/01/2003 @ --...

Este enfoque presenta ciertos problemas, que pasaremos a analizar a continuacin: El problema ms importante es el de la redundancia: es posible mantener informacin repetida en mltiples ficheros. Eso puede implicar que cuando se produzcan modificaciones de informacin se puedan dar problemas de inconsistencia. En el ejemplo de la universidad, podra darse el caso de que un alumno (por ejemplo Pedro) cambie de domicilio, y que notifique ese cambio a la administracin de su centro. Los administrativos utilizarn su programa de gestin de datos para modificar la informacin recogida en su fichero. Pero si no notifican el cambio a los bibliotecarios, el fichero de datos de la biblioteca mantendr la informacin antigua sobre el domicilio del alumno, que ahora ser errnea. Se trata de un caso de flagrante inconsistencia entre la informacin recogida en uno y otro fichero; y de inconsistencia entre la informacin recogida en el fichero de la biblioteca y la realidad. Un problema relacionado es el del aislamiento de datos: al estar dispersos en varios ficheros, utilizados probablemente por usuarios diferentes, los datos son difciles de conseguir. Es posible que un usuario desconozca que una informacin que necesita est disponible en alguno de los ficheros informatizados de la organizacin en la que trabaja. En el caso de nuestro
2

Autor: Juan Ramn Lpez Rodrguez

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

ejemplo bien podra suceder que los administrativos de la universidad, necesitando en un momento dado contactar urgentemente con un alumno, desconozcan que los bibliotecarios disponen de su telfono en su fichero de gestin de usuarios. La solucin al aislamiento de datos podra pasar por centralizar la informacin, y por poner de acuerdo a todos los integrantes de una organizacin para determinar aquellos ficheros necesarios y la estructura de la informacin que deberan mantener. An as, persistiran otros problemas; por ejemplo, problemas de dificultad de acceso. Los programas de aplicacin estn diseados para proporcionar una funcionalidad especfica. qu sucede si de repente surge una necesidad nueva, especfica, puntual, de informacin? Se hace necesario corregir y rescribir los programas de aplicacin para satisfacerla, algo que no necesariamente va a ser trivial, y que posiblemente requerira de personal especializado (informticos). En nuestro ejemplo, podra suceder que los bibliotecarios necesiten conocer la media de prstamos por usuario del ltimo mes, informacin que el programa de gestin no est preparado para calcular: no quedara ms remedio que acudir al fichero mismo y calcular la informacin a mano. El problema de la dificultad de acceso consiste, pues, en que no existe un modo prctico y sencillo, en este enfoque, de adaptarse a nuevas necesidades de informacin de forma rpida y sencilla. Otro problema, aunque no exclusivo del enfoque tradicional basado en ficheros, es el del control de la integridad de los datos. Los hechos que se recogen en una BD han de ser un fiel reflejo de la realidad para ser de utilidad. Sin embargo, es posible que se produzcan errores durante la recopilacin de los datos, o durante su introduccin (errores al teclear la informacin, por ejemplo) en los ficheros. Se hace necesario introducir, en lo posible, mecanismos de control en los programas de aplicacin para asegurarnos que la informacin recogida en los ficheros es correcta y veraz. Esos mecanismos de control se basan en la aplicacin de una serie de reglas, o restricciones, que garantizan esa integridad de los datos. Reglas como por ejemplo ningn usuario puede tener ms de tres libros en prstamo; o todo usuario tiene un DNI, con formato 99.999.999. Cada vez que un programa de aplicacin modifique los datos almacenados en los ficheros, deber comprobarse que la nueva informacin no viole ninguna de esas reglas. Por ejemplo, los programas de gestin administrativo y de la biblioteca de nuestro ejemplo deben incluir sendos controles referentes a la correccin de los DNIs de los alumnos y socios de la biblioteca que manejen, respectivamente. A partir de este ejemplo es fcil descubrir el mayor inconveniente del enfoque tradicional de gestin de ficheros: un mismo control ha de ser incluido (y realizado) en mltiples programas de aplicacin, cuando lo ideal sera que fuese realizado una nica vez. Algo a preguntarse es qu sucede cuando varios usuarios acceden al mismo tiempo (a travs de los correspondientes programas de aplicacin) a los mismos ficheros? Esas situaciones pueden acabar dando lugar a situaciones de inconsistencia de datos, que sern consecuencia de problemas de concurrencia de acceso y manipulacin de los datos. Para verlo con nuestro ejemplo, supongamos el siguiente escenario: - Supongamos que en la biblioteca disponemos de tres ejemplares del mismo libro, el que tiene por ISBN 12-3128-510 y por ttulo
3

Autor: Juan Ramn Lpez Rodrguez

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

Bases de datos, que no estn actualmente en prstamo; y as lo reflejamos en el fichero correspondiente a los fondos.
ISBN @ Titulo @ Autor @ Ejemplares disponibles ... 12-4567-321 @ Base de Datos @ Ramez Elmasri @ 3 ...

Supongamos ahora que dos usuarios de la biblioteca pretenden llevarse en prstamo dos ejemplares de ese mismo libro. Cada uno acude a un bibliotecario para efectuar la operacin. El primer bibliotecario accede desde su PC, con su programa de gestin, al fichero de fondos y comprueba que efectivamente hay 3 ejemplares disponibles en la actualidad. El programa conserva ese dato para no tener que acceder nuevamente al fichero para consultarlo. El segundo bibliotecario procede de la misma forma. Su programa de gestin, en su PC, tambin conserva con el dato de los 3 ejemplares disponibles. El primer bibliotecario usa el programa para registrar el prstamo del libro en el fichero de prstamos. Y, a continuacin, el programa calcula, a partir del nmero de ejemplares disponibles que haba recuperado del fichero (3) el nmero de ejemplares que ahora queda libres (3-1=2) y lo graba en el fichero de fondos para actualizarlo.
ISBN @ Titulo @ Autor @ Ejemplares disponibles ... 12-4567-321 @ Base de Datos @ Ramez Elmasri @ 2 ...

El segundo bibliotecario procede de idntica forma: usa su programa para registrar el prstamo del libro en el fichero de prstamos; y, a continuacin, el programa calcula, a partir del nmero de ejemplares disponibles que haba recuperado del fichero (que vuelve a ser 3!) el nmero de ejemplares que ahora quedan libres (3-1=2) y lo graba en el fichero de fondos para actualizarlo.
ISBN @ Titulo @ Autor @ Ejemplares disponibles ... 12-4567-321 @ Base de Datos @ Ramez Elmasri @ 2 ...

Las consecuencias: tenemos un fichero (el de fondos) que contiene informacin que no es cierta: el fichero indica que hay dos ejemplares disponibles del libro Bases de datos, cuando hemos visto que ahora en realidad solo hay dos. Es fcil ver que si las dos operaciones (los dos prstamos) hubiesen sido realizados de forma secuencial, una despus de otra, la inconsistencia no se habra producido: el problema surge de combinar dos operaciones que van realizando actualizaciones parciales de los datos, y que no deberan mezclarse: mientras una no hubiese concluido y hubiese completado todos los cambios
4

Autor: Juan Ramn Lpez Rodrguez

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

necesarios de forma definitiva, y no parcial, la otra no debera comenzar. Se hace pues necesario incluir en todos nuestros programas mecanismos que detecten si otros programas estn accediendo en un momento dado a los datos que necesitamos, y evitar estas situaciones. Un problema ntimamente ligado al anterior es el de la atomicidad de las operaciones a realizar sobre los ficheros. Hemos visto que una operacin realizada sobre los ficheros est compuesta de una serie de pequeas actualizaciones sobre los datos contenidos en los mismos: en el caso del programa de gestin de la biblioteca, hemos visto que el prstamo de una libro implica cambios sobre el fichero de prstamos y el fichero de fondos. Para ver un ejemplo de este tipo de problema, supongamos ahora el siguiente escenario: Un usuario solicita el prstamo del libro Bases de datos, del que nos queda un ejemplar en la biblioteca.
ISBN @ Titulo @ Autor @ Ejemplares disponibles ... 12-4567-321 @ Base de Datos @ Ramez Elmasri @ 1 ...

El bibliotecario utiliza su programa de gestin para ejecutar el prstamo. El programa registra, en primer lugar, el hecho en el fichero de prstamos.
DNI Socio @ ISBN Libro @ Fecha prstamo @ Fecha devolucin ... 76.666.999 @ 12-4567-321 @ 09/02/2004 @ --...

Y a continuacin, se dispone a modificar la informacin sobre el nmero de ejemplares disponibles. Comprueba el nmero de ejemplares disponibles hasta ese momento (1), y en ese momento... se produce un corte de energa. La operacin se ha completado slo parcialmente, con lo que la informacin de los ficheros vuelve a quedar en un estado inconsistente.

Nos encontramos, por lo tanto, ante un nuevo problema: las operaciones a realizar sobre los ficheros deberan presentar un carcter atmico: deben ser realizadas por completo, y en caso de no completarse, ser anulados los cambios realizados hasta ese momento. Cmo conseguir eso con nuestros programas de aplicacin? Nuevos problemas a considerar son los de seguridad: La informacin que se almacena en los ficheros y que manejan los programas es de muy diferente tipologa. Tambin es habitual encontrarse con diferentes categoras de usuarios de esos programas. En nuestro ejemplo, es posible suponer que en la biblioteca, adems del personal fijo, se cuente tambin con algn becario/a que los ayude en la gestin. Podra ser razonable pensar que los becarios no deberan tener acceso a toda la informacin almacenada en los ficheros informatizados (por ejemplo, la informacin contable relativa a los
5

Autor: Juan Ramn Lpez Rodrguez

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

presupuestos de la biblioteca). Esa informacin debe ser tambin protegida de aquellos usuarios externos que s tengan acceso a la informacin del catlogo, por ejemplo. Por lo tanto, se hace patente la necesidad de establecer diferentes niveles de acceso a la informacin, que deben ser mantenidos por medio de mecanismos de control implementados en los programas de aplicacin. Un ltimo caso a considerar: problemas de respaldo y recuperacin: los datos, y los ficheros que los contienen, se almacenan en algn tipo de soporte informtico, que, por diversos motivos, es susceptible de sufrir daos de forma accidental: a causa de un problema fsico, por culpa de un virus informtico, por un incendio... Es necesario, por lo tanto, establecer mecanismos para la realizacin, de forma regular, de copias de seguridad, que permitan la recuperacin de los ficheros, con los datos existentes con anterioridad al accidente. Eso implicar, probablemente, la construccin de programas de aplicacin especializados que automaticen la realizacin de dichas copias, y su restauracin en caso necesario.

Todos estos problemas que hemos presentado tienen dos cosas en comn: en primer lugar, son independientes de un dominio o rea de aplicacin determinada (a pesar de haberlos presentado empleando un ejemplo correspondiente a la gestin de una universidad, en general, y de una biblioteca universitaria en particular); y en segundo lugar, su resolucin pasa por modificar nuestros programas de aplicacin para poder detectarlos y solventarlos. La pregunta que surge es: es necesario replicar todos estos controles y mecanismos de resolucin en todos nuestro programas? Ya que centralizamos e uniformizamos los ficheros, y por tanto los datos que contienen, por qu no hacer lo mismo con la resolucin de estos problemas. Esa es la idea que dio lugar a la construccin de los SGBDs: un conjunto de programas destinados exclusivamente a la resolucin de estos problemas: a partir de ahora, podemos destinar nuestros esfuerzos a construir eficientemente aquellos programas de aplicacin que necesitemos, centrndonos exclusivamente en la funcionalidad que deben proporcionar (la gestin de una biblioteca, de un hospital, de un banco...) Los problemas generales asociados a la gestin de datos de cualquier tipo (precisamente aquellos que acabamos de presentar) ya estar resuelta por cualquier SGBD, que eximir a nuestros programas de esa responsabilidad. Soluciones proporcionadas por los SGBDs Como hemos visto, el uso de un SGBD no elimina la aparicin de los problemas de carcter general asociados al tratamiento de datos y de ficheros; pero si elimina la necesidad de resolverlos, ya que el SGBD proporcionar los mecanismos necesarios para hacerlo. Dedicaremos ahora un tiempo a explicar alguno de estos mecanismos, a partir de la lista de problemas que acabamos de presentar en la seccin anterior. Redundancia y aislamiento: Estos problemas se resuelven por medio de una gestin centralizada de los datos. Los datos se mantienen ahora en un conjunto nico de ficheros gestionados por el SGBD, de los que habr sido eliminada cualquier tipo de redundancia. Cualquier acceso a los datos debe ser realizado a travs del SGBD; las modificaciones o ampliaciones de los ficheros deben ser gestionados por un conjunto de personas (los administradores) que sern
6

Autor: Juan Ramn Lpez Rodrguez

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

responsables del SGBD y de sus ficheros; y sern los administradores los encargados de resolver cualquier duda de los usuarios acerca de la informacin mantenida en la base de datos (resolviendo as el problema del aislamiento). Dificultad de acceso: los SGBDs presentan a los usuarios (y a sus programas de aplicacin) diferentes interfaces1 de acceso a la informacin. Entre esas interfaces se encontrarn: - Mens (programas genricos de consulta y actualizacin de datos.) - Lenguajes de consulta y actualizacin de bajo (APIs) y de alto nivel (SQL) Lenguajes como SQL (siglas de Structured Query Language, lenguaje de consulta estructurado) permiten a cualquier usuario recuperar informacin de una BD no prevista en los programas de aplicacin que utiliza de un modo sencillo. Se dice que SQL es un lenguaje de alto nivel y adems no procedimental - porque permite especificar, en un lenguaje muy prximo al ingls, la definicin de todo tipo de consultas sin necesidad de indicar cmo debe ser recuperada la informacin: solo hay que especificar qu informacin se necesita. De ese modo se simplifica el problema de la dificultad de acceso: proporcionando un procedimiento simple y flexible de responder a nuevas necesidades de informacin. Control de integridad: los SGBDs permiten definir, por medio de lenguajes especiales, reglas que expresen restricciones de integridad: condiciones que deben ser cumplidas por los datos almacenados en una BD. De este modo, el SGBD libera a los programas de la comprobacin de estas condiciones; cada vez que se realice alguna modificacin de la BD, ser el propio SGBD el que se encargue de verificar, una por una, cada una de las restricciones previamente establecidas. De no ser as, os cambios sern rechazados. Concurrencia: el SGBD impedir que se produzcan situaciones de concurrencia susceptibles de producir inconsistencias. Para ello se encargar de bloquear el acceso a ciertos datos si fuese necesario (y ser el propio gestor quien decida, en la mayora de los casos, cundo es necesario el bloqueo). En el caso de nuestro ejemplo, el gestor bloqueara temporalmente la reserva del segundo libro hasta que la del primero hubiese concluido totalmente.
Paso 1: Comprobacin del nmero de ejemplares libres (3) por parte del primer bibliotecario. Bloqueo automtico de esta informacin! Paso 2: Grabacin de la reserva por parte del primer bibliotecario Paso 3: Grabacin del nuevo nmero de ejemplares libres (2) por parte del primer bibliotecario. Desbloqueo automtico de esta informacin. Paso 4: Comprobacin del nmero de ejemplares libres (2) por parte del segundo bibliotecario, una vez desbloqueada esta informacin. Paso 5: Grabacin de la reserva por parte del segundo bibliotecario. Paso 6: Grabacin del nuevo nmero de ejemplares libres (1) por parte del segundo bibliotecario.

Atomicidad: el SGBD se encargar de almacenar toda la informacin necesaria para conseguir que, si una operacin compleja se queda a medias, los cambios realizados hasta ese momento sean invalidados y la BD se devuelva al estado vlido y consistente inmediatamente anterior a la ejecucin de la operacin. En el caso de nuestro ejemplo, la grabacin de la reserva en el fichero de prstamos sera borrada, al no haberse completado la operacin en su total integridad.

En este contexto, mecanismos o modos de acceso (N del T) 7

Autor: Juan Ramn Lpez Rodrguez

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

DNI Socio @ ISBN Libro @ Fecha prstamo @ Fecha devolucin ... 76.666.999 @ 12-4567-321 @ 09/02/2004 @ --...

Seguridad: El SGBD distingue diferentes perfiles de usuario, y para cada perfil o para cada usuario concreto de una BD, permite establecer: - Los datos a los que tiene acceso - El tipo de acceso permitido a esos datos (consulta, modificacin...) Para poder identificar el perfil de cada usuario, cada uno habr de contar con una cuenta personal de acceso, validada normalmente a travs de una contrasea. Respaldo: Los SGBDs vienen normalmente acompaados de herramientas que automatizan la realizacin de copias de seguridad de todas las BDs bajo su responsabilidad.

Arquitectura en tres niveles Adems de toda la funcionalidad que acabamos de ver, el SGBD se encarga de la gestin de los ficheros en los que se almacenan los datos, incluida la intermediacin en todas las operaciones de acceso y actualizacin a los mismos. El problema que surge es el siguiente: la organizacin y gestin de los ficheros en los que se mantiene la informacin puede resultar muy compleja, e incluye aspectos como el nmero de ficheros utilizados, el espacio ocupado, su estructura interna... Por ejemplo, en el caso de la biblioteca que hemos utilizado como ejemplo, hemos estado utilizando dos ficheros separados para almacenar los datos de los libros y sus prstamos; aunque nada nos habra impedido utilizar slo uno:
ISBN @ Titulo @ Autor @ Ejemplares disponibles DNI Socio @ ISBN Libro @ Fecha prstamo @ Fecha devolucin 12-4567-321 @ Base de Datos @ Ramez Elmasri @ 3 76.666.999 @ 12-4567-321 @ 05/01/2003 @ 09/01/2003 76.666.999 @ 12-4567-321 @ 09/01/2003 @ 12/01/2003 12-3128-510 @ XML @ Peter Schnk @ 0 01.000.009 @ 12-3128-510 @ 10/01/2003 @ --...

Este formato de almacenamiento agilizara la bsqueda de informacin sobre los prstamos de un determinado libro realizados hasta la fecha: Bastara con localizar la lnea correspondiente a un libro dentro del fichero, y las lneas siguientes corresponderan a todos sus prstamos. En el formato anterior (dos ficheros) sera necesario (1) localizar la lnea correspondiente al libro en el fichero de fondos bibliogrficos; y (2) localizar todas las lneas correspondientes al libro en el fichero de prstamos (lo que podra implicar comprobar una por una todas las lneas del fichero). En cambio, el formato con un nico fichero complicara enormemente otras operaciones. Por ejemplo, el registro de un nuevo prstamo. Eso implicar (1) hacer sitio en el fichero para incluir una nueva lnea (lo cual requerir desplazar una a una todas las lneas siguientes que haya en el fichero); y (2) grabar la lnea correspondiente al nuevo prstamo. Cuando en el formato anterior, era suficiente con aadir una nueva lnea al final del fichero de prstamos. Como se ve, la organizacin de los ficheros de la BD influye enormemente en la eficiencia de las operaciones realizadas sobre los datos. Los SGBDs organizarn la
Autor: Juan Ramn Lpez Rodrguez 8

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

informacin de la forma que la eficiencia de dichas operaciones sea mayor, a veces utilizando estructuras de almacenamiento realmente complejas. Esas estructuras complejas debern ser entendidas por los usuarios de la BD y por los tcnicos encargados de elaborar los programas de aplicacin para poder utilizar convenientemente cada BD; algo que supone una complicacin a la hora de desarrollar su trabajo. Para evitarlo, los SGBD cumplen una funcin ms: la de enmascarar los datos. Mejor dicho, la de enmascarar la estructura de bajo nivel de los datos y las operaciones a ese nivel (los mtodos de acceso). El SGBD nos va a proporcionar un nivel de abstraccin superior, una visin conceptual (virtual, en el sentido de no real) de los datos, que no es la real, pero que facilita nuestro acceso a la informacin. Por ejemplo, los SGBDs ms comunes son los relacionales, los cuales, sea cual sea la organizacin de sus ficheros, nos muestran la informacin de forma que los datos parecen estar contenidos en tablas, sobre las que operaremos directamente. De ese modo nos olvidamos de que estamos trabajando sobre ficheros, y de problemas como, por ejemplo, la necesidad de hacer sitio en los mismos para introducir nuevas lneas. Esas cuestiones sern responsabilidad del SGBD, que las llevar a cabo de forma automtica. Para poder dar esa visin abstracta de los datos, nos basamos habitualmente en modelos de referencia (el modelo relacional es un ejemplo), que definen formas de organizar la informacin de una forma ms comprensible y manejable. Se trata de herramientas conceptuales, que definen conceptos o elementos genricos para organizar y describir la informacin. Por otro lado, habamos comentado que no todos los usuarios de una BD tendrn el mismo nivel de acceso a los datos contenidos en la misma, en cuanto a la informacin a la que tendrn acceso, y en cuanto a las operaciones que podrn realizar sobre la misma. Dicho de otro modo, no todos los usuarios tendrn la misma visin de los datos. Eso significa que podemos definir un tercer punto de vista de los datos, unido al punto de vista fsico (los ficheros) y conceptual (las tablas, por ejemplo): el punto de vista de cada perfil de usuario, al que se conoce con la denominacin genrica de punto de vista externo. Siguiendo con el caso de los SGBDs relacionales, cada perfil de usuario tendr asociada una vista externa formada por aquellas tablas o secciones de las tablas - de entre todas las que constituyan la BD - a las que un usuario con ese perfil tendr acceso. A este triple punto de vista de los datos (la visin fsica, la visin conceptual y la visin externa) se la conoce como la arquitectura en tres niveles de la informacin: ya que los tres puntos de vista originan tres niveles de abstraccin de los datos. Para cada nivel es posible desarrollar un esquema de datos: una descripcin de la organizacin de los datos tal y como son vistos a ese nivel de abstraccin. Por analogas con la teora de conjuntos, a los esquemas se los conoce tambin como la intensin de los datos, mientras que los datos se pueden ver como la extensin (las instancias) de un esquema. Por supuesto, la finalidad de estos esquemas es ayudarnos a comprender, de una forma sencilla e inmediata, la organizacin de la informacin en la BD. La figura siguiente esquematiza la arquitectura en tres niveles de la informacin y sus principales caractersticas:

Autor: Juan Ramn Lpez Rodrguez

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

Nivel externo
- A este nivel se describen las diferentes visiones que de los datos tiene cada usuario de un determinado perfil o tipo, por medio de un conjunto de esquemas externos. - Cada esquema externo omite aquellos datos que el usuario correspondiente no necesita, o a los que no tiene permiso de acceso; describe slo los datos a los que se tiene acceso. - Se basa en un modelo de referencia de alto nivel.

Usuario (perfil 1) Esquema externo 1

Usuario (perfil 2) Esquema externo 2

Nivel conceptual
Esquema conceptual

- A este nivel se describe la organizacin de la BD al completo, a partir de un modelo de datos de referencia de alto nivel. - La descripcin se cie exclusivamente a los datos, y omite de forma intencionada los detalles referentes al modo de almacenamiento y de acceso a los mismos. - La descripcin constituye el esquema conceptual de la BD.

Nivel interno
- A este nivel se describe la organizacin real de la BD al completo. - La descripcin constituye el esquema fsico de la BD, e incluye los ficheros que la componen, la organizacin de los mismos, y los mtodos de acceso utilizados. - Los usuarios de la BD no necesitan conocer esta informacin. Es el administrador de la BD el que gestiona estos ficheros.

SQL Como explicbamos en el apartado anterior, los SGBDs nos proporcionan la transparencia necesaria para no tener que conocer, como usuarios de una BD, los detalles de su organizacin fsica. La visin que tendremos de la informacin ser de ms alto nivel: todas las operaciones que realicemos sobre una BD sern realizadas tomando como referencia la descripcin establecida en el esquema conceptual. El SGBD se encargar, de forma automtica, de hacer posible esa ilusin. Uno de los modelos de referencia ms utilizados para construir una visin de los datos a tan alto nivel es el modelo relacional. Como se ha comentado tambin en el apartado anterior, el modelo relacional implica la organizacin de los datos en forma de tablas. Se trata de uno de los modelos ms utilizados por los SGBDs comerciales, y al que se ha dedicado un mayor esfuerzo de investigacin. Tal es su importancia que se ha acabado convirtiendo en un estndar: es el modelo de datos de alto nivel de referencia en el mundo de las bases de datos. Buena parte del xito de este modelo se debe al lenguaje SQL (Structured Query Language): se trata de un lenguaje, tambin de alto nivel, que permite construir todo
Autor: Juan Ramn Lpez Rodrguez 10

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

tipo de consultas sobre la informacin contenida en una BD relacional, con una sintaxis muy similar a la del ingls. Todos los SGBDS basados en el modelo relacional van a soportar este lenguaje. Eso significa que si aprendemos a utilizar SQL podremos realizar consultas sobre mltiples SGBDs diferentes, aunque estos estn construidos de diferente manera y organicen internamente la informacin de acuerdo a estructuras muy distintas. De ah la importancia que ha cobrado este lenguaje. En realidad, SQL es un lenguaje muy completo: no solo permite consultar la informacin almacenada en una base de datos, sino que tambin: - Permite gestionar la estructura de las tablas que forman la BD, e incluso definir nuevas tablas si es necesario, o eliminar alguna de las ya existentes. - Permite actualizar el contenido de las tablas, insertando o eliminando filas, o modificando los valores de las ya existentes.

Autor: Juan Ramn Lpez Rodrguez

11

Licenciatura en Documentacin: Bases de datos documentais

Curso 2011 2012

Bibliografa
R. Elmasri y S. Navathe. Fundamentos de los Sistemas de Bases de Datos (3 edicin). Addison-Wesley, 2002. A. Silberschatz, H. F. Korth y S. Sudarshan. Fundamentos de Bases de Datos (4 edicin). McGraw Hill, 2002

Autor: Juan Ramn Lpez Rodrguez

12