DEJA TUS COMENTARIOS

................................................AQUÍ.......................................................

marzo 22, 2007

GUIA 3 (BASE DE DATOS DISTRIBUIDAS)

MODELO ENTIDAD RELACIÓN



Entidad

Cualquier tipo de objeto o concepto sobre el que se recoge información: cosa, persona, concepto abstracto o suceso. Por ejemplo: coches, casas, empleados, clientes, empresas, oficios, diseños de productos, conciertos, excursiones, etc. Las entidades se representan gráficamente mediante rectángulos y su nombre aparece en el interior. Un nombre de entidad sólo puede aparecer una vez en el esquema conceptual.

Hay dos tipos de entidades: fuertes y débiles. Una entidad débil es una entidad cuya existencia depende de la existencia de otra entidad. Una entidad fuerte es una entidad que no es débil.

Relación (interrelación)

Es una correspondencia o asociación entre dos o más entidades. Cada relación tiene un nombre que describe su función. Las relaciones se representan gráficamente mediante rombos y su nombre aparece en el interior.

Las entidades que están involucradas en una

determinada relación se denominan entidades partic

ipantes. El número de participantes en una relación es lo que se denomina grado de la relación. Por lo tanto, una relación en la que participan dos entidades es una relación binaria; si son tres las entidades participantes, la relación es ternaria; etc.

Una relación recursiva es una relación donde la misma entidad participa más de una vez en la relación con distintos papeles. El nombre de estos papeles es importante para determinar la función de cada participación.

La cardinalidad con la que una entidad participa en una relación especifica el número mínimo y el número máximo de correspondencias en las que puede tomar parte cada ocurrencia de dicha entidad. La participación de una entidad en una relación es obligatoria (total) si la existencia de cada una de sus ocurrencias requiere

la existencia de, al menos, una ocurrencia de la otra entidad participante. Si no, la participación es opcional (parcial). Las reglas que definen la cardinalidad de las relaciones son las reglas de negocio.

A veces, surgen problemas cuando se está diseñado un esquema conceptual. Estos problemas, denominados trampas, suelen producirse a causa de una mala interpretación en el significado de alguna relación, por lo que es importante comprobar q

ue el esquema conceptual carece de dichas trampas. En general, para encontrar las trampas, hay que asegurarse de que se entiende completamente el significado de cada relación. Si no se entienden las relaciones, se puede crear un esquema que no represente fielmente la realidad.

Una de las trampas que pueden encontrarse ocurre cuando el esquema representa una relación entre entidades, pero el camino entre algunas de s

us ocurrencias es ambiguo. El modo de resolverla es reestructurando el esquema para representar la asociación entre las entidades correctamente.

Otra de las trampas sucede cuando un esquema sugiere la existencia de una relación entre entidades, pero el camino entre una y otra no existe para algunas de sus ocurrencias. En este caso, se produce una pérdida de información que se puede subsanar introduciendo la relación que sugería el esquema y que no estaba representada.

Atributo

Es una característica de interés o un hecho sobre una entidad o sobre una relación. Los atributos representan las propiedades básicas de las entidades y de las relaciones. Toda la información extensiva es portada por los atributos. Gráficamente, se representan mediante bolitas que cuelgan de las entidades o relaciones a las que pertenecen.

Cada atributo tiene un conjunto de valores asociados denominado dominio. El dominio define todos los valores posibles que puede tomar un atributo. Puede haber varios atributos definidos sobre un mismo dominio.

Los atributos pueden ser simples o compuestos. Un atributo simple es un atributo que tiene un solo componente, que no se puede dividir en partes más pequeñas que tengan un significado propio. Un atributo compuesto es un atributo con varios componentes, cada uno con un significado por sí mismo. Un grupo de atributos se representa mediante un atributo compuesto cuando tienen afinidad en cuanto a su significado, o en cuanto a su uso. Un atributo compuesto se representa gráficamente mediante un óvalo.

Los atributos también pueden clasificarse en monovalentes o polivalentes. Un atributo monovalente es aquel que tiene un solo valor para c

