sábado, 1 de octubre de 2011

CONCEPTOS SOBRE BASES DE DATOS

Jhorge Oneth Ibarguen Moreno



Fundamentos de Bases de Datos
Unidad Didáctica 1: Introducción a las Bases de Datos y a los Sistemas de Administración de Bases de Datos
1.1 ¿Por qué usar una Base de Datos?
El área de bases de datos ha sido muy importante dentro de la Ciencia de la Computación y más recientemente como parte esencial de las Tecnologías de Información. Al decir que el mundo vive en la era de la información, lo primero que se viene a la mente es el lugar donde se almacenan los datos requeridos para producir información, las Bases de Datos. Este término, también,  ha pasado de ser un término técnico a ser un término de uso diario en cualquier ámbito de trabajo en la vida diaria: la escuela, la casa, la oficina. Debido a todo lo anterior, es necesario el poder aclarar primero estos términos, y contestar las preguntas: ¿Qué es una Base de Datos? ¿Qué es un Sistema de Administración de Base de Datos? ¿Qué Tecnología existía antes de la aparición de las Bases de Datos? Qué ventajas y beneficios ofrecen las Bases de Datos y sus Sistemas de Administración comparados con las tecnologías anteriores?.
Este primer módulo le permitirá introducirse al área de Bases de Datos y sus Sistemas asociados, permitiéndole rápidamente conocer todos sus términos y conceptos. Se presentarán todos los términos necesarios para comprender y aprovechar esta Tecnología. El modulo termina con la presentación de ejemplos de diferentes Bases de Datos, que le permitirán entender y a la vez diferenciar la manera en la cual la tecnología de Bases de Datos se aplica en casos de la vida real.  
El propósito de una Base de Datos es:
… ayudar a la gente y a las organizaciones a llevar un registro de las cosas, de aquellos objetos acerca de los cuales les interesa guardar datos. Estos datos son los que permitirán generar información de esas cosas u objetos. Para comprender por qué es importante este almacenamiento de datos, se puede primero analizar qué problemas se presentan cuando se utilizan sólo datos, sin la estructura que ofrece una Base de Datos:
         Al tener sistemas aislados, con diferentes medios en los cuales se almacena información, un mismo dato puede estar almacenado en diferentes lugares.
         Al estar el mismo dato almacenado en diferentes lugares, puede tener diferentes valores en esos diferentes lugares, lo que puede provocar inconsistencias, si no se logra tener esas copias con la información consistente.
         La privacidad de datos se ve afectada, debido a que los departamentos necesitan compartir datos, pero no todos los que custodian, solo los que consideran pueden compartir, creando problemas al no contar con todo lo que necesitan, aunque la empresa pueda tenerlos disponibles.
En la siguiente figura se observa que los sistemas en base a archivos manejan archivos separados, provocando los problemas de redundancia antes mencionados:


En contraste, las bases de datos almacenan los datos en tablas simples, donde cada una de ellas está definida para apoyar un tema o área especifica. Esto permite mantener una definición sencilla, y un uso sencillo de la tabla, en consecuencia. Las tablas poseen una estructura que permite relacionarlas fácilmente entre sí, a través del uso de llaves, o campos comunes, que permiten una navegación sencilla y natural a través de ellas, siempre y cuando su diseño sea el correcto.
En la siguiente figura se muestra lo que es una arquitectura de base de datos, donde se observa que los datos son independientes de los programas que los utilizan, lo que ofrece beneficios al eliminar los problemas de redundancia.




 


¿Cuándo se requiere usar un sistema de Administración de Bases de Datos?


