Lectura 1 - Introduccion A Las BD

martes, 20 de enero de 2009

INTRODUCCIÓN

En el presente resumen se muestra una introducción a lo que son las bases de datos desde sus inicios a mediados de los años sesentas hasta la época actual, desde el porque del surgimiento de estas, pasando por las propiedades que fueron evolucionando conforme el avance del software, y además estos deben cumplir con ciertas características para ser reconocidas como tales, así como la visión que se tiene de los datos que las conforman.
Se van a dar a conocer los diversos tipos de usuarios que intervienen o pueden intervenir en las bases de datos, como lo son: los usuarios terminales, los técnicos, los especializados y los críticos. Las bases de datos fueron creadas para tener un acceso mucho más rápido, llevar un mejor control de nuestra información y para eliminar la redundancia entre los datos. Con estas se pueden agilizar procesos como la consulta, modificación o cancelación de datos.
Así como también se hace mención de lo que es la granularidad y las ligaduras, las cuales son parte importante en una base de datos, al mismo tiempo que el Sistemas de Gestión de Base de Datos el cual consta de 7 importantes componentes que mencionaremos de forma breve: el Lenguaje de Definición de Datos, el Lenguaje de Definición del Almacenamiento de los Datos, el Lenguaje de Manipulación de Datos, el Diccionario de Datos, el Gestor de la Base de Datos, el Administrador de la Base de Datos y los Usuarios de la Base de Datos.
Cada uno de los temas que en este resumen se exponen es parte fundamental para el aprendizaje en cuanto a base de datos.

INTRODUCCIÓN A LAS BASES DE DATOS

El término de Bases de Datos apareció a mediados de los años sesenta, cuando la información era representada como un conjunto de archivos planos, esto es, que los archivos no estaban relacionados entre sí.
Muchos desarrolladores de software llamaban a sus sistemas Bases de Datos, sin preocuparse de que cumplieran o no una serie de propiedades.
Para que se denomine a una Base de Datos como tal, debe satisfacer una serie de propiedades, las cuales fueron incorporándose a estos sistemas a medida que el software para la administración de la información que se desarrolló fue siendo más eficaz.
Los procedimientos y estructuras para el almacenamiento y mantenimiento de la información han evolucionado a medida que lo ha hecho la tecnología.
Por ejemplo, los sistemas son dinámicos, los requisitos cambian con el tiempo, la información a ser tratada en cada problema también cambia y, por tanto, es necesario, de alguna manera, independizar la estructura de la información de los procedimientos encargados de su tratamiento (si no se estaría abocado a la dedicación de una gran cantidad de esfuerzo a la modificación de todos aquellos procedimientos encargados del mantenimiento de la información).
Esta independencia de la información con respecto a los procedimientos que la maneja debe satisfacerse a dos niveles de abstracción para que sea efectiva; por tanto, se habla de:
* Independencia lógica de los datos, por la que la modificación de la representación lógica general del dominio del problema no afecta a los programas de aplicación que la manipulan, cuando esta no elimine ninguno de los ítems de datos que estos programas requieran.
* Independencia física de los datos, aquí la distribución de los datos en las unidades de almacenamiento y la estructura física de la información almacenada es independiente de los cambios de la estructura lógica general de la información, por tanto, de los procedimientos que manejan la misma.

1.1. CARACTERÍSTICAS DE LAS BASES DE DATOS

Una base de datos para ser considerada como tal debe cumplir una serie de características, las cuales se describirán a continuación:
Versatilidad para la representación de la información: Si bien la información que forma parte del dominio de un problema es única y caracteriza a ese problema o sistema, pueden existir diferentes visiones de esa información. Visiones parciales en las que sólo se tiene en cuenta parte del dominio del problema y/o visiones globales que observan el problema desde diferentes puntos de vista.
Por ejemplo, Si se considera que un procedimiento “ve” la información que maneja como un registro, la organización de la información en la base de datos debe permitir que diferentes procedimientos puedan construir diferentes registros a partir de la información existente en la base de datos.