ada ocurrencia de la entidad o relación a la que pertenece. Un atributo polivalente es aquel que tiene varios valores para cada ocurrencia de la entidad o relación a la que pertenece. A estos atributos también se les denomina multivaluados, y pueden tener un número máximo y un número mínimo de valores. La cardinalidad de un atributo indica el número mínimo y el número máximo de valores que puede tomar para cada ocurrencia de la entidad o relación a la que pertenece. El valor por omisión es $(1,1)$.

Por último, los atributos pueden ser derivados. Un a

tributo derivado es aquel que representa un valor que se puede obtener a partir del valor de uno o varios atributos, que no necesariamente deben pertenecer a la misma entidad o relación.

Identificador

Un identificador de una entidad es un atributo o conjunto de atributos que determina de modo único cada ocurrencia de esa entidad. Un identificador de una entidad debe cumplir dos condiciones:

  1. No pueden existir dos ocurrencias de la entidad con el mismo valor del identificador.
  2. Si se omite cualquier atributo del identificador, la condición anterior deja de cumplirse.

Toda entidad tiene al menos un identificador y puede tener varios identificadores alternativos. Las relaciones no tienen identificadores.

JERARQUÍA DE GENERALIDADES

Una entidad E es una generalización de un grupo de entidades E$_1$, E$_2$, ... E$_n$, si cada ocurrencia de cada una de esas entidades es también una ocurrencia de E. Todas las propiedades de la entidad genérica E son heredadas por las subentidades.

Cada jerarquía es total o parcial, y exclusiva o superpuesta. Una jerarquía es total si cada ocurrencia de la entidad genérica corresponde al menos con una ocurrencia de alguna subentidad. Es parcial si existe alguna ocurrencia de la entidad genérica que no corresponde con ninguna ocurrencia de ninguna subentidad. Una jerarquía es exclusiva si cada ocurrencia de la entidad genérica corresponde, como mucho, con una ocurrencia de una sola de las subentidades. Es superpuesta si existe alguna ocurrencia de la entid

ad genérica que corresponde a ocurrencias de dos o más subentidades diferentes.

Un subconjunto es un caso particular de generalización con una sola entidad como subentidad. Un subconjunto siempre es una jerarquía parcial y exclusiva.


NORMALIZACIÓN DE DATOS

Formas Normales

Las primeras tres formas normales son suficientes para cubrir las necesidades de la mayoría de las bases de datos. El creador de estas 3 primeras formas normales (o reglas) fue Edgar F. Codd, éste introdujo la normalización en un artículo llamado A Relational Model of Data for Large Shared Data Banks Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387[1].

Primera Forma Normal (1NF)

Una relación está en Primera Forma Normal si y s

ólo si todos los dominios son atómicos. Un dominio es atómico si los elementos del dominio son indivisibles.

Por ejemplo:

La Relación:

  • cursos: nombre, código, vacantes, horario, bibliografía

Queda después de aplicar la Forma Normal 1 de la siguiente manera:

  • cursos1: nombre, código, vacantes
  • horario1: código, día, módulo
  • bibliografia1: código, nombre, autor

Una columna no puede tener multiples valores. Lo

s datos estan atomicos (Si a cada valor de X le pertenece un valor de Y, entonces a cada valor de Y le pertenece un valor de X).

La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas

Segunda Forma Normal (2NF)

Dependencia completa. Esta en 2NF si esta en 1NF y si sus atributos no principales dependen de forma completa de la clave principal. Toda columna que no sea clave debe depender por completo de la clave primaria. Los atributos dependen de la clave. Varia la clave y varian los atributos. Dependencia completa. Sus atributos no principales dependen de forma completa de la clave principal.

Tercera Forma Normal (3NF)

Está en forma normal de Boyce-Codd y se eliminan las dependencias multivaluadas y se generan todas las relaciones externas con otras tablas u otras bases de datos. Esta se hace a base de claves

Cuarta Forma Normal (4NF)

Está en cuarta forma normal y toda dependencia-

join viene implicada por claves candidatas.

Reglas de codd