Las ventajas de utilizar una Base de Datos, a través del software de administración, se puede entender claramente en los siguientes casos:
1.    Una base de datos permite almacenar grandes volúmenes de datos, con un mínimo de datos duplicados. Esto permite tener un acceso rápido y eficiente a los mismos, cuando se requiere obtener información a partir de ellos. Al estar almacenados en un lugar común, es factible aplicar reglas de integridad, que permite validar su consistencia.
2.    La información almacenada en una base de datos se integra eficientemente, y no posee limitaciones impuestas por la organización de la empresa. Esta integración permite que los datos seas usados eficientemente, y con un mínimo de problemas de integridad, por diferentes usuarios y departamentos en toda la organización. Esto le ofrece como beneficio a un administrador tener acceso a datos a los cuales antes no tenía acceso, por estar almacenados en diferentes medios y sistemas.
3.    Un beneficio muy importante se asocia a la calidad en los servicios de datos. La base de datos permite tener una durabilidad y permanencia de los datos que no es cuestionable. Otro aspecto relacionado a esta ventaja es que las transacciones que se ejecutan directamente sobre la base de datos quedan registradas permanentemente, lo que permite su acceso posterior, para cualquier consulta, o para la protección ante cualquier falla del sistema.
4.    En teoría, una base de datos dura indefinidamente, hasta que se decide guardarla en un ambiente fuera del uso directo de un sistema, o se decide borrarla definitivamente.
5.    La durabilidad de una base de datos permite la recuperación de los datos a un estado estable, antes de ocurrir la falla. Esto da la seguridad necesaria para ofrecer datos confiables a cualquier sistema de misión crítica de una empresa, como sería el sistema en línea de ventas, o en general, cualquier sistema en línea, tal como los que forman un negocio basado en Internet.
6.    Un Sistema de Administración de Bases de Datos permite compartir los datos de una Base de Datos sencilla y eficientemente, a una comunidad de usuarios diferentes. Las vistas son el medio que el software de administración de base de datos ofrece para que un grupo de usuarios tenga acceso solo a la porción de la base de datos a la cual ellos tienen derecho de acceso. De la misma forma, para un equipo de desarrollo de una aplicación, una vista le permite el acceso a solo los datos que tienen derecho, de acuerdo a los requerimientos que el sistema bajo desarrollo debe resolver.
7.    El acceso concurrente a los datos es otra de las ventajas. Este acceso permite que diferentes usuarios, a través de sus aplicaciones, accedan a los datos, mezclando sus operaciones, con la seguridad que las mismas serán ejecutadas de tal forma que no se afecten negativamente entre sí. Esta es una condición indispensable para el uso de una base de datos desde Internet. viene el acceso no autorizado a la base de datos, los mensajes se encriptan de tal forma que es casi imposible decodificarlos.  Con esto se ofrece un ambiente seguro, que permite trabajar de manera confiable con la base de datos.

1.2 ¿Qué es una base de datos?
Manejo de Datos en Base a Archivos
El manejo de información en computadoras se remonta a los años 60’s, cuando se inicia el uso masivo de las computadoras. La creación de sistemas que manejaron los datos de áreas de negocios fue muy intuitiva, siendo una gran responsabilidad de los desarrolladores de los mismos. La tecnología disponible en esos primeros años del uso de las computadoras, no permitió el manejo de los datos de una manera muy formal y eficiente. De ese manejo inicial de los datos, se definió lo que hoy se conoce como el manejo de datos en base a archivos.
 Sistemas en Base a Archivos.
Se caracterizaron por el manejo de los datos en función de la aplicación y del área a la que apoyaban, asi como del personal que desarrolló esos sistemas.
Se definen como: “colección de programas de aplicación que ofrecen servicios para sus usuarios finales”.  El servicio más común era la generación de reportes para esos usuarios.
Un característica esencial de esos sistemas era el que cada programa (por lo tanto cada sistema) definía y manejaba sus propios datos. Esta característica dio oportunidad a que se presentara su principal debilidad, la redundancia de los datos, y por consecuencia, la posible fuente de inconsistencias.
Un sistema en base a archivos se observa en la siguiente figura:


Limitaciones del Enfoque para el Manejo de Datos en Base a Archivos
El manejo de los datos en base a archivos presenta limitaciones muy importantes, para el desarrollo rápido y eficiente de los mismos, así como en su operación. La operación de estos sistemas ofreció (y ofrece aún) limitaciones que provocan problemas en su implantación:
  • La separación y aislamiento de los datos y los programas
    • Cada programa mantiene su propio conjunto de datos a mantener y a utilizar. Esto provoca la creación de “islas”, donde los datos se manejan aislados, limitados en el uso a los sistemas que los definieron.
    • Los usuarios de un programa pueden no estar concientes de que los datos que usan en su programa, pudieran estar repetidos y estar siendo usados en  otros programas.
  • La duplicación de datos.
    • Los mismos datos se utilizan en diferentes programas.
    • Desperdicio del espacio de almacenamiento, y más importante aún, el poder consultar diferentes valores para el mismo dato, al estar este dato duplicado en diferentes programas, sin un control para su acceso.
  • Dependencia de datos
    • La estructura de los datos/archivos es definida de acuerdo a cada programa, por lo que si los programas se definen en diferentes lenguajes de programación, y por lo tanto en diferentes formatos, su integración es muy difícil.
  • Formatos de datos/archivos incompatibles
    • Los programas escritos en diferentes lenguajes no permiten el acceso a datos almacenados en formatos diferentes al lenguaje de un lenguaje particular.
  • La generación sin control de programas de aplicación y de programas de consultas
    • Los programas están escritos para satisfacer las funciones particulares de un programa, sin saber si existe un programa equivalente en otro sistema.
    • Cualquier nuevo requerimiento de un usuario, requiere del desarrollo de un nuevo programa.
 ¿Por qué aparecen las Bases de Datos?
Las bases de datos fueron la respuesta a la necesidad de atender las limitaciones y problemas que provocaron los sistemas en base a archivos.
La aparición de las bases de datos obedeció entonces a:
         De acuerdo a lo que los sistemas en base a archivos propusieron, los datos estaban completamente integrados a los programas de aplicación que los definieron, en lugar de estar definidos y almacenados en un lugar separado e independiente de los programas.
         No existía un control en el acceso a los datos, y a la manipulación de los mismos, más allá de los controles impuestos por los mismos programas de aplicación.
Como resultado de lo anterior, aparecieron las bases de datos, y el software definido para su uso, los sistemas de administración o gestión de bases de datos (Database Management System o DBMS).


¿Qué es una Base de Datos?
La Tecnología de Bases de Datos es hoy un elemento común en la mayoría de todas las aplicaciones de computadoras o tecnología de Información, sin importar el tipo de aplicación, o el giro de la compañía, sea un sistema financiero en un banco, un sistema de punto de venta en un supermercado, o un sistema de control de producción en una empresa manufacturera.  En todos los casos, elementos comunes de Tecnología de Información son tanto las Bases de Datos como los Sistemas de Administración de Bases de Datos requeridos.
La gente interactúa normalmente con Bases de Datos y sus tecnologías asociadas. Para dejar en claro estos términos y tecnologías, se definen a continuación, para aclarar los temas principales que se cubren en este curso. 
Datos
Antes de definir que es una Base de Datos es primordial entender que es un dato. Los datos son hechos, que sirven para describir a objetos, gente, o eventos. Son la materia prima utilizada para producir información.
Base de Datos
Para hablar de una definición de base de datos se debe primero entender algunos requerimientos que deben ser resueltos:
·         La necesidad de compartir datos, entre diferentes usuarios, y que los datos presenten una relación entre ellos, y que estén diseñados para cumplir las necesidades de información de la empresa, y de las diferentes partes que la forman.
·         Una definición de los datos integrada, que ofrezca una definición de los mismos, para poder tener la independencia requerida entre los datos de la empresa, y los programas de aplicación que los van a utilizar.
·         Se requiere de un modelo que represente los datos de la empresa, compuesta comúnmente por entidades, atributos, y relaciones.
Esto permite tener la primera definición de una base de datos:
Es una colección integrada, de datos relacionados. Dicho de otra forma: colección autodescrita de registros relacionados o tablas.  Algunos de sus componentes son:
         Datos del usuario
        La Metadata, o datos acerca de la estructura de la base de datos misma
         Indices y estructuras de datos relacionadas
         Procedimientos almacenados (Stored procedures), o programas o módulos almacenados dentro de la base de datos, y que sirven para su manipulación
         Triggers, o procedimientos que se ejecutan cuando ocurre un evento o actividad particular sobre la base de datos
         Metadata de aplicaciones, o datos que permiten describir las aplicaciones que se ejecutan sobre la base de datos
