Está en la página 1de 18

UNIVERSIDAD NACIONAL AUTÓNOMA DE

MÉXICO

FACULTAD DE CONTADURÍA Y ADMINISTRACIÓN

Licenciatura En Informática

Bases de
Datos
Autor: L.I. María de Lourdes Isabel
Ponce Vásquez

AGOSTO - DICIEMBRE 2008


Contenido
OBJETIVO GENERAL.....................................................................................................................3
UNIDAD 1. PLATAFORMA TEÓRICO CONCEPTUAL........................................................................................4
Objetivos Específicos.......................................................................................................................4
1.1. Introducción..............................................................................................................................4
1.2. Historia......................................................................................................................................4
1.2.1. Manejadores de Archivos...................................................................................................5
1.1.1.1. Ventajas de los manejadores de archivos....................................................................6
1.1.1.2. Desventajas de los manejadores de archivos..............................................................7
1.2.2. Bases de Datos..................................................................................................................8
1.1.1.3. Ventajas de las Bases de Datos...................................................................................8
1.1.1.4. Desventajas de las Bases de Datos.............................................................................9
1.3. Organización Lógica de los Datos...........................................................................................10
1.3.1. Campos............................................................................................................................10
1.3.2. Registros..........................................................................................................................10
1.3.3. Archivos...........................................................................................................................10
1.3.4. Niveles de Abstracción de Datos en BD...........................................................................11
1.4. Definición de Base de Datos...................................................................................................12
1.5. Definición de Sistema Administrador de Bases de Datos........................................................12
1.5.1. Funciones u objetivos del DBMS......................................................................................13
1.5.2. Usuarios del DBMS..........................................................................................................14
1.5.3. Elementos del DBMS.......................................................................................................14
1.1.1.5. Administrador de Archivos..........................................................................................15
1.1.1.6. Administrador de Datos..............................................................................................15
1.1.1.7. Procesador de Consultas...........................................................................................15
1.1.1.8. Controlador de Paralelismo o Concurrencia...............................................................15
1.1.1.9. Sistema de Recuperación..........................................................................................15
1.1.1.10. Diccionario de Datos................................................................................................15
1.6. Modelos de datos....................................................................................................................17

Unidad 1. Plataforma Teórico Conceptual Página 2


OBJETIVO GENERAL

Al finalizar el curso, el alumno obtendrá los conocimientos necesarios sobre los


diferentes modelos de bases de datos, así como la metodología para construir
la base de datos de un sistema informático.

El alumno deberá estar familiarizado con los fundamentos básicos del manejo
de archivos, de sistemas de información y de programación.

Unidad 1. Plataforma Teórico Conceptual Página 3


UNIDAD 1. PLATAFORMA TEÓRICO CONCEPTUAL

Objetivos Específicos
 Conocer los orígenes de las bases de datos
 Definir qué es una base de datos
 Definir qué es un sistema administrador de bases de datos
 Describir los elementos y funciones u objetivos de los DBMSs
 Comprender la necesidad de usar un modelo de datos
1.1. Introducción
Las Bases de Datos (BD) son probablemente el elemento más importante de los sistemas de
información, ya que para tomar decisiones, planificar y realizar muchas otras actividades se requiere
de los datos almacenados en ellas y del manejo eficiente de esos datos. Actualmente se usan
ampliamente en organizaciones de todos tamaños, públicas y privadas, y en la vida cotidiana
tenemos contacto con ellas en casi todas las actividades, ya sea de forma directa o indirecta.

El área de Bases de Datos es actualmente muy extensa y las técnicas usadas en ella tienen un
amplio espectro, incluyendo lenguajes, orientación a objetos y otros paradigmas de programación,
compilación, sistemas operativos, programación concurrente, estructuras de datos, algoritmos,
teoría, sistemas paralelos y distribuidos, interfaces de usuario, sistemas expertos e inteligencia
artificial, técnicas estadísticas y programación dinámica.

Este curso no pretende tocar todos los aspectos mencionados anteriormente, pero sí mostrar las
bases que permiten comprender el panorama general de las BD.

1.2. Historia
Desde el comienzo de la historia de la humanidad, los hombres han registrado datos en algún tipo de
soporte (piedra, madera, papel, etc.) con el fin de dejar constancia de algún fenómeno o idea. Esos
datos deben ser interpretados (incorporándoles un significado) para que se conviertan en información
útil.

A partir de la aparición de las computadoras, el almacenamiento y manipulación de datos ha sido el


punto principal de la mayoría de las aplicaciones, por ello, se han creado diversas técnicas para
proporcionar esta capacidad. Estas técnicas, han evolucionado a través de los años, permitiendo
realizar esta tarea de forma más eficiente y segura mediante las Bases de Datos.

Las primeras técnicas de almacenamiento de grandes volúmenes de datos consistían en usar


tarjetas perforadas que fueron introducidas en 1890 para realizar el censo de EUA. En EUA se
realizaba un censo cada 10 años, el censo de 1880 tomo 7 años completarlo, y ya que la población
se había incrementado mucho era evidente que el censo no se podría completar antes del siguiente
de 1990. La oficina encargada del censo lanzó una convocatoria para obtener ideas y lograr el censo
de modo más eficiente. Herman Hollerith, que trabaja en la oficina, propuso usar tarjetas perforadas
facilitar el procesamiento. Estas tarjetas ya se usaban en las industrias de Lyon, Francia para

Unidad 1. Plataforma Teórico Conceptual Página 4


controlar los telares. Hollerith diseñó un método para usar la misma tecnología para almacenar los
datos del censo y examinar los patrones. Él ganó la competencia y gracias a su diseño, el censo se
completo en tiempo record, creándose una nueva técnica de procesamiento de datos. Después de su
éxito, el equipo mecánico para perforar tarjetas se uso durante muchos años para almacenar,
ordenar, analizar y reportar datos, usando las tarjetas perforadas como medio de entrada tanto para
programas como para datos en las computadoras.