Codd se dio de cuenta que existían bases de datos en el mercado las cuales decían ser relacionales, pero lo único que hacían era guardar la información en las tablas, sin estas tablas estar literalmente normalizadas; entonces éste publicó 12 reglas que un verdadero sistema relacional debería de tener, en la práctica alguna

s de ellas son difíciles de realizar.Un sistema podrá considerarse "más relacional" cuanto más siga estas reglas.

Regla No. 1 - La Regla de la información

"Toda la información en un RDBMS está explícitamente representada de una sola manera por valores en una tabla".

Cualquier cosa que no exista en una tabla no existe del todo. Toda la información, incluyendo nombres de tablas, nombres de v

istas, nombres de columnas, y los datos de las columnas deben estar almacenados en tablas dentro de las bases de datos. Las tablas que contienen tal información constituyen el Diccionario de Datos.

Regla No. 2 - La regla del acceso garantizado

"Cada ítem de datos debe ser lógicamente accesible al ejecutar una búsqueda que combine el nombre de la tabla, su clave prim

aria, y el nombre de la columna".

Esto significa que dado un nombre de tabla, dado el valor de la clave primaria, y dado el nombre de la columna requerida, deberá encontrarse uno y solamente un valor. Por esta razón la definición de claves primarias para todas las tablas es prácticamente obligatoria.

Regla No. 3 - Tratamiento sistemático de los valo

res nulos

"La información inaplicable o faltante puede ser representada a través de valores nulos".

Un RDBMS (Sistema Gestor de Bases de Datos Relacionales) debe ser capaz de soportar el uso de valores nulos en el lugar de columnas cuyos valores sean desconocidos o inaplicables.

Regla No. 4 - La regla de la descripción de la base de dat

os

"La descripción de la base de datos es almacenada de la misma manera que los datos ordinarios, esto es, en tablas y columnas, y debe ser accesible a los usuarios autorizados".

La información de tablas, vistas, permisos de acceso de usuarios autorizados, etc, debe ser almacenada exactamente de la misma manera

: En tablas. Estas tablas deben ser accesibles igual que todas las tablas, a través de sentencias de SQL.

Regla No. 5 - La regla del sub-lenguaje Integral

"Debe haber al menos un lenguaje que sea integral para soportar la definición de datos, manipulación de datos, definición de vistas, restricciones de integridad, y control de autorizaciones y transacciones".

Esto significa que debe haber por lo menos un lenguaje con una sintaxis bien definida que pueda ser usado para administrar completamente la base de datos.

Regla No. 6 - La regla de la actualización de vistas

"Todas las vistas que son teóricamente actualizables, deben ser actualizables por el sistema mismo".

La mayoría de las RDBMS permiten actualizar vistas simples, pero deshabilitan los intentos de actualizar vistas complejas.

Regla No. 7 - La regla de insertar y actualizar

"La capacidad de manejar una base de datos con operandos simples aplica no solo para la recuperación o consulta de datos, sino también para la inserción, actualización y borrado de datos".

Esto significa que las cláusulas SELECT, UPDA

TE, DELETE e INSERT deben estar disponibles y operables sobre los registros, independientemente del tipo de relaciones y restricciones que haya entre las tablas.

Regla No. 8 - La regla de independencia física

"El acceso de usuarios a la base de datos a tr

avés de terminales o programas de aplicación, debe permanecer consistente lógicamente cuando quiera que haya cambios en los datos almacenados, o sean cambiados los métodos de acceso a los datos".

El comportamiento de los programas de aplicación y de la actividad de usuarios vía terminales debería ser predecible basados en la definición lógica de la base de datos, y éste comportamiento debería permanecer inalterado, independientemente de los cambios en la definición física de ésta.

Regla No. 9 - La regla de independencia lógica

"Los programas de aplicación y las actividades de acceso por terminal deben permanecer lógicamente inalteradas cuando quiera que se hagan cambios (según los permisos asignados) en las tablas de la base de datos".

La independencia lógica de los datos especifica que los programas de aplicación y las actividades de terminal deben ser independientes de la estructura lógica, por lo tanto los cambios en la estructura lógica no deben

alterar o modificar estos programas de aplicación.

