Está en la página 1de 34

EX UMBRA SOLEM

IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. I

CAPITULO 1: CONCEPTOS GENERALES


1.1. Dato como un Recurso

En las organizaciones se ha reconocido la necesidad de incorporar al dato como un
recurso ms (as como tradicionalmente lo han sido los recursos humanos, financieros y
materiales); por lo cual, el dato debe ser planificado, administrado y controlado, y tratado
como un activo ms de la empresa, de tal manera de poder con l apoyar el logro de los
objetivos organizacionales.

El dato, si bien tiene un rol diferente al resto de los recursos de una empresa, tiene
con ellos una caracterstica comn importante: tiene un costo y un valor asociado. Siendo
por ello de vital importancia un eficiente y efectivo tratamiento del recurso dato (o
informacin).

Es posible diferenciar dato de informacin de la siguiente manera:

Dato: hechos relacionados con personas, objetos, eventos u otras entidades del mundo
real (empresa, sistema, etc.). Pueden ser cuantitativos (financieros) o cualitativos
(subjetivos), internos o externos, histricos o predictivos. Provienen de diversas fuentes
dentro de una organizacin: Finanzas, Produccin, Ventas, Personal, etc.

Informacin: son datos que han sido organizados o preparados en una forma adecuada
para apoyar la toma de decisiones. Por ejemplo, una lista de productos y su stock sin
ningn orden son datos, pero un lista de productos ordenados por stock (de menor a
mayor) representa informacin para el encargado de compras de un supermercado quin
debe tomar decisiones del tipo: cundo y en cunto reponer el stock de cada producto.

Para lograr un efectivo tratamiento del recurso dato, las organizaciones requieren
usar Bases de Datos. Una base de datos (BD) es un conjunto de datos relacionados, que
permiten satisfacer las necesidades de informacin de una organizacin. Tiene dos
propiedades importantes: INTEGRAR Y COMPARTIR; la integracin significa que los diferentes
archivos de datos han sido lgicamente organizados para reducir la redundancia de datos y
facilitar el acceso a ellos; el compartir significa que todos los usuarios calificados tienen
acceso a los mismos datos, para usarlos en diferentes actividades.

El concepto de base de datos se puede visualizar en la Figura 1.1, donde se concibe
a la base de datos como un conjunto de archivos relacionados que pueden ser accesados por
numerosos usuarios, a travs de distintos medios como por ejemplo programas de
aplicacin, directamente a travs de una estacin de trabajo o va telfono.


EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. Z

Usuario A Programa de
Aplicacin Bodega


Usuario B Insumo


.
Usuario N Proveedor



Figura 1.1.- Concepto de Base de Datos

Desde una perspectiva organizacional, una base de datos se puede definir como un
conjunto de datos operacionales relevantes para la toma de decisiones involucrada en
algn nivel de la organizacin, y que van a permitir satisfacer diversos requerimientos de
informacin (por datos operacionales se entiende a aquellos datos que usa la organizacin
para su normal funcionamiento). Esta definicin de base de datos queda representada en la
Figura 1.2.
Una organizacin generalmente puede escoger entre una o ms bases de datos en un
computador central (servidor); o una base de datos distribuida en los distintos nodos
(clientes) de la red existente en la organizacin.



Nivel Planificacin P F P M
R I E A
O N R R
D A S K BASE DE
Nivel Tctico U N O E
C Z N T DATOS
C A A I
I S L N
Nivel Operacional O G
N


Figura 1.2.- Base de Datos desde perspectiva organizacional
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. 3
1.2. Enfoque de Procesamiento de Datos

El enfoque utilizado en el desarrollo de sistemas de informacin (SI) para el
tratamiento de los datos en la dcada de los 70, se relacionaba con el procesamiento de
datos por departamento (o unidad organizacional), es decir, los sistemas de informacin
respondan a requerimientos de usuarios por aplicaciones individuales como
remuneraciones, cuentas corrientes, contabilidad, control inventario, etc. Cada sistema
desarrollado era diseado, entonces, para satisfacer las necesidades de un departamento o
grupo de usuarios, no existiendo una planificacin corporativa o un modelo que guiara el
desarrollo de aplicaciones.

Este enfoque se conoce como Enfoque por Agregacin y en la Figura 1.3 se puede
visualizar su esencia. La figura muestra el organigrama de una organizacin en el cual
diferentes funciones requieren de un SI para apoyar sus decisiones, cada SI (marcado por
un valo) utiliza datos de la organizacin los cuales son parte del rea marcada en la figura.
La superposicin de reas indica la utilizacin del mismo tipo de datos por uno o ms SI;
no implica compartir recursos sino ms bien duplicar recursos. El nombre por agregacin,
representa a un proceso evolutivo que se presenta al ir acoplando a un SI nuevas funciones,
y por ende, nuevos requerimientos que no haban sido considerados en el momento del
diseo inicial del sistema.



A






B C D





E F G H I





Figura 1.3.- Enfoque por Agregacin Perspectiva Organizacional
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. 4
1.2.1.- Sistemas de Procesamiento de Archivos

Cada nueva aplicacin era diseada con su propio conjunto de archivos de datos.
Muchos de esos datos podan ya existir en archivos de otras aplicaciones, pero para ser
usados en la nueva aplicacin requeran de reestructuracin, lo cual era muy complejo
dado que era necesario revisar los programas que usan esos archivos, e incluso a veces,
reescribir completamente los programas. Por lo anterior, la mayora de las veces era ms
simple disear nuevos archivos para cada aplicacin.

En la figura 1.4 se ilustra este enfoque desde una perspectiva computacional.
Programas de aplicacin pueden accesar, segn la figura, uno o ms archivos de datos, por
lo cual deben contener cada uno de ellos las definiciones de los archivos que utilizan y las
correspondientes instrucciones que permiten manejarlos. Cada programa es dueo de sus
archivos de datos y la lgica del programa es dependiente de los formatos y descripciones
de esos datos.


































Figura 1.4.- Enfoque por Agregacin Perspectiva Computacional

Programa
Facturacin
Archivo
Clientes
Archivo
Cuentas
Pagadas
Programa
Compras

Archivo
Empleado

Archivo
Inventario
Materiales
Archivo
Proveedor
Programa
Cuentas por
Pagar
Programa
Ventas
Programa
Sueldos
Archivo
Proveedor
Archivo
Factura
Archivo
Clientes
Archivo
Inventario
Productos
Archivo
Emplea-
dos
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. b
1.2.2.- Desventajas

Las desventajas del enfoque tradicional de procesamiento de datos se resumen en:

REDUNDANCIA NO CONTROLADA
Al tener cada aplicacin sus propios archivos existe un alto grado de redundancia, lo que
conlleva a prdida de espacio, ingreso repetidamente del dato para actualizar todos los
archivos donde l est e inconsistencias (o varias versiones del dato) lo que requiere de
tiempo para corregirlas. En general algo de redundancia es til, pero debe ser muy bien
controlada.

INCONSISTENCIA DE DATOS
Se produce cuando el dato es almacenado en distintas partes y no se modifica en todas ellas
al realizarse una actualizacin (update). Es la fuente ms comn de errores en las
aplicaciones, lleva a documentos y reportes inconsistentes y hace disminuir la confianza del
usuario en la integridad del sistema de informacin.

INFLEXIBILIDAD
No se puede responder con facilidad a requerimientos de informacin (reportes,
documentos, etc.) que no hallan sido considerados en el diseo original. Esto origina
frustracin en los usuarios al no poder comprender porqu el sistema no puede darles la
informacin que necesitan en el nuevo formato requerido, a pesar que se cuenta con los
archivos respectivos.

ESCASA POSIBILIDAD DE COMPARTIR DATOS
Como cada aplicacin 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, explotar los datos contenidos en
archivos que ya existen, teniendo que crearse nuevos archivos con la consiguiente
duplicacin de datos.

