Sei sulla pagina 1di 54

U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S.

MAR DE CÁDIZ
CURSO 2010-11

Unidad didáctica nº 1
Introducción a los
SGBD

-1-
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

ÍNDICE

1.0 SISTEMAS TRADICIONALES DE FICHEROS Y BASES DE DATOS. 3


1.1 OBJETIVOS DE LOS SGBD. 7
1.2 FICHEROS O ARCHIVOS. ESTRUCTURAS BÁSICAS.

1.2.1 Características de los ficheros.

1.2.2 Clasificación de los ficheros.

1.2.3 Operaciones que pueden realizarse sobre un fichero.


10
1.2.4 Modos de Acceso a un fichero.

1.2.5 Organización física de los ficheros. Algoritmos de conversión de claves.

1.2.6 Criterios de selección de organizaciones físicas.

1.2.7 Gestión de archivos en soportes.

1.3 TERMINOLOGÍA PARA DESCRIBIR DATOS. 24

1.4 ARQUITECTURA DE LAS BASES DE DATOS. ESQUEMAS. 26


1.5 LENGUAJES DE LOS SGBD. 29
1.6 EL GESTOR DE BASES DE DATOS. ESTRUCTURA DEL SISTEMA. 31
1.7 ADMINISTRADOR DE LA BASE DE DATOS Y USUARIOS. 36
1.8 BASES DE DATOS DISTRIBUIDAS. 39
1.9 MODELOS DE DATOS. 48

-2-
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.0 - SISTEMAS TRADICIONALES DE FICHEROS y BASES DE DATOS

Introducimos mediante ejemplos las diferencias en los modos de trabajar


entre un sistema convencional de gestión de ficheros y un sistema de bases de
datos.

Ejemplo 1:

En un centro educativo se quieren mecanizar mediante ordenador los


siguientes procesos: (a) Emisión mensual de recibos y (b) Actas de notas

En una concepción clásica de la solución del problema se crearían dos


ficheros. La estructura de registro de cada uno sería:

Fichero RECIBOS Fichero NOTAS


Nº Matrícula Nº Matrícula
Nombre alumno Nombre alumno
Nombre asignatura 1 Nombre asignatura 1
Precio asignatura 1 Nota asignatura 1
............................... ...................................
Nombre asignatura n Nombre asignatura n
Precio asignatura n Nota asignatura n
Deducciones

¿ Qué defectos se observan en esta organización de los datos ?

1º. Campos repetidos (se multiplican así las necesidades de espacio)

Nombre del alumno (está duplicado: aparece en ambos ficheros)


Precio de la asignatura (aparece repetido en cada registro del 1º fichero)
Nombre de la asignatura (aparece repetido en cada registro, en ambos ficheros)

Por ejemplo: Si la media de alumnos matriculados por asignatura es 30, el


nombre de cada asignatura aparecería almacenado 60 veces.

2º. Dificultades para la actualización de los datos (se invierte más tiempo).

Un mismo dato que figura en muchos ficheros deberá actualizarse en


todos y cada uno de esos ficheros.

3º. Inconsistencia de datos.

Ocurre cuando, por error, se actualiza un dato en unos ficheros sí y en


otros no.

-3-
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

¿Cómo organizaríamos los ficheros para evitar estos problemas?

Fichero ALUMNOS Fichero ASIGNATURAS


Nº Matrícula Nº Asignatura
Nombre alumno Nombre asignatura
Deducciones Precio asignatura

Fichero NOTAS
Nº Matrícula
Nota asignatura 1
..........................
Nota asignatura n

Reducimos así el número de campos repetidos a los estrictamente


imprescindibles para mantener el enlace entre los ficheros, necesario para los
distintos tratamientos.

Si queremos modificar el nombre de un alumno o de una asignatura solo


necesitamos acceder a un fichero.

Este diseño se ha hecho teniendo en cuenta las relaciones entre los datos y
no la utilización de ellos en un caso particular. Se sigue así un principio básico de
los Sistemas de Gestión de Bases de Datos que consiste en crear estructuras
independientes de los programas en que se vayan a usar los datos.

Ejemplo 2:

Considérese una empresa bancaria que guarda la información referente a


sus clientes y sus respectivas cuentas de ahorro en archivos permanentes.
Además, el sistema tiene diversos programas de aplicación que permiten, tanto a
los empleados del banco como a los clientes, manejar los archivos, incluyendo:

• Un programa para hacer cargos o abonos a una cuenta.

• Un programa para añadir una nueva cuenta.

• Un programa para obtener el saldo de una cuenta.

• Un programa para generar estados mensuales.

Estos programas de aplicación los han escrito programadores en respuesta


a las necesidades de la organización bancaria.

-4-
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Según surge la necesidad, se añaden nuevos programas de aplicación al


sistema. Por ejemplo, supóngase que el banco ofrece un nuevo tipo de cuenta de
ahorro a plazo fijo. Como resultado, se crean nuevos archivos permanentes que
contienen información acerca de todas estas cuentas que mantiene el banco, y
puede que sea necesario escribir nuevos programas de aplicación. Así, según
pasa el tiempo, se añaden más archivos y programas de aplicación al sistema.

El típico sistema de procesamiento de archivos descrito arriba está


apoyado por un sistema operativo convencional. Los registros permanentes se
almacenan en varios archivos, y se escribe un número de diferentes programas
de aplicación para consultar, añadir, borrar o modificar registros de los archivos
apropiados. Este sistema tiene un número de desventajas importante.

1º. Redundancia e inconsistencia de los datos.

Puesto que los archivos y los programas de aplicación son creados por
distintos programadores durante un periodo largo de tiempo, es probable que
los archivos tengan diferentes formatos y los datos pueden estar duplicados
en varios sitios (archivos). Por ejemplo, la dirección y el nº de teléfono de un
cliente determinado pueden aparecer en un archivo que contiene registros de
“cuentas nómina” y en un archivo que contiene registros de cuentas de
“planes de pensiones”. Esta redundancia aumenta los costes de
almacenamiento y acceso. Además, puede llevar a inconsistencia de los
datos, esto es, las diversas copias de los mismos datos no concuerdan entre
sí. Por ejemplo, una dirección cambiada de un cliente puede estar reflejada en
los registros de cuentas de ahorros pero en ningún sitio más del sistema.

2º. Dificultad para tener acceso a los datos.

Supóngase que uno de los gerentes del banco necesita averiguar los
nombres de todos los clientes cuyo código postal sea 11567 y pide al
departamento de procesamiento de datos que genere la lista correspondiente.
Puesto que esta solicitud no fue prevista cuando se diseño el sistema original,
no hay ningún programa de aplicación a mano que la satisfaga, aunque sí
existe uno que genera la lista de todos los clientes. El gerente tiene ahora dos
elecciones: O bien coger la lista de clientes y extraer la información necesaria
manualmente, o pedir al departamento de procesamiento de datos que ponga
a un programador a escribir el programa de aplicación necesario.

-5-
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Obviamente, ninguna de las dos alternativas es satisfactoria. Imaginemos que


se escribe un programa semejante y que, varios días después, el mismo
gerente necesita arreglar esa lista para incluir sólo aquellos clientes con un
saldo de 10.000 euros o más. Como se esperaba, no existe un programa que
genere esa lista. De nuevo, el gerente tiene las dos opciones anteriores,
ninguna de las cuales es satisfactoria.

Lo que se trata de probar aquí es que esos entornos convencionales de


procesamiento de archivos no permiten recuperar los datos necesarios de una
forma conveniente y eficiente. Deben desarrollarse sistemas de recuperación
de datos para uso general.

3º. Aislamiento de los datos.

Puesto que los datos están repartidos en varios archivos, y éstos pueden
tener diferentes formatos, es difícil escribir nuevos programas de aplicación
para obtener los datos apropiados. Además, si se han utilizado diferentes
lenguajes de programación para crear esos archivos, lo más probable es que
sus formatos sean incompatibles.

4º. Anomalías del acceso concurrente.

Para mejorar el funcionamiento global del sistema y obtener un tiempo de


respuesta más rápido, muchos sistemas permiten que múltiples usuarios
actualicen los datos simultáneamente. En un entorno así, la interacción de
actualizaciones concurrentes puede dar por resultado datos inconsistentes.
Considérese una cuenta bancaria con 500 euros. Si dos clientes autorizados a
manejar esa cuenta retiran fondos (digamos 50 y 100 euros,
respectivamente) casi al mismo tiempo, el resultado de las ejecuciones
concurrentes puede dejar la cuenta en un estado incorrecto (o inconsistente).
En particular, la cuenta puede contener 450 ó 400 euros, en vez de 350
euros. Para prevenir esta posibilidad, debe mantenerse alguna forma de
supervisión en el sistema. Cuando se da un situación similar a la expuesta en
el anterior ejemplo, donde se puede acceder a los datos por medio de
diversos programas de aplicación que no han sido previamente coordinados,
esta verificación es muy difícil de proporcionar.

-6-
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

5º. Problemas de seguridad.

No todos los usuarios del sistema de gestión informático deben poder


acceder a todos los datos. Por ejemplo, en un sistema de gestión de un centro
educativo cada profesor sólo debe poder acceder a las notas de sus alumnos,
y por otra parte, cada alumno podrá consultar sus notas pero no podrá
modificarlas. Puesto que los programas de aplicación se añaden al sistema de
una forma imprecisa, es difícil implantar tales restricciones de seguridad.

6º. Problemas de integridad.

Los valores de datos almacenados en la base de datos deben satisfacer


ciertos tipos de restricciones de consistencia. Por ejemplo, el saldo de una
cuenta bancaria nunca debe caer por debajo de una cantidad prescrita
(digamos, 25 euros). Estas restricciones se hacen cumplir en el sistema
añadiendo códigos apropiados en los diversos programas de aplicación. Sin
embargo, cuando se añaden restricciones nuevas es difícil cambiar los
programas para hacerlas cumplir. El problema se complica aún más cuando
las restricciones implican varios elementos de información de distintos
archivos.