Regla No. 10 - La regla de la independencia de la integridad

"Todas las restricciones de integridad deben ser definibles en los datos, y almacenables en el catalogo, no en el programa de aplicación".

Las reglas de integridad son:

1. Ningún componente de una clave primaria puede tener valores en blanco o nulos. (esta es la norma básica de integridad).

2. Para cada valor de clave foránea deberá existir un valor de clave primaria concordante. La combinación de estas reglas aseguran que haya Integridad referencial.

Regla No. 11 - La regla de la distribución

"El sistema debe poseer un lenguaje de datos que pueda soportar que la base de datos esté distribuida físicamente en distintos lugares sin que esto afecte o altere a los programas de aplicación".

El soporte para bases de datos distribuidas significa que una colección arbitraria de relaciones, bases de datos corriendo e

n una mezcla de distintas máquinas y distintos sistemas operativos y que este conectada por una variedad de redes, pueda funcionar como si estuviera disponible como en una única base de datos en una sola máquina.

Regla No. 12 - Regla de la no-subversión

"Si el sistema tiene lenguajes de bajo nivel,

estos lenguajes de ninguna manera pueden ser usados para violar la integridad de las reglas y restricciones expresadas en un lenguaje de alto nivel (como SQL)".

Algunos productos solamente construyen una interfaz relacional para sus bases de datos No relacionales, lo que hace posible la subversión (violación) de las restricciones de integridad. Esto no debe ser permitido


FRAGMENTACION



Dado que una relación se corresponde esencialmente con una tabla y la cuestión consiste en dividirla en fragmentos menores, inmediatamente surgen dos alternativas lógicas para llevar a cabo el proceso: la división horizontal y la división vertical.

La división o fragmentación horizontal trabaja sobre las tuplas, dividiendo la relación en subrelaciones que contienen un subconjunto de las tuplas que alberga la primera.

La fragmentación vertical, en cambio, se basa en los atributos de la relación para efectuar la división. Estos dos tipos de partición podrían considerarse los fundamentales y básicos. Sin embargo, existen otras alternativas.

Fundamentalmente, se habla de fragmentación mixta o híbrida cuando el proceso de partición hace uso de los dos tipos anteriores. La fragmentación mixta puede llevarse a cabo de tres formas diferentes: desarrollando primero la fragmentación vertical y, posteriormente, aplicando la partición horizontal sobre los fragmentos verticales (denominada partición VH), o aplicando primero una división horizontal para luego, sobre los fragmentos generados, desarrollar una fragmentación vertical (llamada partición HV), o bien, de forma directa considerando la semántica de las transacciones. Otro enfoque distinto y relativamente nuevo [2], consiste en aplicar sobre una relación, de forma simultánea y no secuencial, la fragmentación horizontal y la fragmentación vertical; en este caso, se generara una rejilla y los fragmentos formaran las celdas de esa rejilla, cada celda será exactamente un fragmento vertical y un fragmento horizontal (nótese que en este caso el grado de fragmentación alcanzado es máximo, y no por ello la descomposición resultará más eficiente).

Volviendo a la figura 3, puede observarse como los casos C y D se basan en la mencionada generación de la rejilla, con la diferencia que en el primero de ellos se produce una fusión, una desfragmentación de las celdas, agrupándolas de la manera más adecuada para obtener mayor rendimiento, ya que los fragmentos generados son muy pequeños. En el segundo caso se asignan las celdas a los sitios y luego se realiza una rigurosa optimización de cada sitio. El caso E sería aquel en el que se utiliza la fragmentación VH o la fragmentación HV.

Grado de fragmentación. Cuando se va a fragmentar una base de datos deberíamos sopesar qué grado de fragmentación va a alcanzar, ya que éste será un factor que influirá notablemente en el desarrollo de la ejecución de las consultas. El grado de fragmentación puede variar desde una ausencia de la división, considerando a las relaciones unidades de fragmentación; o bien, fragmentar a un grado en el cada tupla o atributo forme un fragmento. Ante estos dos casos extremos, evidentemente se ha de buscar un compromiso intermedio, el cual debería establecerse sobre las características de las aplicaciones que hacen uso de la base de datos. Dichas características se podrán formalizar en una serie de parámetros. De acuerdo con sus valores, se podrá establecer el grado de fragmentación del banco de datos.

INFORMACIÓN NECESARIA.

Un aspecto importante en el diseño de la distribución es la cantidad de factores que contribuyen a un diseño óptimo. La organización lógica de la base de datos, la localización de las aplicaciones, las características de acceso de las aplicaciones a la base de datos y las características del sistema en cada sitio, tienen una decisiva influencia sobre la distribución. La información necesaria para el diseño de la distribución puede dividirse en cuatro categorías: la información del banco de datos, la información de la aplicación, la información sobre la red de ordenadores y la información sobre los ordenadores en sí. Las dos últimas son de carácter cuantitativo y servirán, principalmente, para desarrollar el proceso de asignación. Se entrará en detalle sobre la información empleada cuando se aborden los distintos algoritmos de fragmentación y asignación.


Como se ha explicada anteriormente, la fragmentación horizontal se realiza sobre las tuplas de la relación. Cada fragmento será un subconjunto de las tuplas de la relación. Existen dos variantes de la fragmentación horizontal: la primaria y la derivada. La fragmentación horizontal primaria de una relación se desarrolla empleando los predicados definidos en esa relación. Por el contrario, la fragmentación horizontal derivada consiste en dividir una relación partiendo de los predicados definidos sobre alguna otra.

marzo 02, 2007

GUIA 2 (BASE DE DATOS DISTRIBUIDAS)


GUIA 2 (BASE DE DATOS DISTRIBUIDAS)


1. CONCEPTO DE DISTRIBUCIÓN

Aunque existen diferentes grados de distribución (Ejemplo, una base de datos centralizada con consulta distribuida, datos distribuidos en diferentes máquinas, etc.), asumiremos que una base de datos distribuida es aquella colección de bases de datos relacionadas y distribuidas en una red de datos (sitios).
En este escenario, cada base de datos puede trabajar independiente de las demás, cuando la transacción solo incluye datos de esa base de datos; o trabajar como parte integral de las demás bases de datos, cuando la transacción involucre a varios sitios.
Una base de datos distribuida tiene algunas ventajas, como la disponibilidad, al no depender de un solo sitio, si el sitio no está disponible, otro sitio cualquiera, que pueda responder a la solicitud de una transacción, puede reemplazar el sitio que se encuentra fuera de servicio; Puede tener mejor desempeño, ya que los sitios tendrán una porción de datos (la que les pertenece) y las consultas pueden apoyarse en que como hay varios sitios (computadores y bases de datos, es decir instancias), puede en algunos casos ser más eficiente al usar las ventajas del paralelismo (cada sitio procesa en paralelo la consulta y el resultado final podría entregarse más rápido)
Los problemas más importantes en el diseño de este tipo de arquitectura podrían ser:


  • Costos: el implementar una base de datos distribuida requiere asegurar canales de comunicación, lo que en algunos casos exige contratar redundancia en este tipo de servicios; En cada sitio debería existir un servidor y una instancia de la base de datos, lo que implica costos en hardware y licenciamiento de software; además podríamos incluir en este espacio, el problema de costo de tiempo de respuesta.
    Dado que una transacción requiere envío de datos de un sitio a otro, implica que el costo mayor está dado por el tiempo que requiere enviar los datos al sitio que debe entregar el resultado final (la velocidad del procesador es cercana a las millones de instrucciones por segundo, pero el envío de datos por un medio cualquiera de comunicación es mucho menor), por lo que se debe minimizar el tiempo de comunicación de datos.

  • Seguridad: Al tener sitios diferentes, usuarios diferentes, maquinas diferentes, el problema de seguridad se multiplica porque hay que asegurar que los datos se encuentren en un estado consistente siempre, y que solo aquellos usuarios autorizados puedan realizar su trabajo.

  • Complejidad: Las mismas características de las bases de datos centralizadas, las cuales permiten asegurar que los datos sean válidos, deben implementarse en este sistema distribuido, por lo que los algoritmos son mucho más complejos dado que hay muchas variables adicionales a tener en cuenta.
TIPOS DE DISTRIBUCION


DATOS

Datos son los hechos que describen sucesos y entidades."Datos" es una palabra en plural que se refiere a más de un hecho. A un hecho simple se le denomina "data-ítem" o elemento de dato.
Los datos son comunicados por varios tipos de símbolos tales como las letras del alfabeto, números, movimientos de labios, puntos y rayas, señales con la mano, dibujos, etc. Estos símbolos se pueden ordenar y reordenar de forma utilizable y se les denomina información.Los datos son símbolos que describen condiciones, hechos, situaciones o valores. Los datos se caracterizan por no contener ninguna información. Un dato puede significar un número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad, una medida, una palabra o una descripción.La importancia de los datos está en su capacidad de asociarse dentro de un contexto para convertirse en información. Por si mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden afectar el comportamiento de quien los recibe. Para ser útiles, los datos deben convertirse en información para ofrecer un significado, conocimiento, ideas o conclusiones.

CONTROL

Se define control como el conjunto de procedimientos que aplicamos para que un sistema, desde un estado inicial, alcance cierto estado final y se mantenga en el o muy próximo, independientemente de los cambios en magnitudes externas o internas que puedan afectar."
El control de un sistema puede tener 2 finalidades distintas:
Regulación: consiste en mantener la salida constante independientemente de la variación de magnitudes externas. Ej: Mantener constante la orientación de una antena a un satélite.
Seguimiento de trayectorias: hacer que la variable de salida tenga en todo momento un valor tan próximo como sea posible al de alguna variable de entrada. ej: Controlar un robot móvil para que siga un camino establecido.


USUARIOS

Un usuario es la persona que utiliza o trabaja con algún objeto. Tiene varias relevancias

USUARIO FINAL

El usuario final de un producto informático (bien sea hardware o software), es la persona a la que va destinada dicho producto una vez ha superado las fases de desarrollo correspondientes.
Normalmente, el software se desarrolla pensando en la comodidad del usuario final, y por esto se presta especial interés y esfuerzo en conseguir una interfaz de usuario lo más clara y sencilla posible.

USUARIO REGISTRADO

Se denomina así a la persona que tiene derechos especiales en algún servicio de Internet por acreditarse en el mismo mediante un identificador y una clave de acceso, obtenidos previo registro en el servicio, de manera gratuita o de pago. Normalmente, un usuario registrado tiene asignada una cuenta propia que mantiene información personalizada del usuario en el servidor, (como puede ser dirección de e-mail y espacio correspondiente). También puede dar acceso a ciertos contenidos no accesibles al público en general, como por ejemplo un usuario registrado en un periódico on-line con acceso por suscripción

USUARIO ANÓNIMO:


Es usuario anónimo en informática aquel que navega en sitios web (o usa cualquier servicio de la red) sin autenticarse como usuario registrado. En algunos servicios en Internet se dispone de un modo de uso como usuario registrado y otro como usuario anónimo; normalmente, el usuario registrado goza de mayores privilegios.
El anonimato en Internet es uno se sus puntos fuertes, a la vez que motivo habitual de discusión. A los usuarios les gusta sentirse libres para expresarse, mientras que ciertos organismos quisieran un mayor control de todo el movimiento por la red para actuar con más eficacia contra la delincuencia on-line.

USUARIO BETA TESTER

En el proceso de desarrollo de software, existe un usuario intermedio entre el desarrollador y el usuario final que se encarga de comprobar y testear que el programa hace lo que tiene que hacer, reportando errores al programador/desarrollador, y es en gran medida responsable de que el programa llegue al usuario final sin errores.

INTERFAZ DEL USUARIO

La interfaz de usuario es la forma en que los usuarios pueden comunicarse con una computadora, y comprende todos los puntos de contacto entre el usuario y el equipo. Sus principales funciones son:

  • Manipulación de archivos y directorios
  • Herramientas de desarrollo de aplicaciones
  • Comunicación con otros sistemas
  • Información de estado
  • Configuración de la propia interfaz y entorno
  • Intercambio de datos entre aplicaciones
  • Control de acceso
  • Sistema de ayuda interactivo