* Desempeño: Tiempo de respuesta adecuado en la comunicación hombre-máquina, permitiendo el acceso simultáneo al mismo o distinto conjunto de ítems de datos por el mismo o distinto procedimiento.

* Mínima redundancia: Una de las principales razones por las que surgieron las bases de datos fue el evitar la alta redundancia que se presentaba en los sistemas de procesamiento de la información debido al uso de archivos con estructuras planas, cabe destacar que las bases de datos no evitan totalmente la redundancia. Esta implica la existencia de varias copias de un mismo ítem de datos, hay que tener en cuenta que esta duplicación implica unas necesidades de almacenamiento innecesarias.
Un objetivo principal de las bases de datos es eliminar la redundancia. Es necesario establecer procedimientos que garanticen la consistencia de la información cuando estas copias sean utilizadas por diferentes procedimientos al mismo tiempo. Por otro lado, si sólo existe una copia de un ítem de datos es necesario establecer procedimientos que permitan el acceso a esta copia por varios procedimientos, para garantizar un desempeño aceptable, lo que complica el software de gestión y la representación del dominio del problema en la base de datos. El diseñador de la base de datos debe adoptar una solución de compromiso, aunque siempre con el objetivo de que exista una redundancia mínima en la base de datos.
Capacidad de acceso: Una base de datos debe ser capaz de responder, en un tiempo aceptable, a cualquier consulta sobre la información que mantiene, sin restricciones graves en cuanto a los ítems, relaciones, formato, etc., solicitados en la misma, y respondiendo al usuario rápidamente. Esta característica va a depender directamente de la organización física de los datos en la base de datos. De nuevo una solución de compromiso deberá ser adoptada por el diseñador de la misma. Una organización física muy completa garantiza una respuesta rápida a las consultas, aunque requiere un mayor coste computacional en actualizaciones y viceversa.

* Simplicidad: Las bases de datos deben estar basadas en representaciones lógicas simples que permitan la verificación en la representación del problema que representan y, más aún, la modificación de los requisitos en el mismo, de tal forma que la inclusión y/o modificación de nuevos ítems de datos y relaciones no ocasione una complejidad excesiva.

* Integridad: Hace referencia a la veracidad de los datos almacenados con respecto a la información existente en el dominio del problema que trata la misma. Como los datos de la base de datos son manejados por muchos usuarios haciendo uso de muchos procedimientos que tratan los mismos datos de muchas formas, es necesario garantizar que estos datos no sean destruidos ni modificados de forma anómala (naturalmente, este control debe tenerse en cuenta tanto con el valor de los ítems de datos como de las relaciones existentes entre ellos). Durante el procesamiento se pueden producir fallos de muy diversa naturaleza: errores del sistema general, del hardware, software, etc. Así mismo, los procedimientos que maneja la información. Además debe garantizarse la integridad de la base de datos con respecto a este tipo de fallos.

* Seguridad y Privacidad: La seguridad de una base de datos hace referencia a la capacidad de ésta para proteger los datos contra su pérdida total o parcial por fallos del sistema o por accesos accidentales o intencionados a los mismos. Mientras que la privacidad de una base de datos hace referencia a la reserva de la información de la misma a personas no autorizadas.
Para conseguir estas características, una base de datos debe satisfacer, los siguientes requisitos.
v Seguridad contra la destrucción de los datos causada por el entorno: fuego, robo, inundaciones, y cualquier otra forma.
v Seguridad contra la destrucción de los datos causada por fallos del sistema (hardware y software), de forma que los datos puedan reconstruirse.
v Seguridad contra accesos no autorizados a la base de datos.
v Seguridad contra accesos indebidos a los datos.

* Afinación: Hace referencia a la organización física de la información de la base de datos, la cual determina directamente el tiempo de respuesta de los procedimientos que operan sobre la misma. Si una de las características que debe tener una base de datos es un buen desempeño, la organización física de los datos debe ser tal que ésta pueda ser alcanzada. Pero la base de datos evoluciona con el tiempo, el volumen de información va haciéndose cada vez más importante y, por añadidura, tanto los ítems de datos como las relaciones entre ellos pueden ampliarse y/o modificarse.
Por ello, la base de datos debe ser flexible a la modificación de esta organización física, lo que puede suponer además una migración de los datos según evoluciones la base de datos.