A principios de los 40s, se empezaron a usar cintas perforadas para almacenar datos y programas
en las computadoras, cuando se desarrollaron las computadoras electromecánicas y electrónicas. Al
inicio de los 50s, se crearon las cintas magnéticas, usadas como entrada para computadoras,
incluyendo la UNIVAC 1, que fue la primera computadora comercial disponible. Conjuntos de
tarjetas perforadas, cintas perforadas y cintas magnéticas se usaron esencialmente de la misma
forma, para almacenar programas y proporcionar un método de almacenamiento y entrada de datos.
Los datos en estos medios sólo se podían leer en el orden en el que eran almacenados. Este tipo de
procesamiento de archivos secuenciales fue muy eficiente pero no flexible. El procesamiento de
nómina era generalmente la primera aplicación que las organizaciones automatizaban, debido a lo
complejo de sus cálculos y las necesidades de reportes que eran tediosos para llevarse a cabo por
humanos.

Este tipo de procesamiento usaba un archivo maestro que contenía datos relativamente
permanentes, ordenados por una llave, separados en campos que contenían todos los datos
necesarios. Cada cierto período (diario, semanal, mensual, etc.), se preparaba un archivo de
transacciones que contenía los datos nuevos a incluir, modificar o borrar del archivo maestro.
Generalmente, los archivos maestros se mantenían en cintas magnéticas y los archivos de
transacciones en tarjetas perforadas y ambos tenían que estar en el mismo orden. Este tipo de
procesamiento por lotes, se llevaba a cabo por un operador, sin intervención posterior del personal.

El almacenamiento en discos magnéticos se hizo disponible a finales de los 50s, logrando el


acceso directo de los registros. Los programas no requerían que el orden de acceso correspondiera
al orden físico de los registros. Las actualizaciones se empezaron a hacer directamente en el disco,
sin rescribir el archivo completo. Durante los 60s, se crearon los lenguajes de programación,
incluyendo Cobol y PL/1, para el procesamiento comercial de datos que usaban almacenamiento de
datos en cinta y disco. Originalmente, la organización de archivos fue usada para almacenar los
datos en estos dispositivos de almacenamiento secundario, pero conforme las aplicaciones se
hacían más complejas se necesitaron métodos más sofisticados para almacenar y extraer los datos
necesarios.

1.2.1. Manejadores de Archivos


El trabajo que realizaban los programadores con los archivos simples era exhaustivo, ya que tenía
que crear programas para insertar, modificar, borrar, consultar, listar, buscar, ordenar y reportar los
datos en cada uno de los archivos que manejaban.

Con el tiempo, muchos programadores se dieron cuenta de que gran parte del trabajo que se
realizaba con los archivos era muy similar en casi todos los casos y empezaron a crear herramientas
que hicieran este trabajo de modo más fácil sin tener que hacer un programa para cada archivo y con
ello se crearon los Sistemas de Administración de Archivos o Manejadores de Archivos.

Los Manejadores de Archivos son sistemas de software que facilitaban recursos para la
administración de archivos a un nivel de abstracción superior del ofrecido por los sistemas
operativos, pero con facilidades menores que las ofrecidas por los actuales sistemas de
Administración de Bases de Datos.

Unidad 1. Plataforma Teórico Conceptual Página 5


Por ejemplo, eran capaces de crear, abrir y cerrar un archivo a la vez mediante menús o comandos,
una vez abierto el archivo, permitían insertarle datos, modificarlos, y borrarlos, también contaban con
funciones de consulta, ordenamiento y búsqueda que permitían obtener datos con gran facilidad.

Sin embargo, la mayoría no eran capaces de trabajar con varios archivos a la vez. Podían abrir un
número limitado de archivos, pero sólo podían procesar uno en un momento dado, tampoco eran
capaces mantener la seguridad de los datos, ya que cualquiera que tuviese una herramienta que
pudiese abrir los archivos creados, podía modificarlos sin que quedara rastro del usuario que lo
había hecho. Tampoco eran capaces de mantener integridad de los datos ya que generalmente los
datos eran duplicados en múltiples archivos, esto debido principalmente, a que no se podían
compartir fácilmente entre varios usuarios a la vez, el programador tenía que controlar manualmente
el archivo, bloqueando y desbloqueando registros y/o archivos completos. Por otro lado, tampoco
permitían procesar transacciones seguras, era responsabilidad del programador verificar que sus
datos fueran actualizados correctamente en todo momento, por si fuera poco, era muy fácil perder la
información contenida en los archivos al haber algún corte de energía eléctrica.

Programa A Programa B Programa C

Sistema
de pedidos

Archivo Archivo
De Archivo De
Clientes De Pedidos
Inventarios

Programa A Programa B Programa A Programa B

Sistema de Sistema de
Facturación Nómina

Archivo
Archivo
De
De Archivo
Clientes
Precios De
Empleados

Figura 1. Ejemplo de Manejadores de Archivos

1.1.1.1. Ventajas de los manejadores de archivos

Las ventajas del almacenamiento de datos en archivos en comparación al almacenamiento de datos


en memoria principal son:

 Datos independientes de los programas. Los datos almacenados en los archivos no


dependen de los programas que los acceden, siempre que los programas se escriban en el
mismo lenguaje de programación, en cambio, los datos almacenados en RAM sólo se pueden
acceder por la aplicación que los puso en memoria.
 Datos compartidos. Ya que los datos son independientes de los programas, se pueden
compartir con diferentes programas al mismo tiempo.
 Datos persistentes. Los datos almacenados en archivos son permanentes, ya que se
almacenan en dispositivos de almacenamiento externo, al contrario de la información
almacenada en RAM que se pierde al salir del programa o apagar el equipo de cómputo.

