Vous êtes sur la page 1sur 13

ADMINISTRACIN DE SISTEMAS

GESTORES DE BASES DE DATOS


ndice
Fundamentos de los Sistemas Gestores de Bases de Datos..................................................................3
[1.1] Funcionamiento los Sistemas Gestores de Bases de Datos.....................................................3
[1.2] Opciones de funcionamiento de un SGBD.............................................................................7
[1.3] repaso del modelo relacional...................................................................................................9
[1.4] Sistemas Gestores de Bases de Datos Comerciales de tipo Relacional................................10
[1.5] bases de datos NoSQL. modelos diferentes del relacional...................................................12
Arquitectura de Oracle Database........................................................................................................18
[2.1] comunicacin con los servidores Oracle Database...............................................................18
[2.2] funcionamiento de la instancia de Oracle.............................................................................21
[2.3] estructuras en memoria de la instancia de Oracle.................................................................21
[2.4] procesos de la memoria de Oracle........................................................................................27
[2.5] estructuras de almacenamiento en disco...............................................................................30

2/41
Fundamentos de los Sistemas Gestores de
Bases de Datos
[1.1] Funcionamiento los Sistemas Gestores de Bases de Datos

[1.1.1]Sistemas Gestores de Bases de Datos


Un Sistema Gestor de Base de Datos (SGBD) es el software que permite gestionar bases de datos,
ocultando la fsica de la misma y permitiendo su gestin desde un nivel ms conceptual. Dicho
software permite separar las aplicaciones (los programas) de los datos; de modo que los programas
negocian con el SGBD el acceso a los 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.

Nivel interno/fsico. Se refiere a la forma en la que realmente se almacena la informacin de


la base de datos. Los administradores (DBA) de la base de datos son los encargados de
crear y configurar la base de datos a este nivel. Por lo tanto este nivel es el ms relacionado
con los contenidos de este manual.

Nivel conceptual. Define la base de datos haciendo referencia a la forma en la que se


relaciona la informacin, ocultando la forma en la que realmente se almacena en el
ordenador. Es un nivel ms humano que el fsico, pero no tanto como el externo.
Este nivel lo gestionan los analistas y/o diseadores de la base de datos. Los esquemas de la
base de datos relacionados con este nivel (esquema conceptual y esquema lgico) son los
primeros que se crean.

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).

[1.1.3]Niveles de abstraccin actuales


Hoy en da se definen ms niveles de trabajo con las bases de datos. Se habla de cinco (a veces
incluso de ms) niveles. Estos niveles son (empezando desde el ms cercano al usuario):

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 descripcin o definicin. Mediante ella se crean los metadatos de la base de


datos. Es la que utilizan los administradores y analistas de las bases de datos para crear los
esquemas lgicos, internos y fsicos. Esta funcin se realiza mediante el lenguaje de
descripcin de datos o DDL, aunque se puede realizar mediante herramientas grficas que
faciliten esta tarea.
Las instrucciones SQL estndar que se disearon para realizar esta funcin son CREATE,
ALTER y DROP.

Funcin de manipulacin. Permite modificar y utilizar los datos de la base de datos. Se


realiza mediante el lenguaje de modificacin de datos o DML. Esta funcin a veces se
divide en tres
Modificacin propiamente dicha, realizada mediante un lenguaje DML, que
permite aadir, modificar y eliminar datos. En SQL se realiza mediante las
instrucciones INSERT, DELETE y UPDATE.
Consultar datos. Realizada con un lenguaje DQL. En SQL se realiza mediante la
potente instruccin SELECT.
Control de transacciones.Realizada con un lenguaje DTL. ROLLBACK y
COMMIT son las instrucciones creadas para esta funconalidad.

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.

[1.1.5]tareas del DBA


Estos apuntes estn dedicados a la labor del administrador de bases de datos o DBA. Las tareas ms
comnmente aceptadas como implcitas a la labor de un DBA son:

Configurar e instalar el hardware en el que se instalar el servidor o servidores de


bases de datos. Implica decidir qu hardware es el ptimo e implementar memoria, discos e
instalacin de red necesaria. A veces hay un segundo administrador (el del sistema) que se
encarga de ello pero basndose en las necesidades expuestas por el DBA.

