Resumem Tema 1
Resumem Tema 1
Conocer los sistemas que gestionan las bases de datos, sus conceptos fundamentales, el diseño,
lenguajes y la implementación de éstas, podemos considerarlo imprescindible para alguien que
se está formando en el campo de la informática.
3.1.- Conceptos.
Base de datos: Es una colección de datos relacionados lógicamente entre sí, con una definición y descripción
comunes y que están estructurados de una determinada manera. Es un conjunto estructurado de datos que
representa entidades y sus interrelaciones, almacenados con la mínima redundancia y posibilitando el acceso a ellos
eficientemente por parte de varias aplicaciones y usuarios.
La base de datos no sólo contiene los datos de la organización, también almacena una descripción de
dichos datos. Esta descripción es lo que se denomina metadatos, se almacena en el diccionario de
datos catálogo y es lo que permite que exista independencia de datos lógica-física.
Entidades: objeto real o abstracto con características diferenciadoras de otros, del que se
almacena información en la base de datos. Dicho de otra forma, es algo acerca de lo cual se
desea almacenar información. En una base de datos de una clínica veterinaria, posibles
entidades podrían ser: ejemplar, doctor, consulta, etc.
Atributos: son los datos que se almacenan de la entidad. Cualquier propiedad o característica
de una entidad puede ser atributo. Continuando con nuestro ejemplo, podrían ser atributos:
raza, color, nombre, número de identificación, etc.
Registros: donde se almacena la información de cada entidad. Es un conjunto de atributos que
contienen los datos que pertenecen a una misma repetición de entidad. En nuestro ejemplo, un
registro podría ser: 2123056, Sultán, Podenco, Gris, 23/03/2021.
Campos: donde se almacenan los atributos de cada registro. Teniendo en cuenta el ejemplo
anterior, un campo podría ser el valor Podenco.
Las ventajas fundamentales que ofrece el uso de bases de datos se resumen a continuación:
Acceso múltiple: diversos usuarios o aplicaciones podrán acceder a la base de datos, sin que
existan problemas en el acceso a los datos.
Utilización múltiple: cada uno de los usuarios o aplicaciones podrán disponer de una visión
particular de la estructura de la base de datos, de tal manera que cada uno de ellos accederá
sólo a la parte que realmente le corresponde.
Flexibilidad: la forma de acceder a la información puede ser establecida de diferentes maneras,
ofreciendo tiempos de respuesta muy reducidos.
Confidencialidad y seguridad: el control del acceso a los datos podrá ser establecido para que
unos usuarios o aplicaciones puedan acceder a unos datos y a otros no, impidiendo a los
usuarios no autorizados la utilización de la base de datos.
Protección contra fallos: en caso de errores en la información, existen mecanismos bien
definidos que permiten la recuperación de los datos de forma fiable.
UD1.- Almacenamiento de la información.
Independencia física: un cambio de soporte físico de los datos (por ejemplo: el tipo de discos), no
afectaría a la base de datos o a las aplicaciones que acceden a ellos.
Independencia lógica: los cambios realizados en la base de datos no afectan a las aplicaciones que
la usan.
Redundancia: los datos se almacenan, por lo general, una única vez. Aunque si es necesario,
podríamos repetir información de manera controlada.
Interfaz de alto nivel: mediante la utilización de lenguajes de alto nivel puede utilizarse la base
de datos de manera sencilla y cómoda.
Consulta directa: existe una herramienta para poder acceder a los datos iinteractivamente.
3.2.- Usos.
Existen cuatro tipos de personas que pueden hacer uso de una base de datos: el administrador, los
diseñadores de la base de datos, los programadores de aplicaciones y los usuarios finales.
Funciones y características de los usuarios de una base de datos.
Discos SATA: Es una interfaz de transferencia de datos entre la placa base y algunos
dispositivos de almacenamiento, como puede ser el disco duro, lectores y regrabadores de
CD/DVD/BD, Unidades de Estado Sólido u otros dispositivos. SATA proporciona mayores
velocidades, mejor aprovechamiento cuando hay varias unidades, mayor longitud del cable de
transmisión de datos y capacidad para conectar unidades al instante, es decir, insertar el
dispositivo sin tener que apagar el ordenador. La primera generación específica en
transferencias de 150 Megabytes por segundo, también conocida por SATA 150 MB/s o Serial
ATA-150. Actualmente se comercializan dispositivos SATA II, a 300 MB/s, también conocida
como Serial ATA-300 y los SATA III con tasas de transferencias de hasta 600 MB/s.
Discos SCSI Son interfaces preparadas para discos duros de gran capacidad de
almacenamiento y velocidad de rotación. Se presentan bajo tres especificaciones: SCSI
Estándar (Standard SCSI), SCSI Rápido (Fast SCSI) y SCSI Ancho-Rápido (Fast-Wide SCSI).
Su tiempo medio de acceso puede llegar a 7 milisegundos y su velocidad de transmisión
secuencial de información puede alcanzar teóricamente los 5 MB/s en los discos SCSI
Estándares, los 10 MBps en los discos SCSI Rápidos y los 20 MBps en los discos SCSI
Anchos-Rápidos (SCSI-2). Un controlador SCSI puede manejar hasta 7 discos duros SCSI.
En los siguientes epígrafes analizaremos cada uno de ellos, así como otros modelos de bases de datos
UD1.- Almacenamiento de la información.
existentes
Existen cinco modelos de DBMS, que se distinguen según como representan los datos almacenados:
El modelo jerárquico: los datos se organizan jerárquicamente mediante un árbol invertido. Este
modelo utiliza punteros para navegar por los datos almacenados. Fue el primer modelo DBMS.
© CCM
El modelo de red: al igual que el modelo jerárquico, este modelo utiliza punteros hacia los datos
almacenados. Sin embargo, no necesariamente utiliza una estructura de árbol invertido.
© CCM
© CCM
El modelo deductivo: los datos se representan como una tabla, pero se manipulan mediante
cálculos de predicados.
El modelo de orientación a objetos (ODBMS, object-oriented database management system
[sistema de administración de bases de datos orientadas a objetos]): los datos se almacenan como
objetos, que son estructuras denominadas clases que muestran los datos que contienen. Los campos
son instancias de estas clases.
UD1.- Almacenamiento de la información.
La información se organiza con una jerarquía, en la que la relación entre las entidades de este
modelo siempre es del tipo padre/hijo. De tal manera que existen nodos que contienen atributos o
campos y que se relacionarán con sus nodos hijos, pudiendo tener cada nodo más de un hijo, pero un
nodo siempre tendrá un sólo padre.
Los datos de este modelo se almacenan en estructuras lógicas llamadas segmentos. Los segmentos se
relacionan entre sí utilizando arcos. La forma visual de este modelo es de árbol invertido. En la parte
superior están los padres y en la inferior los hijos.
Hoy en día, debido a sus limitaciones, el modelo jerárquico está en desuso. En el siguiente gráfico
puedes observar la estructura de almacenamiento del modelo jerárquico.
El modelo en red organiza la información en registros (también llamados nodos) y enlaces. En los
registros se almacenan los datos, mientras que los enlaces permiten relacionar estos datos. Las
bases de datos en red son parecidas a las jerárquicas sólo que en ellas puede haber más de un
padre.
En este modelo se pueden representar perfectamente cualquier tipo de relación entre los datos,
pero hace muy complicado su manejo. Al no tener que duplicar la información se ahorra espacio de
almacenamiento.
El sistema de gestión de información basado en el modelo en red más popular es el sistema IDMS
(Integrated Database Management System)
UD1.- Almacenamiento de la información.
El modelo relacional es posterior a los dos anteriores y fue desarrollado por Codd en 1970. Hoy en
día las bases de datos relacionales son las más utilizadas.
En el modelo relacional, la base de datos es percibida por el usuario como un conjunto de tablas. Esta
percepción es sólo a nivel lógico, ya que a nivel físico puede estar implementada mediante distintas
estructuras de almacenamiento
El modelo relacional utiliza tablas bidimensionales (relaciones) para la representación lógica de los
datos y las relaciones entre ellos. Cada relación (tabla) posee un nombre que es único, y contiene un
conjunto de columnas.
Se llamará registro, entidad o tupla a cada fila de la tabla y campo atributo a cada
columna de la tabla.
Al conjunto de valores que puede tomar un determinado atributo, se le denomina dominio Una
clave será un atributo o conjunto de atributos que identifique de forma única a una tupla. Las tablas
A continuación, puedes observar cómo es una relación, con sus tuplas y atributos, en el modelo
relacional.
El lenguaje habitual para construir las consultas a bases de datos relacionales es SQL Structured
Query Language o Lenguaje Estructurado de Consultas. Un estándar implementado por los
principales motores o sistemas de gestión de bases de datos relacionales.
Durante su diseño, una base de datos relacional pasa por un proceso al que se conoce como
normalización de una base de datos.
4.4.- Modelo orientado a objetos.
El modelo orientado a objetos define una base de datos en términos de objetos, sus propiedades y sus
operaciones. Los objetos con la misma estructura y comportamiento pertenecen a una clase, y las clases
se organizan en jerarquías. Las operaciones de cada clase se especifican en términos de procedimientos
predefinidos denominados métodos. Algunos sistemas existentes en el mercado, basados en el modelo
relacional, han sufrido evoluciones incorporando conceptos orientados a objetos. A estos modelos se
les conoce como sistemas objeto-relacionales
El objetivo del modelo orientado a objetos es cubrir las limitaciones del modelo relacional. Gracias a
este modelo se incorporan mejoras como la herencia entre tablas, los tipos definidos por el usuario,
soporte multimedia, etc.
Los conceptos más importantes del paradigma de objetos que el modelo orientado a objetos
incorpora son:
a. Modelo Objeto-Relacional:
Las bases de datos pertenecientes a este modelo, son un híbrido entre las bases del modelo relacional
y el orientado a objetos. El mayor inconveniente de las bases de datos orientadas a objetos radica en
los costes de la conversión de las bases de datos relacionales a bases de datos orientadas a objetos.
En una base de datos objeto-relacional (BDOR) siempre se busca obtener lo mejor del modelo
relacional, incorporando las mejoras ofrecidas por la orientación a objetos. En este modelo se
siguen almacenando tuplas, aunque la estructura de las tuplas no está restringida, sino que las
relaciones pueden ser definidas en función de otras, que es lo que denominamos herencia directa.
Otra característica a destacar es la capacidad para incorporar funciones que tengan un código en algún
lenguaje de programación, como por ejemplo: SQL, Java, C, etc.
La gran mayoría de las bases de datos relacionales clásicas de gran tamaño, como Oracle, SQL
Server, etc., son objeto-relacionales.
. Modelo de bases de datos orientadas a documentos. En este modelo el principal objeto de gestión
es el documento, que contiene datos semiestructurados que podrán estar almacenados en algún
formato, por ejemplo XML. Como ejemplo de este tipo de bases de datos puedes encontrar
MongoDB y CouchDB
Accede a través del siguiente documento una completa clasificación de las bases de datos, teniendo
en cuenta diferentes puntos de vista, podrás conocer la gran variedad de tipos que existen.
Una misma base de datos puede tener acceso local y además una edición en CD-ROM y un sistema
de acceso en línea. Sin embargo, puede haber diferencias en el contenido presente en cada uno de estos
formatos o en el grado de actualización de la información. Por ejemplo, el productor de una base de
datos puede ofrecer la conexión en línea a la base de datos completa con actualización diaria y, en
cambio, editar un CD-ROM que tan sólo contenga los últimos cinco años de información y se actualice
semestralmente.
El SGBD permite a los usuarios la creación y el mantenimiento de una base de datos, facilitando la
definición, construcción y manipulación de la información contenida en ésta. Definir una base de
datos consistirá en especificar los tipos de datos, las estructuras y las restricciones que los datos han
de cumplir a la hora de almacenarse en dicha base. Por otro lado, la construcción de la base de datos
será el proceso de almacenamiento de datos concretos en algún medio o soporte de almacenamiento
que esté supervisado por el SGBD. Finalmente, la manipulación de la base de datos incluirá la
posibilidad de realización de consultas para recuperar información específica, la actualización de los
datos y la generación de informes a partir de su contenido.
Proporcionan al usuario una visión abstracta de los datos, ocultando parte de la complejidad
relacionada con cómo se almacenan y mantienen los datos.
Ofrecen Independencia física, es decir, la visión que tiene de la información el usuario, y la
manipulación de los datos almacenados en la Base de Datos, es independiente de cómo estén
almacenados físicamente.
Disminuyen la redundancia y la inconsistencia de datos.
Aseguran la integridad de los datos.
Facilitan el acceso a los datos, aportando rapidez y evitando la pérdida de datos.
Aumentan la seguridad y privacidad de los datos.
Mejoran la eficiencia.
Permiten compartir datos y accesos concurrentes.
Facilitan el intercambio de datos entre distintos sistemas.
Incorporan mecanismos de copias de seguridad y recuperación para restablecer la información en
caso de fallos en el sistema.
El SGBD interacciona con otros elementos software existentes en el sistema, concretamente con el
sistema operativo (SO). Los datos almacenados de forma estructurada en la base de datos son utilizados
indistintamente por otras aplicaciones. Será el SGBD quien ofrecerá una serie de facilidades a éstas para
el acceso y manipulación de la información, basándose en las funciones y métodos propios del sistema
operativo.
6.1.- Funciones.
Función de descripción o definición: Permite al diseñador de la base de datos crear las estructuras
apropiadas para integrar adecuadamente los datos. Esta función es la que permite definir las tres
estructuras de la base de datos: Estructura interna, Estructura conceptual y Estructura externa. (Estos
conceptos se verán más adelante en el epígrafe sobre arquitectura del SGBD).
Se especificarán las características de los datos a cada uno de los tres niveles y el SGBD se
ocupará de la transformación de las estructuras externas orientadas a los usuarios a las estructuras
conceptuales y de la relación de ésta y la estructura física..
A nivel externo (estructura externa), se deben definir las vistas de los distintos usuarios
a través del lenguaje para la definición de estructuras externas.
Función de manipulación: permite a los usuarios de la base buscar, añadir, suprimir o modificar
los datos de la misma, siempre de acuerdo con las especificaciones y las normas de seguridad
dictadas por el administrador. Se llevará a cabo por medio de un lenguaje de manipulación de
datos ( DML) que facilita los instrumentos necesarios para la realización de estas tareas.
También se encarga de definir la vista externa de todos los usuarios de la base de datos o
vistas parciales que cada usuario tiene de los datos definidos con el DDL.
1. Lenguajes de la base de datos. Cualquier sistema gestor de base de datos ofrece la posibilidad de
utilizar lenguajes e interfaces adecuadas para sus diferentes tipos de usuarios. A través de los
lenguajes se pueden especificar los datos que componen la BD, su estructura, relaciones, reglas de
integridad, control de acceso, características físicas y vistas externas de los usuarios. Los lenguajes
del SGBD son:
Lenguaje de Definición de los Datos (DDL), Lenguaje de Manejo de Datos (DML) y Lenguaje
de Control de Datos (DCL).
4. Usuarios de la base de datos. En los SGBD existen diferentes perfiles de usuario, cada uno de
ellos con una serie de permisos sobre los objetos de la BD. Generalmente existirán:
El administrador de la base de datos o Database Administrator ( DBA), que será la persona
o conjunto de ellas encargadas de la función de administración de la base de datos. Tiene el
control centralizado de la base de datos y es el responsable de su buen
funcionamiento. Es el encargado de autorizar el acceso a la base de datos, de coordinar y
vigilar su utilización y de adquirir los recursos software y hardware que sean necesarios.
Los usuarios de la base de datos, que serán diferentes usuarios de la BD con diferentes
necesidades sobre los datos, así como diferentes accesos y privilegios. Podemos
establecer la siguiente clasificación:
Diseñadores.
Operadores y personal de mantenimiento.
Analistas y programadores de aplicaciones.
Usuarios finales: ocasionales, simples, avanzados y autónomos.
5. Herramientas de la base de datos. Son un conjunto de aplicaciones que permiten a los
administradores la gestión de la base de datos, de los usuarios y permisos, generadores de
formularios, informes, interfaces gráficas, generadores de aplicaciones, etc.
6.3.- Arquitectura.
Un SGBD cuenta con una arquitectura a través de la que se simplifica a los diferentes usuarios de la
base de datos su labor. El objetivo fundamental es separar los programas de aplicación de la base
de datos física.
Encontrar un estándar para esta arquitectura no es una tarea sencilla, aunque los tres estándares que
más importancia han cobrado en el campo de las bases de datos son ANSI/SPARC/X3, CODASYL
y ODMG (éste sólo para las bases de datos orientadas a objetos). Tanto ANSI (EEUU), como ISO
(resto del mundo), son el referente en cuanto a estandarización de bases de datos, conformando un
único modelo de bases de datos.
La arquitectura propuesta proporciona tres niveles de abstracción nivel interno o físico, nivel
lógico o conceptual y nivel externo o de visión del usuario. A continuación se detallan las
características de cada uno de ellos:
1. Nivel interno o físico: En este nivel se describe la estructura física de la base de datos a través
de un esquema interno encargado de detallar el sistema de almacenamiento de la base de datos
y sus métodos de acceso. Es el nivel más cercano al almacenamiento físico. A través del
esquema físico se indican, entre otros, los archivos que contienen la información, su
organización, los métodos de acceso a los registros, los tipos de registros, la longitud, los
campos que los componen, las unidades de almacenamiento, etc.
3. Nivel externo o de visión del usuario: En este nivel se describen las diferentes vistas que los
usuarios percibirán de la base de datos. Cada tipo de usuario o grupo de ellos verá sólo la parte
de la base de datos que le interesa, ocultando el resto.
Para una base de datos, sólo existirá un único esquema interno, un único esquema conceptual y
podrían existir varios esquemas externos definidos para uno o varios usuarios.
1. Independencia lógica: Podemos modificar el esquema conceptual sin alterar los esquemas
externos ni los programas de aplicación.
6.4.- Tipos.
¿Qué tipos de SGBD existen? Para responder a esta pregunta podemos realizar la siguiente
clasificación, atendiendo a diferentes criterios:
. Según el modelo lógico en que se basan. Actualmente, el modelo lógico que más se utiliza es
el relacional. Los modelos en red y jerárquico han quedado obsoletos. Otro de los modelos
que más extensión está teniendo es el modelo orientado a objetos. Por tanto, en esta primera
clasificación tendremos:
Modelo Jerárquico.
Modelo de Red.
Modelo Relacional.
Modelo Orientado a Objetos.
(Para recordar los modelos de bases de datos vistos, sitúate en el epígrafe 4 de esta Unidad de
Trabajo y analiza su contenido.)
. Según el número de sitios en los que está distribuida la base de datos: Centralizados: sus
datos se almacenan en un solo computador. Los SGBD centralizados pueden atender a
varios usuarios, pero el SGBD y la base de datos en sí residen por completo en una sola
máquina.
Distribuidos (Homogéneos, Heterogéneos): la base de datos real y el propio software
del SGBD pueden estar distribuidos en varios sitios conectados por una red. Los sistemas
homogéneos utilizan el mismo SGBD en múltiples sitios. Una tendencia reciente consiste
en crear software para tener acceso a varias bases de datos autónomas preexistentes
almacenadas en sistemas distribuidos heterogéneos. Esto da lugar a los SGBD federados
o sistemas multibase de datos en los que los SGBD participantes tienen cierto grado de
autonomía local.
d. Según el coste. La mayor parte de los paquetes cuestan entre 10.000 y 100.000 euros. Los
sistemas monousuario más económicos para microcomputadores cuestan entre 0 y
euros. En el otro extremo, los paquetes más completos cuestan más de 100.000 euros
A través de la siguiente tabla se exponen los SGBD comerciales más utilizados y sus características
más relevantes:
Sistema de base de datos centralizado es una estructura en la que el SGBD está implantado en una s
Los sistemas de los años sesenta y setenta eran totalmente centralizados, como corresponde a los
sistemas operativos de aquellos años, y al hardware para el que estaban hechos: un gran ordenador
para toda la empresa y una red de terminales sin inteligencia ni memoria.
Se almacena completamente en una ubicación central, es decir, todos los componentes del
sistema residen en un solo computador o sitio.
No posee múltiples elementos de procesamiento ni mecanismos de intercomunicación como las
bases de datos distribuidas.
Los componentes de las bases de datos centralizadas son: los datos, el software de gestión
de bases de datos y los dispositivos de almacenamiento secundario asociados. Son sistemas en
los que su seguridad puede verse comprometida más fácilmente.
Ventajas Inconvenientes
Base de datos distribuida (BDD): es un conjunto de múltiples bases de datos lógicamente relacionada
Sistema de bases de datos distribuida (SBDD): es un sistema en el cual múltiples sitios de bases de d
Sistema gestor de bases de datos distribuida (SGBDD): es aquel que se encarga del manejo de la B
Un SGBDD desarrollará su trabajo a través de un conjunto de sitios o nodos, que poseen un sistema
de procesamiento de datos completo con una base de datos local, un sistema de gestor de bases
de datos e interconectados entre sí. Si estos nodos están dispersos geográficamente se
interconectarán a través de una red de área amplia o WAN, pero si se encuentran en edificios
relativamente cercanos, pueden estar interconectados por una red de área local o LAN
Este tipo de sistemas es utilizado en: organizaciones con estructura descentralizada, industrias de
manufactura con múltiples sedes (automoción), aplicaciones militares, líneas aéreas, cadenas
hoteleras, servicios bancarios, etc.
En la siguiente tabla se representan las ventajas e inconvenientes destacables de las
BDD
Ventajas Inconvenientes
Existe cierta tolerancia a fallos. Mediante la Dado que los datos pueden estar replicados, el
replicación, si un nodo deja de funcionar el control de concurrencia y los mecanismos de
sistema completo no deja de funcionar. recuperación son mucho más complejos que en
un sistema centralizado.
El enfoque distribuido de las bases de datos El intercambio de mensajes y el cómputo
se adapta más naturalmente a la estructura de adicional necesario para conseguir la
las organizaciones. Permiten la coordinación entre los distintos nodos
incorporación de nodos de forma flexible y constituyen una forma de sobrecarga que no
fácil. surge en los sistemas centralizados.
Dada la complejidad del procesamiento entre
Aunque los nodos están interconectados,
nodos es difícil asegurar la corrección de los
tienen independencia local.
algoritmos, el funcionamiento correcto durante
un fallo o la recuperación.
10.1.- Fragmentación.
Sabemos que en los sistemas de bases de datos distribuidas la información se encuentra repartida en varios
lugares. La forma de extraer los datos consultados puede realizarse mediante la fragmentación de distintas
tablas pertenecientes a distintas bases de datos que se encuentran en diferentes servidores. El problema
de fragmentación se refiere al particionamiento de la información para distribuir cada parte a los diferentes
sitios de la red.
Pero hay que tener en cuenta el grado de fragmentación que se aplicará, ya que éste es un factor
determinante a la hora de la ejecución de consultas. Si no existe fragmentación, se tomarán las
relaciones o tablas como la unidad de fragmentación. Pero también puede fragmentarse a nivel de tupla
(fila o registro) o a nivel de atributo (columna o campo) de una tabla. No será adecuado un grado de
fragmentación nulo, ni tampoco un grado de fragmentación demasiado alto. El grado de fragmentación
deberá estar equilibrado y dependerá de las particularidades de las aplicaciones que utilicen dicha base
de datos. Concretando, el objetivo de la fragmentación es encontrar un nivel de particionamiento
adecuado en el rango que va desde tuplas o atributos hasta relaciones completas.
Cuando se lleva a cabo una fragmentación, existen tres reglas fundamentales a cumplir:
Completitud. Si una relación R se descompone en fragmentos R1, R2, ..., Rn, cada elemento
de datos que pueda encontrarse en R deberá poder encontrarse en uno o varios
fragmentos Ri
Reconstrucción. Si una relación R se descompone en una serie de fragmentos R1, R2,
Rn, la reconstrucción de la relación a partir de sus fragmentos asegura que se preservan las
restricciones definidas sobre los datos.
Disyunción. Si una relación R se descompone verticalmente, sus atributos primarios clave
normalmente se repiten en todos sus fragmentos.