Unidad 1. Plataforma Teórico Conceptual Página 6


 Gran capacidad de almacenamiento. A diferencia de la RAM que es un recurso muy
limitado por ser muy caro, los dispositivos de almacenamiento secundario pueden almacenar
grandes volúmenes de datos, por lo que los archivos pueden ser sumamente grandes.

1.1.1.2. Desventajas de los manejadores de archivos

Algunas de las desventajas o problemas que se tenían al manejar la información con los sistemas
manejados con archivos son:

 Datos separados y aislados. Al encontrarse los datos aislados dependiendo de cada


aplicación no es posible compartirlos y reutilizar la información que ya se habían capturado.
 Redundancia. Si la información manejada en una aplicación específica, se necesitaba para
otra aplicación en un proyecto separado, y no existía una correcta coordinación para
administrar la información común a ambas aplicaciones, ésta información se duplicaba en
varios archivos. Como consecuencia de la redundancia se obtenían altos costos de
almacenamiento, inconsistencias en los datos, ya que podía modificarse en un archivo pero
probablemente no en todos.
 Dificultad de acceso. Ya que el diseño de un sistema generalmente parte de la base de que
la información será empleada de cierta forma, cada nueva solicitud de información de los
usuarios implica la redefinición del sistema y la modificación de los programas que generan
esa información.
 Dependencia entre programas y la estructura de almacenamiento. El acceso a los datos
se definía de cierta forma, mediante cierta clave específica y usando ciertos algoritmos
específicos, dependiendo del tipo de organización de archivo definido (secuencial, aleatoria),
lo que provoca alta sensibilidad a los cambios de entorno, si se cambiaba el método de
organización de un archivo, o se reemplazaba la unidad de disco por otro modelo, se
necesitaba modificar la lógica de los programas que usaban los archivos afectados por esos
cambios. A esto se le llama dependencia de datos.
 Archivos y aplicaciones incompatibles. Ya que cada sistema manejaba su información de
modo independiente, generalmente los datos en los diversos archivos no coincidían en tipo y/
o longitud, haciendo la tarea de tratar de compartir la información sumamente difícil.
 Dependencia entre aplicaciones y equipo. Los archivos también se creaban para que
funcionaran en una plataforma, si se necesitaba llevarlos a otra, ya sea otro sistema operativo
u otro hardware, en el mejor de los casos tenían que convertirse y en el peor de los casos
debían volver a capturarse.
 Menor productividad en el desarrollo y mantenimiento de las aplicaciones. Los
programadores pasaban gran parte del tiempo modificando los programas para cumplir con
los nuevos requerimientos, y tratando de que no se afectarán a otros programas que tenían
acceso a los mismos datos.
 Representación difícil para el usuario. Debido a la forma de organizar y manejar la
información, los usuarios finales no tenían acceso directo a la información de forma simple,
cualquier necesidad debía ser resuelta por los programadores.
 Altos costos. Se deben invertir recursos económicos para capacitar al personal adecuado, y
generalmente se pagan sueldos elevados por la especialización.

Unidad 1. Plataforma Teórico Conceptual Página 7


1.2.2. Bases de Datos
Para eliminar las desventajas del manejo de archivo, la tecnología de bases de datos propone: juntar
toda la información que es relevante a la operación de una organización, organizarla y codificarla
apropiadamente y colocarla en un gran repositorio llamado base de datos.

Las BD aparecieron a finales de los 60s como una solución a los problemas técnicos y
administrativos, que surgieron con los antiguos sistemas de archivos de computadora. A medida que
aumentaba el volumen de datos, la complejidad de su organización y se extendían a nuevas áreas
de la operación de las empresas, las dificultades para mantener su funcionamiento y el costo bajo
control se acentuaban. Aunque los archivos casi han desaparecido, su comprensión es importante
porque sus características básicas son el origen de algunas limitaciones del manejo de datos, al
comprender las deficiencias de los sistemas de archivos, se comprenden mejor las propiedades
específicas de las BD y se aprovechan mejor. Los primeros modelos de BD fueron los de red y
jerárquicos.

S istem a d e S istem a de
P edido s Clientes In ven tarios P recio s N óm ina

Ped idos E mple ados

S istem a de
F actu ra ción

Figura 2. Ejemplo de Base de Datos

1.1.1.3. Ventajas de las Bases de Datos

 Integración de los datos. Los datos se encuentran almacenados en un mismo repositorio


que es accesible desde cualquier aplicación.
 Se comparten datos entre diferentes aplicaciones. Múltiples aplicaciones nuevas y
existentes pueden tener acceso a los mismos datos sin afectar a las aplicaciones que ya
existen.
 Control de redundancia. Debido a que se administran en un mismo repositorio no hay
necesidad de duplicar los datos, a excepción de los casos donde convenga por el desempeño
de la aplicación.
 Consistencia. Debido a que se elimina la redundancia, se obtiene consistencia de los datos
almacenados. En los casos en que la redundancia sea controlada, el DBMS puede garantizar
que la BD no tenga inconsistencias realizando actualizaciones automáticas (propagación de
actualizaciones).
 Facilidad de acceso. No se requiere modificar todos los programas que emplean una base
de datos que ha sufrido cambios, sólo aquellos programas que tengan que almacenar los
datos nuevos en la base de datos o hacer una consulta específica de esos datos. Si la
modificación sólo consiste en modificar el tamaño de los datos almacenados no se requieren
modificaciones en la base de datos.
Unidad 1. Plataforma Teórico Conceptual Página 8
 Independencia entre programas y estructuras de almacenamiento. Si los proveedores del
sistema de base de datos modifican los algoritmos para manipular los datos de la base de
datos, esto no afecta a los programas que utilizan esos datos.
 Independencia de la aplicación con la estructura de los datos. El acceso a los datos ya
no depende de la plataforma donde hayan creado.
 Datos y aplicaciones compatibles. Ya que los datos están integrados, se pueden compartir