Dos características son esenciales en la definición de una Base de Datos:
  • Datos relacionados.
         Esta característica implica el que los datos representan hechos, relacionados lógicamente, acerca de aspectos del mundo real que son de interés para el área que apoya una aplicación.  Por ejemplo, los datos que se necesitan en una Base de Datos orientada al área de administración de una empresa, en la cual se manejan datos de: clientes, pedidos que los clientes realizan, los artículos que los pedidos incluyen, el surtido de los pedidos, la facturación a los clientes de sus pedidos entregados, los pagos que los clientes realizan sobre sus facturas, etc. Lo mismo se puede hacer para describir los datos que se manejan en el área de manufactura de una empresa.
  • Datos integrados.
         Esta característica implica que los datos para múltiples aplicaciones se almacenan juntos, y pueden ser manipulados de igual forma por dichas aplicaciones. Al estar almacenados juntos, los datos puedes compartirse, permitiendo que múltiples aplicaciones las utilicen, sin hablar de fronteras, que establecen normalmente barreras artificiales para este uso compartido. Un buen ejemplo es la información que se genera cuando un área de la empresa registra la información de una orden interna para la compra de un producto. Esta información es compartida y utilizada por el área interna de compras, que genera una orden de compra al proveedor, quien surte la orden que será recibida en el almacén, y cuya información comparte con contabilidad, que la requiere para sus registros. Las cuentas por pagar atienden las facturas de los proveedores, en base a la información de los pedidos entregados. Esto ejemplifica la necesidad y la facilidad para compartir estos datos. 
 Ventaja del enfoque de uso de una base de datos
Un beneficio muy importante asociado al uso de los bases de datos es:
·         El acceso controlado a los datos. Esto redunda en beneficios asociados por el uso de
o    Un sistema de seguridad, que permita el uso de la base de datos solo por el personal autorizado para el uso de la base de datos.
o    Un sistema de control de la integridad, que permita que los datos almacenados cumplan con las reglas de integridad definidas para los mismos, y que garanticen a su ves la integridad y consistencia de la base de datos
o    Un sistema de control de concurrencia., que permita la ejecución de transacciones concurrentes sobre la base de datos, sin perder la integridad de los datos almacenados.
o    Un sistema de recuperación, que permita que la base de datos sea restablecida a un estado correcto o válido de la base de datos, justo antes de que una falla interrumpiera su uso por parte de los programas de aplicación
o    Un mecanismo de vistas, que permita a los usuarios solo acceder a los datos que ellos necesitan usar.
De la discusión de los conceptos de bases de datos se desprende la importancia de hablar de un Sistemas de Administración Bases de Datos, por lo que se incluye este concepto, para su discusión a la luz del concepto de bases de datos. Este concepto será posteriormente presentado.
 Sistema de Administración de Base de Datos.