* Interfaz con el pasado y el futuro: Las necesidades de la organización cambian continuamente y, por lo tanto, cambia la información correspondiente al subsistema o dominio del problema de la misma. Una base de datos debe estar abierta a estos cambios de forma que no afecten, o afecten lo mínimo posible, a los procedimientos existentes para manejar la información que mantiene.
Por otro lado, una base de datos debe estar abierta a reconocer información organizada físicamente por otro software de distinta forma a la que utiliza la base de datos.

1.2. LAS DIFERENTES VISIONES DE LOS DATOS EN LAS BASES DE DATOS

El usuario no tiene necesidad de conocer cómo se organizan los datos físicamente en la base de datos.
El usuario experto o lego en informática, conoce las características del problema que representa la base de datos.
Dependiendo de quién acceda o use la base de datos, ésta debe presentarle una visión de los datos que sea capaz de reconocer, interpretar y manejar.
Se puede entonces hablar de que existen tres visiones de los datos en una base de datos:

* Visión externa: Es la visión de los datos que tienen los usuarios finales de una base de datos. Un usuario trata sólo una visión parcial de la información, sólo aquella que interviene en el dominio de actividad. Por otro lado, otro usuario verá también su registro particular de información cuyos ítems de datos podrán ser comunes, o no, al de otros registros particulares de otros usuarios.
* Visión conceptual: Es la visión o representación del problema tal y como se representa en el mundo real. En esta observación, en el análisis del problema, se determinan los objetos o entidades que intervienen en el mismo, las propiedades o características de estas entidades y las relaciones o dependencias que existen entre ellos. La visión conceptual de una base de datos es una representación abstracta del problema e independiente, no cambia a no ser que cambie la naturaleza del problema.
* Visión física: Representación de cómo la información es almacenada en los dispositivos de almacenamiento, describe las estructuras u organizaciones físicas, dispositivos, volúmenes, archivos, tipos de datos, punteros, etc. Estructuras que representan el dominio del problema de una forma entendible por el sistema informático.
Como el dominio del problema que representa una base de datos es el mismo, entonces estas tres formas de descripción son, en realidad, tres niveles de abstracción diferentes que describen un mismo problema.
En cada nivel se describen aquellos objetos de interés que pueden ser entendidos por los usuarios, de ese nivel, de la base de datos. El usuario final sólo entiende de registros o formas de comunicación similares a los documentos externos. Mientras que el diseñador o analista de sistemas entiende de tipos de entidades o clases de objetos que intervienen en el dominio del problema que la organización desea que trate mediante una base de datos, de las relaciones existentes y de los procedimientos para la solución del problema, por otro lado, es el administrador de la base de datos el encargado de describir el nivel físico para determinar aquella organización física que pueda garantizar el desempeño óptimo del sistema.
La descripción de los datos a estos tres niveles, garantiza (no del todo) la independencia de los datos. Es decir:
- Que pueda ser modificada la organización física de los datos sin que cambie la descripción conceptual, y sin que tengan que ser modificados los programas de aplicación que manipula esta información.
- Que pueda ser modificada la representación conceptual del problema que está siendo representado en la base de datos, sin que por ello tenga que ser modificada la estructura física de la información, ni los programas de aplicación siempre y cuando no se eliminen de la representación conceptual objetos necesarios o requeridos en estos otros niveles.
- Las visiones externas pueden cambiar conforme nuevos requisitos son incorporados al dominio del problema y sin que por ello deba ser modificada ninguna de las descripciones de los datos a ninguno de los restantes niveles de abstracción.
Puede conseguirse una buena independencia de los datos si:
- La representación interna de los datos no es una traducción dependiente de la representación conceptual. Serán los requisitos funcionales y de desempeño los que determinen esta representación.
- La estructura de los registros debe ser independiente de cómo los ítems han sido representados en el nivel conceptual y de las relaciones que mantienen en el mismo.