7º. Dependencia de los datos física-lógica.

La estructura física de los datos (definición de archivos y registros) se


encuentra codificada en los programas de aplicación. Cualquier cambio en esa
estructura implica que el programador deberá identificar, modificar y probar
todos los programas que manipulan esos archivos.

1.1 - OBJETIVOS DE LOS SGBD.

Un Sistema de Gestión de Bases de Datos (SGBD) es un Conjunto de


DATOS + Conjunto de PROGRAMAS que acceden a los datos.

En muchos textos para referirse al SGBD se encontrará el acrónimo


proveniente del inglés DBMS (Data Base Management System).
Los SGBD surgen para conseguir un acceso eficiente y seguro a los datos,
dada la importancia que éstos tienen en las empresas e instituciones.

-7-
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.1.1 - OBJETIVOS Y CARACTERÍSTICAS DE UN SGBD

1º. Independencia de datos.

Independencia entre los datos y los programas que los manejan. En una
Base de Datos el programa se comunica mediante procedimientos estándar con
los datos, de manera que un cambio de codificación (independencia lógica) o
soporte (independencia física) no afecta a los programas de aplicación sino
exclusivamente al procedimiento de acceso.
2º. Integridad

Reducir la inconsistencia o contradicciones de la información, esto es, que


el mismo dato aparezca en dos ficheros distintos con distinto valor.

3º. Seguridad

Seguridad física o Resistencia a posibles averías de tipo físico que pudieran

dañar los datos. Para esto se necesita de:

 un método de detección de errores.

 un método de recuperación de información que suele consistir en

copias periódicas de la Base de Datos.

4º. Confidencialidad

Seguridad lógica o Confidencialidad de datos: Protección de los datos ante


lecturas o modificaciones por parte de usuarios no autorizados. Se consigue
estableciendo una serie de niveles de acceso por medio de contraseñas o
identificaciones. Estos niveles de acceso pueden referirse a:
- Todos los datos
- Determinados ficheros
- Registros de un fichero
- Campos de un registro

5º. Redundancia mínima

Evitar redundancia de información, es decir, que un mismo dato esté en


muchos ficheros distintos o incluso en distintos registros de un mismo fichero.
6º. Control de concurrencia

Centralización del control sobre los datos.

-8-
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

7º. Compartimiento de datos

La información se podrá compartir por varias aplicaciones.

8º. Existencia de Lenguajes de Manipulación de Datos

Existencia de Lenguajes de Manipulación de Datos (LMD) que permiten


obtener de manera sencilla información que en otro caso requeriría de un
programa de aplicación.

Dicho de otra manera, podemos establecer las siguientes . . .

1.1.2 - VENTAJAS DE LAS BASES DE DATOS

Referidas a:

A) LOS DATOS:

 Independencia de estos respecto de los tratamientos y viceversa.

 Mejor disponibilidad de los mismos.

 Mayor eficiencia en la recogida, codificación y entrada en el

sistema.

B) LOS RESULTADOS

 Mayor coherencia.

 Mayor valor informativo.

 Mejor documentación y más normalizada.

C) LOS USUARIOS

 Acceso más rápido y sencillo de los usuarios finales.

 Más facilidades para compartir los datos por el conjunto de los


usuarios.

 Mayor flexibilidad para atender a demandas cambiantes.

-9-
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.2 - FICHEROS O ARCHIVOS. ESTRUCTURAS BÁSICAS.

El FICHERO o ARCHIVO es una estructura que alberga información, la


cual está grabada en dispositivos externos de almacenamiento.

Los Ficheros o Archivos están compuestos por unidades denominadas


REGISTROS lógicos.

A su vez, un Registro lógico es una estructura de datos formada por uno


o más elementos llamados CAMPOS del registro. Los registros lógicos constituyen
una unidad para un determinado proceso.

Cuando un programa necesita utilizar un archivo, en primer lugar, al


principio del mismo programa se debe definir el tipo de registro que constituye el
archivo y, posteriormente, se utiliza el archivo según las operaciones que facilite
sobre él el lenguaje de programación.

Nombre del archivo: CLIENTES


Nombre del registro: R-CLIEN
Campo clave: NIF
Formato del registro:

Campo Nombre Tipo de datos Longitud


1 NIF Alfanumérico 10
2 APELLIDOS Alfanumérico 20
3 NOMBRE Alfanumérico 15
4 NACIMIENTO Fecha 8

..................................................................................................

1.2.1 - Características de los ficheros

 Residen en soportes externos, por lo que su existencia no está limitada al


tiempo de ejecución del programa que lo crea, sino que permanece cuando
éste termina.

 Los datos pueden transportarse de un ordenador a otro.

 Tienen capacidad de almacenamiento ilimitada ya que, aunque un soporte


tiene capacidad limitada, un archivo puede distribuirse en varios soportes.

- 10 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.2.2 - Clasificación de los ficheros

Los ficheros pueden clasificarse atendiendo a varios criterios. Atendiendo a


la función que realizan se distinguen:

a) Permanentes.

Sus registros varían poco en el tiempo. También se conocen con el nombre


de archivos maestros.

 Constantes. Su información permanece prácticamente


invariada, utilizándose como archivos de consulta. Por ejemplo, un
fichero que en cada registro guarda el nombre de una población y su
código postal.

 De situación. Reflejan el estado o situación actual de una


empresa o entidad. Estos archivos se actualizan periódicamente para
adaptarlos a una nueva situación. Son los “menos permanentes”. Por
ejemplo, un archivo que guarda en cada registro el código de un
producto, su precio y el número de existencias que hay en cada
momento en el almacén de una empresa.

 Históricos. Se obtienen de los anteriores cuando éstos dejan


de utilizarse, y sirven para hacer estudios futuros estadísticos o de
consulta. Por ejemplo, un archivo que guarda en cada registro un
número de teléfono y datos sobre cada llamada que desde él se ha
realizado: el destino, su duración expresada en segundos, la fecha y la
hora, la tarifa aplicada, el coste, etc.

b) De movimientos.

En ellos se almacena temporalmente la información que se utiliza para


actualizar los archivos de situación. Por ejemplo, un fichero con datos
sobre las mercancías que entran o salen del almacén, y su precio .

c) De maniobra.

Son archivos temporales creados durante la ejecución de un programa y


borrados habitualmente al terminar el mismo. Por ejemplo, archivos
intermedios utilizados en procesos de ordenación.

- 11 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.2.3 - Operaciones que pueden realizarse sobre un FICHERO

 Crear la estructura del archivo (orden CREATE). Se establece la estructura y


posición del archivo en el dispositivo de almacenamiento.

 Abrir un fichero creado para poder utilizarlo (orden OPEN). Cuando el archivo
ya existe, debe abrirse para trabajar con él, bien sea para consultarlo o para
actualizarlo.

 Leer un registro del fichero (orden READ). Transfiere la información del


registro actual al área de datos del programa que solicita la lectura.

 Escribir un registro en el fichero (orden WRITE). Graba en el soporte de


almacenamiento el contenido de un registro con los datos especificados en el
área de datos del programa.

 Cerrar un fichero cuando ya no va a utilizarse (orden CLOSE). Esta operación


es obligatoria antes de concluir un programa. Si un archivo queda abierto, se
corre el riesgo de perder información. Actualiza la situación real del archivo y
elimina de la memoria interna la tabla mantenida por el sistema para agilizar
las operaciones de acceso al archivo.

 Eliminar un fichero (orden DELETE). Cuando un archivo deja de tener


validez, es conveniente borrarlo del dispositivo de almacenamiento para no
desperdiciar espacio.

 Renombrar un fichero permite cambiar el nombre a un archivo (orden


RENAME).

 Copiar un fichero. Consiste en duplicar la información de un archivo en otro.

 Editar un fichero. Permite modificar el contenido de un archivo. Se utiliza,


sobre todo, en archivos de texto.

 Indexar un fichero. Es una operación de alto nivel que permite dar a un


archivo organización indexada. El acceso a los registros del archivo se hará a
través de un archivo índice que estará ordenado por el campo que se indexó
(clave).

- 12 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.2.4 - Modos de acceso a un fichero

Independientemente de cómo estén organizados los datos en un archivo,


para los programas es importante la forma en que puede accederse a los
registros. Existen básicamente tres modos de acceso:

 Acceso secuencial. Las operaciones de lectura o de escritura se hacen sobre


el registro físicamente contiguo al último que se utilizó. Este modo de acceso
es consecuencia de que los primeros dispositivos de almacenamiento eran
soportes secuenciales (tarjetas y cintas perforadas, y cintas magnéticas).

 Acceso directo. Los registros pueden leerse y escribirse directamente en la


posición física que ocupan en el archivo (tambores y discos magnéticos).

 Acceso por índice. Consiste en crear un índice ordenado con las claves del
archivo. Para acceder a los registros, se busca secuencialmente la clave en el
índice, que lleva asociada la dirección real del registro en el archivo, el cual se
lee o escribe directamente.

1.2.5 - Organización física de los ficheros.

Existen cuatro tipos de organización física de una archivo: secuencial,


relativa, indexada e invertida.

Organización secuencial

Con este tipo de organización, los registros se almacenan uno detrás de


otro, sin dejar huecos y en el orden en que se van grabando. El único modo
permitido de acceso a los registros es el secuencial.

Las ventajas de este método radican en que no desaprovechan espacio de


almacenamiento y en la elevada eficiencia de recuperación de registros cuando el
porcentaje de consultados es suficientemente grande.