entre diferentes aplicaciones sin que se tengan que convertir o volver a capturar.
 Mayor productividad en el desarrollo y mantenimiento de aplicaciones. Como los
programadores no tienen que rehacer todos los programas debido a la modificación de la
estructura o plataforma del almacenamiento de los datos, se puede preocupar más por los
nuevos desarrollos y dedicar menos tiempo al mantenimiento.
 Representa los datos del usuario en forma natural. El usuario final no necesita ser un
experto en informática para poder tener acceso a los datos almacenados en la base de datos.
 Seguridad de los datos. El DBA es responsable de la seguridad de los datos y de prevenir el
acceso no autorizado a los datos, por lo que debe garantizar diversos niveles de permisos a
los usuarios. La BD proporciona herramientas que le permiten mantener esa seguridad.

1.1.1.4. Desventajas de las Bases de Datos

 Alto costo del DBMS. Los DBMS son sofisticados sistemas cuyo costo es elevado.
 Alto costo del hardware. El DBMS requiere memoria adicional y mucho poder de
procesamiento, por lo que se requiere hardware con mucho potencial que puede ser muy
costoso.
 Altos costos de programación. Las herramientas del DBMS pueden ser complejas, por lo
que los programadores necesitan conocer el sistema para poder sacarle el mayor provecho.
El personal experimentado puede ser costoso.
 Altos costos de conversión. Cuando una organización migra a otro sistema de bases de
datos, los datos deben pasarse de los archivos existentes a la base de datos. Como los
archivos pueden estar en diferentes formatos, esto puede ser difícil y llevar mucho tiempo de
procesamiento. Además las aplicaciones que hacían uso de esos datos y mantenían detalles
de su forma de almacenamiento deben ser modificadas para trabajar con el DBMS, en el
mejor de los casos esto sólo será una modificación, pero si el lenguaje no posee una
adecuada interfaz a la base de datos, se tendrá que reprogramar toda la aplicación.
 Procesamiento de algunas aplicaciones más lento. Aunque los sistemas BD están
diseñados para proporcionar más información de modo más fácil que usar simplemente
archivos, algunas aplicaciones son más lentas, ya que los datos no se almacenan de la mejor
forma dependiendo de cada aplicación.
 Incremento de vulnerabilidad. Ya que los recursos están centralizados, se incrementa el
riesgo de seguridad. Como las aplicaciones dependen del DBMS, la falla del sistema puede
ocasionar que las operaciones no se puedan realizar. También, los errores de una aplicación
pueden afectar a otras aplicaciones que usan los datos incorrectos creados por la aplicación
incorrecta.
 Recuperación más difícil. La recuperación después de una falla de la BD es complicada
porque muchas transacciones pueden haber estado en progreso cuando fallo el sistema.
Como parte de esta recuperación, el sistema debe determinar cuáles transacciones estaban
completas y cuáles en progreso al momento de la falla. Si la BD se daña, se puede recuperar
usando un respaldo. El hecho de que la BD permita a los usuarios hacer actualizaciones
concurrentes complica el proceso de recuperación.

Unidad 1. Plataforma Teórico Conceptual Página 9


1.3. Organización Lógica de los Datos
Para su estudio, los datos se organizan jerárquicamente creando diversas unidades que van desde
el carácter en el nivel más bajo hasta las bases de datos. Los siguientes conceptos, son conceptos
lógicos que se refieren al medio en que el usuario de computadoras ve los datos y se organizan.

1.3.1. Campos
Los datos pueden representarse mediante números y caracteres, los caracteres se agrupan para
formar campos. Un campo es una unidad de información que consta de varios caracteres, bytes,
palabras o códigos tratados en conjunto y es la unidad de información lógicamente significativa más
pequeña en un archivo.

Por ejemplo, un campo puede referirse a un nombre de un empleado, el número de control de un


alumno, la dirección de un cliente, o el precio de un artículo, un campo es una idea lógica y dan
significado a los bytes almacenados en el archivo.

Los campos se caracterizan por su nombre, tamaño o longitud y su tipo de datos (entero, cadena,
etc.). Los campos a su vez, pueden subdividirse en subcampos; por ejemplo, el campo fecha se
divide en los subcampos día, mes y año.

1.3.2. Registros
Un registro es un conjunto finito, ordenado y heterogéneo de campos relacionados, tratados como
una unidad. Es una colección de información, normalmente relativa a una entidad en particular. Es un
conjunto de campos agrupados bajo la perspectiva de un archivo.

Por ejemplo, un registro puede ser la información de un determinado empleado que contiene los
campos de nombre, dirección, fecha de nacimiento, estudios, salario, etc., el registro es otro
concepto lógico, los registros no necesariamente existen en el archivo en un sentido físico, pero
constituyen una organización lógica de los datos.

Los registros organizados en campos que manejan información significativa para el programador se
denominan registros lógicos, son definidos por el programador y generalmente son de menor o
igual tamaño de un registro físico. En cambio, un registro físico, es una serie de registros contiguos
registrados como una unidad, es la cantidad de datos más pequeña que puede transferirse en una
operación de entrada / salida a través del búfer; su tamaño está definido en el hardware del equipo.

El propósito principal de los registros es agrupar campos lógicamente relacionados para ejecutar
sobre ellos operaciones de entrada /salida.

1.3.3. Archivos
Un archivo (file, fichero) es un conjunto de datos almacenado en memoria secundaria con el fin de
mantener a largo plazo cierta información y/o para vencer las limitaciones de espacio en la memoria
principal. Es una colección de registros lógicamente relacionados que son tratados como una unidad
y que son persistentes. Es la unidad básica de almacenamiento de información a largo plazo,
formada por registros que tienen significado para el usuario. Para su procesamiento, todo el
contenido del archivo o parte de él, se carga en memoria principal.

Unidad 1. Plataforma Teórico Conceptual Página 10


