Hechos/conceptos
(contenidos soporte)
ü Sistema
tradicional de ficheros. Problemas del sistema de ficheros.
ü Bases
de datos. Objetivos (independencia de datos, integridad, seguridad,
confidencialidad, redundancia mínima, control de la concurrencia,
compartimiento de datos). Características. Soluciones a los problemas del
sistema de ficheros. Ventajas e inconvenientes
ü de
su utilización. Arquitectura de las bases de datos (nivel externo, nivel
interno, nivel conceptual).
ü Modelos
de bases de datos. Modelo en red (estructura básica y características). Modelo
jerárquico (estructura básica y características). Modelo relacional.
ü Estructura
básica.
ü Características.
Comparación de los tres modelos en función de los problemas originados en la
actualización de los datos.
ü Bases de datos distribuidas. Estructura cliente/servidor.
DE LOS
SISTEMAS TRADICIONALES DE FICHEROS
A LAS BASES DE DATOS
Los primeros sistemas
de procesamiento de datos estaban pensados para ejecutar las tareas
administrativas, para reducir el papeleo. Más recientemente, los sistemas se
han extendido hacia la producción y gestión de la información, que se ha
convertido en un recurso vital para las empresas. Si los directivos disponen de una buena
información, es probable que puedan tomar decisiones acertadas y con una gran
rapidez.
Actualmente, la función más importante de los sistemas de bases de
datos consiste en proporcionar la materia prima necesaria a los sistemas de
información de la empresa para la gestión de la misma. El desarrollo de los
sistemas de bases de datos se convirtió en crucial para proporcionar
información correcta (sin errores) y oportuna (en el momento que
se necesita), a los directivos.
Si analizamos la situación de algunos sistemas de
información, encontramos una proliferación de ficheros específicos cada uno de
ellos de una determinada aplicación. Los datos se recogen varias veces y se
encuentran repetidos en los distintos archivos. Esta redundancia además
de malgastar recursos, origina a menudo divergencias en los resultados.
Los sistemas informáticos tradicionales han sido llamados por algunos
autores sistemas orientados hacia el proceso, debido
a que en ellos se pone el énfasis en los tratamientos que reciben los datos,
los cuales se almacenan en ficheros diseñados para una determinada aplicación.
Las aplicaciones se analizan e implantan con entera independencia unas de
otras, y los datos no se suelen transferir entre ellas, sino que se duplican
siempre que los correspondientes trabajos los necesitan.
Este planteamiento produce, además de una ocupación inútil de memoria
secundaria, un aumento de los tiempos de proceso, al repetirse los mismos controles
y operaciones en los distintos ficheros. Pero más graves todavía son las
inconsistencias que a menudo se presentan en estos sistemas, debido a que la
actualización de los mismos datos, cuando se encuentran en más de un fichero,
no se suele realizar de forma simultánea en todos los ficheros. Los problemas
son aún más acusados cuando se presentan demandas inesperadas de
información.
De este análisis se deduce claramente la necesidad de una gestión más
racional del conjunto de datos, surgiendo así un nuevo enfoque que se apoya
sobre una base de datos en la cual los datos son recogidos y
almacenados una sola vez, con independencia de los tratamientos.
Vemos, por tanto, que la solución de los problemas asociados al
tratamiento de los datos en los sistemas tradicionales lleva a un cambio
radical en el enfoque del sistema de información, en el cual los datos se
organizan y mantienen en un conjunto estructurado que no está diseñado
para una aplicación concreta, sino que, por el contrario, tiende a
satisfacer las necesidades de información de la organización; necesidades
cuya diversidad se ve acentuada con el transcurso del tiempo.
Estos sistemas orientados hacia los datos, van substituyendo a
los sistemas orientados hacia el proceso, que por su poca fiabilidad, falta de
adecuación a la realidad y mal asegurada confidencialidad han ido perdiendo de
forma progresiva la confianza de los usuarios.
q Redundancia e inconsistencia de los datos
q Dificultad de acceso a los datos: Existen
aplicaciones particulares para cada tipo de acceso a los datos.
q Aislamiento de los datos: Los datos
están en archivos con diferentes formatos, por lo tanto resultan difíciles de
utilizar en nuevos programas.
q Variedad de usuarios: Si varios usuarios
actualizan a la vez se puede llegar a tener información inconsistente
q Problemas de seguridad: Es dificil
restringir el acceso a registros de un fichero.
q Problemas de integridad de los datos.
Una base de datos es un conjunto, colección o depósito de datos
almacenados en un soporte informático de acceso directo. Los datos deben
estar interrelacionados estructurados.
Dada la importancia que tienen en el mundo real las interrelaciones
entre los datos, es imprescindible que la base de datos sea capaz de almacenar
éstas interrelaciones, al igual que hace con otros elementos (como
las entidades y atributos), siendo ésta una diferencia esencial respecto a los
ficheros donde no se almacenan las interrelaciones.
La redundancia de los datos debe ser controlada, de forma que no
existan duplicidades perjudiciales ni innecesarias, y que las redundancias
físicas, convenientes muchas veces a fin de responder a objetivos de
eficiencia, sean tratadas por el mismo sistema, de modo que no puedan
producirse incoherencias. Por tanto, un dato se actualizará lógicamente por el
usuario de forma única, y el sistema se preocupará de cambiar físicamente todos
aquellos campos en los que el dato estuviese repetido, en caso de existir
redundancia física.
La actualización y recuperación en las bases de datos debe realizarse
mediante procesos bien determinados, incluidos en un
conjunto de programas que se encargan de la gestión de la base de datos y que
se denominan sistemas gestores de bases de datos (S.G.B.D); procedimientos
que han de estar diseñados de modo que se mantenga la integridad, seguridad y
confidencialidad de la base.
El concepto de base de datos ha ido cambiando y configurándose a lo
largo del tiempo, en la actualidad, y de acuerdo con estas características que
acabamos de analizar, podemos definir la base de datos como:
“Colección o depósito de datos integrados con redundancia controlada y
con una estructura que refleje las interrelaciones y restricciones existentes
en el mundo real; los datos, que han de ser compartidos por diferentes usuarios
y aplicaciones, deben mantenerse independientes de éstas, y su definición y
descripción, únicas para cada tipo de datos, han de estar almacenadas junto con
los mismos. Los procedimientos de actualización y recuperación comunes y bien
determinados, habrán de ser capaces de conservar la integridad, seguridad
y confidencialidad del conjunto de los datos"
FRENTE A LOS FICHEROS CLÁSICOS
Las bases de datos, surgidas como respuesta al nuevo planteamiento de
los sistemas orientados hacia los datos, para mejorar la calidad de las
prestaciones de los sistemas informáticos y aumentar su rendimiento, presentan
una multitud de ventajas frente a los sistemas clásicos de ficheros, debido,
sobre todo, a que se basan en una estructura de datos integrada y centralizada,
eliminando así los problemas de redundancia y control de los datos.
Las ventajas de los sistemas de
bases de datos son, entre otras, las siguientes:
A) Independencia de los datos respecto a los
tratamientos y viceversa:
La mutua independencia de datos y
tratamientos lleva a que un cambio de los programas no implican tener que
cambiar el diseño lógico y/o físico de la base de datos. Por otra parte, la inclusión
de nuevas informaciones, desaparición de otras, cambios en la estructura física
o en los caminos de acceso, etc., no deben obligar a alterar los programas.
Esta independencia de los tratamientos frente a la estructura de la base de
datos, evita el importante esfuerzo que origina la reprogramación de las
aplicaciones cuando se producen cambios en los datos.
·
Independencia lógica de los datos: Se refiere a que las modificaciones de la representación lógica
del problema no afecta a los programas que los manipulan, y viceversa.
· Independencia física de los datos: Se refiere a que la distribución en unidades de
almacenamiento es independiente de la estructura lógica general, y viceversa.
B) Coherencia de los resultados:
Debido a que la información de la base de datos se
recoge y almacena una sola vez. En todos los programas se utilizan los mismos
datos, por lo que los resultados de todos ellos son coherentes y perfectamente
comparables.
Además, al no existir (o al menos disminuir en gran
medida) la redundancia en los datos, desaparece el problema que se presentaba
en el enfoque clásico, de que el cambio de un dato obligaba a actualizar una
serie de ficheros. De esta forma se elimina también el inconveniente de las
divergencias en los resultados
debidas a actualizaciones no simultáneas en todos los ficheros.
C) Mejor disponibilidad de los datos para el conjunto,
de los usuarios:
Cuando se aplica la metodología de bases de datos,
cada usuario ya no es propietario de los datos, puesto que éstos se comparten
entre el conjunto de aplicaciones, existiendo una mejor disponibilidad de los
datos para todos los que tienen necesidad de ellos, siempre que estén
autorizados para su acceso.
D) Mayor eficiencia en la recogida, validación entrada
de los datos al sistema:
Al no existir apenas redundancias,
los datos se recogen y validan una sola vez, aumentando así el rendimiento de
todo el proceso previo al almacenamiento.
E) Reducción del espacio de almacenamiento:
La desaparición (o disminución) de
las redundancias, así como la aplicación de técnicas de compactación, lleva en
los sistemas de bases de datos a una menor ocupación de almacenamiento
secundario ‑disco magnético‑.
Las bases de datos no sólo
presentan ventajas, sino que también tienen posibles inconvenientes, que es
necesario valorar antes de tomar una decisión relativa a un cambio en la
orientación del SI. Entre estos inconvenientes es preciso destacar:
A) Instalación costosa:
La implantación de un sistema de bases de datos
puede llevar consigo un coste elevado, tanto en equipo físico (nuevas
instalaciones o ampliaciones), como en el lógico (sistemas operativos,
programas, compiladores, etc... necesarios para su uso).
B) Personal especializado:
Los conocimientos, que resultan imprescindibles para
una utilización correcta y eficaz y sobre todo para la administración de las
bases de datos, implican una necesidad de personal especializado que resulta
difícil de encontrar, y de formar. El problema de la contratación y formación
de este tipo de personal es clave a la hora de crear un sistema de base de
datos.
C) Implantación larga y difícil:
La implantación de una base de
datos puede convertirse en una tarea larga y laboriosa. Las dificultades que
van apareciendo a lo largo de su desarrollo llevan en general a que se superen
ampliamente los plazos inicialmente previstos.
D) Falta de rentabilidad a corto plazo:
La implantación de un sistema de bases de datos,
tanto por su coste en personal y en equipos como por el tiempo que tarda en
estar operativo, no resulta rentable a corto plazo. Puede calcularse que para
un sistema de dimensiones medias la rentabilidad sólo puede empezar a
apreciarse después de bastantes meses de la iniciación de los trabajos; en
instalaciones grandes o muy grandes el plazo puede llegar a ser de años.
E) Ausencia real de normas:
Un problema muy importante que se
pone de manifiesto en el momento de la creación de una base de datos, es la
ausencia real de una estandarización que facilite a los usuarios el manejo de
los sistemas de bases de datos. Empieza, sin embargo, a observarse ya una
preocupación por este tema y van apareciendo algunos estándares, sobre todo en
el campo de las bases de datos relacionales como el SQL.
q Versatilidad para representar la información: Ofrecer diferentes visiones de la información que se almacena en
la BD.
q Desempeño: Debe dar respuesta en un
tiempo adecuado, permitiendo el acceso simultaneo al mismo o diferente datos.
q Mínima redundacia.
q Capacidad de acceso: Debe responder en
tiempo adecuado a consultas previstas e imprevistas.
q Simplicidad: Cambios en los
requerimientos no deben suponer grandes cambios en el modelo de datos.
q Seguridad: Capacidad para proteger los
datos contra perdidad totales y/o parciales,
·
Contra destrucción causada por el entorno (fuego,
inundación, ...)
·
Contra destrucción causada por fallos del sistema
·
Contra accesos no autorizados a la BD
·
Contra accesos indebidos a los datos
q Privacidad: Debe reservar la información
de accesos de personas no autorizadas.
q Afinación: Organización de datos afines
para obtener buenos tiempos de respuesta.
q Integridad: Que los datos sean correctos
y se correspondan a los requerimientos del dominio.
·
Integridad frente a fallos Hw o Sw o de acceso
concurrente
·
Integridad asegurando que los datos se ajustan a los
requerimientos del problema.
Un sistema de base de datos es
algo más que simples datos o que un conjunto de datos en combinación con unos
programas de gestión. Un sistema de base de datos está formado por los
siguientes componentes:
Datos
Las características más
importantes de la información en estos sistemas es que va a estar integrada y
compartida.
Integrada:
La Base de
datos puede considerarse como una unificación de varios ficheros de datos, que
son tratados como uno solo, y en el que se ha eliminado totalmente, o en parte,
la redundancia de datos.
Compartida:
Los datos
pueden compartirse entre varios usuarios distintos. Es posible que varios de
estos usuarios accedan al mismo tiempo al mismo elemento de información (acceso
concurrente).
Equipo (Hardware)
Conjunto de dispositivos físicos
utilizados para almacenar y procesar los datos.
q
Ordenadores, utilizados para procesar los
datos de la Base de datos: pueden ser mainframe, miniordenador u ordenador
personal. El mainframe y los miniordenadores fueron utilizados tradicionalmente
para soportar el acceso de varios usuarios a una base de datos común. Los
ordenadores personales eran empleados, inicialmente, para manejar bases de
datos autónomas controladas y manipuladas por un usuario único. No obstante,
actualmente, también pueden conectarse a una red cliente/servidor, garantizando
el acceso de varios usuarios a una base de datos común almacenada en unidades
de disco y controladas por un ordenador servidor. El servidor puede ser otro
ordenador personal más potente, o bien, un miniordenador o un
mainframe.
q
Volúmenes de
almacenamiento. Generalmente
son unidades de disco que constituyen el mecanismo de almacenamiento principal
para las bases de datos.
q
Otros
dispositivos, como
unidades de cinta, terminales, impresoras, etc.
Programas (Software)
Un sistema de base de datos incluye
dos tipos de programas:
q
El software de
propósito general, para la gestión de la base de datos, comunmente llamado Sistema
Gestor de Bases de Datos (S. G.B.D., o también D. B. M S, en inglés). El
S.G.B.D maneja todas las solicitudes de acceso a la base de datos formuladas
por los usuarios y los programas de aplicación.
q
El software
de aplicación, que usa las facilidades del S.G.B.D para manipular la
base de datos con el fin de llevar a cabo una función específica en la gestión
de la empresa (por ejemplo: la gestión de almacén). Puede estar desarrollado en
un lenguaje de programación estándar, tal como COBOL o C, o en un lenguaje
propio de los S.G.B.D denominados lenguajes de cuarta generación (4GL).
Personal
En un sistema de base de datos
intervienen un número importante de usuarios, que podemos clasificar en tres
grupos:
q
Administrador de
la base de datos (A.B.D.). Son los encargados de diseñar la estructura de la base de datos y los
responsables de que el sistema funcione correctamente. El A.B.D. se encarga de
autorizar el acceso a la base de datos, de coordinar y vigilar su utilización y
de adquirir los recursos necesarios de software y hardware. El A.B.D. es el
responsable cuando surgen problemas como violaciones de seguridad o una
respuesta lenta del sistema. El A.B.D. tiene, entre otras, las ‑siguientes
funciones:
·
Definición del
esquema: Decidir el contenido de la base de datos, eligiendo cuales son los
datos que interesa tener almacenados y organizarlos de la mejor forma posible,
creando el esquema conceptual, que se escribirá mediante un lenguaje de
definición de datos (DDL).
·
Definición de las
estructuras de almacenamiento y método de acceso: Debe decidir sobre la forma
en que se van a almacenar los datos sobre los soportes físicos en los que se
grabará la base de datos y la correspondencia entre esta estructura de
almacenamiento y el esquema conceptual.
·
Modificación del
esquema y de la organización física si los requerimientos cambian.
·
Decidir los
controles de autorizaciones para el acceso a los datos: Es el que concede
diferentes tipos de autorizaciones al resto de los usuarios de la base de
datos.
·
Especificar las
restricciones de integridad: Debe definir los procedimientos de validación que
habrán de ejecutarse cada vez que se actualiza la base de datos. Estas
restricciones son consultadas por el SGBD cada vez que se realiza una
actualización de los datos.
q
Programadores de
aplicaciones, que
se encargan de desarrollar las aplicaciones que manejan datos de la base de
datos. Estas aplicaciones contendrán solicitudes de datos al S.G.B.D que luego
serán procesados por los programas de la aplicación que tendrán como finalidad
resolver problemas específicos de la empresa.
q
Usuarios
finales, que
son personas que no tienen por que tener conocimientos informáticos y que
pueden manipular los datos (examinarlos y actualizarlos) con la ayuda de las
aplicaciones, o bien de lenguajes de consulta no procedimentales (no es
necesario indicar el algoritmo de acceso a los datos), tipo SQL, o bien,
mediante herramientas basadas en sistemas de menús. Se distinguen tres tripos
de usuarios finales:
·
Usuarios
especializados: Aquellos que son capaces de escribir ciertas aplicaciones para
la BD, para su uso propio.
·
Usuarios casuales:
Aquellos que realizan consultas a través de un procesador de consultas. Esas
consultas pueden ser creadas por ellos mismos o por otras personas.
·
Usuarios ingenuos:
Aquellos que solo acceden a través de aplicaciones previamente escritas por
otros usuarios.
Antes de analizar el concepto de S.G.B.D, es preciso exponer, siquiera
globalmente y sin entrar en detalles, los distintos niveles de abstracción de
una base de datos. Esto nos servirá, mas adelante, para identificar las
diferentes funciones que han de cumplir estos sistemas.
Se puede observar en los SI la existencia de dos estructuras
distintas, la lógica (vista del usuario) y la física (forma en que se
encuentran los datos en el almacenamiento). En las bases de datos aparece un
nuevo nivel de abstracción que se ha denominado de diversas maneras: nivel
conceptual, estructura lógico global, esquema, etc. Esta estructura intermedia
pretende una representación global de los datos que se interponga entre las
estructuras lógica y física y que sea independiente, tanto del equipo como de
cada usuario en particular.
ANSI/SPARC es un grupo de normalización creado en 1969 para estudiar
el impacto de los S.G.B.D. en los sistemas de información y cuyos resultados,
publicados en 1975 propusieron el uso de tres niveles de descripción de datos:
q
Nivel interno o
físico. Se
refiere al almacenamiento físico en el se describe cómo se almacenan realmente
los datos en memorias secundarias, en qué archivos, su nombre y dirección.
También estarán los registros, longitud, campos, índices y las rutas de acceso
a esos archivos.
q
Nivel
Conceptual. En
el se describen cuáles son los datos reales almacenados en la BD y que
relaciones existen entre ellas. Este nivel lo definen los administradores de la
BD que son los que deciden que información se guarda en la BD. Este nivel
corresponde a la estructura organizacional de los datos obtenida al reunir los
requerimientos de todos los usuarios, sin preocuparse de su organización física
ni de las vías de acceso. Podría contener:
· Entidades del mundo real
(clientes, artículos, pedidos, ...)
· Atributos de las entidades
(nombre_cliente, NIF, ...)
· Asociaciones entre entidades
(compra de artículos)
· Restricciones de integridad (son
las normas que deben cumplir los datos).
q
Nivel externo o
vistas. Es el
nivel más cercano al usuario y representa la percepción individual de cada
usuario. Si los niveles interno y conceptual describen toda la BD, este nivel
describe únicamente la parte de datos para un usuario o grupo de usuarios.
Habrá usuarios que podrán acceder a más de un esquema externo y uno de éstos
puede ser compartido por varios usuarios, se protege así el acceso a los datos
por parte de personas no autorizadas. A la hora de construir un esquema
externo:
· Se pueden omitir una o más
entidades del sistema.
· Se pueden omitir uno o más
atributos de una entidad.
· Se pueden omitir una o más
relaciones entre los datos.
· Se pueden cambiar el orden de
los atributos.
Para una BD habrá un único esquema interno, un único
esquema conceptual, pero puede haber varios esquemas externos.
q Gestor de ficheros: Se encarga de las
estructuras de datos que se emplean para representar la información almacenada
en disco. Además es el encargado de asignar espacio en disco.
q Gestor de BD: Es el interface entre los
datos de bajo nivel almacenados en la BD y los programas de aplicaciones y
consultas de datos.
q Procesador de consultas: traduce las
proposiciones del lenguaje de consultas a instrucciones de bajo nivel para que
las entienda el gestor de BD. Además el procesador de consultas trata de
traducir una petición del usuario a otra equivalente pero más eficiente.
q Compilador DDL: Convierte las
proposiciones DDL en un conjunto de tablas que contienen metadatos.
q Ficheros de datos: Almacenan la
información (los datos).
q Diccionario de datos: Almacena
información referida a la estructura de la BD. Se usa continuamente. Se debe
poner un gran énfasis en un buen diseño y una implementación adecuada del
diccionario de dato
![]() |
Las funciones del Gestor de BD son:
q Interactuar con el gestor de ficheros:
Traduce proposiciones DML a comandos del sistema de archivos. El gestor de
ficheros asigna espacio en disco, localiza el fichero, lleva el control de los
ficheros, ...
q Es responsable de conservar la integridad: Comprueba si los datos almacenados en la BD satisafecen las
restricciones de integridad (cosistencia).
q Es responsable de garantizar la seguridad: Evita accesos indebidos.
q Es responsable de respaldo y recuperación: Para evitar perdidas de información el gestor BD debe detectar
fallos y restaurar la BD estado que tenía antes de que ocurriera el fallo.
q Control de concurrencia: Cuando varios
usuarios actualizan la BD de forma concurrente (a la vez) puede que no se
conserve la consistencia de los datos, con lo cual el sistema debe controlar la
interacción entre los usuarios.
Si disponemos de una base de
datos, necesitamos un conjunto de herramientas para poder acceder a los datos.
La forma de acceso va a depender de la tarea a realizar, así:
·
El administrador añadirá usuarios, modos de acceso,
reorganizará la BD cuando sea necesario, ...
·
Los analistas y
programadores deberán conocer la estructura de la BD para poder hacer
aplicaciones y programas.
· Los usuarios finales utilizarán
la BD a través de aplicaciones o lenguajes de consulta interactivos.
Para poder realizar todo esto necesitamos un sistema gestor de base de
datos (SBGD) que se puede definir como el "conjunto de herramientas que
suministra a todos (administrador, analistas, programadores, usuarios) los
medios necesarios para describir, recuperar y manipular los datos almacenados
en la BD, manteniendo la seguridad, integridad y confidencialidad de los
mismos".
Objetivos de los S.G.B.D.
En un ambiente multiusuario el
S.G.B.D ofrece a la empresa un control centralizado de su información. Los objetivos
que se plantean estos sistemas están relacionados con la intención de evitar
los problemas que existían en los sistemas de información orientados a los
procesos. Los principales objetivos son:
·
Evitar la
redundancia de los datos, eliminando así la inconsistencia de los mismos.
·
Mejorar los
mecanismos de seguridad de los datos y la privacidad. Podemos distinguir cuatro
tipos de contextos para usar mecanismos de seguridad: seguridad contra accesos
indebidos a los datos, seguridad contra accesos no autorizados a la BD,
seguridad contra destrucción causada por el entorno (fuego, inundación, robo,
...), seguridad contra fallos del propio sistema (fallos del hardware, del
software, ...).
·
Asegurar la
independencia de los programas y los datos, es decir, la posibilidad de
modificar la estructura de la base de datos (esquema) sin necesidad de
modificar los programas de las aplicaciones que manejan esos datos.
·
Mantener la
integridad de los datos realizando las validaciones necesarias cuando se
realicen modificaciones en la base de datos.
·
Mejorar la eficacia
de acceso a los datos, en especial en el caso de consultas imprevistas.
Funciones del S.G.B.D.
Las principales funciones que
debe realizar un S.G.B.D. son:
· La definición de los datos.
· La manipulación de los datos.
· Garantizar la seguridad e
integridad de los datos.
· La gestión de las transacciones y el acceso
concurrente.

No hay comentarios:
Publicar un comentario