Entre sus inconvenientes:

 Para acceder a un registro, hay que leer todos los que hay
delante de él, que de media son la mitad de los registros del archivo.

 No se puede insertar un registro en medio de otros dos, ya


que sólo está permitido añadir registros al final del archivo, lo que supone
que si el archivo está ordenado, hay que reordenarlo.

 No se puede borrar un registro porque se generaría un hueco.

- 13 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

 Para actualizar un archivo es necesario un archivo de


movimientos, trasladar el maestro actualizado a uno nuevo y,
posteriormente, cambiar el nombre al nuevo por el del maestro.

En la actualidad se utilizan poco los archivos con organización secuencial.


Únicamente se aconseja esta organización para archivos históricos y constantes.
Un ejemplo de archivo con organización secuencial puede ser el de abonados a
una compañía telefónica, en el que se almacenan los datos que aparecen
anualmente en las guías.

Organización relativa

Un archivo con organización relativa se puede considerar como un


conjunto de posiciones contiguas de memoria, cada una de las cuales se
denomina bloque y tiene una longitud fija. El número de bloques que forman el
archivo está predeterminado inicialmente. Los bloques están numerados de 1 a n
(ó de 0 a n-1), siendo n el número total de bloques del archivo. Cada bloque
puede contener uno o varios registros. Por tanto, el número total de registros
que puede contener el archivo es el número de bloques multiplicado por el
número de registros que caben en cada bloque.

Es posible acceder a los registros de un fichero con organización relativa


de forma secuencial y también en modo directo.

• Para el modo secuencial basta con utilizar una variable como


contador de bloques e ir accediendo a aquellos bloques cuya
dirección coincida con el valor del contador. Si los bloques tienen
más de un registro, el acceso a los registros del mismo bloque se
hace de forma secuencial.

• Para acceder directamente, se debe conocer la dirección lógica


que ocupa el registro en el archivo. Se denomina dirección lógica al
número de bloque en el que se encuentra un registro y dirección
física a la que realmente ocupa el registro en el soporte donde se
almacena el archivo.

La dirección del bloque en el que se encuentra un registro se


calcula a partir de su campo clave. El valor del campo clave se
transforma en una de las direcciones lógicas válidas mediante un

- 14 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

algoritmo de conversión. Esta técnica se denomina hashing. De


esta forma, siempre que se desea acceder a los datos de un
registro, hay que convertir previamente el valor de su campo clave
aplicando el algoritmo correspondiente.

Todos los algoritmos transforman el valor de la clave en un


valor numérico y en algunos, el número resultante no está en el
rango de direcciones posibles por lo que hay que adaptarlo
multiplicándolo por un factor de ajuste.

Algoritmos de conversión de claves

 Direccionamiento directo. Se utiliza cuando las claves tienen rangos de


valores densos y cada valor tiene asociada una dirección en el archivo; por
ejemplo, un archivo de habitaciones de un hotel con clave el número de
habitación.

Dirección real = valor clave buscada – clave más pequeña + 1

 Conversión binario-octal. Consiste asignar a cada dígito un valor numérico


que se corresponde con su orden alfabético. A la A se le asociaría 1, a la B el
2, etc. Una variante consiste en asignar el valor numérico ASCII
correspondiente. Los valores de todos los dígitos que forman la clave se
suman y el resultado se transforma en número octal. El número así obtenido
se multiplica por el factor de ajuste.

 De restas sucesivas. Se utiliza para claves numéricas consecutivas que


contienen muchos huecos de valores conocidos previamente; por ejemplo, el
archivo de habitaciones de un hotel con un número fijo de habitaciones por
planta y con el dígito del número de planta precediendo al número de
habitación. El método consiste en restar a la clave la suma de todos los
huecos anteriores. Así, en el caso de un hotel con 10 plantas y 30
habitaciones por planta sería de la siguiente forma:

Huecos: 1 a 100, 131 a 200, 231 a 300,..., 931 a 999

Habitación: 411

Huecos anteriores: 100 + 3 plantas * 70 huecos/planta = 310

Dirección asociada: 411-310 = 101

- 15 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

 Direccionamiento por división: Se divide el valor del campo clave por un


número fijo, se toma el resto de la división entera como dirección lógica del
registro y se le suma 1 si se desea adaptarlo al rango de direcciones 1,..., n.
Para la elección del divisor existen varias opciones, entre las que destacan:

• Elegir el número de direcciones más uno. No es el mejor, porque si


el número es divisible por números pequeños, generará demasiados
sinónimos (se estudian más adelante).

• Elegir el número primo más cercano al número de direcciones físicas


para minimizar el número de sinónimos. Si se elige el mayor de los
primos menores que él, se corre el riesgo de dejar muchos huecos
(nº de direcciones – nº primo). Si se elige el menor de los primos
mayores, hay que multiplicar por un factor de ajuste, y si el primo
es bastante mayor que el número de direcciones, también se
generarán muchos huecos.

• Una solución intermedia consiste en encontrar un número menor


que el número de direcciones, pero que esté muy cercano, que sea
primo o no tenga divisores menores de 10; por ejemplo:

Nº de direcciones: 1000 Primo más cercano: 997

Clave a transformar: 5431 Resto de 5431 entre 997: 446

Dirección asociada: 446

 Direccionamiento por el centro del cuadrado. Consiste en eliminar del


número obtenido al elevar la clave al cuadrado, las cifras extremas, es decir,
las de la derecha e izquierda y tomar el mismo número de dígitos centrales
como tenga el número de direcciones posibles como un valor decimal
comprendido entre 0 y 1. A continuación, multiplicar este valor por el número
de direcciones disponibles y despreciar los decimales resultantes.

 Direccionamiento por plegamiento. En este método, los dígitos exteriores


en ambos extremos se desplazan hacia dentro de modo que se trasladan y
queden dos números del orden de magnitud del número de direcciones. Se
suman estos dos números y el resultado se multiplica por el factor de ajuste,
despreciando los decimales.

- 16 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Ventajas e inconvenientes

La principal ventaja de la organización relativa es la rapidez con que se


pueden recuperar los registros de forma aleatoria. Gracias al acceso directo, se
puede actualizar un archivo sin utilizar otro de movimientos. Las altas se realizan
asignando al registro un bloque con algún registro vacío. Las modificaciones se
hacen directamente sobre el registro elegido.

Sus inconvenientes son los siguientes:

• Hay que hacer una estimación inicial del número de registros que podrá tener
el archivo, corriendo el riesgo de desperdiciar espacio o llenarlo pronto y, por
consiguiente, tener que trasladarlo a otro archivo de mayor capacidad.

• Se tiene que elegir un buen algoritmo de transformación de claves en


direcciones.

• Todos los algoritmos, excepto el de direccionamiento directo, producen


sinónimos. Dos registros son sinónimos si, teniendo claves diferentes, el
algoritmo les asigna la misma dirección. En el ejemplo del algoritmo de
direccionamiento por división, a la clave 4434 también le correspondería la
dirección 446. Este problema puede solucionarse dando capacidad de más de
un registro a cada cubo y guardando todos los sinónimos de una dirección en
su cubo (lo que implica, seguramente, desaprovechamiento de espacio) o
creando un archivo adicional con organización secuencial o relativa
exclusivamente para los sinónimos. El algoritmo que menos sinónimos genera
es el de división.

• Todos los algoritmos, excepto el de direccionamiento directo, producen


huecos. Un hueco es un bloque que nunca será ocupado por ningún registro,
ya que no existe ningún valor en el rango del campo clave que, al aplicar el
algoritmo, genere la dirección de dicho bloque. En el ejemplo de
direccionamiento por división los cubos 998, 999 y 1000 serán huecos.

Organización indexada

La organización indexada nace para suplir las deficiencias de la secuencial


(no hay acceso directo a los registros) y de la relativa (se accede
directamente a los registros sólo por un campo). En muchos casos conviene
recuperar la información accediendo por campos que no son clave. También

- 17 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

puede ser necesario recuperar los registros en una secuencia distinta a la que
ocupan físicamente.

Se denomina archivo índice a un archivo que contiene dos


campos: uno con los valores del campo por el que se desea recuperar la
información y otro con la dirección física (puntero) que ocupa el registro
en el archivo de datos. El archivo índice se mantiene ordenado por el
campo de datos, facilitando la búsqueda. Su función es análoga al índice
de un libro.

• Un archivo de datos puede tener asociados tantos índices


como sea necesario.

• Puede utilizarse una combinación de campos para formar el


campo de un índice; por ejemplo, Apellidos + Nombre.

• Al actualizar el archivo de datos se debe reorganizar todos sus


índices para mantener la coherencia.

Clave Puntero Dirección Código Nombre


A 7 1 100 B

B 1 2 110 F

C 8 3 120 H

D 10 4 130 J

E 9 5 140 I

F 2 6 160 K

G 11 7 200 A

H 3 8 210 C

I 5 9 250 E

J 4 10 300 D

K 6 11 360 G

L 12 12 400 L

M 15 13 500 N

N 13 14 550 O

O 14 15 600 M

P 17 16 700 Q

Q 16 17 999 P

- 18 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

• Los índices pueden ser de varios niveles. En los índices de


nivel mayor de uno se busca el primer elemento mayor o igual que el
deseado. Este procedimiento facilita el acceso a los registros, sin
embargo, complica los algoritmos de mantenimiento del índice.

Organización invertida

Los sistemas de gestión de bases de datos utilizan accesos más


complejos que los utilizados en sistemas de archivos. Por ello, establecen
organizaciones de archivos de alto nivel basadas en las anteriores. Una
organización de alto nivel es la invertida. Para un archivo de datos se
crean dos índices:

• De nombre. Contiene las claves por las que se desea


acceder. Se almacenan en una columna los nombres de las claves de
acceso y en la otra un puntero con la dirección de la clave en el índice.