POBRE ESTANDARIZACION
Al desarrollar sistemas de informacin, se requieren estndares bsicamente para los
nombres de datos, formatos y restricciones de acceso. Estos estndares son difciles de
tener en un enfoque tradicional, principalmente porque la responsabilidad por el diseo y
operacin del sistema es descentralizada. Esto puede traer dos tipos de inconstencias:
sinnimos (uso de nombres diferentes para un mismo tem de datos, ej.: #ESTUDIANTE y ROL
ALUMNO) y homnimos (uso de un mismo nombre simple para tems de datos distintos, ej.:
NOTA usado para indicar la calificacin de un alumno en un ramo y NOTA usado para
almacenar informacin narrativa sobre una orden de compra). La estandarizacin es ms
difcil en grandes organizaciones sin control centralizado, ya que cada unidad puede tener
sus propias aplicaciones con sus nombres y formatos particulares. La pobre estandarizacin
dificulta las mantenciones de la aplicacin.
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. o
BAJA PRODUCTIVIDAD DEL PROGRAMADOR
El programador, en general, debe disear cada archivo usado en una nueva aplicacin y
luego codificar las definiciones en el programa (en algunos casos esto se simplifica pues se
usan descripciones de datos estndares que existen en bibliotecas). Tambin debe escribir
las instrucciones de Input/Output requeridas por el mtodo de acceso seleccionado. Por lo
tanto, se requiere de un mayor esfuerzo de desarrollo lo que lleva a una baja productividad
y por ende aumentan los costos del software.

EXCESIVA MANTENCION
Como las descripciones de archivos, registros e tems de datos estn dentro de los
programas, cualquier modificacin de un archivo requiere que se identifiquen el o los
programas donde ser usado. Es as como el esfuerzo de programacin que se realizaba en
los Departamentos de Procesamiento de Datos, era mayoritariamente (cerca del 80%)
centrado en tareas de mantencin de los programas existentes.


1.3.- Enfoque de Base de Datos

En este enfoque los datos son vistos como un recurso que debe ser compartido entre
diferentes usuarios. Cada usuario puede contar con una visin (view) propia de la base de
datos, de acuerdo a sus requerimientos de informacin. Los datos son almacenados de tal
manera que son independientes del programa que los usa. Se tiene un control centralizado
de las operaciones de proteccin, ingreso, modificacin, eliminacin y recuperacin de
datos, a travs de un software especfico: DBMS (Data Base Management System).
Una base de datos se puede definir como un conjunto de archivos relacionados, los
que no estn directamente asociados con los programas de aplicaciones (ver Figura 1.5).


























Figura 1.5.- BD como un conjunto de archivos relacionados
Archivo
Clientes
Archivo
Cuentas
Pagadas
Archivo
Empelados
Archivo
Inventario
Archivo
Proveedor
Archivo
Factura
Archivo
Balance
Archivo
Estadsticas
Ventas
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. 7
1.3.1.- Elementos del Enfoque de Base de Datos

Los principales elementos de este enfoque y sus relaciones se muestran en la Figura 1.6.


Administradores de BD Desarrolladores de SI Usuarios Finales





Herramienta CASE Interface Usuario Programas de
Aplicaciones







Reposi-
torio DBMS BD




Figura 1.6.- Elementos del Enfoque de Bases de Datos

1.- USUARIOS:

Son todas aquellas personas que requieren datos, se clasifican en:

Usuarios Finales: Personas de la organizacin que agregan, borran y modifican datos en
la base de datos y que consultan o reciben informacin desde la base de datos.
Corresponden a ejecutivos, contadores, secretarias, etc. y son quienes utilizan la base de
datos durante su ciclo de vida. Suelen clasificarse en base al tipo de requerimientos que
realizan en: slo lectura (read only), insertar y borrar (add/delete) y modificar (update).

Desarrolladores de Sistemas: o de aplicaciones, personas como analistas de sistemas y
programadores que disean nuevos programas de aplicacin. A menudo se apoyan en
herramientas CASE.
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. 8
Administradores de Bases de Datos: personas responsables por el diseo, construccin,
implementacin y desempeo en el tiempo de la base de datos, adems, de fijar normas
que resguardan la seguridad e integridad de ella. Usan herramientas CASE para mejorar
su productividad.


2.- SISTEMA ADMINISTRADOR DE BASE DE DATOS:

El Data Base Management System (DBMS) es un software (y a veces hardware y
firmware), que permite manejar una o ms bases de datos en forma centralizada o
distribuida, y tambin el repositorio. Dependiendo de la estructura de datos utilizada para
organizar los datos, se clasifican en: jerrquicos (rbol), redes (grafo), relacional (tabla),
objetual (objeto). Los DBMS ms usados son los relacionales (RDBMS), ejemplos de ellos
son: Oracle, DB/2 de IBM, Microsoft SQL Server, SYBASE, PostgreSQL, MySQL.

En general, las principales funciones de un DBMS son:

Definicin de Datos: permite especificar el tipo de dato que ir en la Base de Datos, su
estructura lgica, las relaciones entre datos y caractersticas fsicas sobre organizacin y
acceso. Esto se puede realizar a travs del lenguaje de definicin de datos (Data
Definition Language o DDL) que provee el DBMS (por ejemplo SQL: Structured
Query Language).

Manipulacin de Datos: permite almacenar, modificar y recuperar los datos de la Base
de Datos. Esto se logra a travs del lenguaje de manipulacin de datos (Data
Manipulation Language o DML) provisto por el DBMS (por ejemplo SQL), que entre
otras cosas permite insertar, borrar y modificar datos, consultarlos y presentarlos en
forma adecuada. El lenguaje puede ser del tipo husped (host language), al cual se le
incorporan instrucciones para manejar la Base de Datos; es el caso de lenguajes como:
COBOL, C, VISUAL BASIC, POWERBUILDER, PHP, ASP, HTML, XML, Java, JavaScript, entre otros.

Seguridad de Datos: el dato debe ser protegido para que no sea errneamente usado o
destruido en forma accidental o intencional. El DBMS provee de mecanismos para
controlar el acceso y para definir qu operaciones (por ejemplo, slo lectura o
actualizacin) puede realizar cada usuario. Adems, debe proveer de mecanismos de
respaldo y recuperacin de la Base de Datos, en caso de alguna cada del sistema
(errores del operador, daos en los discos, errores de programa, etc.). Tambin de
mecanismos que permitan prevenir los efectos que dos o ms usuarios intenten acceder
al mismo dato simultneamente (es decir, debe proveer control concurrente).


3.- BASE DE DATOS (Data Base):

Es el lugar fsico donde quedan los datos de un usuario, por ejemplo, los datos de
estudiantes estn dentro de una Base de Datos universitaria. Puede ser una Base de Datos
Centralizada (completamente almacenada en un computador central, sea ste un mainframe
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. 9
un PC stand alone, un servidor en una arquitectura Cliente/Servidos, etc.) o una Base de
Datos Distribuida (donde los datos estn almacenados en distintos nodos de una red).


4.- REPOSITORIO (Repository):
Lugar donde quedan las definiciones de los datos, formatos de pantallas y reportes y
definiciones de otros sistemas de la organizacin. Se le conoce tambin con el nombre de
Diccionario de Datos. Esta herramienta es clave en la administracin del recurso dato en la
organizacin y suele estar implementada como una base de datos.


5.- INTERFACE USUARIO:

Son lenguajes, menus, pantallas, sistemas Web, sistemas de reconocimiento de la voz, etc.
que permiten a los usuarios interactuar con los distintos componentes del sistema. La
interface es cada da ms amigable para el usuario de tal manera de incentivar a usuarios
finales no expertos en computacin a definir sus propios reportes, pantallas y a realizar
aplicaciones simples.

6.- PROGRAMAS DE APLICACIONES:

Programas computacionales usados para poblar y mantener las Bases de Datos, adems
para proveer informacin a los usuarios.


7.- HERRAMIENTAS CASE (Computer-Aided Software Engineering)