Un Sistema de Administración de Base de Datos, o DBMS, (por sus siglas en inglés, Database Management System) es de manera sencilla, software para la creación y administración de bases de datos, y sus sistemas asociados, en una computadora.
  • Las funciones principales de un DBMS son:
         La creación de bases de datos, sus tablas componentes, y las estructuras de apoyo asociadas
         Permitir la lectura y escritura de los datos almacenados en una base de datos
         Permitir el mantenimiento a las estructuras de una base de datos
         Forzar el cumplimiento de las reglas de integridad definidas para una base de datos
         Mantener el control de concurrencia a los datos, cuando se presenta la ejecución concurrente de transacciones a la base de datos
         Ofrecer los mecanismos de seguridad para el acceso a las bases de datos definidas y mantenidas en el DBMS
         Ofrecer las facilidades de respaldo y recuperación de las bases de datos, necesarias para garantizar la seguridad e integridad de las bases de datos manejadas por el DBMS
  • Ejemplos de DBMSs comerciales: Oracle, DB2, Microsoft Access, SQL Server
 Conclusiones:
El concepto de bases de datos es fundamental en el manejo de información en una aplicación de negocios. Su importancia no es cuestionable, si se analiza a la luz de los sistemas de información actuales, que requieren ser utilizados en un ambiente de operación basado en Internet.
El concepto de base de datos nace junto con la tecnología de software desarrollada para su definición, uso y administración, los sistemas de administración de bases de datos o DBMSs. Para poder hacer que las expectativas del uso de una base de datos se cumplan, es indispensable el contar con los DBMSs. Su importancia crece al integrar este software cada vez más y más funcionalidades, que le permiten al personal de desarrollo de aplicaciones, desarrollarlas de manera eficiente y rápida.
1.3 ¿Qué es un Sistema de Base de Datos y un Sistema de Administración de  Bases de Datos?

¿Cuál es el propósito de una Base de Datos
… ayudar a la gente y a las organizaciones a llevar un registro de las cosas, de aquellos objetos acerca de los cuales les interesa guardar datos. Estos datos son los que permitirán generar información de esas cosas u objetos. Para comprender por que es importante este almacenamiento de datos, se puede primero analizar que problemas se presenta cuando se utilizan solo datos sin la estructura que ofrece una Base de Datos:
         Al tener sistemas aislados, con diferentes medios en los cuales se almacena información, un mismo dato puede estar almacenado en diferentes lugares
         Al estar el mismo dato almacenado en diferentes lugares, puede tener diferentes valores en esos diferentes lugares, lo que puede provocar inconsistencias, si no se logra tener esas copias con la información consistente
         La privacidad de datos se ve afectada, debido a que los departamentos necesitan compartir datos, pero no todos los datos que tienen en su área, sino solo los que consideran pueden compartir, creando problemas al no compartirlos, o no contar con todo lo que necesitan, aunque la empresa pueda tenerlos disponibles.
En contraste, las bases de datos almacenan los datos en tablas simples, donde cada una de ellas está definida para apoyar un tema o área especifica. Esto permite mantener una definición sencilla, y un uso sencillo de la tabla, en consecuencia. Las tablas poseen una estructura que permite relacionarlas fácilmente entre si, a través del uso de llaves, o campos comunes, que permiten una navegación sencilla y natural a través de ellas, siempre y cuando su diseño sea el correcto.
Qué es un Sistema de Base de Datos y un Sistema de Administración de  Base de Datos
Estos términos darán finalmente la primera imagen para comprender mejor el contenido de este curso.
Un Sistema de Administración de Base de Datos (Database Management System, o DBMS, po rsus siglas en Inglés) es una colección de programas que permiten definir, planear, organizar y controlar el acceso y uso de una Base de Datos. Ofrece a sus usuarios las interfases requeridas para: crear, mantener y maniipular diferentes bases de datos., así como también para implantar sistemas de Bases de Datos, para diferentes aplicaciones dentro de la empresa.  Es un software entonces de propósito general.
  • Las funciones principales de un DBMS son:
         Crear una base de datos, sus tablas y estructuras de soporte
         Crear y actualizar los datos de una Base de Datos
         Mantener en operación las estructuras de una base de datos
         Forzar el cumplimiento de las reglas de integridad sobre los datos
         Control de concurrencia
         Seguridad de las Bases de Datos
         Ejecutar procesos de recuperación y respaldo sobre la Base de Datos