• De valor. Contiene todos los valores distintos de los campos


clave y un puntero con un conjunto de valores del archivo de datos que
cumplen la condición de la clave.

DATOS

Dirección Código Nombre Sexo Tipo


1 111 Juan V Infantil

2 222 Rosa M Investigador

3 333 Pedro V Colaborador

4 444 Raúl V Infantil

5 555 Carlos V Nomal

6 666 Sofía M Trabajador

7 777 Ana M Infantil

8 888 Iván V Colaborador

- 19 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

ÍNDICE VALOR

Dirección Valor-clave Puntero


1 V 1,3,4,5,8

2 M 2,6,7

3 Colaborador 3,8

4 Infantil 1,4,7

5 Investigador 2

6 Normal 5

7 Trabajador 6

ÍNDICE NOMBRE

Nombre-Clave Puntero
Sexo 1

Tipo 3

1.2.6 - Criterios de selección de organizaciones físicas

Para decidir el tipo de organización que tendrá un archivo se deben


considerar las operaciones que se van a realizar con más frecuencia sobre el
mismo. Existen dos conceptos que miden el grado de utilización de los registros
de un archivo y que pueden servir de punto de partida para decidir la
organización que debe tener un archivo.

• Indice de volatilidad. Es el porcentaje de registros que se añaden


o suprimen respecto al número medio total de registros del archivo en un período
de tiempo fijo. Un archivo es estático cuando tiene un bajo porcentaje de
adiciones o supresiones y es volátil en caso contrario.

• Indice de actividad. Es el porcentaje de registros utilizados para


modificación o consulta respecto al número medio total de registros del archivo
en un período de tiempo fijo. Como se observa a continuación, sirve para decidir
si la organización de un archivo debe ser secuencial o relativa comparando los
tiempos empleados en acceder a los registros en ambos modos. Se utilizan dos
factores:

A = NRV /NRT

B = LR / (TA * VLS)

- 20 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Donde:

NRV = número medio de registros utilizados en tiempo fijo.

NRT = número medio total de registros del archivo.

LR = longitud en bytes de registro.

TA = tiempo medio de acceso directo a un registro en segundos.

VLS = velocidad de lectura secuencial en bytes por segundo.

Si A < B, deberá utilizarse la organización relativa y, en caso contrario,


organización secuencial.

1.2.7 - Gestión de archivos en soportes.

La gestión de archivos es una de las tareas principales de los sistemas


operativos. El trabajo es distinto según el tipo de soporte que se utilice. Existen
dos tipos de soporte:

a) Secuenciales. Los datos se graban a continuación de


otros, de tal forma que el acceso a un dato se hace pasando sobre
todos los datos que le preceden en el soporte. El ejemplo clásico es la
cinta magnética.

b) Direccionables. El espacio de almacenamiento se divide


en espacios parciales direccionables individualmente, pudiendo
acceder a un dato por la dirección en que está almacenado, sin que
sea necesario pasar por los datos almacenados en direcciones físicas
anteriores. Ejemplos pueden ser los disquetes, los discos duros, los
CD-ROM, etc.

Actualmente, la información se almacena en soportes direccionables,


dejando los secuenciales para realizar grandes copias de seguridad. Por ello, se
explica cómo se distribuyen los archivos en discos.

El disco se divide en unidades mínimas de E/S llamadas clusters o


bloques. A cada archivo se le asignan bloques según su organización y el método
de asignación de bloques que utilice el sistema operativo. Existen tres formas
teóricas de asignar bloques:

- 21 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

• La asignación contigua de bloques requiere que todos


los de un archivo ocupen posiciones contiguas de disco para una
eficiente utilización. Todos los bloques de un archivo están contiguos
en el disco. El acceso secuencial es relativamente sencillo, porque
basta con ir leyendo bloques en la secuencia en que están en el disco.
El acceso directo tampoco es complicado; sabiendo la dirección del
primer bloque del archivo, para acceder al i basta con sumar i al
bloque inicial. No obstante, este método de asignación tiene el
problema de la predeterminación de los bloques que ocupará un
archivo. También es posible que en el disco haya suficiente número de
bloques para almacenar el archivo, pero no ocupen posiciones
contiguas. Este problema se conoce con el nombre de fragmentación
externa.

• La asignación enlazada fragmenta el archivo en bloques


que pueden estar distribuidos aleatoriamente por el disco. Para saber
la secuencia, el sistema operativo guarda la dirección del primer
bloque, y cada bloque almacena en sus últimos bytes la dirección del
siguiente bloque en secuencia, o, dicho de otro modo, los últimos
bytes son un puntero al siguiente bloque. La dirección del último
bloque es un valor prefijado de antemano (nil). El acceso secuencial
es muy sencillo, pero el directo es imposible.

• La asignación indexada suple en gran medida los


problemas de las anteriores. Consiste en reunir todos los punteros en
un bloque llamado índice. El bloque índice es una tabla de entradas,
donde la entrada i-ésima contiene la dirección del bloque i-ésimo del
archivo. El acceso secuencial se realiza recorriendo las entradas del
bloque índice y el acceso directo a un bloque b se hace yendo
directamente a la dirección que indica la entrada b del bloque índice.
También facilita el acceso por índices.

- 22 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Compactación

Se conoce como compactación la resolución del problema de la


fragmentación externa cuando el método de bloques de disco es la contigua. Este
proceso consiste en reubicar todos los archivos, de forma que los bloques libres
dispersos en el disco formen un único hueco.

La fragmentación interna es un problema inherente a la distribución del


espacio en bloques y radica en el espacio desaprovechado por los bytes libres
que quedan en el último bloque de cada archivo.

Existen unos programas llamados compresores que, además de utilizar


técnicas que reducen el número de bytes que ocupa un archivo, unen un número
indeterminado de archivos en uno sólo, reduciendo la fragmentación interna a un
bloque como máximo. Por ejemplo, 100 archivos de 100 bytes de tamaño
distribuidos en bloques de 1.024 bytes desaprovecharían 92.400 bytes, mientras
que comprimidos formarían un archivo de 10.000 bytes, que ocuparían 9 bloques
completos, y el décimo desaprovecharía 784 bytes.

- 23 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.3 - TERMINOLOGÍA PARA DESCRIBIR DATOS

ENTIDADES Y ATRIBUTOS
Las ENTIDADES son los objetos del mundo real sobre los que deseamos
tener información. Por ejemplo en una biblioteca el Libro sería una “entidad”

Los ATRIBUTOS son las características de cada entidad que debemos tener
en cuenta. En el caso del Libro podrían ser “título”, “autor”, “año de edición”, etc.

BYTE

Es el mínimo número de bits con dirección propia, la mayoría de los


ordenadores utilizan bytes de 8 bits, por lo que se le conoce también con el
nombre de OCTETO.

CAMPO DE DATOS

Unidad elemental de información con sentido propio, puede estar formado


por cualquier número de bytes, se le suele llamar CAMPO o ELEMENTO DE
DATOS.

GRUPO DE DATOS

Es una colección de items de datos dentro de una unidad superior


denominada registro.

REGISTRO

Conjunto de grupos de datos, información homogénea relacionada con una


entidad. (Registro LOGICO).

BLOQUE

Es la cantidad de información que se transfiere entre el programa de


aplicación y la base de datos en una operación de E/S controlada por el software
de administración.

- 24 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

FICHERO

Conjunto de registros (lógicos), cada uno de los cuales contiene los


mismos grupos de datos para distintas entidades objeto de estudio.

BASE DE DATOS

Colección de ficheros distintos y conjunto de relaciones entre estos


ficheros.

SISTEMAS DE BASES DE DATOS

Conjunto de Bases de Datos en el que se cumple que cada Base de Datos


es independiente y disjunta de otra base del conjunto.

- 25 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.4 - ARQUITECTURA DE LAS BASES DE DATOS. ESQUEMAS.

Un objetivo importante del SGBD es proporcionar a los usuarios una


visión abstracta de los datos, esto es, esconder los detalles de cómo se
almacenan y mantienen los datos, para facilitar su acceso a los mismos.

Se establecen pues tres niveles de abstracción:

• Nivel físico o interno. El nivel más bajo de abstracción describe como se


almacenan realmente los datos y las estructuras de datos complejas de bajo
nivel que se utilizan.

• Nivel conceptual. El siguiente nivel de abstracción, superior al anterior,


describe qué datos son realmente almacenados en la base de datos y las
relaciones que existen entre los datos.
 Aquí se describe la base de datos completa en términos de un número
pequeño de estructuras relativamente sencillas.
 Aunque la implementación de las estructuras sencillas en el nivel
conceptual puede implicar estructuras complejas del nivel físico, el
usuario del nivel conceptual no necesita darse cuenta de esto.
 Este nivel lo usan los administradores de bases de datos, quienes
deben decidir qué información se va a guardar en la base de datos.

• Nivel de visión o externo. Es el nivel más alto de abstracción, que describe


sólo una parte de la base de datos.
 A pesar de que en el nivel conceptual se usan estructuras más sencillas
que en el nivel físico, sin embargo, permanece algo de complejidad si la
base de datos es de gran tamaño. Muchos usuarios del sistema de
bases de datos no se interesarán por toda esta información, y sólo
necesitarán una parte de la base de datos. Para simplificar su
interacción con el sistema, se define el nivel de abstracción de visión.
 El sistema puede proporcionar muchas visiones para la misma base de
datos.

- 26 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.4.1 - INSTANCIAS Y ESQUEMAS.

Las bases de datos cambian a lo largo del tiempo según se añade y se


suprime información.

La colección de información almacenada en la base de datos, en un


determinado momento en el tiempo, se llama una instancia de la base de datos.

El diseño global de la base de datos se llama esquema de la base de


datos. Los esquemas se cambian muy raras veces, o nunca.

Por analogía, el concepto de esquema de base de datos corresponde a la


noción de definición de tipo en el lenguaje de programación. Una variable de un
tipo dado tiene un valor determinado en un instante de tiempo dado; así pues, el
concepto del valor de una variable en los lenguajes de programación corresponde
al concepto de una instancia de un esquema de la base de datos.

Los sistemas de bases de datos tienen varios esquemas, divididos de


acuerdo con los niveles de abstracción tratados. En el nivel más bajo está el
esquema físico; en el nivel intermedio, el esquema conceptual; en el nivel
más alto, un subesquema. En general, los sistemas de bases de datos soportan
un esquema físico, un esquema conceptual y varios subesquemas.

1.4.2 - INDEPENDENCIA DE DATOS.

Es la capacidad de modificar una definición de un esquema en un nivel sin


afectar la definición de los esquemas en los otros niveles.

• Independencia física de datos es la capacidad de modificar el esquema


físico sin tener que alterar ni el esquema conceptual ni los externos y
evitando que se tengan que volver a escribir los programas de aplicación.
En algunas ocasiones son necesarias las modificaciones en el nivel físico
para mejorar el rendimiento en las operaciones de consulta o actualización.

• Independencia lógica de datos es la capacidad de modificar el esquema


conceptual sin tener que alterar los esquemas externos ni los programas de

- 27 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

aplicación. Las modificaciones en el nivel conceptual son necesarias siempre


que se altera la estructura lógica de la base de datos. Ejemplos:
• Si aparecen o desaparecen entidades. Imaginemos un diseño de
base de datos para una empresa que contempla una estructura de
mando dividida en jefes de sección, jefes de departamento, jefes de
equipo, etc. y en un momento dado desaparece la figura del jefe de
departamento.
• Si en un principio hemos diseñado una base de datos para un centro
educativo teniendo en cuenta profesores, aulas, alumnos,
asignaturas, etc. y hemos considerado que cada asignatura es
impartida por un único profesor. Pero es posible que con el tiempo
se considere conveniente que en determinadas asignaturas asista al
profesor titular un profesor de apoyo; por tanto, en algunas
ocasiones una asignatura será impartida por dos profesores, lo que
obligaría a un cambio en la estructura lógica de la base de datos.

La independencia lógica de datos es más difícil de lograr que la


independencia física de datos, ya que los programas de aplicación son
fuertemente dependientes de la estructura lógica de los datos a los que acceden.

- 28 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.5 - LENGUAJES DEL SGBD.

1.5.1 - LENGUAJE DE DEFINICIÓN DE DATOS.

Un esquema de base de datos se especifica por medio de un conjunto de


definiciones que se expresan mediante un lenguaje especial llamado Lenguaje
de Definición de Datos (LDD) (Data Definition Language, DDL).

El resultado de la compilación de sentencias de DDL es un conjunto de


tablas las cuales se almacenan en un archivo especial llamado diccionario de
datos (o directorio). En una base de datos relacional, el diccionario de datos
proporciona información acerca de:

• La estructura lógica y física de la base de datos.


• Las definiciones de todos los objetos de la base de datos (tablas, vistas,
índices, procedimientos, funciones, etc.)
• El espacio asignado y utilizado por todos los objetos.
• Los valores por defecto de las columnas de las tablas.
• Restricciones de integridad.
• Los privilegios y roles otorgados a los usuarios.
• Auditoría de información, como los accesos a los objetos.

Un diccionario de datos es un archivo que contiene metadatos, es decir,


«datos sobre datos». Este archivo se consulta antes de leer o modificar los datos
reales en el sistema de bases de datos.

1.5.2 - LENGUAJE DE MANIPULACIÓN DE DATOS

Por manipulación de datos entendemos:


• La recuperación de información almacenada en la base de datos. (Consulta)
• La inserción de información nueva en la base de datos. (Alta)
• La supresión de información de la base de datos. (Baja)
• La modificación de datos almacenados en la base de datos. (Modificación)

Un Lenguaje de Manipulación de Datos (Data Manipulation Language


(DML)) es un lenguaje que capacita a los usuarios a acceder o manipular datos

- 29 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

según estén organizados por el modelo de datos adecuado. Existen básicamente


dos tipos:
• Procedimentales, los DML requieren que el usuario especifique qué datos
se necesitan y cómo obtenerlos.
• No procedimentales, los DML requieren que el usuario especifique qué
datos se necesitan sin especificar cómo obtenerlos.

Los DML no procedimentales normalmente son más sencillos de aprender y


usar que los procedimentales. Sin embargo, puesto que el usuario no tiene que
especificar cómo conseguir los datos, estos lenguajes pueden generar código que
no sea tan eficiente como el producido por los lenguajes procedimentales. Esta
dificultad puede remediarse a través de varias técnicas de optimización.

Una consulta es una sentencia que solicita la recuperación de información.


El trozo de un DML que implica recuperación de información se llama lenguaje de
consultas. Aunque técnicamente es incorrecto, suelen utilizarse los términos
lenguaje de consultas y lenguaje de manipulación de datos como sinónimos.

- 30 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.6 - EL GESTOR DE BASES DE DATOS. ESTRUCTURA DEL SISTEMA.

Generalmente, las bases de datos requieren una gran cantidad de espacio


de almacenamiento. Las bases de datos de las empresas comúnmente se miden
en términos de gigabytes o, para las bases de datos más grandes, terabytes de
datos. Un gigabyte son 1000 megabytes (un billón de bytes), y un terabyte son
un millón de megabytes (un trillón de bytes). Puesto que la memoria principal de
los computadores no puede almacenar esta información, se almacena en discos.
Los datos se transfieren entre el almacenamiento en disco y la memoria principal
según se necesiten. Ya que el movimiento de los datos y del disco es lento
comparado con la velocidad de la unidad central de procesamiento, es imperativo
que el sistema de la base de datos estructure los datos de forma que minimice la
necesidad de mover los datos entre el disco y la memoria principal.

El objetivo de un sistema de bases de datos es simplificar y facilitar el


acceso a los datos. Las vistas de alto nivel ayudan a lograrlo. No se debería
cargar innecesariamente a los usuarios del sistema con los detalles físicos de la
implementación del sistema. Sin embargo, un factor importante para la
satisfacción o insatisfacción del usuario con un sistema de bases de datos es su
funcionamiento. Si el tiempo de respuesta para una solicitud es demasiado largo,
el valor del sistema se reduce. El funcionamiento de un sistema depende de la
eficiencia de las estructuras de datos usadas para representar los datos en la
base de datos y de la capacidad de eficiencia de operar sobre esas estructuras de
datos que el sistema tiene. Como es el caso de muchos otros aspectos de
sistemas informáticos, se debe llegar a un compromiso no sólo entre espacio y
tiempo sino también entre la eficiencia de un tipo de operación y la de otro.

Un gestor de base de datos es un módulo de programa que proporciona


el interfaz entre los datos de bajo nivel almacenados en la base de datos y los
programas de aplicación y consultas hechos al sistema. El gestor de base de
datos es responsable de las siguientes tareas:

• Interacción con el gestor de archivos. Los datos sin procesar se


almacenan en el disco usando el sistema de archivos que normalmente es
proporcionado por un sistema operativo convencional.

- 31 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

El gestor de base de datos traduce las distintas sentencias DML a


comandos del sistema de archivos de bajo nivel. Así el gestor de base de
datos es responsable del verdadero almacenamiento, recuperación y
actualización de los datos en la base de datos.

• Implantación de la integridad. Los valores de los datos que se


almacenan en la base de datos deben satisfacer ciertos tipos de
restricciones de consistencia. Por ejemplo, el número de horas que un
empleado puede trabajar en una semana no puede exceder un límite
específico (digamos 80 horas). El administrador de la base de datos debe
especificar explícitamente estas restricciones. El gestor de la base de datos
entonces puede determinar si las actualizaciones a la base de datos dan
como resultado la violación de la restricción; si así es, se debe tomar la
acción apropiada.

• Implantación de la seguridad. Como se discutió anteriormente, no todos


los usuarios de la base de datos necesitan tener acceso a todo su contenido.
Es trabajo del gestor de la base de datos hacer que se cumplan estos
requisitos de seguridad.

• Copia de seguridad y recuperación. Un sistema informático, como


cualquier otro dispositivo mecánico o eléctrico, está sujeto a fallos. Las
causas de los fallos incluyen rotura de disco, problemas del suministro de
energía y errores software. En cada uno de estos casos, se pierde la
información referente a la base de datos. Es responsabilidad del gestor de la
base de datos detectar tales fallos y restaurar la base de datos al estado
que existía antes de ocurrir el fallo. Esto se lleva a cabo normalmente a
través de la iniciación de varios procedimientos de copias de seguridad y
recuperación.

• Control de concurrencia. Cuando varios usuarios actualizan la base de


datos concurrentemente, es posible que no se conserve la consistencia de
los datos. Controlar la interacción entre los usuarios concurrentes es otra
responsabilidad del gestor de la base de datos.

- 32 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Los sistemas de bases de datos diseñados para utilizarse en computadores


personales pequeños pueden no tener todas las características apuntadas arriba.
Por ejemplo, muchos sistemas pequeños imponen la restricción de que sólo se
permita acceder a la base de datos a un usuario en cada momento. Otros dejan
las tareas de copia de seguridad, recuperación e implantación de la seguridad al
usuario. Esto permite un gestor de datos más pequeño, con menos requisitos
para los recursos físicos, especialmente memoria principal. Aunque este enfoque
de bajo coste y bajas características es suficiente para bases de datos personales
pequeñas, no es adecuado para cumplir las necesidades de una empresa de
media a gran escala.

ESTRUCTURA DEL SISTEMA GLOBAL