Herramientas automatizadas que apoyan el desarrollo de software, especialmente en lo que
respecta al diseo de la Base de Datos y sus programas de aplicacin. Ayudan al
Administrador de Bases de Datos (en la planificacin y diseo de Base de la Datos) y a los
desarrolladores de sistemas (analistas y programadores en el anlisis de requerimientos y
diseo de programas). Las CASE se clasifican en dos categoras:

Upper-CASE: apoyan las tareas front-end del ciclo de vida del desarrollo de software,
incluyendo definicin de requerimientos, anlisis y diseo.

Lower-CASE: automatizan las tareas finales del ciclo de vida, es decir, generacin de
cdigo, prueba y mantencin.


EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. I0
1.3.2.- Implementacin del Enfoque de Base de Datos

Los elementos mencionados en tpico anterior son los componentes principales de
un enfoque de Base de Datos, cabe ahora mencionar que la implementacin de una Base de
Datos en la organizacin puede esquematizarse como en la Figura 1.7.


























Figura 1.7.- Implementacin del Enfoque de Bases de Datos

En la figura se muestran dos etapas que se realizan comnmente al trabajar con BD:
creacin de la base de datos la cual idealmente debiera realizarse una vez (o rara vez), de
tal manera de contar con un BD cuyo contenido sea el que satisface todos los
requerimientos y no tener que estar cambiando su estructura constantemente; y la etapa de
operacin o utilizacin de la base de datos, la cual involucra a los usuarios finales
accesndola constantemente, y a los desarrolladores de sistemas realizando programas que
permitan mantenerla actualizada y responder a nuevos requerimientos de los usuarios.

Estas etapas requieren de la utilizacin del DBMS, especialmente en las tareas de
definicin y manipulacin de la BD. Se hace una distincin entre BD lgica y fsica; por
la primera se entiende al esquema conceptual de la Base de Datos (definicin de archivos y
asociaciones), y por la segunda, al lugar fsico donde quedan almacenados los archivos y
sus asociaciones. Esta distincin muestra claramente una de las ventajas del enfoque de
BD: independencia de los datos de los programas.
Modelo de Datos
Conceptual
Consulta
(Query)
Compilador
DDL
Traductor
DML
BD Lgica
(Schema)
Requerimientos
Definicin BD
Programa de
Aplicacin
DBMS
BD Fsica
Modelamiento Datos
(rara vez)
Creacin BD
(rara vez) (pocas veces) (frecuentemente)
Programador Usuario Final
Uso BD
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. II

Adems, es importante mencionar una etapa previa denominada modelamiento de
datos, a travs de la cual, se busca obtener de la realidad (una organizacin) aquellos datos
y asociaciones que la representan, expresados en forma de un modelo de datos. Esta etapa
puede ser apoyada por herramientas de software del tipo CASE.


1.3.3.- Beneficios y Riesgos de Usar Base de Datos

El enfoque de Base de Datos ofrece ventajas en comparacin con el enfoque de
archivos tradicionales. Estos beneficios se pueden resumir en:

MNIMA REDUNDANCIA DE DATOS
Al integrar los archivos de datos en una sola estructura lgica y almacenando cada
ocurrencia de un tem de dato en un solo lugar de la Base de Datos, se reduce la
redundancia. Se sugiere que se tenga en mente que toda la redundancia puede ser
eliminada, pero algunas veces existen razones vlidas para almacenar mltiples copias del
mismo dato (por ejemplo: para eficiencia en el acceso a los datos, para chequeos de
validacin). En un sistema de Base de Datos la redundancia es controlada.

CONSISTENCIA DE DATOS
Al controlar la redundancia de datos, se reduce enormemente la inconsistencia, dado que al
almacenarse un dato en un solo lugar, las actualizaciones no producen inconsistencia. E
incluso si existe redundancia, pero controlada, el enfoque de Base de Datos se preocupa
que al producirse una actualizacin, se realicen las modificaciones en todos los registros
donde est el dato.

INTEGRACION DE DATOS
En una Base de Datos, los datos son organizados de una manera lgica que permite definir
los relacionamientos entre ellos. Un usuario puede fcilmente relacionar un dato con otro,
por ejemplo, para un determinado producto un usuario puede determinar qu materias
primas son requeridas para fabricarlo y tambin asociar a las materias primas los
proveedores que las venden. Los sistemas de Base de Datos tienen la funcin de asociar
lgicamente datos relacionados.

COMPARTIR DATOS
Una Base de Datos es creada para ser compartida por todos los usuarios que requieran de
sus datos; muchos sistemas de Base de Datos permiten a mltiples usuarios compartir la
Base de Datos en forma concurrente, aunque bajo ciertas restricciones. Como bajo este
enfoque, cada unidad funcional (o departamento) tiene su visin de la Base de Datos, es
ms simple el compartir datos, puesto que a cada usuario se le puede asignar una vista
precisa de los datos requeridos para tomar sus decisiones y no necesita conocer toda la
Base de Datos.

EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. IZ
ESFUERZO POR ESTANDARIZACION
Establecer la funcin de Administracin de Bases de Datos es una parte importante de
este enfoque, su objetivo es tener la autoridad para definir y fijar los estndares de los
datos (convenciones de nombres, controles para la calidad de los datos, procedimientos
uniformes, etc.), as como tambin posteriores cambios de estndares. El Diccionario de
Datos se constituye en una poderosa herramienta para apoyar la estandarizacin.

CONTROLES DE PRIVACIDAD E INTEGRIDAD
La funcin Administracin de de Bases de Datos es responsable por establecer controles
que permitan asegurar la calidad de los datos. El control centralizado que se ejerce bajo este
enfoque puede mejorar la proteccin de datos en comparacin con archivos tradicionales.
Sin embargo, si no se aplican los controles pertinentes, una Base de Datos puede ser ms
vulnerable que los archivos tradicionales dado que una gran cantidad de usuarios estn
compartiendo un recurso comn. El DBMS para esto, provee mecanismos para definir
perfiles de acceso que controlen accesos no autorizados, y reglas de validacin que
aseguren la integridad del dato ingresado.

FLEXIBILIDAD EN EL ACCESO
Este enfoque provee mltiples trayectorias de recuperacin de cada tem de dato,
permitiendo a un usuario mayor flexibilidad para ubicar datos que en archivos
tradicionales. Tambin, es posible satisfacer ciertos requerimientos ad-hoc (que se
producen de repente y casi por nica vez) sin necesidad de un programa de aplicacin, a
travs de lenguajes de consulta orientados al usuario (query language) o de generadores de
reportes (report writer) que proveen los DBMS. En el caso de Base de Datos Relacionales
se destaca el SQL como un poderoso lenguaje de consultas.

FACILITAR EL DESARROLLO DE APLICACIONES
Este enfoque reduce el costo y tiempo para desarrollar nuevas aplicaciones. Hay estudios
que indican que cuando una Base de Datos ha sido diseada e implementada, un
programador puede codificar y depurar una nueva aplicacin en al menos 2 a 4 veces ms
rpido que si fuese con archivos tradicionales. La razn de esto, es que el programador no
necesita cargar con las tareas de diseo, construccin y mantencin de archivos maestros.

INDEPENDENCIA DE LOS DATOS
A la separacin de las descripciones de datos de los programas de aplicaciones que usan
esos datos, se le llama independencia de datos. Esta permite cambiar la organizacin de los
datos sin necesidad de alterar los programas de aplicacin que procesan los datos. Es uno
de los objetivos principales del enfoque de Base de Datos.