1.2.1. INDEPENDENCIA DEL NIVEL DE DESCRIPCIÓN CONCEPTUAL

Describe el sistema de la organización, o aquella parte del sistema, el dominio del problema, que se desea tratar describirá todas y cada una de las entidades o clases de objetos que intervienen en el problema, sus propiedades y atributos, así como las características de las relaciones entre las mismas.
Se puede hacer una descripción severa de un problema utilizando técnicas como los diagramas de estructuras, de contexto, tablas de cualquier tipo, diagramas de entidades y relaciones, árboles, tablas, redes, etc. Y, sin embargo no todos los procedimientos son capaces de interpretar cualquier clase de representación conceptual.
Se puede hablar de un cuarto nivel de abstracción en la representación de la información en una base de datos. El nivel lógico o canónico.
La representación canónica es dependiente de la forma, mecanismos, o procedimientos por los cuales la información correspondiente al problema va a ser manipulada. Es derivada de la descripción conceptual. La inclusión de este nuevo nivel va a garantizar la independencia de la información en una base de datos.

1.2.2. GRANULARIDAD Y LIGADURA

Si bien es posible la descripción de los datos a niveles de abstracción diferentes para que se garantice la independencia de la información con respecto a los procedimientos que la manipulan a cualquiera de los niveles (externo e interno).
Si la descripción externa debe ser derivada de la descripción lógica, el nivel de detalle de la descripción lógica limitará, por tanto, la independencia por la cual pueden ser las descripciones externas derivadas.
Al nivel de detalle en que pueden ser descritas las representaciones externas derivadas de la representación lógica se le denomina Granularidad. A mayor granularidad de una representación externa (menor información a considerar) mayor será la independencia, y viceversa. Es decir, una representación externa será más independiente de la representación lógica si pueden construirse registros en base a ítems de datos en lugar de en base a agregados de datos o en base a entidades definidas o existentes en la representación lógica. Una mayor granularidad proporciona una mayor independencia, pero al mismo tiempo una mayor complejidad en el software utilizado.
Para garantizar la integridad de la base de datos es necesario que en algún instante esos procedimientos que manipulas las representaciones a un determinado nivel de abstracción tengan en cuenta cómo se representa la información en los otros niveles. En ese instante las diferentes representaciones de los datos se vinculan entre sí y, por tanto, la independencia entre ellas se pierde. A este proceso de vinculación de las diferentes representaciones de la información en la base de datos se le denomina ligadura, y ésta es de dos tipos:
* Ligadura lógica.
* Ligadura física.
El proceso de vinculación entre las distintas representaciones puede realizarse en cualquiera de las siguientes fases: Compilación, enganche, ejecución y acceso a la base de datos.
La independencia de los datos será mayor cuanto más tardía se realice la ligadura. Así aquellos sistemas que realicen la ligadura en la fase de acceso a los datos mantendrán esta independencia hasta el último momento y sólo vincularan aquellos datos a los que se pueda acceder y se vean involucrados en cada uno de los accesos.


1.3 BASES DE DATOS Y SISTEMAS DE GESTIÓN DE BASES DE DATOS

Una base de datos es una colección de archivos relacionados que almacenan tanto una representación abstracta del dominio de un problema del mundo real cuyo manejo resulta de interés para una organización, como los datos correspondientes a la información acerca del mismo. Tanto la representación como los datos están sujetos a una serie de restricciones, las cuales forman parte del dominio del problema y cuya descripción está también almacenada en esos archivos.
Para que la información pueda ser almacenada como se ha descrito y el acceso a la misma satisfaga las características exigidas a una base de datos para ser denominada como tal, es necesario que exista una serie de procedimientos (un sistema software) que sea capaz de llevar a cabo tal labor. A este sistema software es a lo que se le denomina Sistema de Gestión de Bases de Datos.
Así, un SGBD es una colección de programas de aplicación que proporcionan al usuario de la base de datos los medios necesarios para realizar las siguientes tareas:
* Definición de los datos a los distintos niveles de abstracción (físico, lógico y externo).
* Manipulación de los datos en la base de datos. Es decir, la inserción, modificación, borrado y acceso o consulta a los mismos.
* Mantenimiento de la integridad de la base de datos. Integridad en cuanto a los datos en sí, sus valores y las relaciones entre ellos.
* Control de la privacidad y seguridad de los datos en la base de datos.
* Los medios necesarios para el establecimiento de todas aquellas características exigibles a una base de datos.