Un sistema de base de datos se divide en módulos que tratan cada una de


las responsabilidades del sistema general. En la mayoría de los casos, el sistema
operativo del computador proporciona únicamente los servicios más básicos, y el
sistema de la base de datos debe partir de esa base. Así, el diseño de un sistema
de base de datos debe incluir la consideración del interfaz entre el sistema de
base de datos y el sistema operativo.

Los componentes funcionales de un sistema de base de datos incluyen:

• Gestor de archivos, el cual gestiona la asignación de espacio en la


memoria del disco y de las estructuras de datos usadas para representar
información almacenada en disco.

• Gestor de base de datos, el cual proporciona el interfaz entre los datos de


bajo nivel almacenados en la base de datos y los programas de aplicación y
las consultas que se hacen al sistema.

• Procesador de consultas, el cual traduce sentencias en un lenguaje de


consultas a instrucciones de bajo nivel que entiende el gestor de la base de
datos. Además, el procesador de consultas intenta transformar una
pregunta del usuario en una forma equivalente pero más eficiente,
encontrando así una buena estrategia para ejecutar la consulta.

- 33 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

• Precompilador de DML, el cual convierte las sentencias en DML


incorporadas en un programa de aplicación en llamadas normales a
procedimientos en el lenguaje principal. El precompilador debe interaccionar
con el procesador de consultas para generar el código apropiado.

• Compilador de DDL, el cual convierte sentencias en DDL en un conjunto


de tablas que contienen metadatos, o «datos sobre datos».

Además, se requieren varias estructuras de datos como parte de la


implementación del sistema físico, incluyendo:

• Archivos de datos, que almacenan la base de datos.

• Diccionario de datos, que almacena metadatos sobre la estructura de la


base de datos. El diccionario de datos se usa ampliamente. Por tanto, debe
ponerse mucho énfasis en el desarrollo de un buen diseño y una
implementación eficiente del diccionario.

• Índices, que proporcionan acceso rápido a los elementos de datos que


contienen valores determinados.

La siguiente figura muestra estos componentes y las conexiones entre ellos.

- 34 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

- 35 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.7 - ADMINISTRADOR DE LA BASE DE DATOS Y USUARIOS.

Una de las razones principales para tener sistemas de gestión de bases de


datos es tener control central de los datos y de los programas que acceden a
esos datos. La persona que tiene dicho control central sobre el sistema se llama
Administrador de la Base de Datos (ABD) (DataBase Administraror (DBA)).

ADMINISTRADOR DE BASE DE DATOS

Las funciones del administrador de base de datos incluyen:

• Definición de esquema. El esquema original de la base de datos se crea


escribiendo un conjunto de definiciones que son traducidas por el
compilador de DDL a un conjunto de tablas que son almacenadas
permanentemente en el diccionario de datos.

• Definición de la estructura de almacenamiento y del método de


acceso. Estructuras de almacenamiento y métodos de acceso adecuados
se crean escribiendo un conjunto de definiciones que son traducidas por el
compilador del lenguaje de almacenamiento y definición de datos.

• Modificación del esquema y de la organización física. Las


modificaciones, tanto al esquema de la base de datos como a la descripción
de la organización física de almacenamiento, aunque relativamente poco
comunes, se logran escribiendo un conjunto de definiciones que son usadas
bien por el compilador de DDL o bien por el compilador del lenguaje de
almacenamiento y definición de datos para generar modificaciones a las
tablas internas apropiadas del sistema (por ejemplo, el diccionario de
datos).

• Concesión de autorización para el acceso a los datos. La concesión de


diferentes tipos de autorización permite al administrador de la base de
datos regular qué partes de la base de datos van a poder ser accedidas por
varios usuarios.

- 36 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

• Especificación de las restricciones de integridad. Las restricciones de


integridad se mantienen en una estructura especial del sistema que
consulta el gestor de la base de datos cada vez que tiene lugar una
actualización en el sistema.

USUARIOS DE BASES DE DATOS

Un objetivo primordial de un sistema de bases de datos es proporcionar un


entorno para recuperar información de y almacenar nueva información en la base
de datos. Hay cuatro tipos distintos de usuarios de sistemas de bases de datos,
diferenciados por la forma en que esperan interaccionar con el sistema:

• Programadores de aplicaciones. Estos profesionales programan


aplicaciones en un lenguaje de programación de alto nivel, distinguiéndose:
- Aplicaciones internas al SGBD:
Utilizan un lenguaje de programación que admita el SGBD y
permiten la creación de programas que se almacenan y ejecutan “dentro”
del SGBD. Estos lenguajes, a veces llamados lenguajes de cuarta
generación, a menudo incluyen características especiales para facilitar la
generación de formularios y la presentación de datos en la pantalla. La
mayoría de los sistemas de bases de datos comerciales incluyen un
lenguaje de cuarta generación. Por ejemplo: PL/SQL del SGBD Oracle.

- Aplicaciones externas al SGBD:


Utilizan un lenguaje externo al SGBD (por ejemplo, Ada, C, Cobol,
Fortran, Pascal, Java, etc.) y dentro de este lenguaje -anfitrión- se utilizan
llamadas especiales del lenguaje DML (como SQL inmerso, embedded) que
son traducidas por un precompilador a sentencias del lenguaje anfitrión.
Puesto que la sintaxis de DML es normalmente bastante diferente de la
sintaxis del lenguaje anfitrión, las llamadas en DML van normalmente
precedidas de un carácter especial de forma que se pueda generar el
código apropiado. El programa resultante de la precompilación se procesa
entonces por el compilador del lenguaje anfitrión, el cual genera el código
de objeto apropiado.

- 37 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

• Usuarios sofisticados. Los usuarios sofisticados interaccionan con el


sistema sin escribir programas. En cambio escriben sus preguntas en un
lenguaje de consultas de base de datos. Cada consulta se somete a un
procesador de consultas cuya función es tomar una sentencia en DML y
descomponerla en instrucciones que entienda el gestor de base de datos.

• Usuarios especializados. Algunos usuarios sofisticados escriben


aplicaciones de bases de datos especializadas que no encajan en el marco
tradicional de procesamiento de datos; entre estas aplicaciones están los
sistemas de diseño ayudados por computador, sistemas expertos y basados
en conocimiento, sistemas que almacenan datos con tipos complejos de
datos (por ejemplo, datos de gráficas y datos de audio) y sistemas de
modelación de entorno.

• Usuarios ingenuos. Los usuarios no sofisticados interactúan con el


sistema invocando a uno de los programas de aplicación permanentes que
se han escrito anteriormente. Por ejemplo, un cajero de banco que necesita
transferir 50 dólares de la cuenta A a la cuenta B invocaría a un programa
llamado transferencia. Este programa pediría al cajero la cantidad de dinero
que se va a transferir, la cuenta de la que se va a transferir el dinero y la
cuenta a la que se va a transferir el dinero.

- 38 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.8 - BASES DE DATOS DISTRIBUIDAS.

Cuando se habla de bases de datos, normalmente se asume que los datos


residen en un único ordenador. La necesidad de que varios usuarios
-posiblemente muy alejados entre sí- tengan acceso a los mismos datos se
resuelve mediante una red de ordenadores. En ella, un nodo (ordenador)
actúa como almacén de los datos y los demás pueden consultar y modificar
dicha base. Esta es la configuración de un sistema de bases de datos
centralizado.

Una Base de Datos Distribuida, por el contrario, es una colección de datos


que pertenecen lógicamente al mismo sistema pero que físicamente están
repartidos por los nodos de una red de ordenadores.

Sus principales ventajas respecto o un sistema centralizado son:

• Gestionar las bases de datos naturalmente distribuidas. Por ejemplo,


las bases de datos de empresas que pueden residir en diferentes
emplazamientos (bancos con varias sucursales, industrias con varias fábricas,
cadenas de restaurantes o comercios, ...), pueden guardar en cada uno de
ellos los datos pertenecientes a su entorno. Esto permite, además, que las
oficinas les puedan acceder a los datos de las sucursales cuando esto sea
necesario.

• Incremento de la seguridad y disponibilidad. Esto se ve claramente si


tenemos en cuenta que si en uno de los emplazamientos surgiera un
problema en el sistema, el resto de las oficinas podrían seguir trabajando con
normalidad. Por el contrario, si en un sistema centralizado falla el ordenador
central, la inoperatividad alcanzaría a todos los usuarios.

• Mejora del rendimiento. Al distribuir una base de datos en muchos sitios,


se obtienen pequeñas bases de datos en cada lugar. Por ello, las consultas
que cada usuario haga a su base de datos local serán más rápidas
generalmente y el número de ellas será también mayor.

- 39 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Sin embargo, estas ventajas vienen acompañadas de varios


inconvenientes que se pueden resumir en una mayor complejidad para
garantizar una coordinación adecuada entre los distintos nodos de la red. Esta
complejidad se traduce en la necesidad de desarrollar un software más
sofisticado, lo que conlleva un coste más elevado.

Además, hay que tener en cuenta que diferentes localidades del sistema
distribuido pueden gestionar bases de datos en paralelo. Por lo tanto, es
imprescindible que los algoritmos no provoquen inconsistencias en los datos y
sean capaces de evitar incluso los errores más sutiles. Tales algoritmos son muy
difíciles de implementar y la probabilidad de que se produzca un fallo es
mayor que en los sistemas centralizados.

Otro inconveniente consiste en que el intercambio de información entre los


nodos supone un tiempo de procesamiento extra que no existe en los
sistemas centralizados.

Pese a estos inconvenientes, los sistemas distribuidos son preferibles a los


centralizados en muchas ocasiones y van siendo cada vez más numerosos.

ARQUITECTURA DE UN SISTEMA DE GESTIÓN DE BASES DE DATOS


DISTRIBUIDAS (SGBDD).

A nivel físico, los principales factores que distinguen un sistema de gestión


de bases de datos distribuido (SGBDD) de uno centralizado son:

• Existen múltiples emplazamientos o localidades llamados nodos.

• Dichos nodos deben estar conectados por una red de comunicaciones.

Los nodos del sistema pueden conectarse físicamente de diversas formas.


Las distintas configuraciones o topologías se representan por medio de grafos
cuyos nodos corresponden a las localidades. En la siguiente figura se representan
algunas de las más utilizadas.

- 40 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

La elección entre un tipo de red u otra depende de factores como el costo


de instalación, que es el coste de conectar nodos entre sí y el costo de las
comunicaciones, que representa el coste de enviar mensajes entre los nodos y
depende principalmente de la distancia que exista entre ellos.

Los nodos pueden estar físicamente próximos (en un mismo edificio o


complejo industrial, a distancias no mayores de 1 Km) o muy alejados (en
distintos países incluso continentes). En el primer caso, se dice que se usa una
red de área local, en la que las conexiones se realizan mediante cables
especialmente instalados para ese propósito. En el segundo caso, la red es de
larga distancia y el medio empleado suelen ser las líneas telefónicas y las
comunicaciones vía satélite.

DISEÑO DE BASES DE DATOS DISTRIBUIDAS

Para intentar disminuir la complejidad a la que anteriormente se ha hecho


alusión el software de un SGBDD se suele dividir en tres módulos principales:

1) El procesador de datos (PD). Es el software responsable de manejar los


datos propios de cada nodo, como si de un sistema centralizado se tratase.

2) El procesador de aplicaciones (PA). Es el software encargado de


satisfacer los requisitos de datos que se encuentran distribuidos en otros
nodos ajenos al que los solicita.

3) Software de comunicaciones. Se encarga de facilitar al PA las


comunicaciones con otros nodos. No es exactamente parte del SGBDD, sino un
servicio que le proporciona los medios necesarios para establecer las
comunicaciones.

Los principios del diseño con respecto a la manera de distribuir los datos
por los nodos se basan en tres conceptos:

• Fragmentación.

• Repetición.

• Repetición y fragmentación.

- 41 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

La información concerniente a fragmentación y repetición de datos queda


almacenada en un catálogo global del sistema para que el PA realice sus
funciones.

Fragmentación de datos

Consiste en dividir la información en conjuntos de datos denominados


fragmentos. Cada uno de estos fragmentos se suele almacenar en un nodo.

Existen varias formas de realizar la fragmentación. La descripción de las


mismas se ilustrará con un ejemplo de una base de datos relacional que consta
de las tablas 1 y 2.

Se utiliza el modelo relacional por ser el más empleado en el desarrollo de


BDD.

Tabla (1) EMPLEADOS

FECHA
NOMBRE APELLIDO DNI SEXO SALARIO DNI JEFE NDPTO
NAC.

Antonio García 257891 23/11/59 M 3.5 791242 1

Pilar Lorca 692341 07/03/64 F 4.2 581265 1

Luis Cobo 791242 29/12/61 M 5.3 402183 1

Noemi Herrero 237409 12/07/58 F 4.8 276597 3

Ana Martín 581265 19/02/60 F 5.1 402183 1

Jorge Ollero 864329 06/06/65 M 3.2 393902 5

Andrés Fraile 393902 22/01/57 M 5.8 290293 5

Tabla (2) DEPARTAMENTOS

NOMBRE NDEPTO RESPONSABLE

Desarrollo 1 402183

Contabilidad 3 276597

Comercial 5 393902

La forma más simple en que se puede dividir una base de datos consiste
en hacer que cada relación sea un único fragmento. En el ejemplo anterior

- 42 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

tendríamos dos fragmentos: el correspondiente a la tabla EMPLEADO y el


correspondiente a la tabla DEPARTAMENTO.

Los casos más comunes de fragmentación son la horizontal y la vertical,


en las que cada relación se divide en fragmentos más pequeños, como se verá a
continuación.

FRAGMENTACION HORIZONTAL

Consiste en dividir una relación en conjuntos de tuplas (filas) que


presentan alguna característica común. Esta característica suele consistir en que
todas ellas tienen el mismo valor en uno o más atributos de la relación.

Consideremos que en la compañía correspondiente a la base de datos


utilizada como ejemplo existen tres nodos, uno por cada departamento, ya que
se encuentran en emplazamientos físicos diferentes. En este caso podría resultar
conveniente almacenar en cada nodo la información correspondiente a su
departamento. Esto se conseguiría realizando una fragmentación horizontal en la
que los conjuntos de tuplas se formarían atendiendo al valor que presentan en el
atributo NDPTO. Los tres fragmentos resultantes serían:

Tabla (3)

FECHA NDPTO
NOMBRE APELLIDO DNI SEXO SALARIO DNI JEFE
NAC.

Antonio García 257891 23/11/59 M 3.5 791242 1

Pilar Lorca 692341 07/03/64 F 4.2 581265 1

Luis Cobo 791242 29/12/61 M 5.3 402183 1

Ana Martín 581265 19/02/60 F 5.1 402183 1

Tabla (4)

FECHA
NOMBRE APELLIDO DNI SEXO SALARIO DNI JEFE NDPTO
NAC

Noemi Herrero 237409 12/07/58 F 4.8 276597 3

- 43 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Tabla (5)

FECHA DNI
NOMBRE APELLIDO DNI SEXO SALARIO NDPTO
NAC JEFE

Jorge Ollero 864329 06/06/65 M 3.2 393902 5

Andrés Fraile 393902 22/01/57 M 5.8 290293 5

El primero de estos fragmentos (Tabla 3) se almacenaría en el nodo


correspondiente al Departamento 1, el segundo en el del Departamento 3 y el
tercero en el del Departamento 5.

FRAGMENTACION VERTICAL

La fragmentación vertical de una relación consta de un conjunto de


atributos de la misma que presentan alguna conexión entre ellos.

Por ejemplo, la relación EMPLEADOS se puede dividir en dos fragmentos


verticales: el primero de ellos incluiría datos personales del empleado (nombre,
apellído, DNI, fecha de nacimiento, sexo) y el segundo información relativa a su
trabajo (DNI, salario, DNI de su jefe, departamento en el que trabaja). Ambos
fragmentos son:

Tabla (6)

FECHA
NOMBRE APELLIDO DNI SEXO
NAC.

Antonio García 257891 23/11/59 M

Pilar Lorca 692341 07/03/64 F

Luis Cobo 791242 29/12/61 M

Noemi Herrero 237409 12/07/58 F

Ana Martín 581265 19/02/60 F

Jorge Ollero 864329 06/06/65 M

Andrés Fraile 393902 22/01/57 M

Tabla (7)
- 44 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

DNI
DNI SALARIO NDPTO
JEFE

257891 3.5 791242 1

692341 4.2 581265 1

791242 5.3 402183 1

237409 4.8 276597 3

581265 5.1 402183 1

864329 3.2 393902 5

393902 5.8 290293 5

El primer fragmento podría almacenarse en el nodo de Recursos Humanos


y el segundo en el de Contabilidad, por ejemplo.

Es importante destacar que el atributo DNI, que es la clave de la relación


empleados, aparece en ambos fragmentos. Esto es necesario para poder
relacionar uno con otro.

Si en el Departamento de Recursos Humanos necesitan el salario de un


empleado, la única forma de conocerlo es utilizar su DNI como enlace entre
ambos fragmentos.

Repetición de datos

Se dice que una relación está repetida si existe una copia de ella en dos o
más nodos. En el caso extremo, puede haber una repetición total si se almacena
una copia de la relación en cada nodo de la red.

La repetición tiene varias ventajas y desventajas.

- 45 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Las ventajas son:

• Disponibilidad. Si se produce un fallo en uno de los nodos que


contiene la relación, se puede disponer de ésta en otro nodo. Así el
sistema podría continuar procesando consultas aunque existieran
problemas en un nodo.

• Reducción del trasvase de información. Cuantas más copias de


la relación existan, mayor será la probabilidad de que los datos
requeridos se encuentren en el nodo que está realizando la consulta.
Por tanto, la repetición de datos reduce al mínimo el movimiento de
información entre nodos.

Las desventajas más importantes son:

• Incremento en el tiempo de actualización. El sistema debe


asegurarse de que todas las copias de la relación sean consistentes
(contengan exactamente la misma información) para evitar errores de
datos. Esto implica que cada vez que se actualice una tupla de la
relación, la actualización debe propagarse a todos los nodos que
contengan copias, con lo que se incrementa el tiempo de proceso de las
actualizaciones.

• Redundancia. Al estar repetida parte de la información, el espacio


total(entre todos los nodos) requerido es mayor.

La repetición de relaciones, necesita por tanto, ser cuidadosamente


estudiada en su implementación para llegar a un número de repeticiones en los
nodos que sea óptimo para el sistema.

En el ejemplo anterior, la tabla DEPARTAMENTO sería conveniente que


estuviera en los nodos de los tres departamentos. Observe que en este caso los
inconvenientes antes apuntados no son muy importantes: es una tabla sobre la
que raramente se producirán actualizaciones y la cantidad de información que se
duplica no es muy grande.

- 46 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Repetición de fragmentaciones

Las técnicas descritas anteriormente se pueden aplicar conjuntamente a


una relación. Es decir, un fragmento puede repetirse en varios nodos y una
relación que haya sido repetida puede fragmentarse.

El primer fragmento resultante del ejemplo de fragmentación vertical


(Tabla 6), que contenía información de tipo personal, podría necesitar
almacenarse en los nodos de Recursos Humanos y Comercial.

- 47 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

1.9 - MODELOS DE DATOS.

