Académique Documents
Professionnel Documents
Culture Documents
2/41
Fundamentos de los Sistemas Gestores de
Bases de Datos
[1.1] Funcionamiento los Sistemas Gestores de Bases de Datos
En definitiva se trata de un software complejo, pero de gran importancia por lo delicado de la rama
de la informacin a la que se dedica. Los SGBD han crecido de manera exponencial estos ltimos
aos por el xito de Internet, que ha provocado el acceso a miles y miles de bases de datos por parte
de millones de usuarios cada da.
[1.1.2]modelo ANSI/X3/SPARC
El grupo de trabajo SPARC de la seccin X3 del organismo de estndares ANSI, diseo un modelo
en el que indicaba cmo deba funcionar un SGBD para asegurar la separacin entre datos y
aplicaciones. Este organismo defini tres y as especific tres niveles:
Nivel externo. Define el nivel en el que los usuarios y usuarias utilizan la base de datos. La
forma de ver la misma oculta la estructura real de la base de datos. Este nivel ofrece el
objetivo final de una base de datos, que es la visin de la misma que poseen los usuarios y
que gestionar observar de forma cmoda la informacin almacenada en el sistema.
Este nivel es creado por los desarrolladores o programadores de la base de datos.
3/41
La Ilustracin 1, muestra la idea de los niveles en el modelo ANSI. Los tres niveles usan un modelo
de trabajo para crear los esquemas (diagramas) de trabajo de la base de datos. La idea es que pasar
de un nivel a otro sea un proceso automatizado (mediante lo que ANSI llama funciones de
traduccin.
4/41
La Ilustracin 2 muestra la propuesta arquitectnica del modelo ANSI/X3/SPARC. En ella se
observa el proceso de creacin de una base de datos dividida en la fase de definicin y la de
creacin. Los nmeros del esquema expresan el funcionamiento:
El administrador empresarial (lo que hoy en da se conoce como analista) crea el esquema
conceptual. ste se procesa con la ayuda de un procesador de esquema conceptual (lo que
hoy en da se conoce como herramienta CASE).
De ese proceso se obtienen metadatos, la informacin que permite describir a la propia base
de datos.
El esquema conceptual se modifica por parte del administrador de la base de datos para
producir el esquema interno de la misma usando un procesador de esquemas internos que
genera nuevos metadatos.
A la vez el administrador de aplicaciones (jefe de desarrollo) genera el esquema externo
usando otro procesador que generar nuevos metadatos.
La fase de manipulacin la inicia el usuario, el cual gestiona los datos usando esquemas
externos. Los puntos 9 a 14 lo que hacen es transformar la informacin pedida por el usuario
de forma externa, a su forma fsica. Ese paso requiere dos transformaciones intermedias,
pasando por los esquemas conceptuales e internos (para lo cual se usan los metadatos
almacenados).
Nivel externo. Sigue representando la vista que poseen los distintos usuarios de la base de
datos. En realidad los esquemas de este nivel son los ltimos que se crean y lo hacen los
desarrolladores o programadores.
Nivel conceptual. Actualmente se considera as al nivel que representa los primeros
esquemas de la base de datos, que son aquellos que disean los analistas o diseadores.
Ejemplo de modelo que opera a este nivel es el modelo Entidad/Relacin.
Nivel lgico. Se acerca ms a la fsica de la base de datos. En este nivel se hace referencia a
estructuras de organizacin de informacin que varan segn el tipo de SGBD que se utilice.
Este nivel sigue siendo manejado por los analistas. En muchos casos (aunque ciertamente es
peligroso) los diseadores/as de la base de datos empiezan por este nivel saltndose el
anterior. En la actualidad el modelo relacional sigue siendo el modelo ms habitual para
crear esquemas a nivel lgico.
Nivel interno. Es el primero en el proceso de modelado de la base de datos que se realiza
sobre el software gestor de la base de datos (teniendo en cuenta que lo externo, las
aplicaciones, se crean ms tarde). Usa el lenguaje de la base de datos para crear las
estructuras de datos definidas en el nivel lgico. Este nivel lo maneja el administrador de la
base de datos (o DBA).
Nivel fsico. Se refiere a como se organizarn los datos en el disco, en qu ordenadores se
crea la base de datos, si es distribuida o no, sistema operativo necesario, estructura de
directorios y archivos, configuracin de servidores y sistema operativo, poltica de copia de
seguridad,
La persona encargada de definir el nivel fsico esto es la administradora de la base de datos o
bien la administradora del sistema. En realidad hay acciones referidas a este nivel que se
hacen antes que las del nivel anterior; otras se irn haciendo despus o a la vez.
5/41
[1.1.4] funciones del SGBD
Cualquier Sistema Gestor de Bases de Datos debe de ser capaz de realizar tres funciones bsicas:
Funcin de control. Mediante esta funcin los administradores poseen mecanismos para
proteger las visiones de los datos permitidas a cada usuario. Es la funcin relacionada con la
seguridad de las bases de datos. El lenguaje que implementa esta funcin es el lenguaje de
control de datos o DCL.
En SQL son GRANT y REVOKE las instrucciones realizadas con esta funcin.
Crear y configurar las base de datos. Creacin de la estructura interna de la base de datos
(tablas, usuarios, permisos, vistas,). Es otra de las tareas ms habitualmente relacionadas
con el DBA y la primera fase (y las ms crtica) en a administracin de una base de datos.
6/41
Control de los usuarios y los permisos. En definitiva establecer las polticas de seguridad
ante accesos no cualificados, tan imprescindibles en toda base de datos.
Es un modelo que slo se utiliza con bases de datos pequeas y poca cantidad de conexiones. El
software Access de Microsoft es considerada un sistema gestor monocapa (aunque tiene algunas
posibilidades para utilizar en dos capas).
Los usuarios requieren disponer de un software de acceso denominado cliente de base de datos. En
el servidor hay procesos encargados de atender a estas peticiones.
7/41
En los sistemas bicapas hay dos posibilidades:
Arquitectura cliente/servidor nico. Un solo servidor gestiona la base de datos, todos los
clientes se conectan a l para realizar las peticiones a la base de datos.
Arquitectura cliente/multiservidor. La base de datos se distribuye entre varios servidores.
El cliente no sabe realmente a qu servidor se conecta; el software de control de
comunicaciones se encargar de dirigir al usuario al servidor adecuado. De forma lgica, es
como si se tratara de un solo servidor aunque fsicamente sean muchos (el cliente no percibe
que haya ms de un servidor).
El caso tpico es que la capa intermedia sea un servidor web, que recibe las peticiones a travs de
aplicaciones web; de este modo para conectarse a la base de datos, el usuario solo requiere un
8/41
navegador web, que es un software muy habitual en cualquier mquina y por lo tanto no requiere
una instalacin de software adicional en la mquina cliente.
El servidor intermedio, en muchos casos, realmente es el que aloja la interfaz de manejo de los
usuarios de la base de datos. En trminos del modelo ANSI, es el que almacena y sirve los
esquemas externos de la base de datos.
ODBC (Open DataBase Connectivity). Interfaz muy utilizada y veterana auspiciada por
Microsoft para acceder a todo tipo de bases de datos (tanto relacionales como no
relacionales) a travs de SQL incrustado en el cdigo. Funciona en todo tipo de sistemas y
plataformas.
JDBC (Java DataBase Connect). Interfaz de uso habitual para los programadores del
lenguaje Java creada por la empresa Sun Microsystems (creadora del lenguaje Java). Es
similar a la anterior, pero utilizable solo en este lenguaje.
OLE DB (Online Linking and Embeded DataBases). Interfaz de bajo nivel para el acceso a
bases de datos de todo tipo. Se basa en PDBC al que aporta nuevas posibilidades. No ha
tenido el xito que sigue teniendo ODBC.
ADO (ActiveX Data Objects). Interfaz creada por Microsoft para el acceso a bases de datos
a travs de objetos ActiveX creados en Visual Basic.
ADO.Net. Interfaz de acceso a base de datos para aplicaciones basadas en la plataforma
.Net de Microsoft.
GDA (GNU Data Access). Puesto que las interfaces de acceso pertenecen a empresas, GDA
es una interfaz abierta creada para acceder a todo tipo de bases de datos a travs de una serie
de funciones y mdulos lo ms genricos posibles. La idea en su diseo era proporcionar la
funcionalidad de ODBC o JDBC pero desde la ptica del software abierto.
9/41
Una columna, o un conjunto de columnas, se establecen como clave principal o primaria
de la tabla, de modo que los datos que contienen son distintos en cada fila de la tabla.
Para poder relacionar datos de diferentes tablas, se usan claves secundarias o forneas.
Datos que se refieren a claves primarias de otras tablas.
En las tablas relacionales se pueden aplicar estas restricciones:
Clave primaria (Primary Key, PK). Las columnas marcadas as, identifican cada
fila y adems no pueden quedar vacas ni repetir valores en diferentes filas.
Unicidad (Unique, UK). Las columnas marcadas con ella no pueden repetir valores
en diferentes filas.
Obligatoriedad (Not Null, NN). Las columnas con esta restriccin, obligatoriamente
deben de contener algn valor (no pueden quedar vacas).
Integridad referencial (Foreign Key, FK). Los valores de esas columnas deben de
corresponderse con los de las columnas de la clave principal con cuya tabla se
relacionan.
10/41
[1.4] Sistemas Gestores de Bases de Datos Comerciales de tipo
Relacional
[1.4.1]licencias de software
El gur del software libre, Richard Stallman denomina al software propietario (software cuyo
uso y explotacin se rige por un contrato privado emitido por la empresa fabricante) software
privativo. La razn es que la licencia de uso de ese software no permite ver ni editar el cdigo
fuente original y, por lo tanto, impide modificar el mismo y adaptarlo a nuevas funcionalidades.
Por otro lado, el propio Stallman define al software que s permite este proceso, software libre. En
ambos casos el software no tiene por qu ser gratuito. Es decir, la diferencia no es la gratuidad sino
la libertad de utilizar el cdigo fuente del software.
Una definicin, quiz menos tendenciosa, es la que diferencia al software en: software de cdigo
abierto (aquel cuyo cdigo fuente est a disposicin del cliente) y software de cdigo cerrado u
oculto. Est diferencia de software se debe a dos formas diferentes de entender la fabricacin de
software.
Los defensores del cdigo cerrado argumentan que es lgico protegerle para evitar copiar su
tecnologa por parte de la competencia e incluso por razones de seguridad del mismo, al no poder
asegurar su correcto funcionamiento ante modificaciones de terceros.
Los defensores del cdigo abierto estn a favor porque ofrece la posibilidad de poder modificar el
cdigo por parte de miles de programadores en todo el mundo que pueden compartir dichas mejoras
y as rpidamente y de manera dinmica perfeccionar el producto. Argumentan que es ms seguro
este software ya que permite detectar problemas y virtudes ms rpidamente.
En estas licencias, el usuario firma unas condiciones de uso por el software, entre las que siempre
figuran el hecho de no poder distribuir libremente el mismo y que est restringido a unas
condiciones de trabajo concretas . Por ejemplo se restringe el nmero de mquinas en el que se
puede instalar o el nmero de usuarios que la pueden utilizar.
11/41
DB2. Propiedad de IBM, es una de las bases de datos comerciales ms populares.
Desarrollada para Windows, UNIX y Linux. Implementa XML de manera nativa y dispone
de amplias facilidades de migracin de datos (especialmente desde Oracle) as como uso de
transacciones avanzadas.
Licencia BSD. Es la que se cre para los sistemas BSD (Berkeley Software Distribution). Es
menos restrictiva que la anterior. Permite modificar y distribuir el software bajo esta licencia
(incluso si se modifica ) en la forma que queramos siempre que se cumpla
Si distribuimos el software debemos mantener el aviso de copyright anterior del
software en el que se basa nuestra distribucin.
No podemos usar el nombre de los autores originales ni de sus colaboradores para
apoyar o promocionar una distribucin modificada del software original.
Hay que tener en cuenta que incluso podemos modificar software con licencia BSD y
distribuirle bajo una licencia de software cerrado. El caso ms tpico de esta idea es el
sistema Mac OS de Apple que se basa originalmente en un sistema BSD.
Licencia MIT. Licencia creada por el Instituto Tecnolgico de Masachusetts, para sus
distribuciones de software, concretamente se utiliz para el sistema X Window System. Es,
como la anterior, muy permisiva. Permite modificar y redistribuir el software en la forma
que el usuario desee, basta con incluir el aviso de copyright de esta licencia (que incluso se
12/41
puede modificar).
Licencia Apache. Presente en todo el software distribuido por la fundacin Apache. Solo
exige que se avise al usuario que el software original utilizaba licencia Apache, pero se
permite que una distribucin de software sea ms restrictiva que el original (al estilo de las
dos licencias anteriores).
SQLite. Creada por el desarrollador Richard Hipp, usa una licencia de dominio pblico.
Presume de ser totalmente relacional, compatible con ACID (gestin de transacciones
completo) e incluso incluir un lenguaje procedimental (al estilo de PL/SQL). Todo ello en
apenas 300KB de espacio.
Est escrita en C y guarda todo lo que necesita en un solo fichero para cada base de datos.
Su ligereza y potencia aceptable la han hecho muy popular en muchas aplicaciones e incluso
en los sistemas operativos mviles (casi todos la integran).
13/41