1.4. COMPONENTES DE LOS SGBD

Es necesario que el SGBD cuente con una serie de componentes cuya función sea el desarrollo de las mismas de forma que satisfaga los requisitos impuestos para estos sistemas.

1.4.1. EL LENGUAJE DE DEFINICIÓN DE DATOS

El lenguaje de definición de los datos -Data Definition Language (DDL)- es un lenguaje artificial basado en un determinado modelo de datos que permite la representación lógica de los datos.
La representación de los datos obtenida en este proceso de compilación es almacenada en otro componente de SGBD denominado Diccionario de Datos
.

1.4.2. EL LENGUAJE DE DEFINICIÓN DEL ALMACENAMIENTO DE LOS DATOS

En la mayoría de los SGBD el mismo lenguaje DDL permite la definición de los datos en el nivel de representación físico, si bien en otros es un subcomponente de éste denominado lenguaje de definición del almacenamiento de los datos –Data Storage Definition Language-, se definen los datos correspondientes al dominio de un problema a los dos niveles de abstracción, y a esta definición de los datos se le denomina Esquema de la Base de Datos.
El esquema de la base de datos es una representación de los datos correspondientes al dominio de un problema mediante un lenguaje de definición de datos, el cual está basado en un modelo de datos.

Las características del problema a un nivel de descripción lógico o intencional.
~ Cada una de las clases de objetos, y sus propiedades, que formen parte del dominio del problema o sistema que se desea tratar con el SGBD.
~ Cada una de las relaciones, y sus propiedades, existentes entre estas clases de objetos.
~ Todas aquellas restricciones concernientes tanto a las clases de objetos y sus propiedades como a las relaciones entre ellos.
Las características del problema desde un punto de vista físico u operacional.
~ Las unidades físicas en las cuales los datos van a ser almacenados.
~ Los volúmenes y archivos utilizados.
~ Las características físicas y lógicas de los medios de almacenamiento y métodos de acceso a la información: clusters, bloques, índices, tablas hash, etc.
El DDL cuenta con un sublenguaje encargado del control y seguridad de los datos, el cual se denomina lenguaje de control de datos –Data Control Language (DCL)- y permite el control del acceso a la información almacenada en el diccionario de datos.

1.4.3. EL LENGUAJE DE MANIPULACIÓN DE DATOS

Otro componente esencial de los SGBD es el lenguaje de manipulación de los datos –Data Manipulation Language (DML)-. El DML es un lenguaje artificial mediante el cual se realizan dos funciones bien diferentes en la gestión de los datos:
1.- La definición del nivel externo o de usuario de los datos.
2.- La manipulación de los datos; es decir, la inserción, borrado, modificación y recuperación de los datos almacenados en la base de datos.

1.4.4. EL DICCIONARIO DE DATOS

El diccionario de datos es un conjunto de archivos que contienen información acerca de los datos que pueden ser almacenados en la base de datos. Ahí se almacenan todas las definiciones realizadas por el DDL sobre el problema que va a ser tratado por el SGBD y, algunas de las realizadas por el DML. Así, en el diccionario de datos se encuentra almacenado:
El esquema lógico de la base de datos.
El esquema físico de la base de datos.
Los subesquemas de la base de datos.
Es decir, la representación de los datos a los tres niveles de abstracción. Pero además, en el diccionario de datos se encuentra mucha más información almacenada; información correspondiente con:
Las restricciones de privacidad y acceso a los datos almacenados en la base de datos.
v Las reglas, normas o restricciones referentes a la seguridad de los datos.
v Otra serie de información que permite garantizar la integridad de los datos almacenados en la base de datos.
Como existen tres niveles de representación de los datos, existirán:
* Una serie de reglas para definir la correspondencia entre las representaciones física y canónica de los datos.
* Una serie de reglas para definir la correspondencia entre la representación canónica de los datos y cada una de las representaciones externas de los mismos.


