INTRODUCCIÓN
HISTORIA DE LOS SISTEMAS MANEJADORES DE DATOS
Inicialmente, en los años 40s, los Sistemas de Archivos generados a través de lenguajes de programación no propietarios como Cobol y Fortran (vigentes en la actualidad), permiten almacenar los datos a través de archivos planos con funciones básicas de lectura y escritura sobre ellos. En 1964, se conciben los primeros Gestores de Base de Datos (DBMS: Database Management System), por medio de los cuales se pretende dar un viraje a los Sistemas de Archivos, los cuales se limitan a la estructuración del almacenamiento físico de los datos. Con los DBMS se crea el concepto de Administración de los datos, por medio de actividades integradas que permiten verlos físicamente en un solo almacenamiento pero lógicamente se manipulan a través de esquemas compuesto por estructuras donde se establecen vínculos de integridad, métodos de acceso y organización física sobre los datos, permitiendo así obtener valores agregados de utilización tales como: manejo de usuarios, seguridad, atomicidad e independencia física y lógica de los datos, entre otros.
El primer gestor de bases de datos (DBMS) comercial, IDS: Integrated Data Store , se crea bajo el concepto del Modelo de Datos de Red (Bachgman, 1965); luego se desarrolla el IMS: Information Management System , sobre el concepto del Modelo de Datos Jerárquico. Estos DBMSs eran accesados normalmente por lenguajes de programación como Cobol usando interfases de bajo nivel haciendo que las tareas de creación de aplicaciones y mantenimiento de los datos fuesen controlables, pero aún complejas.
A medida que evolucionaban los DBMS, los lenguajes de programación también lo hacían. En 1967 surge el primer lenguaje de programación orientado a objetos, Simula, el cual fue propuesto para simulación de actividades. En este los procedimientos podían ser asociados a un tipo para representar el comportamiento de una instancia, introduciendo así el concepto de Clase. Simula, soporta paralelismo permitiendo muchas entidades interactivas en una simulación. Además comparte objetos acoplando datos y procedimientos.
Luego se genera una nueva noción, donde las bases de datos deben almacenar por medio de una estructura tabular llamada relación o tabla (Codd,1970), compuesta por filas y columnas, accesando dichas relaciones a través de un lenguaje de alto nivel no procedural (declarativo). De esta forma en los años 80s surgen varios productores de DBMS Relacionales (RDBMS) como Oracle, Informix, Ingres y DB2, además de otros lenguajes orientados a objetos como el C++, Java (antes el Oak), Eiffel, y Smalltalk adoptando y mejorando el concepto de clase pero su desarrollo se hace independiente de los DBMSs.
Comenzando los años 80’s ya se siente la necesidad de que los DBMS actuales manipulen objetos complejos y estructuras como las usadas en sistemas CAD y CASE, entre otras. A partir de esto se da inicio a dos grandes tendencias: los ORDBMS (Object Relational Database Management System) los cuales se proyectan como una extensión de los RDBMS hacia el paradigma OO, y los OODBMS (Object Oriented Database Management System) estarían disponibles para almacenar y manipular las clases, los objetos, la asociación entre ellos y sus métodos. Así, finalizando los años 80s se crean los OODBMSs por medio de productores como O2, ObjectDesign y Objectivity, entre otros. Pero realmente se puede decir que estos no se hicieron tan comerciales como los existentes RDBMS ya que el concepto de Orientación a Objetos se seguía manejando muy a nivel del lenguaje de programación, sin que se trabajaran estructuras de almacenamiento Orientadas a Objetos dependientes de estos. Así, en 1991 surge la ODMG (Object Database Management Group) el cual estandariza los OODBMSs a partir del ODMG-93 y luego en 1992 el comité ANSI X3H2 inicia un trabajo en SQL3, del cual surgen los DBMS objeto relacional ORDBMS. Este trabajo fue programado para finalizarse en 1995, pero aún se sigue trabajando en este con un tiempo límite de terminación, en el año 1999.
DEFINICIÓN
El sistema de gestión de bases de datos es esencial para el adecuado funcionamiento y manipulación de los datos contenidos en la base. Es un conjunto de programas, protocolos, lenguajes y el paso a paso que se deben tener y subministrar, tanto a los usuarios no informáticos como los mismos analistas, programadores o administradores. Son los medios necesarios para poder recuperar cualquier data, describirla y manipularla en las base de datos, manteniendo la integridad de la misma junto con su confiabilidad, confidencialidad y seguridad.
FUNCIONES DEL SISTEMA MANEJADOR DE DATOS
Las funciones esenciales y entre muchas son la descripción, manipulación y utilización de los datos.
· Descripción: influye en la descripción de los elementos de datos, su estructura, sus interrelaciones, sus validaciones y todas sus ramas correspondientes. Tanto a nivel externo como lógico global e interno esta descripción es realizada mediante un “LDD” que significa “Lenguaje de Descripción de Datos”.
· Manipulación: esta función permite buscar, añadir, suprimir ya modificar los datos contenidos en la Base de Datos. Se debe tener extremo cuidado con la manipulación de datos porque la mala manipulación de la data puede ser apenado por la ley.
La manipulación como tal es el definir un criterio de selección, definir la estructura lógica a recuperar, acceder a la estructura física. Esta manipulación es realizada mediante un “LMD” que significa Lenguaje de Manipulación de Datos.
· Utilización: La utilización permite acceder a la base de datos, no a nivel de datos sino a la base como tal, para lo cual: Reúne las interfaces de los usuarios y suministra procedimientos para el administrador.
TAREAS EN SISTEMAS MANEJADORES DE DATOS
El que maneja y tiene total control de la base tienes la responsabilidad la responsabilidad en lo siguiente:
· Interacción con el manejador de archivos: Los datos en la base se guardan en disco mediante el sistema de archivos, proporcionado comúnmente por el sistema operativo. El manejador de la base, traduce las diferentes proposiciones del manejo de datos en comandos del sistema de archivos de bajo nivel. De esta forma el manejador se puede encargar del almacenamiento, recuperación y actualización de los datos en la base.
· Implantación de la integridad: Los valores de los datos que se almacenan en la base, deben satisfacer ciertas limitantes de consistencia, estas limitantes deben ser determinadas por el administrador, pero es el manejador el encargado de verificar que las actualizaciones que se hagan a la base cumplan con dichas normas.
· Puesta en práctica de la seguridad: El manejador de la base es quien verifica que los accesos a la base sean realizados por las personas autorizadas.
· Respaldo y recuperación: Entre las labores que debe ejecutar el manejador está la de verificar de forma constante la integridad de la base, y lograr recuperación de datos y/o mejoras en caso que se requieran.
· Control de concurrencia: Se podría entender, esta, como la principal tarea del manejador de la base, o por lo menos la más difícil. Cuando varios usuarios están accesando la base al mismo tiempo, es posible que la consistencia de los datos no se conserve. El manejador debe encargarse de coordinar los accesos de los diferentes usuarios, de forma que los datos en la base no se dañen.
En términos ideales, un DBMS debe contar con estas funciones, sin embargo, no todos las poseen, así existen algunos manejadores que no cumplen la función de respaldo o de seguridad, dejándola al usuario o administrador; sin embargo un DBMS que sea completo y que deba manejar una base de datos multiusuario grande, es conveniente que cuente con todas estas operaciones.
LENGUAJES Y PASOS EN EL SISTEMA GETIONADOR DE DATOS
Para cumplir sus objetivos el DBMS cuenta con varios lenguajes:
Lenguaje de descripción o definición de datos: Un esquema de base de datos se especifica por medio de una serie de definiciones que se expresan en un lenguaje de definición de datos (DDL-Data Definition Language). El resultado de la compilación es un conjunto de tablas que se almacenan en el diccionario de datos. Existe un esquema DDL para las definiciones del nivel conceptual y un subesquema DDL para las definiciones del nivel externo.
La estructura de almacenamiento y los métodos de acceso empleados por el sistema se especifican por medio de un conjunto de definiciones de un tipo especial de DDL, llamado lenguaje de almacenamiento y definición de datos; el resultado de la compilación es una serie de instrucciones que especifican los detalles de implantación de los esquemas de base de datos que normalmente no pueden ver los usuarios. Este lenguaje se define como un lenguaje de control dispositivo/medio.
Existe además un DBCS que es el sistema de control de la base de datos y permite el acceso a la definición de datos.
Lenguaje de Definición de Datos: El DDL (Data Definition language) por medio de este el DBMS identifica las descripciones de los elementos de los esquemas y almacena la descripción del esquema en el catálogo del DBMS. Por medio de este el DBMS especifica el esquema conceptual e interno (Base de datos Almacenada).
Lenguaje de definición de almacenamiento: SDL (Store Definition language) es utilizado por el DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada.
Lenguaje de Definición de Vistas: VDL (View Definition language) es utilizado por el DBMS para especificar las vistas del usuario y sus correspondencias con el esquema conceptual.
En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores.
Lenguaje de manejo de datos: El DML (Data Managment Lenguage) es el que permite a los usuarios manejar o tener acceso a la base de datos. Permite recuperar, insertar o eliminar la información contenida. Existen dos tipos:
- Sin procedimiento: donde se indican que datos se necesitan pero no como. SQL y de alto nivel.
- Con procedimiento: donde se indican que datos se necesitan y la forma como se necesitan. De bajo nivel.
Además debe tener la capacidad de entender los mensajes con que contesta el DBMS
La parte del DML que permite recuperar la información se llama lenguaje de consulta (que no es el mismo manejador de datos), este lenguaje no es algorítmico, con este las consultas se pueden hacer desde una terminal en forma interactiva o inmerso dentro de un lenguaje de alto nivel.
Los lenguajes de 4a. Generación permiten la generación de reportes, visualización de gráficos o procesos de la base de datos de forma fácil y rápida.
Lenguajes de Programación: Estos son programas que pueden ser empleados por los programadores, algunos lenguajes de tercera generación tiene la capacidad de entrar a interactuar con bases de datos.
CLASIFICACION DE LOS DBMS (DATA BASE MANAGEMENT SYSTEM)
La forma o vista externa con que se presentan los datos al usuario en la mayoría de los sistemas actuales es idéntica o muy semejante a la vista conceptual.
La estructura lógica, en el ámbito conceptual o externo, es la base para la clasificación de los DBMS en las cuatro categorías siguientes: jerárquica, red, relacional y orientada a objetos.
Cualquier categoría debe permitir un acceso aleatorio a los datos requeridos, utilizando para tal fin una estructura de datos: redes, árboles, tablas o listas enlazadas.
Cada DBMS está diseñado para manejar un tipo de estructura lógica. No se pueden procesar programas diseñados para otro DBMS.
ENFOQUE JERÁRQUICO
La base de datos jerárquica consta de muchos registros. Cada nodo representa un tipo de registro conceptual o un segmento. Cada registro o segmento está constituido por un cierto número de campos que lo describen.
Cada rama representa una relación uno a muchos. Un cliente del banco puede tener muchos movimientos en su cuenta. En este caso 'muchos' significa cero, uno o más de uno.
ENFOQUE DE RED
Para representar este tipo de relación, es necesario que los dos tipos de registro estén interconectados por medio de un registro conector llamado conjunto conector.
ENFOQUE RELACIONAL
Un DBMS de enfoque relacional utiliza tablas bidimensionales llamadas relaciones para la representación lógica de los datos y las relaciones entre ellos.
Si las consultas sobre claves múltiples en el enfoque jerárquico se conseguían mediante relaciones padre-hijo, en el enfoque en red mediante conjuntos, para el enfoque relacional, la relación uno a muchos entre el registro padre de un archivo y los registros hijos de otro archivo de la base de datos relacional se consigue mediante la utilización de campos de conexión, es decir, insertando el valor de la clave principal del registro padre en cada una de los registros hijos, consiguiendo relaciones parecidas al enfoque en red.
Hay características propias del enfoque relacional que no se presentan en los otros dos enfoques:
- La facilidad para su representación lógica, al realizarse mediante tablas separadas y no presentarse ningún tipo de jerarquía.
- La posibilidad de recuperar una tabla o un grupo de registros mediante una proposición del DML, sin necesidad de acceder a otras relaciones. Su modo de operación no está orientado a registros sino sobre la tabla como conjunto.
- Se puede acceder a datos de cualquier columna de la tabla o filas de una o más relaciones.
Requisitos que han de cumplir las tablas en las bases de datos relacionales:
- La tabla puede tener solo un tipo de registro.
- Cada registro posee un número determinado de campos, cada uno de ellos con su nombre correspondiente. La base de datos tendrá muchas tablas.
- Dentro de cada tabla, cada campo es distinto.
- Cada registro de una tabla es único; no hay registros duplicados.
- Los registros dentro de cada tabla no tienen una secuencia determinada.
- Se pueden crear nuevas tablas relacionando campos procedentes de dos o más tablas existentes.
ENFOQUE ORIENTADO A OBJETOS
En los últimos años la tecnología de diseño de las bases de datos se ha aplicado a terrenos ajenos al campo del procesamiento de datos, que en general carecen de al menos una de las características siguientes:
· Uniformidad.
· Orientación a registros.
· Elementos de datos de pequeño tamaño.
· Campos atómicos.
Las nuevas aplicaciones incluyen estas nuevas características:
· Diseño asistido por computadora (CAD, Computer - Aided Desing).
· Ingeniería de software asistida por computadora (CASE, Computer- Aided Software Engineering).
· Bases de datos multimedia.
· Sistemas de información para oficinas (SIO).
· Bases de datos de hipertexto.
Estas nuevas aplicaciones de las bases de datos no se consideraban en los años setenta, cuando se diseñaron inicialmente la mayor parte de los sistemas comerciales de base de datos. Ahora son posibles debido al incremento de memoria principal y de tamaño de los discos, al aumento de la velocidad de las unidades centrales de procesamiento, al menor costo del hardware y a la mejor comprensión de la gestión de las bases de datos obtenidos en los últimos años.
El modelo relacional y los modelos relacionales entre entidades no resultan suficientes para modelar las necesidades de datos de estas aplicaciones nuevas. Además, hasta las necesidades de modelado de las aplicaciones comerciales tradicionales se han hecho más complejas con el paso del tiempo, y resulta difícil expresar algunas de estas necesidades en el modelo relacional, como por ejemplo, imágenes y base de datos de hipertexto.
USUARIOS DE UN SISTEMA MANEJADOR DE DATOS
- Personal del DBA
- Usuarios Exporádicos
- Programadores de Aplicaciones
- Usuarios paramétricos
EL DICCIONARIO DE DATOS
DEFINICIÓN
Es una metabase, o una base de datos que contiene datos sobre los datos. Es una base de datos del sistema y puede ser accezada de igual forma como se accesa cualquier tabla en la base de datos.
CONTENIDO
Contiene todo sobre:
- Descripción externa, conceptual e interna de la base de datos.
- Descripción de los campos, registros y referencias cruzadas entre registros de diferentes archivos.
- Códigos de autorización y seguridad de los datos, definición de apodos.
- Esquemas externos de los programas, los usuarios y sus autorizaciones.
No hay comentarios:
Publicar un comentario