etc. Y los programas que los utilizan no se tienen que preocupar de su mantenimiento ni almacenaje por lo que un cambio en la base de datos no tiene porque afectar en principio a los programas que la utilizan. Datos de los usuarios que tienen acceso a la base de datos) Organización de una base de datos Para considerar a una base de datos organizada debe cumplir los siguientes objetivos: Tiene que ser versátil: esto quiere decir que. Ej. dependiendo de los usuarios o las aplicaciones. Tiene que tener un índice de redundancia lo más bajo posible. Una base de datos puede ser utilizada por varias aplicaciones y usuarios. puedan hacer diferentes cosas o traten a los datos de formas distintas. como hasta hace poco se venia haciendo. Toda base de datos debe permitir insertar. . estructuras o simplemente buscar información. Como definición de base de datos entendemos que se trata de un conjunto de datos interrelacionados y almacenados sin redundancias innecesarias. empresas. modificar y borrar datos por lo que en las bases de datos se guarda información de dos tipos: Los datos de usuarios (datos usados por las aplicaciones) Los datos de sistema (datos que la base de datos utiliza para su gestión. lo cual era más cómodo pero aun así tenían grandes dificultades a la hora de querer modificar registros. los cuales sirven a las aplicaciones sin estar relacionados de una manera directa entre ellos. En estas bases de datos se guardan los datos utilizados por los usuarios. sencilla y fiable. A finales de los años sesenta nacen las bases de datos. Tiene que atender con la rapidez adecuada a cada aplicación o empresa.Introducción a las Bases de Datos Las bases de datos se ingeniaron gracias a la necesidad de las grandes empresas de almacenar ingentes cantidades de información de una forma rápida. Cuando comenzó el despegue de los programas informáticos se empezaron a almacenar datos en los archivos de los programas. y que a su vez pudieran acceder a ella en cualquier momento sin necesidad de desplazarse a salas dedicadas a archivar documentación. atendiendo a lo que se la requiera.

Cuando hacemos un cambio en la organización física de los datos no debe afectar a los programas por lo que también tiene que tener una independencia física de los datos. etc. Por ultimo tiene que ser posible su constante actualización para no dejar a la base de datos anticuada e inservible. Por supuesto tienen que tener un nivel altísimo de seguridad y privacidad ya que los datos que se pueden almacenar en una base de datos pueden ser altamente confidenciales o importantes. un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local. un servidor corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones. Calendarizador distribuido El calendarizador está encargado de ordenar un conjunto de transacciones u operaciones que se deseen realizar sobre una base de datos. errores por redundancia o lenta actualización. Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones para transmitir datos y órdenes entre los sitios. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes: Hay múltiples computadores. Un sistema distribuido de bases de datos se almacenan en varias computadoras. Al igual que tiene que tener total independencia lógica con los datos. llamados sitios o nodos. robo. Dichas BDD tienen la capacidad de realizar procesamiento autónomo.Tener una alta capacidad de acceso para ganar el mayor tiempo posible en la realización de consultas. . BASES DE DATOS DISTRIBUIDAS Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos (pej. esto significa que al tener muchos usuarios atacando a una misma base de datos no puede haber fallos en la inserción de datos. esto permite realizar operaciones locales o distribuidas. Tener un alto índice de integridad. esto quiere decir que si hacemos cambios en la estructura lógica de los datos (agregar nuevos campos a una tabla) no deben afectar a las aplicaciones que utilicen esos datos. En este punto también entran los medios físicos de protección contra fuego. Parte del trabajo del calendarizador es realizar estas operaciones de forma que sean serializables y recuperables. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que. Cualquier orden en el que se decidan hacer este conjunto de operaciones se denomina calendarización.

establecer o liberar bloqueos requiere mensajes entre los manejadores de transacciones y el calendarizador. y recuperación. Para manejar los bloqueos hay distintos acercamientos: prevención. y sistemas en los que la detección del bloqueo es demasiado costosa. Para esto existen dos formas básicas: Autónoma: cada nodo es responsable por sus propios bloqueos de recursos. En el caso específico de las bases de datos distribuidas usar bloqueo de recursos.Dos calendarizaciones son serializables (o equivalentes) si Cada operación de lectura lee valores de los datos que son producidos por la misma operación de escritura en ambas calendarizaciones (es decir son iguales) La operación final de escritura en cada elemento de la data es la misma en ambas calendarizaciones Detección de bloqueos y concurrencia Bloqueos Un bloqueo en general es cuando una acción que debe ser realizada está esperando a un evento. peticiones para probar. También es necesario considerar factores como que hay sistemas en los que permitir un bloqueo es inaceptable y catastrófico. Una transacción sobre un elemento con n replicas requiere 5n mensajes Petición del recurso Aprobación de la petición Mensaje de la transacción Reconocimientos de transacción exitosa Peticiones de liberación de recursos Copia Primaria: un nodo primario es responsable para todos los bloqueos de recursos Una transacción sobre un elemento con n copias requiere 2n+3 mensajes Una petición del recurso Una aprobación de la petición n mensajes de la transacción . detección.

n reconocimientos de transacción exitosa Una petición de liberación de recurso Podemos definir que dos operaciones entran en conflicto que debe ser resuelto si ambas acceden a la misma data. Esto se debe a varios factores de los cuales se consideran a los siguientes tres los más determinantes: 1. La sincronización de transacciones en sitios o nodos múltiples es difícil ya que los nodos no pueden obtener información inmediata de las acciones realizadas en otros nodos concurrentemente. Si un nodo falla o la comunicación con un nodo falla mientras se realiza una actualización. a pesar de esto no hay ningún algoritmo aceptado para solucionar el problema. Soluciones El control de concurrencia y detección y manejo de bloqueos es un área de mucho estudio en las bases de datos distribuidas. el manejador debe asegurarse de que los efectos se reflejen una vez el nodo se recupere del fallo. el manejador de la BDD es responsable de localizar y actualizar la data duplicada. Concurrencia El ejemplo más común de un bloqueo mutuo es cuando un recurso A está siendo utilizado por una transacción A que a su vez solicita un recurso B que está siendo utilizado por una transacción B que solicita el recurso A. Una revisión bibliográfica muestra que la mayoría de los algoritmos son variantes del 2PL (2-phase locking o bloqueo de dos fases) o el algoritmo de time-stamp. y una de ellas es de escritura y si fueron realizadas por transacciones distintas. 3. . 2. Entre los ejemplos específicos para las bases de datos distribuidas podemos destacar:: Control de concurrencia   El problema de las actualizaciones perdidas: cuando dos transacciones concurrentes borran el efecto una de la otra Recuperaciones inconsistentes: acceder a información modificada parcialmente por una transacción de Ian. A continuación se explican estos dos algoritmos básicos. Para el control de bloqueos mutuos no se ha desarrollado ninguna solución viable y la forma más simple y que la mayoría de productos utilizan es la implementación de un tiempo máximo de espera en las peticiones de bloqueos. por tanto. Causa de estas dificultades más de 20 algoritmos de control de concurrencia se han propuesto en el pasado. y aun así siguen apareciendo nuevos. La data puede estar duplicada en un BDD.

Time-stamp Cada transacción realizada se le asigna un timestamp (literalmente: sello de tiempo) único en el nodo que se originó. En el caso de que se dé un conflicto de que dos operaciones de escritura traten de acceder al mismo elemento. 6. Este sello se adjunta a cada petición de lectura y escritura. A pesar de que existen varios algoritmos de control de concurrencia basados en timestamps. donde se deben colocar las tablas con la información de los bloqueos y por último que tan probable es que ocurra por los factores anteriores un bloqueo mutuo. Esto es en gran parte porque se requiere que el sistema distribuido cuente con un reloj sincronizado que es raro que se tenga implementado.Bloqueo de dos fases (2PL) El algoritmo 2PL utiliza bloqueos de lectura y escritura para prevenir conflictos entre operaciones. 3. 5. cual es el intervalo de sincronización para todas las copias de un elemento. Consiste en los siguientes pasos para una transacción T: 1. Antes de implementar un algoritmo de control de concurrencia 2PL es necesario considerar distintos factores como cual es la unidad atómica más pequeña que el sistema permite bloquear. 2. Obtiene bloqueo de lectura para un elemento L (bloqueo compartido) Obtiene bloqueo de escritura para un elemento E (bloqueo exclusivo) Lee el elemento L Escribe en el elemento E Libera el bloqueo de L Libera el bloqueo de E Las reglas básicas para manejar los bloqueos son: transacciones distintas no pueden tener acceso simultáneamente a un elemento (lectura-escritura o escritura-escritura). muy pocos son utilizados en aplicaciones comerciales. este se resuelve serializandolo respecto a los sellos que tengan. y una vez se libere un bloqueo no se puede pedir otro. 4. Manejador de transacciones distribuido (DTM) . es decir. 2PL centralizado: el manejador de bloqueos está centralizado y todas las peticiones de bloqueo las maneja el. los bloqueos de la transacción crecerán mientras no libere ninguno y luego de liberar alguno solo puede liberar los demás. 2PL de voto: se pide a todos los nodos que voten para ver si se concede el bloqueo. 2PL de copia primaria: en vez de pedir bloqueo para cada copia del elemento de escritura se le pide a una copia primaria o principal. Ejemplos del algoritmo 2PL son     La básica en la que se sigue el esquema previamente explicado con la variante que el bloqueo de escritura se pide para todas las copias del elemento.

esta se realiza o no se realiza. Es decir. 2. Estas se pueden diferenciar también como transacciones de corta y larga vida. Las transacciones que operan en datos distribuidos se les conoce como transacciones distribuidas. Estructura. las transacciones pueden ser de tipo batch o en línea.Definición de transacciones Una transacción es una secuencia de una o más operaciones agrupadas como una unidad. el resultado será un nuevo estado consistente. Las transacciones en línea se caracterizan por tiempos de respuesta muy cortos y por acceder un porción relativamente pequeña de la base de datos. las transacciones se pueden ejecutar en aplicaciones no distribuidas. Considerando la estructura que puede tener una transacción se examinan dos aspectos: si una transacción puede contener a su vez subtransacciones o el orden de las acciones de lectura y escritura dentro de una transacción. Finalmente. dado que los resultados de una transacción que realiza un commit son durables. En primer lugar. Si una acción de la transacción no se puede ejecutar. Tiempo de duración. Propiedades de las transacciones Atomicidad: Una transacción es una unidad atómica de procesamiento. Aislamiento: Una transacción no hara visibles sus modificaciones a otras transacciones hasta que termine de ejecutarse completamente. . entonces ninguna acción dentro de la secuencia que conforma la transacción tendrá efecto. Áreas de aplicación. una transacción desconoce si otras transacciones se estén ejecutando en el sistema. 3. Tipos de transacciones Una transacción puede clasificarse de diferentes maneras dependiendo básicamente de tres criterios: 1. Por otro lado. Consistencia: Si se ejecuta una transacción sobre un estado consistente. El inicio y el final de la transacción definen los puntos de consistencia de la base de datos. A este tipo de transacciones se les conoce como transacciones compensatorias. las transacciones de tipo batch toman tiempos relativamente largos y accedan grandes porciones de la base de datos. Por otro lado. la única forma de deshacer los efectos de una transacción con commit es mediante otra transacción. estos cambios nunca se deben perder a causa de fallas en el sistema. Tomando en cuenta el tiempo que transcurre desde que se inicia una transacción hasta que se realiza un commit o se aborta. en ambientes heterogéneos se presentan transacciones heterogéneas sobre los datos. Durabilidad: Una vez una transacción se ejecuta exitosamente y realiza cambios sobre el sistema.

Debido a que la actualización de los datos debe ser realizada en todas las copias. La operación COMMIT señala el término exitoso de la transacción: le dice al manejador de transacciones que se ha finalizado con éxito una unidad lógica de trabajo. también tiene un alto costo de escritura. Particionadas . pero todo esto vale la pena si tenemos un sistema en el que se va a escribir pocas veces y leer muchas. y que se pueden hacer permanentes todas las modificaciones efectuadas por esa unidad de trabajo. señala el término no exitoso de la transacción: le dice al manejador de transacciones que algo salió mal. Replicadas El esquema de BDD de replicación consiste en que cada nodo debe tener su copia completa de la base de datos. El manejador recibe solicitudes de procesamiento de transacciones y las traduce en acciones para el calendarizador. e híbrida. fragmentada. que la base de datos esta (o debería estar) de nuevo en un estado consistente. en cambio. mantener la consistencia en la base de datos cuando se ejecuta una transacción o se cancela la ejecución de una. Para esto existen cuatro alternativas principales: centralizada. que la base de datos podría estar en un estado inconsistente y que todas las modificaciones efectuadas hasta el momento por la unidad lógica de trabajo deben retroceder o anularse. Distribución de los datos Una de las decisiones más importantes que el diseñador de bases de datos distribuidas debe tomar es el posicionamiento de la data en el sistema y el esquema bajo el cuál lo desea hacer. Es fácil ver que este esquema tiene un alto costo en el almacenamiento de la información. replicada. y dónde la disponibilidad y fiabilidad de los datos sea de máxima importancia.Función del manejador El manejador de transacciones es el encargado de definir la estructura de las transacciones. La operación ROLLBACK. implementar algoritmos para el control de la concurrencia y sincronizar las transacciones que se ejecutan simultáneamente. Este modelo solo brinda la ventaja de tener el procesamiento distribuido ya que en sentido de disponibilidad y fiabilidad de los datos no se gana nada. mantener protocolos de fiabilidad. Centralizada Es muy similar al modelo de Cliente/Servidor en el sentido que la BDD está centralizada en un lugar y los usuarios están distribuidos.

R2. En el caso de fragmentación vertical es necesario que se repitan las llaves primarias y esta condición solo se debe cumplir para el conjunto de atributos que no son llave primaria. . Híbrida Este esquema simplemente representa la combinación del esquema de partición y replicación. Se particiona la relación y a la vez los fragmentos están selectivamente replicados a través del sistema de BDD. . pero también se sacrifica con casos especiales como usar JUNTAR o PRODUCTO. Algo que se debe tomar en cuenta cuando se desea implementar este modelo es la granularidad de la fragmentación. Debe ser Reconstruible: Debe ser posible definir una operación relacional que a partir de los fragmentos obtenga la relación. Para que una fragmentación sea correcta esta debe cumplir con las siguientes reglas: Debe ser Completa: Si una relación R se fragmenta en R1. Criterios para escoger la distribución Localidad de la data: la data debería ser colocada donde ésta se accede más seguido. En cada nodo se aloja uno o más fragmentos disjuntos de la base de datos.Este modelo consiste en que solo hay una copia de cada elemento. Como los fragmentos no se replican esto disminuye el costo de almacenamiento. Los fragmentos deben ser Disjuntos: Si la fragmentación es horizontal entonces si un elemento e está en Ri este elemento no puede estar en ningún Rk (para k distinto a i). pero también sacrifica la disponibilidad y fiabilidad de los datos. Una ventaja significativa de este esquema es que las consultas (SQL) también se fragmentan por lo que su procesamiento es en paralelo y más eficiente. . cada elemento de la data de R debe estar en algún Ri... Rn. El diseñador debe analizar las aplicaciones y determinar como colocar la data de tal forma que se optimicen los accesos a la data locales. pero la información está distribuida a través de los nodos. en general casos que involucren varios fragmentos de la BDD. Fiabilidad de la data: Almacenando varias copias de la data en lugares geográficamente apartados se logra maximizar la probabilidad de que la data va a ser recuperable en caso de que ocurra daño físico en cualquier sitio. La fragmentación se puede realizar también de tres formas:    Horizontal: Los fragmentos son subconjuntos de una tabla (análogo a un restringir) Vertical: Los fragmentos son subconjuntos de los atributos con sus valores (análogo a un proyectar) Mixto: Se almacenan fragmentos producto de restringir y proyectar una tabla.

Costo de comunicación: el diseñador debe considerar también el costo de usar las comunicaciones de la red para obtener data. Factores como la importancia en la disponibilidad de la data. y refuerzo de los controles de acceso apropiados. identificación. Actualmente se está cambiando el esquema bajo el cuál se utilizan las bases de datos. Capacidades y costos de almacenamiento: a pesar de que los costos de almacenamiento no son tan grandes como los de transmisión. etc. El sistema de seguridad de niveles múltiples. En las bases de datos distribuidas se han investigado dos acercamientos a este modelo: data distribuida y control centralizado. Distribución de la carga de procesamiento: una de las razones por la cual se escoge un sistema de BDD es porque se desea poder distribuir la carga de procesamiento para hacer este más eficiente. la velocidad de escritura y la capacidad de recuperación de daños físicos deben tomarse en cuenta para escoger el esquema correcto. los nodos pueden tener diferentes capacidades de almacenamiento y procesamiento. sino que se tiene muchos accesos externos de tipos distintos. almacenar varias copias asegura que los usuarios tengan a su disponibilidad los elementos de la data. ya no son utilizadas únicamente de forma interna. Conceptos Los problemas de mayor importancia en seguridad son autenticación. En el acercamiento de data distribuida y control centralizado se divide en dos soluciones: particionado y replicado. Uso del sistema: debe tomarse en consideración cual será el tipo principal de uso del sistema de BDD. En el primero de estos lo que se tiene es un conjunto de nodos y cada uno de ellos opera a cierto nivel de seguridad. Esto se debe analizar cuidadosamente para determinar donde poner la data. El replicado .Disponibilidad de la data: como en la fiabilidad. empresas comerciales. El costo de almacenamiento se disminuye significativamente minimizando la cantidad de copias de la data. Seguridad Desde hace ya varios años las bases de datos son ampliamente utilizadas en departamentos de gobiernos. Estos cambios que se han introducido en el uso de las bases de datos ha creado la necesidad mejorar las prácticas de seguridad ya que el ambiente ya no es tan controlado como el esquema antiguo. aún si el nodo al que usualmente acceden no está disponible o falla. bancos. Los costos de comunicación se minimizan cuando cada sitio tiene su propia copia de la data. y data y control distribuidos. por otro lado cuando la data es actualizada se debe actualizar en todos los nodos. hospitales. Éste consiste en muchos usuarios con distintos niveles de permisos para una misma base de datos con información de distintos niveles. así el usuario con nivel de permisos X accede al servidor que maneja la data para X.

etc. Autonomía de ejecución: Habilidad de un componente del sistema para ejecutar operaciones locales como quiera.surgió debido a que si alguien con altos derechos de seguridad deseaba consultar data con de bajo nivel de seguridad debía enviar su petición a un servidor de bajo nivel de seguridad por lo cual se podría divulgar información sensible. existen varios factores que deben tomar en consideración que definen la arquitectura del sistema:    Distribución: Los componentes del sistema están localizados en la misma computadora o no. Multi base de datos distribuida Cuando una base de datos distribuida es muy homogénea se dice que es multi base de datos distribuida. Las herramientas para minería de datos hacen este problema aún más peligroso ya que hacen que sea más fácil para cualquier novato poder deducir patrones e información importantes de simplemente probar consultas. Tipos de arquitecturas/implementaciones En un sistema de bases de datos distribuidas. Autonomía de comunicación: Habilidad de un componente del sistema para decidir como y cuando comunicarse con otros SGBD (Sistema Gestor de Bases de Datos). En el esquema replicado entonces la data se repite en cascada de tal forma que el nivel más alto tiene una copia entera de la base de datos. Autonomía de diseño: Habilidad de un componente del sistema para decidir cuestiones relacionadas a su propio diseño. Base de datos Federada Cuando una base de datos distribuida tiene mucha autonomía local se dice que es federada. El otro acercamiento de data y control distribuido cada nodo contiene información de distintos niveles y está diseñado para aceptar peticiones de cualquier nivel de usuario. Objetivos de implementación . 2. El problema de inferencia El problema de inferencia consiste en usuarios tratando de ejecutar consultas sobre la BD y estos infiriendo información sobre la respuesta legítima que la base de datos debe responder. Heterogeneidad: Un sistema es heterogéneo cuando existen en él componentes que se ejecutan en diversos sistemas operativos. de diferentes fuentes. Autonomía: Se puede presentar en diferentes niveles. los cuales se describen a continuación: 1. 3. y el más bajo solamente la información de más bajo nivel.

Para las lecturas el administrador de transacciones selecciona uno de los nodos que almacena los datos y ejecuta la lectura. Para este tipo de problemas es importante tener resguardo de la base de datos. lo cual puede ejecutarse cuando los administradores de transacciones distribuidas poseen acceso a los directorios de localizaciones de los datos. el administrador de transacciones necesita información sobre el rendimiento de varios nodos respecto al sitio de consulta. Se puede conseguir este nivel de transparencia al utilizar los administradores de transacciones distribuidas. Independencia de configuración. significa que se procesen todas o ninguna de ellas. Localidad del procesamiento. en cualquier orden secuencial. Transparencia de duplicación. La transparencia de concurrencia se logra si los resultados de todas las transacciones concurrentes son consistentes de manera lógica con los resultados que se habrían obtenido si las transacciones se hubieran ejecutado una por una. las transacciones deben ser atómicas. Significa que a pesar de fallas las transacciones sean procesadas de un modo correcto. así podrá seleccionar el nodo de mejor rendimiento. Para optimizar el proceso. Cuando varias transacciones se ejecuten al mismo tiempo. cuando se recupere o repare esta localidad. los administradores de transacciones deben traducir las solicitudes de procesamiento de transacción en acciones para el administrador de datos. debe contarse con mecanismos para reintegrarla al sistema con el mínimo de complicaciones. Diseñar una distribución que maximice localidad del procesamiento puede hacerse añadiendo la cantidad de referencias locales y remotas correspondientes a cada fragmentación candidata y asignar la fragmentación eligiendo la mejor solución. Transparencia de concurrencia.Al implementar una base de datos distribuida se tienen ciertos objetivos comunes: Transparencia de ubicación. Transparencia de fallas. y así poder restaurarla cuando sea conveniente. Por último. Permite a los usuarios tener acceso a los datos sin que tenga conocimiento de la ubicación de éstos. La independencia de configuración permite añadir o reemplazar hardware sin tener que cambiar componentes de software existentes en el sistema de base de datos distribuida. Frente a una falla. los cuales son capaces de determinar la localización de los datos y de emitir acciones a los calendarizadores apropiados. los resultados de las transacciones no deberán afectarse. Los datos se deben distribuir lo más cerca posible de las aplicaciones que los usan para maximizar la localidad del procesamiento. . El sistema debe detectar cuándo falla una localidad y tomar las medidas necesarias para recuperarse del fallo. Para que la transparencia de duplicación sea posible. ya que el manejador de transacciones debe emitir una acción de escritura para cada uno de los calendarizadores que almacena una copia de los datos. este principio responde a minimizar el acceso remoto a los datos. El sistema no debe seguir utilizando la localidad que falló. La actualización y escritura de datos duplicados suelen ser más complicadas.

Fragmentación de datos. permite el proceso concurrente de las transacciones. podemos optar por dos alternativas diferentes: La relación no estará replicada y se almacena en un único sitio. las réplicas innecesarias pueden causar problemas en la ejecución de las actualizaciones y puede no ser deseable si el espacio de almacenamiento está limitado. Además. Las consecuencias de esta estrategia son la generación de un volumen de accesos remotos que pueden ser innecesarios con un mal manejo de estas replicas. se evitan los costos asociados con el almacenamiento y mantenimiento de datos redundantes. El control semántico cuando los atributos implicados en una dependencia una relación se descompone en diferentes fragmentos y estos se ubican en sitios diferentes puede ser muy costos porque es necesario hacer búsquedas en un gran número de sitios. La base de datos se distribuye de modo que no haya solapamiento o duplicación de los datos mantenidos en las diferentes localidades. La fiabilidad también puede verse limitada cuando se produce un fallo en el sistema de cálculo de una localidad se afecta la disponibilidad de los datos de esa localidad no estén disponible para los usuarios en cualquier parte del sistema. Cuando las vistas definidas sobre una relación son consideradas como unidad de distribución que se ubican en diferentes sitios de la red. o existe réplica en todos o algunos de los sitios en los cuales reside la aplicación. tiene como objetivo buscar formas alternativas de dividir una las instancias (tablas) de relaciones en otras más pequeñas. Al descomponer de una relación en fragmentos. El conjunto de estas relaciones.Particionado de la Base de Datos. Consiste en subdividir las relaciones y distribuirlas entre los sitios de la red. Si un mismo segmento de datos se usa en más de una localidad se ve limitada la disponibilidad de los datos. El principal problema de la fragmentación radica en encontrar la unidad apropiada de distribución. Normalmente las vistas de una relación están formadas por subconjuntos de relaciones. como no hay duplicaciones de los datos. La fragmentación se puede realizar por tuplas individuales (fragmentación horizontal). Una relación no es una buena unidad por muchas razones. Los inconvenientes de la fragmentación están dados en que si las pueden estar definidas por fragmentos mutuamente exclusivos y al recuperar los datos de dos fragmentos situados en sitios diferentes es necesario trasmitir los datos de un sitio a otro y realizar sobre ellos la operación de unión (Join). Además. las aplicaciones acceden localmente a subconjuntos de relaciones. tratados cada uno de ellos como una unidad de distribución. Ventajas y desventajas . por atributos individuales fragmentación vertical) o una combinación de ambas (fragmentación híbrida). provocará la ejecución paralela de una consulta al ser dividida en una serie de subconsultas que operará sobre los fragmentos. lo cual puede ser costoso. es necesario considerar a los subconjuntos de relaciones como unidad de distribución. Por ello.

lo cual permite balancear la carga en los servidores. aplicar las reglas de integridad a través de la red puede ser muy caro en términos de transmisión de datos.los fragmentos de la base de datos se ubican en los departamentos a los que tienen relación. . Economía .un fallo en una parte del sistema solo afectará a un fragmento. Autonomía local .un departamento puede controlar los datos que le pertenecen. Rendimiento .las bases de datos distribuidas son un campo relativamente nuevo y poco común por lo cual no existe mucho personal con experiencia o conocimientos adecuados. Desventajas Complejidad . Modularidad . Integridad .Se vuelve difícil mantener la integridad. Seguridad .Ventajas Refleja una estructura organizacional . Carencia de estándares .se pueden modificar.Se debe asegurar que la base de datos sea transparente. agregar o quitar sistemas de la base de datos distribuida sin afectar a los demás sistemas (módulos). Falta de experiencia .aún no existen herramientas o metodologías que ayuden a los usuarios a convertir un DBMS centralizado en un DBMS distribuido. por lo cual no podemos pensar en hacer joins que afecten varios sistemas.los datos generalmente se ubican cerca del sitio con mayor demanda.la complejidad y la infraestructura necesaria implica que se necesitará una mayor mano de obra. Disponibilidad . El diseño de la base de datos se tiene que trabajar tomando en cuenta su naturaleza distribuida. que tener una sola computadora muy poderosa. se debe lidiar con varios sistemas diferentes que pueden presentar dificultades únicas.es más barato crear una red de muchas computadoras pequeñas. Economía . también los sistemas trabajan en paralelo.se debe trabajar en la seguridad de la infraestructura así como cada uno de los sistemas. en lugar de a toda la base de datos.

replicación y ubicación de los fragmentos en sitios específicos. Coherencia de los resultados: En todos los tratamientos se utilizan los mismos datos. codificación y entrada. computadores más poderosos. ·Reducción del espacio de almacenamiento: Disminución de redundancias y las técnicas de compactación hacen que disminuya el espacio en disco. compiladores. Más facilidades para compartir los datos por el conjunto de los usuarios. Los Resultados Mayor coherencia. Mejor y más normalizada documentación: La mayoría de los SGBD incluyen una descripción de los datos dentro del sistema. Desventajas Instalación costosa: Equipos: Nuevas instalaciones o ampliaciones. VENTAJAS Y DESVENTAJAS DE UNA BASE DE DATOS Ventajas Los Datos Independencia de estos respecto de los tratamientos y viceversa. el diseño de una base de datos distribuida debe considerar la fragmentación. . Personal especializado: Se requiere de conocimientos específicos.Diseño de la base de datos se vuelve más complejo .además de las dificultades que generalmente se encuentran al diseñar una base de datos. por lo que los resultados de estos son coherentes y comparables. SGBD comerciales. validación e ingreso de datos al sistema: Por no existir redundancia. Mayor flexibilidad para atender a demandas cambiantes. Los Usuarios Acceso más rápido y sencillo de los usuarios finales. Mayor eficiencia en la captura. existiendo una mayor disponibilidad y transferencia. Independencia de los datos respecto a los tratamientos y viceversa: Un cambio en los tratamientos no imponga un nuevo diseño lógico y/o físico de la base de datos. Mejor y más normalizada documentación de la información. Mayor eficiencia en la recogida. Mayor valor informativo. Mejor disponibilidad de los datos para el conjunto de los usuarios: Éstos se comparten entre las aplicaciones. Mayor valor informativo: El valor informativo del conjunto de datos es superior a la suma del valor informativo de los elementos individuales. Mejor disponibilidad de los mismos. etc. sistemas operativos.

Las bases de datos orientadas a objetos se diseñan para trabajar bien en conjunción con lenguajes de programación orientados a objetos como Java. el concepto de clase agrupa la estructura de datos interna de un objeto en una declaración de clase. la información se representa mediante objetos como los presentes en la programación orientada a objetos. y de Simula. el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS. consultas asociativas y otras capacidades. Los ODBMS usan exactamente el mismo modelo que estos lenguajes de programación. Simula es un lenguaje fuertemente tipado para entornos compilados. Los usuarios Personal especializado. Los ODBMS proporcionan los costes de desarrollo más bajos y el mejor rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y tienen una integración transparente con el programa escrito en un lenguaje de programación orientado a objetos. Sin embargo. Smalltalk ha podido responder a las necesidades de . Los lenguajes de programación OO tienen sus raíces en el lenguaje SIMULA 67. C#. es decir. al almacenar exactamente el modelo de objeto usado a nivel aplicativo. este puede considerarse una síntesis de años del lenguaje Lisp. el primer lenguaje que popularizó la aproximación a objetos fue Smalltalk (1976). lo que reduce los costes de desarrollo y mantenimiento. Ausencia de estándares. Rentabilidad a mediano plazo. Desfase entre teoría y práctica.NET y C++. Larga y difícil puesta en marcha. añadiendo el concepto de metaclase. object database management system). Cuando se integra las características de una base de datos con las de un lenguaje de programación orientado a objetos. control de concurrencia. Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programación en uno o más lenguajes de programación a los que dé soporte. recuperación de datos.La implantación Costosa en equipos(lógico y físico). Como Algol. que ofrece una gran flexibilidad gracias a la interpretación. BASES DE DATOS ORIENTADAS A OBJETOS En una base de datos orientada a objetos. Un ODBMS extiende los lenguajes con datos persistentes de forma transparente. introduce en el lenguaje Algol los conceptos de objeto y de clase. Desfase entre teoría y práctica: Muchos asumen a ciertas funcionalidades como un hecho cuando en realidad son estudios teóricos. Visual Basic. propuesto a finales de la década de 1960. En Simula. Los orígenes del término orientados a objetos (abreviado OO) se remontan a los lenguajes de programación orientadas a objetos. Los ODBMS son una buena elección para aquellos sistemas que necesitan un buen rendimiento en la manipulación de tipos de dato complejos.

procesamiento analítico en línea). Desafortunadamente. Sistemas de . incluyendo al Cobol y Ada (más exactamente Ada 9X. debido a la compatibilidad del lenguaje o del código producido con el lenguaje de programación C. El almacén de datos da respuesta a las necesidades de usuarios expertos. han crecido numerosos lenguajes orientados a objetos inspirados en Simula o Smalltalk. Fue utilizado con éxito en la primera estación gráfica de Xerox. almacenado en una base de datos diseñada para favorecer el análisis y la divulgación eficiente de datos (especialmente OLAP. utilizando Sistemas de Soporte a Decisiones (DSS).. es decir.flexibilidad presentadas por el desarrollo de entornos de programación gráficos. En un almacén de datos lo que se quiere es contener datos que son necesarios o útiles para una organización. OpenOODB. Esta es solo una lista parcial de los prototipos experimentales y de los sistemas de bases de datos comerciales orientados a objetos. Es interesante notar que la mayor parte de los lenguajes populares existentes se encuentran en curso de ampliación para convertirse en orientados a objetos. La mayor parte de los lenguajes interpretados son extensiones del Lisp. Entre los lenguajes compilados. que ayuda a la toma de decisiones en la entidad en la que se utiliza. integrado. organización. por ejemplo. han aparecido muchos prototipos experimentales y sistemas de bases de datos comerciales orientados a objetos. un almacén de datos (del inglés data warehouse) es una colección de datos orientada a un determinado ámbito (empresa. que se utiliza como un repositorio de datos para posteriormente transformarlos en información útil para el usuario. En años recientes. ALMACEN DE DATOS En el contexto de la informática. Con la llegada de las estaciones de trabajo en los años 80. El almacenamiento de los datos no debe usarse con datos de uso actual. Versant de Versant Technologies. Las bases de datos orientados a objetos han adoptado muchos de los objetos creados para los lenguajes de programación orientados a objetos. es aún demasiado pronto para saber cuáles sistemas se instalarán como líderes en este campo. Los almacenes de datos contienen a menudo grandes cantidades de información que se subdividen a veces en unidades lógicas más pequeñas dependiendo del subsistema de la entidad del que procedan o para el que sean necesario. IRIS. Objectivity de Objectivity Inc. etc. Loops y CLOS. de un expediente completo de una organización. ObjecStore de Object Design y O2 de O2 Technology. favoreciendo la rápida creación de prototipos de interfaces de usuarios amigables. Y entre los sistemas disponibles en el mercado están: GEMSTONE/OPAL de ServicLogic. Se trata. los más celebres son C++. no volátil y variable en el tiempo. ODE y el proyecto ENCORE/ObServer. Objective C y Eiffel.). que aporta la herencia). Un almacén de datos debe entregar la información correcta a la gente indicada en el momento óptimo y en el formato adecuado. ONTOS de Ontologic. Entre los primeros se encuentran los sistemas ORION. sobre todo. más allá de la información transaccional y operacional.

Ambos tipos de datos no deben coincidir en la misma base de datos. requerimiento. realizan el proceso de transformación al almacén de datos (filtración. Se debe facilitar una descripción global y un análisis comprensivo de toda la organización en el almacén de datos. Los usuarios finales pueden hacer fácilmente consultas sobre sus almacenes de datos sin tocar o afectar la operación del sistema. ventajas y características donde podemos decir que la base de datos: Es una colección de datos o información usados para dar servicios a muchas aplicaciones al mismo tiempo. almacenar y procesar datos dentro de una . transformación y carga (ETL). Otro aspectos importante seria el diseño y creación de la base de datos. etc. En el funcionamiento de un almacén de datos son muy importantes las siguientes ideas:   Integración de los datos provenientes de bases de datos distribuidas por las diferentes unidades de la organización y que con frecuencia tendrán diferentes estructuras (fuentes heterogéneas). cambios de formato.información ejecutiva (EIS) o herramientas para hacer consultas o informes. adaptación. base de datos distribuidas y base de datos orientadas a objetos e hipermedia y tienen como función derivar. base de dato documental. para el análisis y para operaciones de control. Algunos de los aspectos aprendidos y que de gran peso es la base de datos su definición. Periódicamente.) y escriben en el almacén. En cuanto al requerimiento podemos decir que cumple loas mismas tareas de análisis que del software y tiene como característica relacionar la información como vía organización y asociación donde la base de datos tiene una ventaja que es utilizar la plataforma para el desarrollo del sistema de aplicación en las organizaciones. Estas herramientas leen los datos primarios (a menudo bases de datos OLTP de un negocio). ya que obedecen a objetivos muy distintos y podrían entorpecerse entre sí. de ayuda en la toma de decisiones. Separación de los datos usados en operaciones diarias de los datos usados en el almacén de datos para los propósitos de divulgación. Otro punto necesario es la clase de bases de datos las cuales son. CONCLUSIONES Luego de haber concluido este trabajo de investigación sobre bases de datos fueron muchos los esfuerzos y conocimientos adquiridos durante dicha elaboración. Es práctica común normalizar los datos antes de combinarlos en el almacén de datos mediante herramientas de extracción. donde existen distintos modos de organizar la información y representar las relaciones entre por datos los tres modelos lógicos principales dentro de una base de datos son el jerárquico. se importan datos al almacén de datos de los distintos sistemas de planeamiento de recursos de la entidad (ERP) y de otros sistemas de software relacionados con el negocio para la transformación posterior. de redes y el relacional. los cuales tiene ciertas ventajas de procesamiento y de negocios.

es un sistema de desarrollo que hace posible ascender a datos integrados funcionales y organizacionales de una empresa.com/enza. barra y discretos. líneas de detalle y resumen de informe. México.com/spanish/glossary/database.htmet.información. si no tan solo las instrucciones necesarias para seleccionar los registros y campos requeridos de una base de datos. estas bandas de informe se definen cinco tipos de diferentes función en el informe. Los informe de base de datos están definidos por bandas de informe. También se pueden utilizar para controlar los registros que visualiza Dbase la consulta no contiene información de base de datos. Kenneth C. los tipos de gráficos que se pueden utilizar en una base de datos son: gráficos de pastel. 1996.com/trabajos5/tipbases/tipbases. Otro punto importante seria la creación de un informe y consultas dentro de una base de datos. por ejemplo la cabecera que aparece en la parte superior de cada pagina.shtml inei. Sistemas de gestión.8m.htm ipyme.gob. El informe se pueda crear rápido y personalizado.gob.htm learnthenet. Administración de los sistemas de información. Edición.pe/cpi/bancopub/libfree/lib607/cap01. La creación de consultas de base de datos consta de archivos que permiten realizar muchas tareas diferentes con los datos que se pueden ver. Bibliografía LAUDON. 3ra. Los gráficos y tablas nos sirven para resumir en un dibujo toda una serie de datos mucho más explicito y fácil de asimilar. pp 271/295 Búsquedas en Internet: monografias.pe elizabethpeguero.org/sie/ .