1.4.5. EL GESTOR DE LA BASE DE DATOS

El gestor de la base de datos, a veces denominado monitor, es un componente software encargado de garantizar el correcto, seguro, íntegro y eficiente acceso y almacenamiento de los datos. Este componente es el encargado de proporcionar una interfaz entre los datos almacenados y lo programas de aplicación que los manejan.
El que este componente realice sus funciones asignadas correctamente dependerá de muchos factores, entre los que se pueden citar: el volumen de la base de datos, las estructuras físicas definidas para el almacenamiento de los mismos, los procedimientos desarrollados para la manipulación de los datos, las características del hardware y la calidad del propio gestor.
Puede verse al gestor de la base de datos como un intérprete entre el usuario y los datos.

1.4.6. EL ADMINISTRADOR DE LA BASE DE DATOS

Data Base Administrator- (DBA) es un componente humano de suma importancia en el resultado que el uso de las bases de datos va a tener en la resolución de un determinado problema. El DBA tiene una serie de responsabilidades en cuanto a la definición, administración, seguridad, privacidad e integridad de la información que es tratada, así como en el desempeño del SGBD en el procesamiento de la misma.

1.4.7. LOS USUARIOS DE LA BASE DE DATOS

En un sistema de gestión de bases de datos existen muchos tipos de usuarios que acceden e interaccionan con el mismo, por lo que se pueden considerar los siguientes:

Usuarios terminales: Aquellos que a través de programas de aplicación, interaccionan con la base de datos. Son usuarios no especializados que tienen la visión del problema que les proporcionan las visiones externas que utilizan los programas de aplicación.
Usuarios técnicos: Desarrollan los programas de aplicación que van a ser utilizados por los usuarios terminales de la base de datos. Haciendo uso de lenguajes de programación, preparan procedimientos que son invocados o llamados desde una interfaz orientada al usuario para realizar las operaciones necesarias en la gestión del problema.
Usuarios críticos: Estos usuarios requieren información de la base de datos en un formato detalle. Se trata de aquellos usuarios gerenciales o pertenecientes al staff de las empresas en las cuales se ha instalado la base de datos, los cuales, en base a expectativas de gestión, administración, mercado, marketing o simplemente por interés personal, realizan consultas no previstas sobre la información almacenada en la base de datos.
Las interacciones de estos usuarios contra la base de datos pueden realizarse sin que los usuarios técnicos tengan que estar preparándoles continuamente procedimientos nuevos, y de un corto tiempo de vida, para la realización de las mismas.

CONCLUSIÓN

Luego de haber terminado nuestro resumen sobre la introducción a las bases de datos, podemos decir que fueron algunos los conocimientos adquiridos y otros los recordados durante dicha elaboración.

Comenzamos concluyendo que en realidad fue un gran avance el que se dio en las Bases de datos, pues aun para que estas puedan ser confiables deben cumplir con ciertas características, solo es cuestión de imaginar lo difícil que era obtener información de estas cuando solo eran archivos planos sin relación entre sí.

Por otro lado, Parte de los aspectos que aprendimos y que son de gran importancia son: la definición, visión y características de una base de datos. Gracias a estos podemos concluir que una base de datos es una colección de datos o información usados para dar servicios a muchas aplicaciones al mismo tiempo.

Otros aspectos que son importantes destacar son: el sistema de gestión de base de datos sus componentes y la función de cada una, además que aprendimos a distinguir entre los diferentes tipos de usuarios que interactúan con las bases de datos, y la función que un Administrador de base de datos se encarga de llevar a cabo, ya que este tiene grandes responsabilidades en cuanto a la definición, seguridad, privacidad, etc. Y es pieza clave en el tema de bases de datos.

BIBLIOGRAFIA

Bases de Datos desde Chen hasta Codd con ORACLE
Luque, Irene; Gómez, Miguel; López, Enrique; Cerruela, Gonzalo
Alfaomega. 2002
Págs. 1 - 22

0 Comments: