Enfoques
Enfoques
Enfoques
La creación de mecanismos para guardar datos se generó por la necesidad de las grandes
empresas de almacenar crecientes cantidades de información de forma rápida, sencilla, fiable y a
la que se puede acceder en cualquier momento.
En este sentido, el primer enfoque utilizado para almacenar datos se conoce como el «enfoque
tradicional de procesamiento de datos», el cual pese a ser muy cómodo, presenta dificultades
cuando se quiere modificar registros, estructuras o buscar información.
Hacia finales de los años sesenta y tras la aparición de las bases de datos para almacenar los datos
utilizados por los usuarios, empresas, otros, emerge el enfoque de base de datos, los cuales
veremos con mayor énfasis a continuación.
Los datos, como recursos, corresponden a hechos relacionados con objetos, eventos u otras, los
cuales pueden ser cualitativos o cuantitativos, internos o externos, históricos o predictivos, etc. En
cambio, la información corresponde a datos que han sido organizados o preparados en una forma
adecuada para apoyar la toma de decisiones, por lo tanto, son valorados por la organización y
tienen significado.
Inflexibilidad
Dificultad del enfoque para enfrentar cambios, debido a que no es sencillo adaptarse a nuevos
requerimientos que no hayan sido considerados en el diseño inicial, como, por ejemplo: nuevos
reportes, documentos, etc.
Esto genera una lenta evolución del sistema de información, que frustrará a los usuarios que saben
que existen los datos, pero que no pueden obtener la información que necesitan.
Redundancia no controlada
Cuando cada aplicación tiene sus propios archivos existe un alto grado de redundancia, lo que
genera:
Pérdida de espacio.
Repetición al actualizar el mismo dato en cada archivo.
Inconsistencias.
En general, algo de redundancia es útil, pero debe ser muy bien controlada.
1
Inconsistencia de datos
Como cada aplicación tiene sus propios archivos, existe poca oportunidad para los usuarios de
compartir datos. Esto trae como consecuencia que el mismo dato tenga que ser ingresado varias
veces para actualizar los archivos con datos duplicados. Otra consecuencia es que al desarrollarse
nuevas aplicaciones no es posible, a veces, explorar los datos contenidos en archivos que ya
existen, teniendo que crearse nuevos archivos con la consiguiente duplicación de datos.
El programador debe diseñar cada archivo usado en una nueva aplicación y luego codificar las
definiciones en el programa y escribir las instrucciones de entrada/salida (I/O) requeridas por el
método de acceso seleccionado, lo cual genera un mayor esfuerzo de desarrollo y una baja
productividad, por lo tanto, aumentan los costos del software.
Excesiva mantención
Como las descripciones de archivos, registros e ítems, de datos están dentro de los programas,
cualquier modificación de un archivo requiere de la identificación de los programas donde será
usado. A eso se le llama mantención y eso puede implicar que cerca del 80% del esfuerzo de
programación sea ocupado en esta tarea.
Estandarización deficiente
Al definir qué características tendrán los datos es común encontrar que cada usuario puede tener
consideraciones distintas, por tanto, podemos encontrar las siguientes inconsistencias:
Sinónimos: uso de nombres diferentes para un mismo ítem de datos (por ejemplo “ID”,
“CODIGO”, “NRO. REGISTRO”, es usado para el mismo campo de un artículo).
Homónimos: uso de un mismo nombre simple para ítems de datos distintos (por ejemplo,
el campo “NOMBRE” es usado para el cliente, el producto, el proveedor).
Al tener una estandarización deficiente se dificultará la mantención de las aplicaciones que usan
estos datos.
2
Enfoque de base de datos
Los datos son almacenados de tal manera que sean independientes del programa que los usa.
Bajo este enfoque, una base de datos se puede definir como un conjunto de archivos
relacionados: los archivos en cuestión no están directamente asociados con programas de
aplicaciones.
La interface permite a los usuarios interactuar con la base de datos, lo que gracias a los últimos
avances en el software y hardware es cada día más amiga para el usuario.
Son personas como analistas de sistemas y programadores que diseñan nuevos programas de
aplicación, los cuales a menudo se apoyan en herramientas CASE.
Herramientas CASE
Usuarios finales
Personas de la organización que agregan, borran y modifican datos en la base de datos y que
consultan o reciben información desde esta. Corresponden a quienes utilizan la base de datos
durante su ciclo de vida.
Son las personas responsables del diseño de la base de datos y de fijar normas que resguardan la
seguridad e integridad de ella (usan herramientas CASE para mejorar su productividad).
Programas de aplicaciones
Son programas computacionales usados para crear y mantener las bases de datos, además
proveen información a los usuarios.
3
Lugar donde quedan las definiciones de los datos, formatos de pantallas y reportes y definiciones
de otros sistemas de la organización. Esta herramienta es clave en la administración del recurso
“dato” en la organización y suele estar implementada como una base de datos.
Es el lugar físico donde quedan los datos de un usuario. Esta puede ser centralizada
(completamente almacenada en un computador central, sea este un mainframe un PC stand
alone, un servidor en una arquitectura C/S, etc.) o distribuida (los datos están almacenados en
distintos nodos de una red).
Es un software (y a veces el hardware y firmware), que permite manejar una o más bases de datos
y también el repositorio. Sus principales funciones son:
Función definición de datos: permite especificar el tipo de dato que irá en la base de
datos, se estructura lógica, las relaciones entre datos y características físicas sobre
organización y acceso. Esto se logra a través del lenguaje de definición de datos (Data
Definition Language o DDL).
Función manipulación de datos: permite almacenar, modificar y recuperar los datos de la
base de datos. Esto se logra a través del lenguaje de manipulación de datos (Data
Manipulation Language o DML).
Función seguridad de datos: el dato debe ser protegido para que no sea usado
erróneamente o destruido en forma accidental o intencional. El DBMS, además, provee de
mecanismos para controlar el acceso y definir qué operaciones (por ejemplo, solo lectura
o actualización) puede realizar cada usuario. También provee de mecanismos que
prevengan los efectos que se generan cuando dos usuarios intentan acceder al mismo
dato simultáneamente (es decir, debe proveer control concurrente).
Estas herramientas pueden ser útiles en el ciclo de vida del desarrollo del software, en tareas
como:
Diseño del proyecto e implementación de parte del código según el diseño dado.
Compilación automática.
Documentación o detección de errores, entre otras.
Upper-Case: apoyan las tareas “front-end” del ciclo de vida del desarrollo de software,
incluyendo definición de requerimientos, análisis y diseño.
Lower-Case: automatizan las tareas finales del ciclo de vida, es decir, generación de
código, prueba y mantención.
4
El enfoque de base de datos lo podemos definir en tres etapas:
Modelamiento de datos
En esta etapa se busca obtener de la realidad, aquellos datos y asociaciones que la representan,
expresados en forma de un modelo de datos. En ella encontramos:
Esta etapa, idealmente, se realiza solo una vez su estructura (no se recomienda cambiar). En ella
encontramos:
Definición de datos. Basándose en el modelo conceptual, y guiándose por las reglas de los
datos del SGBD que se utiliza en la organización, se proceden a definir los tipos de datos,
sus características y respectivas restricciones.
Compilador DDL. Como ya se tienen las definiciones de los datos, se utiliza el compilador
DDL para poder desarrollar la base de datos lógica en el SGBD.
Base de datos lógica. Es la definición o esquema conceptual de la base de datos
(descripción de archivos y asociaciones).
Esta etapa involucra a los usuarios finales accediéndola constantemente, y a los desarrolladores de
sistemas que realizan programas que mantienen y actualizan la base de datos con el fin de
responder a nuevos requerimientos de los usuarios. En ella encontramos:
Compilador DML. Ahora ya se está en condiciones de hacer uso de la base de datos por los
usuarios y aplicaciones.
Base de datos física. Es el lugar físico donde quedan almacenados los archivos y sus
asociaciones.
5
Mínima redundancia de datos
Debido a que los archivos de datos se integran en una sola estructura lógica y almacenan cada
ocurrencia de un ítem de dato en un solo lugar de la base de datos, se sugiere tener presente que
toda la redundancia puede ser eliminada, pero algunas veces existen razones válidas para
almacenar múltiples copias del mismo dato. En un sistema de base de datos la redundancia es
controlada.
Consistencia de datos
Bajo este enfoque, cuando se produce una actualización de datos se realizan modificaciones en
todos los registros donde estos se encuentran.
Integración de datos
En una base de datos, los datos son organizados de una manera lógica que permite definir las
relaciones entre ellos, tal que un usuario pueda fácilmente relacionar un dato con otro. En este
sentido es posible señalar que los sistemas de base de datos tienen la función de asociar
lógicamente datos relacionados.
Compartir datos
Muchos sistemas de base de datos o múltiples usuarios permiten compartir la base de datos en
forma concurrente, aunque bajo ciertas restricciones.
Como bajo este enfoque cada unidad funcional (o departamento) tiene su visión de la base de
datos, es más simple compartir datos, puesto que a cada usuario se le puede asignar una vista
precisa de los datos requeridos para tomar sus decisiones.
Este enfoque reduce costo y tiempo para desarrollar nuevas aplicaciones. Hay estudios que
indican que cuando una base de datos ha sido diseñada e implementada, un programador puede
codificar y depurar una nueva aplicación 2 a 4 veces más rápido que si fuese con archivos
tradicionales. La razón de esto es que el programador no necesita cargar con las tareas de diseño,
construcción y mantención de archivos maestros.
Flexibilidad en el acceso
Bajo este enfoque se provee múltiples trayectorias de recuperación de cada ítem de dato,
permitiendo a un usuario mayor flexibilidad para ubicar datos que en archivos tradicionales.
También es posible satisfacer ciertos requerimientos ad-hoc (que se producen de repente casi por
única vez) sin necesidad de un programa de aplicación, a través de lenguajes de consulta
orientados al usuario o de generadores de reportes que proveen de DBMS.
6
Control de seguridad, privacidad e integridad
Cuando en una organización se incorpora a una persona con la función de administrar la base de
datos, existe un mayor control en el acceso a los datos. Este tipo de protección evitará que los
usuarios sin el permiso correspondiente, puedan ingresar a modificar o eliminar datos.
Estos permisos también se usan para dar privacidad a los datos, dado que se establece cuáles de
ellos serán vistos por cada usuario.
Además, se considera la integridad de los datos, dado que con los correspondientes permisos se
protege la eliminación o modificación de datos claves en el modelo de datos.
Esto permite separar la definición de los tipos de datos de los programas de aplicaciones que usan
esos datos. Por ejemplo, se puede cambiar la ubicación de la base de datos, o se puede añadir un
nuevo campo, sin que eso suponga hacer modificaciones en el código de los programas.
En ocasiones los tipos de datos almacenados cambian. Ante esta situación, bajo un enfoque
tradicional de procesamiento de datos se debía rehacer o modificar el código de los programas, en
cambio bajo el enfoque de la base de datos, y a raíz de que los datos son independientes de los
programas, si los datos cambian, esto no afecta al programa.
¿Cuáles son los costos a considerar cuando se usa enfoque de base de datos?
Personal especializado
Es necesario contratar o capacitar a personas que sean capaces de convertir sistemas existentes,
desarrollar y estimar nuevos estándares de programación, diseñar bases de datos y administrar.
Necesidad de respaldos
Es necesario contar con respaldos independientes que ayuden a recuperar archivos dañados, los
DBMS generalmente proveen de herramientas que permiten respaldar y recuperar archivos.
El acceso concurrente a los datos a través de distintos programas de aplicación puede causar
algunos problemas:
• Si dos usuarios con acceso concurrente desean cambiar el mismo dato, se pueden
producir resultados inadecuados si es que el acceso al dato no es sincronizado.
• Cuando los datos son actualizados, diferentes usuarios pueden obtener el control de
distintas partes de la base de datos y bloquear el uso de algún dato.
Los DBMS deben ser diseñados para prevenir o detectar tales interferencias, de una forma que sea
transparente para el usuario.
7
Conflicto organizacional
Mantener los datos en una base de datos para ser compartidos, requiere de un consenso en la
definición y propiedad de los datos como también exactitud de ellos.