REDUCCIN DE LA MANTENCION DE PROGRAMAS
Los datos almacenados deben ser cambiados frecuentemente por diversas razones; se
agregan nuevos datos, se cambian formatos de los datos, aparecen nuevos dispositivos de
almacenamiento o mtodos de acceso, etc. En archivos tradicionales, estos cambios
generan modificacin a los programas de aplicacin (reescribirlos), en sistemas de Base de
Datos como los datos son independientes de los programas se reduce la necesidad de
modificar (mantener) los programas.
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. I3
Los beneficios mencionados dependen mucho del DBMS con que se cuente, es
posible por ejemplo que la independencia de datos (y por ende, la reduccin en la
mantencin) no est presente tan fcilmente en los sistemas de Base de Datos ms antiguos,
pero no as en los sistemas relacionales.

Otra razn por la cual puede fracasarse en la obtencin de los beneficios
mencionados, es la pobre planificacin organizacional en informtica (y en base de datos).
Aunque se tenga el mejor software de Base de Datos no se puede cubrir esta deficiencia.

Adems es posible identificar algunos riesgos o costos que deben tenerse en cuenta
al manejar Base de Datos, estos son:

PERSONAL ESPECIALIZADO
Generalmente, al usar el enfoque de Base de Datos o comprar un DBMS se necesita
contratar o capacitar a personas para convertir sistemas existentes, desarrollar y estimar
nuevos estndares de programacin, disear y administrar Bases de Datos, como tambin
organizar a un nuevo staff de personas.

NECESIDAD DE RESPALDOS Y MECANISMOS DE RECUPERACION
El hecho de tener mnima redundancia, si bien produce beneficios puede llevar a problemas
al no contar con copias de datos que sirvan de respaldo. Por ello es necesario contar con
respaldos independientes que ayuden a recuperar archivos daados, los DBMS
generalmente proveen de herramientas que permiten respaldar y recuperar archivos.

PROBLEMAS AL COMPARTIR DATOS
El acceso concurrente a los datos a travs de distintos programas de aplicacin puede
causar algunos problemas. Primero, si dos usuarios con acceso concurrente desean cambiar
el mismo dato o un dato relacionado, se pueden producir resultados inadecuados si es que
el acceso al dato no es sincronizado. Segundo, cuando los datos son usados slo para
actualizacin, diferentes usuarios pueden obtener el control de distintas partes de la Base de
Datos y bloquear el uso de algn dato (a esto se le llama deadlock). Los DBMS deben
ser diseados para prevenir o detectar tales interferencias, de una forma que sea
transparente para el usuario.

CONFLICTO ORGANIZACIONAL
El mantener los datos en una Base de Datos para ser compartidos, requiere de un consenso
en la definicin y propiedad de los datos como tambin en la responsabilidad por la
exactitud de ellos. La experiencia ha mostrado que los conflictos en cmo definir los datos,
(largo y codificacin, derechos de actualizacin, etc.), son difciles de resolver y muy
frecuentes. En el enfoque de Base de Datos se hace necesario contar con un Administrador
de Datos astuto y un buen itinerario de desarrollado de aplicaciones Base de Datos.
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. I4
1.4. Las Bases de Datos en el Proceso de Desarrollo de Sistemas de Informacin


1.4.1.- Tipos de Sistemas de Informacin

Los Sistemas de Informacin (y las Bases de Datos) deben satisfacer los
requerimientos de informacin de todos los niveles de la organizacin (operacional, tctico
y estratgico). Sin embargo, los requerimientos en los distintos niveles son bastantes
diferentes. Estos niveles se caracterizan por la decisin que apoyan, el tipo de decisin, el
modelo usado para apoyar tal decisin y el tipo de informacin que requieren. Todos estos
elementos se muestran en la siguiente tabla:


Caractersticas Nivel
Estratgico
Nivel Tctico Nivel Operacional
Decisin que apoya Planificacin
Largo Plazo
Control
Gerencial
Control
Operacional
Tipo de Decisin No Estructurada Semi
Estructurada
Estructurada
Modelo ms usado Predictivo Descriptivo Normativo
Caractersticas de la
Informacin:

Fuente Medio Ambiente Registros Internos Operacin Interna
Exactitud Razonable Buena Exacta
Amplitud Resumida Detallada Muy Detallada
Frecuencia A Solicitud Peridica Tiempo Real
Rango de Tiempo Aos Aos Meses
Uso Prediccin Control Accin Diaria

En una organizacin se pueden identificar tres tipos de Sistemas de Informacin:

SI Operacionales o TPS (Transaction Processing Systems), que apoyan las operaciones
diarias de la organizacin; entregan informacin detallada en forma oportuna y exacta.

SI Administrativos o MIS (Management Information Systems) proveen informacin
requerida por los administradores para planificar y controlar; en general es informacin
resumida. Los sistemas tienden a ser flexibles y de fcil uso, pero esto ha sido un
objetivo difcil de lograr, por lo que aparece la necesidad de sistemas que
verdaderamente apoyen la planificacin y los procesos de toma de decisiones (DSS).

EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. Ib
Sistemas de apoyo a la toma de decisiones o DSS (Decision Support Systems), buscan
apoyar al tomador de decisiones con informacin y herramientas de anlisis. Un DSS
debera incluir:
1. Una estacin de trabajo (a menudo un PC) ubicado en la oficina del tomador de
decisiones o en otro lugar adecuado.
2. Un DBMS para crear, accesar y mantener Bases de Datos centralizadas o
distribuidas.
3. Un lenguaje de alto nivel poderoso para recuperar y manipular datos.
4. Herramientas de modelacin que permitan evaluar diferentes alternativas de
decisin (herramientas como simuladores, planillas de clculo, grficadores,
etc.), ms conocidas como herramientas clientes en una arquitectura
cliente/servidor.

Un tpico ejemplo de un DSS simple se visualiza en la Figura 1.8. En este ejemplo un
PC (usado por un tomador de decisiones) se enlaza al computador central que usa un
DBMS para manejar las Bases de Datos de la organizacin que contienen datos de nivel
operacional. El tomador de decisiones utiliza un lenguaje de consulta (Query Language)
para formular sus requerimientos, stos son pasados al computador central quien usa el
DBMS para extraer los datos requeridos desde las Bases de Datos. Estos datos pasan al
PC donde pueden ser desplegados o almacenados en un archivo o Base de Datos local, o
ser usados en un modelo financiero para evaluar alternativas, en este caso a travs de
una planilla de clculo.



















Figura 1.8.- Ejemplo de un DSS