Las principales características de los archivos son:
 La información contenida en ellos es independiente de los programas que los acceden.
 Se pueden compartir con diferentes programas al mismo tiempo.
 Los datos que almacenan son permanentes ya que son almacenados en un dispositivo
externo.
 Tienen gran capacidad de almacenamiento.

Para facilitar el procesamiento de los archivos, a estos se les impone una organización específica
llamada estructura de archivo, gracias a ella, se puede almacenar y acceder de forma eficiente la
información almacenada.

1.3.4. Niveles de Abstracción de Datos en BD


Al hablar de datos, es importante distinguir entre el mundo real, la pequeña parte del mundo real que
concierne a la BD, la estructura de la BD y los datos almacenados en la BD. Existen actualmente
cuatro niveles de abstracción a considerar en este entorno:

 Mundo real, o realidad. En este nivel, se habla de la empresa, la organización para la cual se
diseña la BD. La empresa puede ser una corporación, agencia de gobierno, universidad,
banco, escuela, hospital, etc. que existe en el mundo real. Como la organización funciona en
el mundo real, es imposible obtener la información necesaria para las decisiones simplemente
observando la realidad, ya que existen demasiados factores involucrados para poder tomar
todos en cuenta. En vez de esto, se desarrolla un modelo o vista de la realidad en la cual se
representan estas facetas de la empresa que necesita tomarse en cuenta para tomar
decisiones.
 La parte del mundo real que se representa en la BD es llamada minimundo o universo de
discurso. Para el minimundo, se empieza a desarrollar un modelo conceptual, que forma el
segundo nivel de discusión. Se identifican las entidades como representaciones de personas,
lugares, eventos, objetos o conceptos acerca de los cuales se recolectan datos. Las
entidades similares se agrupan en conjuntos de entidades. Un modelo conceptual puede
tener muchos conjuntos de entidades. Cada entidad tiene ciertos atributos, los cuales son
características o propiedades para describir la entidad y que la organización considera
importantes. Cada conjunto de entidades puede tener varios atributos para describir a sus
miembros. Algunas entidades tienen interrelaciones o se asocian con otras entidades. El
modelo conceptual representará estas interrelaciones asociando los conjuntos de entidades
de alguna forma. La BD debe diseñarse para ser un modelo adecuado de la organización y
sus operaciones para el minimundo de interés. Cada entidad debe representarse, con sus
atributos y las interrelaciones en las que participa. En el mundo real, los objetos
representados en el modelo conceptual sufren cambios, por lo que el modelo desarrollado
debe permitir no sólo la representación de entidades, atributos e interrelaciones básicas, sino
que debe permitir también hacer cambios que reflejen los cambios de la realidad.
 La estructura de la BD, llamada modelo lógico de la BD, es el tercer nivel de discusión. En
este nivel, se habla de metadatos, o datos acerca de los datos. Para cada conjunto de
entidades en el modelo conceptual, se tiene un tipo de registro en el modelo lógico de la BD.
Un tipo de registro tiene varios tipos de elementos de datos, cada uno de los cuales
representa un atributo de una entidad. Un elemento de dato es la unidad nombrada más
pequeña de almacenamiento de datos. Otras palabras algunas veces usadas para los
elementos de datos son campo o atributo. Generalmente, un campo es un conjunto de bytes
adyacentes identificados como la localización física para el atributo, de modo que tienen un
significado más físico que el de atributo. Atributo se refiere generalmente a una
característica de una entidad en el modelo conceptual, pero ya que existe una

Unidad 1. Plataforma Teórico Conceptual Página 11


correspondencia entre los atributos y los elementos de datos, las dos palabras pueden ser
intercambiables. Algunas veces, los atributos se agrupan para formar datos agregados, que
son grupos de atributos con un nombre en un registro, por ejemplo una fecha. Los datos
agregados permiten referirse al grupo de atributos como un todo o al elemento individual del
grupo. Un registro es una colección de atributos relacionados y/o datos agregados. Las
interrelaciones también pueden ser representadas por tipos de registros, pero hay otras
formas de representarlas. La información acerca de la BD se almacena en un diccionario de
datos, también llamado directorio de datos o catálogo de sistema. Este repositorio de
información contiene descripciones de los tipos de registros, tipos de atributo y agregados de
datos, y otra información. Por cada atributo, debe haber una descripción mostrando el nombre
del atributo, su tipo de dato y sus sinónimos, que son otros nombres usados para los
atributos. El diccionario de datos es actualmente una BD acerca de la BD. Sin embargo, los
diccionarios de datos generalmente hacen mucho más que simplemente almacenar la
descripción de la estructura de la BD, en algunos DBMSs, están activamente involucrados en
todos los accesos a la BD.
 El cuarto nivel de discusión concierne a los datos en la BD. Consisten de instancias de
datos u ocurrencias. Para cada objeto en el minimundo que se representa como una entidad,
existirá una ocurrencia del registro correspondiente en la BD, pudiendo haber muchas
ocurrencias en cada entidad. Un archivo es una colección de ocurrencias de un tipo de
registro. Finalmente, la base de datos es una colección de archivos relacionados.
1.4. Definición de Base de Datos
Existen muchas definiciones de Base de Datos, la mayoría tienen algunas coincidencias pero dista
de ser una definición aceptada mundialmente, sin embargo, la siguiente definición trata de consolidar
la mayoría de las fuentes bibliográficas e incluir los aspectos más importantes de las Bases de datos:

Una Base de Datos es una colección de datos interrelacionados, almacenados en conjunto (en
archivos) en un dispositivo de almacenamiento secundario (no volátil), con redundancia controlada
(normalizados); su finalidad es la de servir a una o más aplicaciones y a uno o más usuarios
(compartidos); los datos son independientes de los programas que los usan; su definición
(metadatos) debe almacenarse junto con los datos; se emplean métodos bien determinados para
incluir datos nuevos y modificar o extraer los existentes (SQL), garantizando la seguridad del
conjunto de datos.