Configurar e instalar el Sistema Operativo. Tambin la gestin mnima del sistema


operativo para que la base de datos funcione correcta y rpidamente. Nuevamente, puede ser
una tarea coordinada con un administrador del sistema.

Instalacin y mantenimiento del SGBD. Seleccionando la ms adecuada forma de


instalacin y configurando lo necesario para su ptimo rendimiento, acorde con las
necesidades. Tambin es parte de esta tarea el control de las actualizaciones del sistema de
bases de datos que sean necesarias.

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.

Gestin de la seguridad. Complemente la tarea anterior para proteger al sistema ante


ataques de terceros o condiciones que comprometan la estabilidad del sistema.

Monitorizar y optimizar el rendimiento de la base de datos. Un DBA debe detectar los


cuellos de botella del sistema y actuar en consecuencia. Esto incluye optimizar las
instrucciones, crear estructura de acceso veloces o mejorar la infrastructura hardware y
software.

Realizar tareas de copia de seguridad y recuperacin. Quiz la tarea ms crtica. Consiste


en realizar acciones para en caso de catstrofe poder recuperar todos los datos

[1.2] Opciones de funcionamiento de un SGBD


[1.2.1]SGBD monocapa
Se trata de Sistemas Gestores instalados en una mquina desde la que se conectan los propios
usuarios y administradores. Es decir todo el sistema est en una sola mquina.

La ventaja es la seguridad y la clara desventaja la baja disponibilidad e incomodidad de trabajo.

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).

[1.2.2]SGBD de dos capas

Usa un modelo de funcionamiento tipo cliente/servidor. La base de datos y el sistema gestor se


alojan en un servidor, mientras que los clientes acceden desde mquinas distintas a travs de la red
(sea local o global).

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).

[1.2.3]SGBD de tres o ms capas


En este caso entre el cliente y el servidor hay al menos una capa intermedia (puede haber varias).
Esa capa (o capas) se encarga de recoger las peticiones de los clientes y luego de comunicarse con
el servidor (o servidores) de bases de datos para recibir la respuesta y enviarla al cliente.

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.

Este modelo es el que ms se est potenciando en la actualidad por motivos de seguridad y


ocultacin de la base de datos.

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.

1.interfaces de acceso a las bases de datos


El servidor intermedio se suele comunicar con el servidor de bases de datos a travs de un
componente (un driver) que proporciona a los programadores una interfaz (API) de acceso a la base
de datos. Las interfaces ms populares son:

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.

[1.3] repaso del modelo relacional


[1.3.1]fundamentos del modelo relacional
El Modelo Relacional fue enunciado por Edgar F. Codd en los aos 70 y, todava, sigue siendo el
modelo ms utilizado por los Sistemas Gestores de Bases de Datos comerciales.
Codd se bas en los teoremas de conjuntos de Cantor y Childs para crear un modelo flexible,
entendible y eficiente de base de datos. Las implementaciones iniciales de este modelo fueron muy
costosas, pero ahora hay cientos de sistemas comerciales que usan este modelo.
Los detalles fundamentales de este modelo son:
Los datos se organizan en tablas. Cada tabla contiene datos referidos a un elemento
distinguible en el mundo real (personas, facturas, contratos, etc.)
Las tablas estn formadas por filas y columnas. Las columnas indican un atributo (nombre,
primer apellido, salario, etc.), cada fila es un ejemplar de cada elemento del mundo real. Por
ejemplo, si una tabla se usa para almacenar los datos de los trabajadores, cada fila representa
los datos de un trabajador.
La interseccin entre fila y columna contiene un dato concreto.

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.

[1.4.2]SGBD de cdigo cerrado


Normalmente las licencias de uso de Sistemas Gestores de Bases de Datos con cdigo cerrado usan
licencias tipo CLUF o EULA, acrnimos equivalentes (en espaol y en ingls respectivamente de)
de contrato de licencia de usuario final.

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.

Ejemplos de SGBD de este tipo son:

Oracle Database. Propiedad de Oracle Corporation. Es el SGBD ms veterano y ms


