El documento introduce los fundamentos de las bases de datos y los sistemas de administración de bases de datos. Explica que las bases de datos permiten almacenar grandes volúmenes de datos de forma integrada y relacionada para su uso eficiente por múltiples usuarios y aplicaciones, evitando la duplicación de datos y otros problemas de los sistemas basados en archivos. También define una base de datos como una colección integrada de datos relacionados y describe las ventajas del uso de sistemas de administración de bases de datos.
1. FUNDAMENTOS DE BASES DE DATOS
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:
2. 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 específica. 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.
3. ¿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.
4. 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:
5. • La separación y aislamiento de los datos y los programas
o 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.
o 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.
o Los mismos datos se utilizan en diferentes programas.
o 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
o 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
o 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
o Los programas están escritos para satisfacer las funciones particulares de un programa,
sin saber si existe un programa equivalente en otro sistema.
o 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
6. 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,
7. 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.
8. 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
9. 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
10. 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.