1.5. Definición de Sistema Administrador de


Bases de Datos
Para lograr obtener las ventajas descritas anteriormente, ningún programa de aplicación debe tener
acceso directo a los archivos que componen la base de datos, sino que se colocará entre estos
archivos y los programas de aplicación un nuevo nivel de software llamado Sistema de
Administración de Bases de Datos o DBMS.

Un DBMS (Data Base Management System ó Sistema Administrador de Bases de Datos) es un


software de sistema (conjunto de programas) diseñado para la implantación, acceso y
mantenimiento de grandes colecciones de datos de forma compartida, garantizando su seguridad. El
DBMS consta de un conjunto de datos relacionados entre sí (BD) y un conjunto de programas para
tener acceso a esos datos. Los programas de aplicación utilizan los servicios del DBMS; y el DBMS a
su vez, utiliza los servicios del sistema de archivos

Unidad 1. Plataforma Teórico Conceptual Página 12


Un Sistema de Base de Datos es el conjunto formado por el software (DBMS), los datos BD y los
usuarios (finales, programadores de aplicaciones y DBA).

El conjunto de datos se conoce comúnmente como base de datos. El DBMS proporciona un alto nivel
de abstracción para acceder a la información, ya que en vez de manipular archivos, registros,
índices, cilindros, sectores, etc., el programa de aplicación se maneja enteramente en términos de
los objetos almacenados en la BD.

La BD no será controlada por ninguno de los grupos encargados de construir aplicaciones, sino por
un grupo o persona que administrará la BD, llamado Administrador de la BD, quien será responsable
de definir, mantener y garantizar la integridad y seguridad de la BD.

Finalmente el DBMS generalmente tendrá una aplicación especial llamada lenguaje de consulta que
permitirá a los usuarios finales interrogar a la BD sin tener que pasar por el analista o programador.

Este esquema elimina los problemas mencionados previamente, sin embargo, el proceso para
obtener todo esto es complejo.

1.5.1. Funciones u objetivos del DBMS


El objetivo principal de un DBMS es crear un ambiente para guardar y recuperar información de la
base de datos de forma conveniente y eficiente.

Las funciones provistas por un DBMS se pueden agrupar en:

 Manipulación (Consulta y Actualización) de los Datos. Esta es su función más básica y la


única que es visible. Consiste en un conjunto herramientas que permite a los distintos tipos
de usuarios del DBMS recuperar, manipular y modificar la información almacenada en la BD.
Para ello debe incluir un procesador o compilador DML (Data Manipulation Languaje o
Lenguaje de Manipulación de Datos).
 Definición de datos o Mantenimiento de Esquemas. El DBMS debe ser capaz de aceptar
la definición de datos o esquemas. Un esquema de la BD es la descripción de la estructura de
la información almacenada en ella, como tipos, tamaños y restricciones de datos. Los
usuarios necesitan acceder, agregar y modificar datos, pero también requieren acceder,
agregar o modificar el esquema de datos. Para ello emplea un procesador o compilador
DDL (Data Definition Language ó Lenguaje de Definición de Datos).
 Optimización y Ejecución. El DBMS generalmente tiene un optimizador que determina la
forma más eficiente de obtener los resultados solicitados. Una vez determinado el mejor
método, el administrador en tiempo de ejecución lo ejecuta.
 Seguridad e Integridad de los datos. El DBMS debe vigilar las solicitudes del usuario y
rechazar todo intento de violar las restricciones de seguridad e integridad definidas por el
DBA.
 Manejo de Transacciones y control de concurrencia. Esta es una de las tareas
principales. Una transacción es un programa de aplicación, generalmente de duración breve,
que accede y actualiza una parte también generalmente pequeña de la BD. El procesamiento
de transacciones consiste en controlar múltiples transacciones ejecutadas en paralelo sobre
la misma base de datos corriendo en un sistema que puede fallar, por lo que el objetivo del
administrador de transacciones o monitor de procesamiento de transacciones (monitor PT)
del DBMS es: evitar que las transacciones interfieran entre sí al ejecutarse en paralelo
mediante el control de paralelismo y garantizar que la BD no sea dañada en forma

Unidad 1. Plataforma Teórico Conceptual Página 13


irreparable por caídas, ya sea del sistema o de algunas transacciones mediante técnicas de
recuperación.
 Diccionario de datos. El DBMS debe proporcionar una función de diccionario de datos que
permita conocer el contenido de los metadatos (“datos acerca de los datos”). El diccionario
almacena el esquema de la BD y las restricciones de seguridad e integridad. Además este
diccionario debe poder ser consultado del mismo modo que cualquier otra BD.
 Rendimiento. Todas las funciones anteriores deben realizarse del modo más eficiente
posible.

Además de las funciones anteriores, los DBMS suelen incorporar funciones para simplificar las
tareas de mantenimiento que realiza el DBA, entre estas funciones se encuentran las herramientas
para cargar archivos de otras fuentes a la BD, reorganización de la base de datos, generación de
respaldos de seguridad, generadores de reportes y estadísticas.

1.5.2. Usuarios del DBMS


Como se ha mencionado, existen diversos usuarios del DBMS, que se pueden clasificar como:

 Usuario final o casual. Es una persona sin conocimientos técnicos sobre bases de datos ni
sobre programación y computación en general. Los objetivos de interfaces para este tipo de
usuario son permitirle obtener la información que busca con un mínimo de entrenamiento
previo y sin mayor esfuerzo. El usuario final puede acceder a la BD a través de las
aplicaciones creadas por los programadores de aplicaciones, o mediante una interfaz
proporcionada por el software del DBMS.
 El programador de aplicaciones. Es el encargado de construir sistemas que utilizan el