Para describir la estructura de una base de datos se utilizan los


denominados modelos de datos.

Un MODELO DE DATOS es una colección de herramientas conceptuales para


describir:

− datos,

− relaciones entre ellos,

− semántica asociada a los datos

− y restricciones de consistencia.

Los diversos modelos de datos que se han propuesto se dividen en tres


grupos:

− Modelos lógicos basados en objetos

− Modelos lógicos basados en registros

− Modelos físicos de datos

1.9.1 - Modelos lógicos basados en objetos

Los modelos lógicos basados en objetos se usan para describir datos en los
niveles conceptual y de visión.

Se caracterizan por el hecho de que proporcionan capacidad de


estructuración bastante flexible y permiten especificar restricciones de datos
explícitamente. Hay muchos modelos diferentes, y es probable que aparezcan
más. Los dos más extensamente conocidos son:

• El modelo entidad-relación.
• El modelo orientado a objetos.
El modelo entidad-relación es muy utilizado en la práctica del Diseño de
Bases de Datos. El modelo orientado a objetos, incluye muchos de los conceptos
del modelo entidad-relación pero representa código ejecutable así como datos.
Está ganando rápidamente aceptación en la práctica.

A continuación describimos ambos modelos brevemente.

- 48 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

El modelo ENTIDAD-RELACIÓN

El modelo de datos entidad-relación (E-R) se basa en una percepción de un


mundo real que consiste en una colección de objetos básicos llamados
entidades, y las relaciones entre estos objetos.

Una entidad es un objeto que es distinguible de otros objetos por medio de


un conjunto especifico de atributos. Por ejemplo, los atributos número de c.c.
y saldo describen una cuenta particular de un banco.

Una relación es una asociación entre varias entidades. Por ejemplo, una
relación CliCta asocia a un cliente con cada una de las cuentas que tiene.

El conjunto de todas las entidades del mismo tipo y relaciones del mismo
tipo se denomina conjunto de entidades y conjunto de relaciones,
respectivamente.

Además de entidades y relaciones, el modelo E-R representa ciertas


restricciones a las que deben ajustarse los contenidos de una base de datos.
Una restricción importante es la de cardinalidad de asignación, que expresa
el número de entidades a las que puede asociarse otra entidad mediante un
conjunto de relación.

La estructura lógica global de una base de datos puede expresarse


gráficamente por medio de un diagrama E-R, que consta de los siguientes
componentes:
 Rectángulos, que representan conjuntos de entidades.
 Elipses, que representan atributos.
 Rombos, que representan conjuntos de relaciones entre conjuntos
de entidades.
 Líneas, que conectan atributos a conjuntos de entidades y conjuntos
de entidades a relaciones.

Cada componente se etiqueta con la entidad o relación que representa. Para


ilustrarlo, considérese parte de un sistema bancario de bases de datos que
consta de los clientes y sus cuentas. El diagrama E-R correspondiente se
muestra en la siguiente figura:

- 49 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Ejemplo de un diagrama E-R

El modelo ORIENTADO A OBJETOS

El modelo de datos orientado a objetos surge por las limitaciones del


modelo relacional, sobre todo a la hora de abordar tipos de datos más
complejos, y por la falta de capacidad semántica del modelo relacional para
desarrollar aplicaciones en áreas como el diseño asistido por ordenador, la
ingeniería del software, los sistemas basados en el conocimiento y el
tratamiento de documentos, multimedia y gestión de redes, que requieren
modelar objetos e interrelaciones más complejas.

A nivel conceptual un objeto va a ser lo que una entidad en el modelo E-R;


a la hora de implementarlo el objeto es un encapsulamiento de un conjunto de
operaciones: código y datos en una única unidad, cuyo contenido no es visible
desde el exterior. Esta ocultación de la información permite modificar aspectos
del objeto sin que afecte a los demás que interactúan con él.

Las interacciones entre un objeto y el resto del sistema se realizan


mediante un conjunto de mensajes.

Un objeto está formado por:

– Un conjunto de propiedades o atributos que contienen los datos del objeto


(serían los atributos del modelo E-R).

– Un conjunto de mensajes a los que el objeto responde.

– Un conjunto de métodos, que es código para implementar los mensajes. Un


método devuelve un valor como respuesta al mensaje.

- 50 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Una clase es un conjunto de objetos similares. A cada uno de estos objetos


se le llama instancia de su clase. Todos los objetos de la clase comparte una
definición común y se comportan de la misma forma, aunque difieren en los
valores asignados a los atributos.

La única forma en la que un objeto puede acceder a los datos de otro objeto
es invocando a un método de ese otro objeto. Esto se llama envío de un
mensaje al objeto. Así, la interfaz de llamada de los métodos de un objeto
define su parte visible externamente. La parte interna del objeto -las variables
de instancia y el código de método- no son visibles externamente. El resultado
es dos niveles de abstracción de datos.

Para ilustrar el concepto, considérese un objeto que representa una cuenta


bancaria. Dicho objeto contiene las variables instancia número y saldo, que
representan el número de cuenta y el saldo de cuenta. Contiene un método
interés de pago, que añade interés al saldo. Supóngase que el banco había
estado pagando el 6 por 100 de interés en todas las cuentas, pero ahora está
cambiando su política a pagar el 5 por 100 si el saldo es menor de 1000 euros
o el 6 por 100 si el saldo es 1000 euros o mayor. Bajo la mayoría de los
modelos de datos, esto implicaría cambiar de código en uno o más programas
de aplicación. Bajo el modelo orientado a objetos, sólo se hace un cambio
dentro el método interés de pago. El interfaz externo del objeto permanece sin
cambios.

1.9.2 - Modelos lógicos basados en registros.

Los modelos lógicos basados en registros se utilizan para describir datos en


los modelos conceptual y físico. A diferencia de los modelos de datos basados
en objetos, se usan para especificar la estructural-global de la base de datos y
para proporcionar una descripción detallada de la implementación.

Los modelos basados en registros se llaman así porque la base de datos


está estructurada en registros de formato fijo de varios tipos. Cada tipo de

- 51 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

registro define un número fijo de campos, o atributos, y cada campo


normalmente es de longitud fija. El uso de registros de longitud fija simplifica
la implementación del nivel físico de la base de datos. Esto contrasta con
muchos de los modelos orientados a objetos en los que los objetos pueden
contener otros objetos a un nivel de anidamiento de profundidad arbitraria. La
estructura más rica de estas bases de datos a menudo lleva a registros de
longitud variable en el nivel físico.

Los modelos de datos basados en registros no incluyen un mecanismo para


la representación directa de código en la base de datos. En cambio, hay
lenguajes separados que se asocian con el modelo para expresar consultas y
actualizaciones de la base de datos. Algunos modelos basados en objetos
(incluyendo el modelo orientado a objeto) incluyen código ejecutable como
una parte integrante del mismo modelo de datos.

Los tres modelos de datos más ampliamente aceptados son: relacional, de


red y jerárquico. El modelo relacional es el que ha ganado mayor aceptación,
por encima de los otros dos en años recientes. Los modelos de red y
jerárquico, están prácticamente en desuso.

Modelo relacional

El modelo relacional representa los datos y las relaciones entre los datos
mediante una colección de tablas, cada una de las cuales tiene un número de
columnas con nombres únicos.

La figura siguiente es un ejemplo de base de datos relacional que muestra


clientes y las cuentas que ellos tienen. Muestra, por ejemplo, que el cliente
García vive en c/Alberti, en El Puerto Sta. María, y tiene dos cuentas, una con
número 647, con un saldo de 105366 euros, y la otra con número 801, con un
saldo de 10533 euros. Obsérvese que los clientes Díaz y García comparten
número de cuenta 647 (posiblemente son socios de la misma empresa).

Nombre Calle Ciudad Número-Cuenta


Lowery Lorca Cádiz 900
Díaz Abeto Rota 556
Díaz Abeto Rota 647
García Alberti El Puerto Sta. María 801
García Alberti El Puerto Sta. María 647

- 52 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Número Saldo
900 55
556 100000
647 105366
801 10533

Ejemplo de una base de datos relacional.

Modelo de red

Los datos en el modelo de red se representan mediante colecciones de


registros (en el sentido de la palabra en Pascal o PL/I) y las relaciones entre
los datos se representan mediante enlaces, los cuales pueden verse como
punteros.

Ejemplo de una base de datos en red.

Los registros en la base de datos se organizan como colecciones de grafos


arbitrarios.

Modelo jerárquico

El modelo jerárquico es similar al modelo de red en el sentido de que los


datos y las relaciones entre los datos se representan mediante registros y
enlaces, respectivamente.

Se diferencia del modelo de red en que los registros están organizados


como colecciones de árboles en vez de grafos arbitrarios. La siguiente figura
presenta un ejemplo de base de datos jerárquica con la misma información
que en las anteriores.

- 53 -
U.D. 1 - INTRODUCCIÓN A LOS SGBD I.E.S. MAR DE CÁDIZ
CURSO 2010-11

Ejemplo de una base de datos jerárquica.

Diferencias entre los modelos

Los modelos relacionales se diferencian de los modelos de red y jerárquico


en que no usan punteros a enlaces. En cambio, el modelo relacional conecta
registros mediante los valores que éstos contienen. Esta libertad del uso de
punteros permite que se defina una base matemática formal.

1.9.3 Modelos físicos de datos

Los modelos físicos de datos se usan para describir datos en el nivel más
bajo. A diferencia de los modelos lógicos de datos, hay muy pocos modelos
físicos de datos en uso. Dos de los más ampliamente conocidos son:

• Modelo unificador.
• Memoria de elementos

Los modelos físicos de datos capturan aspectos de la implementación de


sistemas de bases de datos que no están cubiertos en estos apuntes.

- 54 -

Potrebbero piacerti anche