Requerimientos de Informacin
Computador Central
Computador Personal
Query Planilla
DBMS
Subcjto.BD
BD`s Corporativas
Archivo
Local
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. Io
Es importante mencionar adems, el concepto de Data Warehouse que en el ltimo
tiempo ha ido ganando su espacio en lo que a bases de datos se refiere. Se trata de un
almacn donde las organizaciones pueden depositar todos aquellos datos con importancia
crtica para la toma de decisiones. Un Data Warehouse consiste bsicamente de tres
componentes:
Herramientas extractoras, de transformacin y carga para los datos operacionales
y fuentes externas.
Un warehouse (almacn) para almacenar los datos seleccionados.
Herramientas para analizar los datos contenidos en el warehouse.

Este nuevo concepto nace frente a la problemtica asociada a las bases de datos
operacionales, y a los sistemas de informacin tradicionales, que no han logrado an dar un
soporte real y efectivo a la toma de decisiones. Los datos bsicos de una organizacin son
transformados, integrados y cargados en el Data Warehouse de una forma tal que tenga
sentido para el tomador de decisiones.

El Data Warehouse es un concepto que trata de resolver la problemtica que tienen
actualmente las empresas en el anlisis rpido de situaciones, la integracin de datos
procedente de diversas fuentes, el contar con una perspectiva histrica de los datos y el
aprovechamiento ptimo de la informacin organizacional, para a partir de ella generar
conocimiento que permita rentabilizar mejor a la organizacin. Para ello, se necesitan
sistemas de informacin inteligentes, as aparece una nueva generacin de sistemas, dentro
de los cuales estn los sistemas OLAP, y el uso de algoritmos de Data Mining (redes
neuronales, rboles de decisin, anlisis estadstico, etc.), que junto al Data Warehouse
constituyen las tendencias ms importantes en el rea de bases de datos del ltimo tiempo,
y que se engloban todas ellas bajo el nombre de Inteligencia de Negocios (para mayores
antecedentes ver Captulo 6).

En sntesis, se puede establecer que hoy en da, los sistemas de informacin en
general, son clasificables en aquellos que estn orientados a las transacciones (sistemas
OLTP: On-Line Transaction Processing) y aquellos orientados a analizar temas de inters
especfico del tomador de decisiones (sistemas OLAP: On-Line Analytic Processing). Los
TPS y MIS, apoyados la mayora de las veces en bases de datos relacionales, son ejemplos
de sistemas OLTP. En cambio, los sistemas OLAP funcionan mejor si hay un Data
Warehouse (implementado como una Bases de Datos Multidimensional) que integre y
depure los datos provenientes de los distintos sistemas OLTP de una organizacin, y que
permita visualizarlos como un cubo multidimensional y no como una tabla bidimensional.

EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. I7
1.4.2.- Metodologas de Desarrollo

El enfoque de BD altera el desarrollo tradicional de SI (Figura 1.9) en las etapas de
Anlisis (Diseo Lgico) y en especial en la de Diseo (Diseo Fsico).

En el Anlisis se debe poner mayor nfasis en el manejo integrado de los datos y en
la generacin de una estructura lgica de la Base de Datos que se adapte a los
requerimientos de los usuarios y a las capacidades del DBMS disponible.

En el Diseo se debe convertir la estructura lgica en especificaciones para archivos
y programas que puedan ser implementados por el DBMS disponible, se debe definir la
Base de Datos (su schema), la manera de poblarla inicialmente y los programas que
permitirn manejarla posteriormente.

La estructura lgica de la Base de Datos es el elemento fundamental, si ella no
contiene todos los datos que el sistema requiere, la Base de Datos no permitir satisfacer
los requerimientos del usuario por lo que el Sistema de Informacin fracasar. Para
asegurar que el contenido de esta estructura es el correcto, se utilizan metodologas de
Modelamiento de Datos que ayudan a extraer desde una realidad o rea de aplicacin
aquellos datos relevantes, y adems, permiten verificar que todos los requerimientos
puedan ser satisfechos por el modelo de datos generado (ver captulos 2 y 3). Tambin
permiten generar un modelo de datos que represente a toda la organizacin y de all
detectar reas que deben ser cubiertas por SI particulares.

El proceso de desarrollo de un sistema o software puede ser abordado desde la
perpectiva de los procesos que se desean automatizar (esto se estudia en la asignatura
Fundamentos de Ingeniera de Software) o desde la perspectiva de los datos que el sistema
require manejar (enfoque de la asignatura Bases de Datos).

Desde la perspectiva de los datos, se considera necesario realizar una planificacin
de Base de Datos (proceso top-down) y un diseo de Base de Datos (proceso bottom-up), a
partir de los cuales se obtienen la o las Base de Datos requeridas por la organizacin,
incluyendo los programas de aplicacin que las manejan. Este enfoque orientado a los datos
es el que se ver en los prximos captulos, como metodologa de modelamiento de datos.


EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. I8




Estudio de Factibilidad




Definicin de Requerimientos




Anlisis (Diseo Lgico) Upper-CASE




Diseo (Diseo Fsico) Prototipo



Programacin Aproximaciones
y Pruebas Sucesivas


Lower-CASE

Implementacin




Mantencin



Figura 1.9.- Etapas Tradicionales del Ciclo de Vida de un SI


EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. I9
1.5.- Tipos de Bases de Datos

Evolucin. Base de Datos Centralizada versus Base de Datos Distribuida

En los aos 70, el acceso a los computadores (en su mayora equipos tipo
mainframes) era controlado estrictamente por los Departamentos de Informtica (o
Procesamiento de Datos), y se acceda a los datos all almacenados a travs de tarjetas
perforadas o terminales primitivos. Se presenci posteriormente una evolucin en el
almacenamiento y recuperacin de los datos, a travs del modelo de datos relacional; sin
embargo, los recursos computacionales seguan siendo centralizados y con interfaces
hostiles al usuario.

En los aos 80, se produce el gran cambio con la llegada del PC. El usuario cuenta
ahora con ciclos de CPU, almacenamiento y recuperacin de datos, y software amistoso, en
su propio escritorio. Sin embargo, los PCs son incapaces de manejar las necesidades de
procesamiento de datos de la mayora de los grandes negocios. La solucin a esto, la
proporcionan las redes de rea local, al conectar los PCs con los mainframes; as el PC, se
comienza a usar como un terminal amistoso para el usuario. Al mismo tiempo, se produce
la evolucin de los servidores de archivos e impresin basados en redes.

En los ltimos aos, la creciente tendencia en las organizaciones a delegar
responsabilidad informtica a los departamentos usuarios, se ha visto sustentada en un
modelo computacional que se presta particularmente bien para ello, se trata del modelo
cliente/servidor (C/S), que conceptualmente, no es sino la separacin de funciones de
procesamiento de informacin entre un sistema que requiere de uno o ms servicios
(cliente) y uno o ms sistemas que proveen dichos servicios (servidor). Ambos requieren
estar enlazados a travs de una red.

Por otra parte, se puede establecer que desde la perspectiva de los datos, esta
evolucin se ve reflejada en los modelos que sustentan las bases de datos, y en especfico,
los DBMS que permiten definirla y manejarla.

Las primeras bases de datos, se sustentan en un modelo jerrquico que organiza los
datos bajo la visin de una estructura de rbol, luego dada la imposibilidad de manejar
relaciones complejas en l, aparece el modelo de redes basado en un grafo, que si bien
elimina las dificultades del modelo jerrquico, su complejidad en la manipulacin lo deja
rpidamente obsoleto.

En los aos 80, el modelo relacional aparece como una alternativa sencilla de
manejar: los datos son concebidos como tablas (o relaciones matemticas) que poseen
asociaciones entre ellas (columnas o atributos claves comunes).

Es as como el almacenamiento y recuperacin de los datos se simplifica, pero
siempre con un control centralizado de ellos. Luego al aparecer las redes de computadores,
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. Z0
y la arquitectura cliente/servidor (1990); el modelo relacional se adapta a ellas, permitiendo
la distribucin de sus tablas a travs de los distintos nodos de una red.


Base de Datos Centralizada

Cuando la base de datos reside completamente en el computador central, sea ste un
mainframe, un PC aislado o un servidor central en una arquitectura C/S (ver Figura 1.10),
se dice que se tiene una base de datos centralizada. Esto implica que all tambin reside el
DBMS que la soporta. Estas bases de datos en comparacin con las bases de datos
distribuidas, se caracterizan por ser fciles de implementar, difciles de acceder desde sitios
remotos, generan un alto costo de comunicacin y una baja disponibilidad, ya que cualquier
cada en el sistema central, significa que no hay acceso a los datos contenidos en ella.














Figura 1.10. Base de Datos Centralizada en Arquitectura C/S


Arquitectura Cliente/Servidor

Es importante mencionar algunos antecedentes sobre la arquitectura cliente/servidor
antes de estudiar las bases de datos distribuidas. Esta arquitectura es, en su esencia, una
arquitectura de procesos distribuidos en una red, en donde se definen claramente dos roles:
los procesos clientes, que solicitan servicios; y los procesos llamados servidores, cuyo
papel es atender estas solicitudes.

Sin embargo, clientes y servidores son independientes entre s, debido a que un
proceso servidor puede atender requerimientos de cualquier proceso cliente, sin importar el
ambiente de hardware o software en que residan ambos procesos. Por concepcin, el
proceso cliente lo es siempre, en cambio, un proceso servidor puede transformarse en
cliente de otro servidor en un momento dado.

B D
N o d o 3
N o d o 1
N o d o 2
S e r v i d o r B D
N o d o
C e n t r a l
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. ZI
Adems, existen algunos conceptos que es necesario diferenciar en una arquitectura
cliente/servidor como son:
La Base de Datos, pudiendo ser relacional o no relacional (bidimensional o
multidimensional), en uno o ms servidores, locales o remotos.
La Lgica del Negocio o de la Aplicacin, que contiene las reglas del negocio que
accesan los datos, los transforman y resuelven algn requerimiento cualquiera.
Corresponden a los procedimientos almacenados y triggers escritos en SQL.
La Lgica de la Presentacin, que le permite a la aplicacin mostrar los datos bsicos
o ya transformados en informacin, en algn formato adecuado para el usuario final.
Corresponde al cdigo que representa la GUI (Graphic User Interfaces).

Es decir, una aplicacin a ser desarrollada en esta arquitectura tiene tres partes o capas:
presentacin (front-end), reglas del negocio y datos (back-end).

La presentacin son los forms, menes, ventanas, y validaciones en el ingreso de datos
(cdigo escrito por ejemplo en Power Builder, Visual Basic o Java). Las reglas del negocio
son los procesos mismos que realiza el negocio y que se desean automatizar. Los datos
representan el almacenamiento, acceso y mantencin de la base de datos que contiene el
registro de las transacciones que se llevan a cabo en el negocio.

De esta manera una aplicacin desarrollada bajo esta arquitectura tiene estos tres
elementos. Dependiendo donde se ubiquen estos conceptos o que tan separados estn entre
ellos es el tipo de arquitectura cliente/servidor utilizada.

Estas tres capas definen el modelo cliente/servidor; una aplicacin desarrollada en l,
sigue una de las cinco clases que se visualizan en la Figura 1.11. Cualquiera de las capas de
una aplicacin puede residir tanto en el cliente como en el servidor. Pero la aplicacin
obtiene su mejor rendimiento cuando el cdigo de la presentacin reside en el cliente y la
capa de datos en el servidor. Esta separacin permite que el procesamiento de aplicaciones
distribuidas sea muy rpido, dejando en el escritorio del cliente (donde los ciclos de
procesamiento son ms baratos) cdigo que libera de carga al servidor, quin slo se
debiera preocupar del cdigo que maneja los datos. Presentacin Remota y Manejo de
Datos Remoto son las clases ms comunes en el ambiente cliente/servidor. Manejo de
Datos Distribuido, si bien no es tan usada, tiene la gracia de entregar una plataforma que
facilita la implementacin de Bases de Datos Distribuidas (BDD).
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. ZZ




















Figura 1.11. Clases de Arquitectura Cliente/Servidor


En una base de datos en una arquitectura cliente/servidor el cliente corre una
aplicacin que enva un comando al servidor (tradicionalmente, un comando SQL). Esta
aplicacin debe tener una API (Application Program Interface) que le permita
interactuar con el DBMS que se va a utilizar. Una API es una biblioteca de llamadas a
funciones que enrutan los comandos SQL desde la aplicacin cliente (front-end) hacia el
servidor de base de datos (back-end). Las APIs permiten tener clientes con diversos tipos
de sistemas operativos, corriendo aplicaciones diferentes, que estn unidas por una base de
datos comn. A este tipo de software se le denomina en forma genrica middleware.

Es decir, una API es una coleccin de funciones que un programador puede usar
para hacer que una base de datos efecte las tareas que se desean. La API proporciona una
forma de abrir conexiones a la base de datos, enviar y recibir datos y efectuar casi cualquier
otra operacin. Una API habilita a un front-end para interactuar con el servidor de la base
de datos a un nivel ntimo que permita un mejor desempeo.

Una de las APIs ms comnmente usada es ODBC (Open Data Base
Connectivity) que permite tener acceso a cualquier base de datos que posea un controlador
(o driver) ODBC. Es la API que utilizan las aplicaciones clientes/servidor basadas en
Windows. Ver Figura 1.12.
Presentacin
Lgica Negocio

Manejo de datos Manejo de datos Manejo de datos Manejo de datos Manejo de datos
Lgica Negocio Lgica Negocio
Lgica Negocio Lgica Negocio Lgica Negocio
Manejo de datos
Presentacin Presentacin Presentacin Presentacin Presentacin
1
Presentacin
Distribuida
2
Presentacin
Remota
3
Funcin
Distribuida
4
Manejo de Datos
Remoto
5
Manejo de Datos
Distribuido
C

L

I

E

N

T

E
S
ER
VI
DO
R
R
E
D
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. Z3





Figura 1.12. Aplicacin con Base de Datos en Arquitectura Cliente/Servidor

Una API debe incorporarse al cdigo de la aplicacin front-end escrita en algn
lenguaje de tercera o cuarta generacin. Cuando existen APIs para varias herramientas de
desarrollo, se tiene una independencia considerable para desarrollar aplicaciones clientes en
cualquier lenguaje, siendo posible para los desarrolladores enlazar una aplicacin
fcilmente a cualquiera de las bases de datos (o DBMSs) ms populares.

En este caso, trabajar con API para bases de datos diferentes, implica que el
programador, utilizando las bibliotecas provistas por la API, debe abrir una conexin con el
motor de la base de datos deseado, luego se devolver un identificador (handle) del
proceso, que identifica la conexin con una base de datos particular. Es posible mantener
varias conexiones y cada una de ellas tendr un identificador exclusivo.

Despus de hecha la conexin, se pueden ejecutar consultas que son enviadas a la
base de datos; si la consulta falla se devuelve una clave de error, si tiene xito, se contina
con el proceso. Despus que un programa ha terminado de procesar los datos, se llama una
funcin para liberar la memoria asociada con las consultas y se cierra la conexin con la
base de datos.

Algunas herramientas de aplicacin traen su propio motor de base de datos, por lo
cual no requieren de una API, ya que no se necesitan conectar a una base de datos externa a
ellas. Por ejemplo, Microsoft Visual Basic trae incorporado el motor Microsoft Jet que
permite manejar una base de datos nativa; en caso que se requiera acceso a una base de
datos externa como SQL Server de Microsoft, se deben utilizar la API ODBC y el motor
de base de datos debe tener el controlador VBSQL.

Muchas bases de datos ofrecen actualmente APIs basadas en el estndar ODBC, se
considera un estndar de hecho, lo cual significa que un API que declara cumplir con
ODBC debe satisfacer ciertas condiciones relativas a su funcionamiento. Si un API
realmente cumple con las normas ODBC, los programas escritos para accesar una base de
datos utilizando ODBC, deben ser capaces de accesar a cualquier otra base de datos usando
las mismas llamadas de funcin. Esto simplifica enormemente la tarea de interactuar con
bases de datos de diferentes proveedores.

En aplicaciones desarrolladas para Internet que requieren establecer conectividad
con alguna base de datos, se tiene por ejemplo la API JDBC (Java Data Base Connectivity).
Esta es un middleware que permite accesar desde alguna aplicacin Java, algn motor de
base de datos sin necesidad de conocer las caractersticas propias de l.
Aplicacin escrita
en Herramienta
Cliente
API
ODBC
Driver
ODBC
DBMS
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. Z4
Base de Datos Distribuida

Cuando los datos de la base de datos son repartidos fsicamente entre computadores
que estn en mltiples sitios y conectados por una red, se est frente a una base de datos
distribuida. Al igual que para las bases de datos centralizadas, se requiere de un DBMS
para administrarla. Las BDD se caracterizan por ser muy difciles de implementar
(requieren entre otras cosas, de una evaluacin costo/beneficio para determinar en qu nodo
dejar qu datos, controles especiales de seguridad y de actualizacin de datos para evitar
inconsistencias), pero permiten un alto grado de disponibilidad de los datos, ya que no son
dependientes completamente de lo que suceda en el nodo central.

Existen diferentes estrategias de distribucin de datos: fragmentacin (horizontal y
vertical), replicacin y una estrategia hbrida que combina las dos anteriores.

La fragmentacin consiste en dividir algn archivo de la base de datos en
fragmentos dependientes de alguna caracterstica propia de los datos, para dejarlos lo ms
cerca de los usuarios que los requieran. Por ejemplo, un archivo CLIENTE puede ser
fragmentado horizontalmente, dividindolos segn su categora: clientes del tipo A, B, C o
D; y esos fragmentos distribuirlos en los nodos de la red (ver Figura 1.13). Este mismo
archivo puede ser fragmentado verticalmente, si se divide en base a sus atributos o
columnas, por ejemplo, en un nodo podran dejarse los atributos que identifican al cliente y
en otro aquellos atributos que registran sus antecedentes comerciales, dado que seran
utilizados por usuarios que estaran en distintos nodos. Cuando existe fragmentacin, es
necesario hacer una unin de fragmentos en caso que para algn requerimiento se necesiten
los datos de todos los clientes.















Figura 1.13. Base de Datos Distribuida (fragmentos)

La replicacin consiste en copiar un archivo de la base de datos en cada nodo, de
tal manera que sus datos siempre estn disponibles, incluso cuando el nodo central est
cado. El mayor problema es mantener la consistencia de los datos cuando se producen
CLIE N
TE D
N od o 3
N od o 1
N od o 2
N od o 4
CLIE N
TE C
CLIE N
TE A
CLIE N
TE B
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. Zb
actualizaciones. Por ejemplo, si se replica el archivo CLIENTE, existir una copia en cada
nodo de la red (ver Figura 1.14).















Figura 1.14. Base de Datos Distribuida (rplicas)

La estrategia hbrida consiste en particionar el archivo de la base de datos en
fragmentos crticos (sus datos requieren alta disponibilidad por lo que se almacenan en
mltiples sitios, es decir, se replican) y fragmentos no crticos (se almacenan en un sitio, es
decir, se particionan horizontal o verticalmente). Por ejemplo, el archivo CLIENTE puede
distribuirse pensando que los datos de los clientes VIP deben estar en todos los nodos, de
tal manera de entregar un buen servicio a ellos (fragmentacin horizontal con replicacin,
ver Figura 1.15).

















Figura 1.15. Base de Datos Distribuida (hbrida)
CLIENTE
Nodo 3
Nodo 1
Nodo 2
Nodo 4
CLIENTE
VIP
CLIENTE
VIP
CLIENTE
VIP
C L I E N T E
N o d o 3
N o d o 1
N o d o 2
N o d o 4
C L I E N T E
C L I E N T E
C L I E N T E
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. Zo
1.6.- Conceptos y Caractersticas de los Datos

Datos Versus Informacin, estos dos trminos son comnmente usados como
sinnimos, pero en el mbito de este curso interesa insistir en la diferencia que hay entre
ellos.

Por dato se entiende a aquellos hechos relacionados con personas, objetos y eventos
del mundo real, que se almacenan en algn medio procesable por el computador.
Normalmente los datos son poco tiles para los tomadores de decisiones hasta que hallan
sido procesados de alguna forma.

Por informacin se entiende al dato que ha sido procesado y formateado con el
objetivo de apoyar la toma de decisiones, o en general, las actividades de una organizacin.

En la prctica, sin embargo, la distincin es difcil de mantener. El dato pasa a ser
informacin cuando es usado en un contexto o escenario especfico, o se aplica a la
solucin de un problema particular. Por lo que su definicin depende de como los datos (o
informacin) son usados, ms que de propiedades inherentes a ellos.


1.5.1.- Naturaleza del Dato

Para describir un dato deben considerarse tres niveles de abstraccin o estados en
que se encuentra el dato. Estos se pueden visualizar en la Figura 1.16 y son: realidad,
metadato y dato.


Eventos, Objetos Diccionario de Datos Base de Datos
y











Realidad Metadato Dato (o valor)


Figura 1.16.- Niveles de Abstraccin del Dato
Entidad
Definicin Tabla o
Archivo
Ocurrencias de
Filas o Registros
Atributos
Definicin
Columnas o
Campos
Ocurrencias de
Columnas o
Campos
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. Z7
REALIDAD

Comprende el mundo real (una organizacin), con sus componentes y el medio
ambiente en el cual opera. Cualquier organizacin se considera como un conjunto de
personas, recursos financieros, materiales y equipos, que son organizados para satisfacer
ciertos objetivos; adems posee una interaccin con el medio.

Una entidad es una persona, objeto o evento sobre lo que la organizacin decide
coleccionar y almacenar datos. Una entidad puede ser tangible como un empleado, un
producto, un computador o un cliente; o intangible como una cuenta de un banco, un vuelo,
un centro de costos.

Una clase de entidades, es un conjunto de entidades que poseen caractersticas
similares. Por ejemplo, todos los clientes de una empresa. Tambin se le llama tipo de
entidades, y a veces, suele usarse indistintamente el trmino entidad o clase de entidad.

En general, cada entidad es asociada a una y solo una clase de entidades. Sin
embargo, esta asignacin as como la definicin de clase de entidades puede ser arbitraria,
por ejemplo, la clase Empleados involucra a los empleados con contrato fijo solamente o
tambin a los con contrato a honorarios, la respuesta va a depender del criterio del
diseador.

El nmero de clases de entidades por organizacin depende del tamao y
complejidad de ella. Por ejemplo, una organizacin de tamao medio define generalmente
varios cientos de clases de entidades.

Un atributo es una propiedad de una clase de entidades que se desea almacenar.
Para cada clase existe un conjunto de atributos de inters para la organizacin. Por
ejemplo, para la clase Empleado algunos atributos de inters seran: RUT, Nombre,
Direccin, Telfono y Cargo.

Cada entidad dentro de una clase, debe poseer al menos un atributo (o una
combinacin de ellos) que la distinga de otras entidades dentro de su clase. A este atributo
se le llama identificador, llave o clave primaria. Por ejemplo, el Rut para Empleado,
Nro.Producto para Producto, Nro.Factura + Nro.Producto para Pedido. Este atributo debe
ser nico, es decir, no pueden existir dos entidades con un mismo valor para ese atributo
dentro de una clase.

Otra propiedad de una entidad es la asociacin o relacionamiento (relationship)
entre dos o ms clases de entidades. Esta se ver ms adelante.

Las entidades son del mundo real, pero en la prctica es difcil para un
administrador tomar decisiones en base a la observacin directa de ellas. Por eso la
organizacin requiere modelar estas entidades.
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. Z8
METADATO

Es informacin acerca de los datos de una organizacin. Se usa para desarrollar
modelos lgicos de las entidades y asociaciones de una organizacin. El metadato es
almacenado y mantenido en el diccionario de datos (o repositorio) de una organizacin.

Cada clase de entidad tiene un tipo de registro definido como metadato, cada
atributo tiene un tipo de tem de dato como metadato.

Un tem de dato es la unidad de dato ms pequea en una Base de Datos. Por
ejemplo, Nombre del Empleado, Rol del Alumno, Fecha de Orden de Compra. En el
diccionario de datos se registra por cada tem de dato, informacin sobre su nombre, largo,
tipo y una breve descripcin narrativa de l.

Un dato agregado, es un conjunto de tems de datos que son nombrados y referidos
como un todo. Por ejemplo, Fecha est compuesto de Da, Mes y Ao. Debe registrarse
informacin sobre ellos en el diccionario de datos.

Un tipo de registro es un conjunto de tems de datos y/o datos agregados. La
definicin de un tipo de registro para cada clase de entidades que se guarda en el
diccionario de datos contiene por ejemplo: nombre del registro, descripcin, tamao (o
largo), tems de datos, datos agregados e identificacin de clave primaria.


DATO (o valor)

Corresponde a ocurrencias de datos. Por cada entidad, existe una ocurrencia de
registro que contiene valores de tem de datos que la representan.

Es importante distinguir la diferencia entre metadatos (definiciones del dato) y dato
(ocurrencias del dato). Los metadatos no son almacenados en la base de datos sino que en
el diccionario de datos, los datos (ocurrencias de datos) son almacenados en la base de
datos.



1.5.2.- Representacin del Dato (entidad, asociaciones o relacionamientos)

Para representar los datos de una determinada realidad, consideremos dos aspectos
bsicos del modelamiento de datos: entidades y asociaciones.

Una entidad, como ya se defini, es un objeto, evento o persona sobre la cual la
organizacin decide coleccionar y almacenar datos.

La asociacin, es una conexin lgica entre entidades.
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. Z9

Para representar grficamente estos elementos, utilizaremos la siguiente simbologa
propuesta por Bachmann:


A Entidad A



A
Entidad A con atributos a, b, c y d
a b c d


Asociacin



Las asociaciones se caracterizan por:

a) Asociacin del tipo UNA
UNA asociacin de la entidad A a la B, significa que para un cierto perodo de tiempo
habr una ocurrencia de la entidad A que tiene una y slo una ocurrencia de la entidad B
asociada a ella. Por ejemplo, en un cierto instante un PACIENTE de un hospital est
asignado a una CAMA. Esto se representa:


PACIENTE CAMA



b) Asociacin del tipo MUCHAS
Una asociacin del tipo MUCHAS entre entidades A y B, significa que para un cierto
perodo de tiempo, habr una ocurrencia de la entidad A que tiene cero, una o ms
ocurrencias de la entidad B asociada a ella. Por ejemplo, un EMPLEADO puede tener cero,
una o ms CARGAS FAMILIARES. Esto se representa:


EMPLEADO CARGAS


EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. 30

c) Asociacin Condicional
Establece que para una ocurrencia de la entidad A existen dos posibilidades: que exista
una ocurrencia de una entidad B asociada a ella, o que no exista. Por ejemplo, en un
hospital una CAMA es asignada a solo un PACIENTE o est desocupada en un cierto
instante de tiempo. Esto se representa:







d) Asociaciones en ambos sentidos
Si existe una asociacin entre ocurrencias de la entidad A con la B, tambin existe entre
B con A. Esto genera tres tipos de asociaciones:


1:1 PACIENTE CAMA UNO-A-UNO



1:M EMPLEADO CARGAS UNO-A-MUCHOS




M:N ALUMNO ASIGNATURAS MUCHOS-A-MUCHOS



Considerando este tipo de asociaciones entre entidades, ya podemos comenzar a obtener
un Modelo de Datos (MD) que represente a un conjunto de entidades y asociaciones.
Por ejemplo, en la Figura 1.17 se visualiza un posible MD para una Universidad. En este
ejemplo, se puede visualizar una situacin muy comn en las asociaciones M:N, esto es
que sean transformadas en dos asociaciones de 1:N, con una nueva entidad haciendo de
interseccin entre las entidades asociadas como M:N, a esta nueva entidad se le
denomina NUB. En nuestro caso entre ALUMNO y ASIGNATURA es posible crear una nueva
entidad NOTA que contenga la calificacin del alumno al cursar ese ramo (suponer que si
el alumno reprueba, siempre se guarda la nota de la ltima vez en que curs el ramo).
Grficamente, esto se visualiza en la Figura 1.18.

La nueva entidad generada requiere de una clave primaria compuesta o concatenada.
Esto es dos o ms tems de datos que permiten identificar en forma nica a cada entidad.
PACIENTE CAMA
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. 3I













Figura 1.17.- Ejemplo Modelo de Datos para una Universidad


















Figura 1.18.- Ejemplo Transformacin de Asociacin M:N en dos Asociaciones 1:N

Es posible que se requiera asociar tres o ms entidades, para ello tambin se utiliza un tipo
de registro de interseccin, el cual tendr como clave primaria una clave compuesta por los
tems de datos que son clave primaria en cada una de las entidades involucradas. Por
ejemplo, en la Figura 1.19 se visualiza un MD para el Sistema de Abastecimiento de una
Fbrica en donde la entidad ORDEN-COMPRA hace de interseccin entre las entidades MATERIA-
PRIMA, BODEGA y PROVEEDOR.
ALUMNO

ROL-ALUMNO
NOM-ALUMNO
ASIGNATURA

CLAVE-ASIGNATURA
NOM-ASIGNATURA
CREDITOS
DESCRIPCION
NOTA

ROL-ALUMNO
CLAVE-ASIGNATURA
NOTA
DEPTO. CARRERA
ALUMNO

SOLICITUD
ASIGNATURA
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. 3Z


























Figura 1.19.- Ejemplo de Asociacin entre ms de dos Entidades

e) Mltiples asociaciones entre dos entidades
Al modelar datos a veces es conveniente dos o ms asociaciones entre dos tipos de
entidades para aprovechar una misma descripcin o contenido de un tipo de registro.
Por ejemplo si se tiene lo siguiente:
















ASEGURADO

RUT
NOMBRE
DIRECCION

BENEFICIARIO

RUT
NOMBRE
DIRECCION
POLIZA

#POLIZA
FECHA, MONTO
RUT-A
RUT-B
ORDEN-COMPRA

#MAT-PRIMA
#BODEGA
#PROVEEDOR
CANT-A-ORDENAR
PROVEEDOR

#PROVEEDOR
NOMBRE-P
DIRECCION-P
MATERIA-PRIMA

#MAT-PRIMA
DESCRIPCION
BODEGA

#BODEGA
DIRECCION-B
INVENTARIO

#MAT-PRIMA
#BODEGA
CANTIDAD
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. 33
Es posible definir una sola clase de entidad (PERSONA) la cual se relacionara con PLIZA de
dos formas: como asegurado o como beneficiario.












Cuando existen dos o ms asociaciones entre dos entidades, cada asociacin debe ser
rotulada con un nombre que clarifique la asociacin. En general, esto complica la
legibilidad del modelo, por ello es conveniente ser lo ms simple para representar estas
asociaciones.



f) Asociaciones Recursivas (Loops)
Es posible que se requiera describir asociaciones entre entidades de una misma clase, a
esto se le llama asociaciones recursivas o loops. Existen de tres tipos:



1:1











PERSONA

RUT
NOMBRE
DIRECCION

POLIZA

#POLIZA
FECHA, MONTO
RUT-A, RUT-B
Asegurado
Beneficiario
EMPLEADO
Existen EMPLEADOS que son casados
entre ellos, es decir, tienen una
asociacin 1:1, pero es posible que
slo algunos sean casados entre
ellos, por lo que deber ser una
asociacin condicional.
Casado-con
EX UMBRA SOLEM
IN

Universidod Tecnico Federico Sonfo Moro
Deporfomenfo de Informofico
8ose de Dofos


CeciIio Peyes C. 34

1:N












M:N








Una asociacin M:N como la anterior, puede tambin ser reducida a una o ms
asociaciones 1:N usando una entidad de interseccin. Nuestro ejemplo anterior quedara:









En la entidad PIEZA, el #PIEZA corresponde al #PRODUCTO de aquel producto que para su
fabricacin requiere de otros componentes que tambin son PRODUCTOS y que se identifican
a travs del #COMPONENTE. La CANT-USADA indica cuntas unidades del componente requiere
la pieza. Por ejemplo si se tiene la siguiente fila dentro de la tabla PIEZA: X, Y, 20; podramos
decir que para fabricar el PRODUCTO X se necesitan 20 unidades del PRODUCTO o COMPONENTE Y.


PRODUCTO
Un PRODUCTO se compone de otros
PRODUCTOS (piezas) y stos a su vez
de otros, y as sucesivamente.
Componentes
PRODUCTO

#PRODUCTO
NOMBRE
ETC.
PIEZA

#PIEZA
#COMPONENTE
CANT-USADA
EMPLEADO
Si se supone que cada empleado
tiene slo un jefe, entonces puede
existir una asociacin de jefe a
subordinado.
Jefe-de

También podría gustarte