Un sistema de Base de Datos es software desarrollado para soportar las operaciones de una organización específica, o de un área específica dentro de una organización. .Un sistema de Base de Datos se compone de:
·         La base de datos desarrollada específicamente para la aplicación o área de negocio
·         EL DBMS que crea y mantiene la Base de Datos
·         El Software de aplicación que maneja la Base de Datos.

¿Cuándo se requiere usar un sistema de Administración de Bases de Datos?


Las ventajas de utilizar una Base de Datos, a través del software de administración, se puede entender claramente en los siguientes casos:

8.    Una base de datos permite almacenar grandes volúmenes de datos, con un mínimo de datos duplicados. Esto permite tener un acceso rápido y eficiente a los mismos, cuando se requiere obtener información a partir de ellos. Al estar almacenados en un lugar común, es factible aplicar reglas de integridad, que permite validad sus consistencia.
9.    La información almacenada en una base de Datos se integra eficientemente, y no posee limitaciones impuestas por la organización de la empresa. Esta integración permite que los datos seas usados eficientemente, y con un mínimo de problemas de integridad, por diferentes usuarios y departamentos en toda la organización. Esto le ofrece como beneficio a un administrador tener acceso a datos a los cuales antes no tenía acceso, por estar almacenados en diferentes medios y sistemas.
10. Un beneficio muy importante se asocia a la calidad en los servicios de datos. La base de datos permite tener una durabilidad y permanencia de los datos que no es cuestionable. Otro aspecto relacionado a esta ventaja es que las transacciones que se ejecutan directamente sobre la base de datos quedan registradas permanentemente, lo que permite su acceso posterior, para cualquier consulta, o para la protección ante cualquier falla del sistema.
11. En teoría, una base de datos dura indefinidamente, hasta que se decide guardarla en un ambiente fuera del uso directo de un sistema, o se decide borrarla definitivamente.
12. La durabilidad de una base de datos permite la recuperación de los datos a un estado estable, antes de ocurrir la falla. Esto da la seguridad necesaria para ofrecer datos confiables a cualquier sistema de misión crítica de una empresa, como sería el sistema en línea de ventas, o en  general, cualquier sistema en línea, tal como los que forman un negocio basado en Internet.
13. Un Sistema de Administración de Bases de Datos permite compartir los datos de una Base de Datos sencilla y eficientemente, a una comunidad de usuarios diferentes. Las vistas son el medio que el software de administración de base de datos ofrece para que un grupo de usuarios tenga acceso solo a la porción de la base de datos a la cual ellos tienen derecho de acceso. De la misma forma, para un equipo de desarrollo de una aplicación, una vista le permite el acceso a solo los datos que tienen derecho, de acuerdo a los requerimientos que el sistema bajo desarrollo debe resolver.
14. El acceso concurrente a los datos es otra de las ventajas. Este acceso permite que diferentes usuarios, a través de sus aplicaciones, accedan a los datos, mezclando sus operaciones, con la seguridad que las mismas serán ejecutadas de tal forma que no se afecten negativamente entre si. Esta es una condición indispensable para el uso de una base de datos desde Internet.
15. Finalmente, la seguridad. Este es un componente crítico en cualquier base de datos que puede ser accesada por Internet. Las técnicas de seguridad y métodos de acceso que una base de datos ofrece hoy soy de tal forma seguros que el uso es de tal forma natural para todos los que acceden directamente a la misma. Se previene el acceso no autorizado a la base de datos, los mensaje se encriptan de tal forma que es casi imposible decodificarlos.  Con esto se ofrece un ambiente seguro, que permite trabajar de manera confiable con la base de datos.





0 comentarios:

Publicar un comentario

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More