DBMS. Generalmente su interés no es interactuar directamente con el DBMS, sino escribir
programas en lenguajes de alto nivel que invocan las funciones necesarias (generalmente
con instrucciones SQL) para acceder a la BD. Su tarea principal es empaquetar el conjunto
de funciones del DBMS que los usuarios finales requieren, para que puedan invocarlas
simplemente oprimiendo una tecla.
 Administrador de la BD (DBA). Es el usuario que necesita íntima familiaridad con los
mecanismos internos del sistema, uso de recursos, desempeño, requerimientos de seguridad,
etc. Se encargan de implementar la BD en una organización. Tiene todos los privilegios
permitidos por el DBMS y puede asignar o eliminar privilegios a los otros usuarios.

Algunos sistemas proporcionan una única interfaz, llamada generalmente lenguaje de consulta, para
ser usada por todos los tipos de usuarios. El mismo lenguaje puede usarse desde un programa
escrito en un lenguaje de programación como Java, y también proporciona funciones de
administración para usarse por el DBA.

Otros sistemas proporcionan interfaces de estilos muy distintos para distintos tipos de usuarios,
reconociendo especialmente que los usuarios finales necesitan interfaces visuales muy distintas que
las que pueden requerir los otros usuarios.

1.5.3. Elementos del DBMS


Comprender un modelo abstracto de datos es importante para describir la arquitectura del sistema de
BD. El esquema de la base de datos se usa para describir la organización conceptual del sistema de
base de datos. Esta organización es definida durante el proceso de diseño, generalmente usando el
lenguaje de definición de datos (DDL) del DBMS particular.

Unidad 1. Plataforma Teórico Conceptual Página 14


La arquitectura de los sistemas de BD no se ha estandarizado al mismo grado que la de los
compiladores, pero hay ciertos elementos que de un modo u otro forman parte de la mayoría de los
DBMS, incluyendo:

1.1.1.5. Administrador de Archivos

Éste módulo interactúa directamente con el sistema de archivos proporcionado por el sistema
operativo. Tiene a su cargo el manejo de las estructuras físicas de almacenamiento, administración
de espacio en memoria secundaria y métodos eficientes de acceso y búsqueda. En algunos casos
los diseñadores del DBMS, estimando que el manejo de archivos proporcionado por el SO no es
adecuado a los fines del DBMS, implementan sus propias rutias de acceso a archivos directamente
sobre el hardware.

1.1.1.6. Administrador de Datos

Ubicado a un nivel de abstracción mayor que el anterior, este módulo proporciona las funciones
básicas que sirven de interfaz entre los datos y los programas de aplicación o consultas de los
usuarios. Permite encontrar registros o verificar que un conjunto de datos cumpla las restricciones
semánticas del diseño.

1.1.1.7. Procesador de Consultas

Este módulo traduce las consultas expresadas en un lenguaje de consulta de alto nivel a una
sucesión de pedidos básicos a nivel de interpretación del administrador de datos. Esta traducción no
es trivial porque, en general, existen muchas estrategias distintas para implementar una consulta de
alto nivel, con costos muy diferentes. El procesador de consultas tiene a su cargo la optimización de
consultas, o sea, tratar de encontrar la implementación más eficiente de una consulta dada.

1.1.1.8. Controlador de Paralelismo o Concurrencia

Cuando el DBMS soporta múltiples procesos accediendo y posiblemente modificando una misma
base de datos en paralelo, es importante garantizar que estos procesos no interfieran entre sí,
manteniendo a la vez el mayor grado de paralelismo posible.

1.1.1.9. Sistema de Recuperación

Junto con el controlador de paralelismo, este módulo implementa la función de manejo de


transacciones. El sistema de recuperación debe mantener suficiente información acerca del progreso
de las distintas transacciones en ejecución para poder garantizar que la BD será restaurada a un
estado consistente en caso de alguna falla parcial o total.

1.1.1.10. Diccionario de Datos

Como se mencionó previamente, los DBMS tienen como una de sus funciones, proporcionar un
diccionario de los datos contenidos en la BD, por lo que muchos vendedores de DBMSs ofrecen
diccionarios de datos o directorios de datos que almacenan la descripción de la BD y sirven en la
creación y procesamiento de la BD.
Unidad 1. Plataforma Teórico Conceptual Página 15
Un Diccionario de Datos (DD) es una base de Datos que contiene Datos acerca de los Datos de la
base de Datos.

El DD almacena las definiciones de todos los elementos (tablas, vistas, índices, procedimientos
almacenados, disparadores, etc.) de los datos en la base de datos y las interrelaciones entre
diversas estructuras de dato. Gracias a esto, la base de datos es autodescriptiva, pues contiene
información que describe su propia estructura.

La información en el diccionario de datos se llama metadatos y también se pueden consultar y


manipular como el resto de los datos.

Si el diccionario es parte del DBMS, se dice que es un DD integrado o catálogo de sistema. Un DD


integrado siempre contiene la estructura actual de la BD, porque se mantiene automáticamente por el
sistema. Los DD integrados desarrollan muchas funciones en la vida de la BD, no sólo en la fase de
diseño. Si el DD está disponible sin un DBMS, se le llama DD libre y pueden ser productos
comerciales o un archivo desarrollado y mantenido por el diseñador. Durante la etapa de diseño es
preferible usar un DD libre, antes de elegir un DBMS particular ya que no está atado a algún DBMS y
el diseñador puede gozar de las ventajas de tener estas herramientas sin definir una implementación
particular. Su mayor desventaja es que una vez que la BD es creada, los ajustes en la estructura
pueden no ser actualizados en el DD libre y con el tiempo, el DD no reflejará apropiadamente la
estructura de la BD.