Nos encontramos con dos tipos de interfaz de usuario:
  • Interfaces alfanuméricas (intérpretes de mandatos).
  • Interfaces gráficas de usuario (GUI, Graphics User Interfaces), las que permiten
comunicarse con el ordenador de una forma muy rápida e intuitiva. Y pueden ser de hardware o de software:
  • En el primer caso se trata de un conjunto de dispositivos que permiten la interacción hombre-máquina, de modo que permiten ingresar y tomar datos del ordenador.
  • También están las interfaces de software que son programas o parte de ellos que permiten expresar nuestros deseos al ordenador.
  • Sin embargo, no siempre se trata de interfaces intuitivas tal como el caso de las interfaces de línea de órdenes (CLI), que se encuentran por ejemplo en algunos sistemas operativos como los NOS de los Routers o algunos shell de Unix, DOS, etc.


3. TIPOS DE BASES DE DATOS DISTRIBUIDAS


HETEROGENEA

Las Bases de datos heterogéneas con un alto grado de autonomía local. Cada nodo en el sistema tiene sus propios usuarios, aplicaciones y datos locales y es el sistema el que trata con ellos directamente y sólo conecta con otros nodos en busca de información que
no tiene. Este tipo de base de datos se suele llamar sistema federado o federación. Se ha hecho cada día más popular en las organizaciones, tanto por su escalabilidad, su capacidad de mezclar distintos paquetes software y su reducido coste al añadir nuevos nodos cuando es necesario. A diferencia de los sistemas homogéneos, los sistemas heterogéneos pueden incluir diferentes SGBD en los nodos. Esto los hace atractivos en grandes corporaciones, ya que pueden mantener sus sistemas heredados antiguos (legacy systems) junto con los nuevos sistemas.

DDBMS HETEROGÉNEO

  • Esquema global único.
  • Modelo de datos y lenguaje de consultas común.
  • Esquema integrado.
  • Consultas reales distribuidas.

INTERFAZ HETEROGÉNEA

  • Acceso en línea a una única base de datos
  • No hay integración de bases de datos
  • El acceso usa un modelo de datos; el DBMS, otro




SISTEMA HOMOGÉNEO


Las bases de datos distribuidas homogéneas usan el mismo software de SGBD y tienen las mismas aplicaciones en cada nodo. Tienen un esquema común y pueden tener grados diversos de autonomía local. Pueden estar basadas en cualquier SGBD que soporte estas características, pero no puede haber más de un SGBD en el sistema. La autonomía local especifica cómo el sistema funciona desde la perspectiva de los usuarios y programadores. Por ejemplo, podemos tener un sistema con poca o sin autonomía local, donde todas las peticiones se envían a un nodo central, llamado gateway. Desde aquí se asigna al nodo que contiene esa información o aplicación requerida. Esto es lo típico que se ve con los mirrors de sitios web muy populares a los cuales una página central deriva las peticiones de sus usuarios dependiendo de su origen geográfico.


Son Sistemas Donde Se Utiliza Un Mismo SGBDD.

Si el proyecto parte de cero, es decir, no hay nada desarrollado, probablemente pueda usarse esta metodología. Digamos que una vez entendido el problema de información, es decir levantamiento de información, de procesos, reglas de juego, etc., podemos diseñas el MER (modelo entidad relación) del sistema.
En la base de datos distribuida surgen las primeras dudas: Donde almacenar el modelo?, en cada sitio?, que almacenamos en un sitio?.

Probablemente el esquema deba repartirse entre los sitios, para ello existe el concepto de fragmentación. La fragmentación es la ubicación de una parte de una o varias tablas del modelo en un sitio.

El fragmento puede ser horizontal, vertical o mixta.
Un fragmento vertical, usa la operación de álgebra relacional conocida como proyección.
Un fragmento horizontal, es generado por la operación del álgebra relacional conocida como selección.
Un fragmento mixto combina las dos operaciones mencionadas (selección y proyección).