influyente ya que la mayora de mejoras al SQL original se desarrollaron para este SGBD.
Sigue siendo uno de los SGBD comerciales ms utilizados y adems posee una gran relacin
con el lenguaje Java, acrecentada por la compra de la empresa creadora del mismo, Sun
Microsystems.
Presume de su gran estabilidad y escalabilidad, un control avanzado de transacciones y de
sus lenguajes internos de manejo. Especialmente famoso es su lenguaje procedimental
PL/SQL. Es un SGBD multiplataforma, que se puede instalar en diferentes sistemas,
especialmente Linux de tipo Red Hat Enterprise, Windows y Solaris.

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.

SQL Server. Propiedad de Microsoft. Originalmente basado en el cdigo del SGBD


SyBase que Microsoft. Actualmente SyBase (ahora perteneciente a la empresa SAP) y SQL
Server son productos diferentes. SQL Server dispone de una gran escalabilidad, estabilidad,
uso de transacciones, entorno grfico avanzado y de xito entre los programadores de la
plataforma .NET (tambin de Microsoft por su compatibilidad con esta).

Informix. Propiedad de IBM desde 2001 (anteriormente perteneciente a la empresa


Informix). Durante los aos 90 fue el sistema ms popular por detrs de Oracle, por lo que
sigue siendo el software de gestin de las bases de datos numerosos negocios

[1.4.3]SGBD de cdigo abierto


1.licencias de cdigo abierto
GPL (GNU General Public License). Es la licencia ms utilizada en el mundo del software
de cdigo abierto. Fue creada por Richard Stallman para el proyecto GNU, por lo tanto es
la licencia del sistema Linux. Es la Free Software Fundation la entidad encargada de
actualizar y revisar esta licencia.
Esta licencia permite:
Modificar y distribuir el software bajo esta licencia (incluso si se modifica ).
Cobrar por la distribucin del software (incluso si lo hemos modificado)
Las restricciones ms importantes que realiza esta licencia son:
Disminuir, en las obras distribuidas, la licencia original. Es decir no podemos, por
ejemplo, cerrar el cdigo original o modificar esa licencia.
Distribuir el software sin el cdigo fuente original.
Distribuir el software sin suministrar a los destinatarios una copia de la licencia GPL
del software.
Aplicar derechos de copyright, si el autor no indica explcitamente que la obra
original era GPL.

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).

Dominio pblico. Es la licencia ms permisiva de todas. De hecho un software bajo esta


denominacin no tiene ningn derecho de autor o restriccin de uso. Es la licencia de uso de
las obras (sean del tipo que sean) a las que le caducan los derechos de autor.

2.productos comerciales de cdigo abierto


MySQL. Inicialmente creada por la empresa MySQL AB, posteriormente comprada por
Sun Microsystems que, a su vez, fue comprada por Oracle. Ha sido considerada como la
principal SGBD de la comunidad de programadores de cdigo abierto y de hecho en Internet
sigue siendo la principal base de datos asociada a una aplicacin web. Mantiene su licencia
de tipo GPL, pero posee una segunda licencia cerrada para opciones de compra comercial
con soporte.
Es muy popular por su histrica asociacin con el lenguaje PHP, por su buena estabilidad,
gran escalabilidad, e incluso uso de transacciones y lenguaje procedimental; adems de ser
un producto con infinidad de plataformas posibles para su instalacin.

MariaDB. Derivada la anterior por Michael Widenius, fundador de MySQL. La idea es


disponer de un producto compatible con MySQL que mantenga la licencia GPL de forma
perdurable. Esta siendo muy exitosa y est reemplazando a MySQL en numerosas
instalaciones de Linux.

PostgreSQL. Versin de cdigo abierto basada en el producto Ingres de la Universidad de


Berkeley. Usa licencia de tipo MIT. Es muy potente y, probablemente, sea el SGBD
relacional ms respetuoso con los estndares. Hoy en da, est considerada como la ms
potente de las bases de datos de cdigo abierto y a partir de su ncleo se han creado otros
productos de gestin de bases de datos.

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

Vous aimerez peut-être aussi