El DD libre se emplea en las primeras etapas del diseño para recolectar y organizar la información de
la BD. Cada atributo, su origen, nombre, uso, significado, relaciones con otros elementos, formato, e
identidad personas o grupos de personas responsables de ingresarlo, actualizarlo y mantenerlo
correctamente deben ser determinados. El DD proporciona una herramienta efectiva para cumplir
esta tares. El DBA puede empezar desarrollando del DD identificando los atributos, asegurando
acuerdos con los usuarios en la definición de cada uno e ingresando el atributo en el DD. Ya que los
usuarios no son responsables de los datos de otros usuarios, el DBA debe controlar el acceso al
diccionario.

Un DD es útil por las siguientes razones:

 Recolecta y almacena información acerca de los datos en una localización central. Esto
ayuda a administrar obteniendo control sobre los datos como un recurso.
 Asegura acuerdos de los usuarios y diseñadores acerca del significado de los atributos. Una
definición exacta de cada atributo debe desarrollarse para almacenar en el DD.
 Comunicación con los usuarios. El DD facilita la comunicación, ya que se almacenan
significados exactos. El DD también identifica las personas, departamentos o grupos que
tienen acceso o interés en cada elemento.
 Identifica redundancia e inconsistencia en los nombres de los atributos. En el proceso de
identificar y definir atributos, el DBA puede descubrir sinónimos, que son nombres diferentes
para los mismos datos. La BD puede aceptar sinónimos, pero el sistema debe manejarlos. El
DBA puede también descubrir homónimos, que son nombres idénticos para atributos
diferentes. Este no se permite en la BD:
 Mantener el rastro de los cambios a la estructura de la BD. Los cambios como la creación de
nuevos atributos y tipos de registros deben guardarse en el DD.
 Determinar el impacto de los cambios a la estructura de la BD. Ya que el DD registra cada
elemento, todas sus interrelaciones y todos sus usuarios, el DBA puede ver qué efectos
puede tener un cambio.

Unidad 1. Plataforma Teórico Conceptual Página 16


 Identificar las fuentes y responsables de los datos. Una regla general para ingresar datos es
que los datos deben ser capturados tan cercano a la fuente como sea posible. Las personas
o departamentos que generan o capturan los valores para cada atributo y que son
responsables de actualizarlos deben listarse en el diccionario de datos.
 Registrar los esquemas externos, lógico e interno y realizar el mapeo entre ellos.
 Registrar información sobre el control de acceso. Un DD puede almacenar las identidades de
todos los que tengan permitido acceder a cada elemento, junto con el tipo de acceso
(inserción, actualización o eliminación).
 Proporcionar información de auditoría. El DD puede ser usado para almacenar cada acceso,
permitiendo usar estadísticas para auditar el sistema y evitar intentos de violación de
seguridad.

No todos los DD proporcionan soporte para todas las funciones y algunos proporcionan funciones
adicionales. Algunos sólo almacenan el esquema, algún control de documentación y algunos DD son
“metasistemas” que controlan el acceso a la BD, generan código de sistema y mantienen
estadísticas del uso de la BD.

1.6. Modelos de datos


Un modelo, en general, es una representación simplificada de un sistema real. Gracias a los modelos
podemos comprender y conceptualizar una idea abstracta de forma más fácil. Si la representación es
adecuada, podremos interrogar al modelo si deseamos conocer alguna propiedad del sistema real.

Existen enfoques alternativos para visualizar manejar datos a un nivel lógico independientemente de
cualquier estructura física de soporte en que se basen.

Un modelo de datos es una forma de explicar la organización lógica de los datos y las relaciones
entre ellos; es una definición lógica, independiente y abstracta de los objetos, operadores y demás
que en conjunto constituyen la máquina abstracta con la que interactúan los usuarios. Es un conjunto
de conceptos, reglas y convenciones bien definidos que permiten aplicar una serie de abstracciones
a fin de describir y manipular los datos de un cierto mundo real que se desea almacenar en la BD.

El modelo de datos debe poder representar tanto las características estáticas o estructuras de datos
(objetos), como las dinámicas u operaciones (comportamiento) del sistema real que pretende
representar. En consecuencia, un modelo de datos se define por los siguientes componentes:

 Un conjunto de objetos y sus interrelaciones. Esto representa las características estáticas o


invariantes e incluye las propiedades de los objetos.
 Un conjunto de operaciones, o lenguaje, que representa las características dinámicas.
 Restricciones sobre los objetos, sus interrelaciones y las operaciones definidas sobre ellos.

Los modelos de datos incluyen generalmente un tipo de diagrama y vocabulario específico para
describir la estructura de la BD. La estructura de la base de datos es llamada intensión de la BD, es
relativamente permanente y se describe en el esquema de la BD. El esquema puede cambiar
ocasionalmente si se requieren nuevos datos, a este proceso se le llama evolución del esquema.
Los datos almacenados en la BD en un momento dado son llamados la extensión de la BD,
instancia de la BD o estado de la BD. La extensión cambia cada vez que se agregan, borrar o
modifican datos. La extensión siempre debe tener un estado válido, lo que implica que satisfaga
todas las restricciones especificadas en el esquema. La intensión de la BD es actualmente una
estructura compleja de datos abstractos que formalmente define todas las posibles extensiones.

Unidad 1. Plataforma Teórico Conceptual Página 17


Existe gran variedad de modelos de datos y metodologías disponibles en la literatura y
comercialmente: existen modelos que presentan los datos en términos de tablas, grafos, árboles,
funciones, conjuntos, etc.

Tarea.
a. Leer al menos 2 fuentes adicionales sobre los temas vistos en esta unidad y hacer un resumen
de la unidad (máximo 1 cuartilla). No olvidar conclusiones y bibliografía.
b. Explicar cuáles son las diferencias entre el manejo de datos con archivos y con una BD, entre
una BD y un DBMS, entre los datos y metadatos, entre el DML y el DDL.
c. Investigar y explicar cómo funciona un DBMS.

Unidad 1. Plataforma Teórico Conceptual Página 18

También podría gustarte