Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Octubre, 2010
Agradecimientos
Pgina 3 de 118
ndice de Figuras
Ilustracin 1. Clasificacin de los SGBDD .................................................................... 19
Ilustracin 2. Esquema de una fragmentacin vertical................................................... 24
Ilustracin 3. Esquema de una fragmentacin horizontal............................................... 26
Ilustracin 4. Esquema de una fragmentacin vertical-horizontal. ................................ 27
Ilustracin 5 Esquema de una fragmentacin horizontal-vertical .................................. 27
Ilustracin 6. Replicacin de los datos ........................................................................... 29
Ilustracin 7. Procesamiento de una Consulta Distribuida............................................. 32
Ilustracin 8 Ejemplo de un escenario de un SGBD Heterogneo................................. 38
Ilustracin 9 Taxnomias de metodologas de la integracin ........................................ 42
Ilustracin 10 Mtodos de integracin binarios ............................................................. 42
Ilustracin 11 Mtodos de Integracin n-aria................................................................. 43
Ilustracin 12 Alternativas de Conformacin Atmica.................................................. 44
Ilustracin 13 Estructura de un SGBDD heterogneo.................................................... 46
Ilustracin 14 Pasos del procesamiento de consultas en Sistemas Multibase ................ 47
Ilustracin 15 Componentes de un SGBD heterogneo [6] ........................................... 49
Ilustracin 16 Diagrama E/R correspondiente a una BD centralizada para la gestin de
la Universidad Carlos III ................................................................................................ 59
Ilustracin 17 Esquema relacional correspondiente a una BD centralizada para la
gestin de la Universidad Carlos III ............................................................................... 61
Ilustracin 18 Esquema de la arquitectura del sistema................................................... 65
Ilustracin 19 Abrir puerto de Firewall de Windows. .................................................... 71
Ilustracin 20 Instalacin de SQL Server 2008: Aprovisionamiento de cuentas. .......... 74
Ilustracin 21 Oracle Universal Installer: Seleccionar producto a instalar .................... 75
Ilustracin 22 Oracle Universal Installer: Components Disponibles del Producto ........ 76
Ilustracin 23 Crear nuevo origen de datos. ................................................................... 78
Ilustracin 24 Configuracin DSN de Microsoft SQL Server 1/3 ................................. 79
Ilustracin 25 Configuracin DSN de Microsoft SQL Server 2/3 ................................. 80
Ilustracin 26 Configuracin DSN de Microsoft SQL Server 3/3 ................................. 80
Ilustracin 27 Prueba de conexin de XE ..................................................................... 83
Ilustracin 28 Opciones de proveedor - Oracle Provider for OLE Db........................... 84
Ilustracin 29 Nuevo Servidor Vinculado ...................................................................... 84
Ilustracin 30 Nuevo Servidor Vinculado - general....................................................... 85
Ilustracin 31 Nuevo Servidor Vinculado - seguridad. .................................................. 86
Ilustracin 32 Prueba de conexin de red desde Sede de Legans a sede de Getafe ..... 87
Ilustracin 33 Oracle Database 10g Express Edition Asistente de Instalacin 1/6 ..... 96
Ilustracin 34 Oracle Database 10g Express Edition Asistente de Instalacin 2/6 ..... 97
Ilustracin 35 Oracle Database 10g Express Edition Asistente de Instalacin 3/6 ..... 97
Ilustracin 36 Oracle Database 10g Express Edition Asistente de Instalacin 4/6 ..... 98
Ilustracin 37 Oracle Database 10g Express Edition Asistente de Instalacin 5/5 ..... 98
Ilustracin 38 Oracle Database 10g Express Edition Asistente de Instalacin 6/6 ..... 99
Ilustracin 39 Cmo acceder a la pgina de configuracin y administracin de Oracle 99
Ilustracin 40 Validacin en el acceso a la pgina de configuracin y administracin de
Oracle............................................................................................................................ 100
Ilustracin 41 Ventana de administracin de Oracle 10g Express Edition .................. 101
Ilustracin 42 Centro de Instalacin de SQL Server .................................................... 102
Ilustracin 43 Programa de instalacin de SQL Server 2008 1/21............................... 103
Ilustracin 44 Programa de instalacin de SQL Server 2008 2/21............................... 104
Diseo y Construccin de Bases de Datos Distribuidas
Heterogneas sobre Oracle Y SQL Server
Pgina 4 de 118
Pgina 5 de 118
ndice de Tablas
Tabla 1 Comparacin de las alternativas de replicacin ................................................ 30
Tabla 2 Resumen de los costes de personal conforme a las fases del proyecto ............. 54
Tabla 3 Resumen del coste de los recursos personales del proyecto.............................. 54
Tabla 4 Resumen del coste de los recursos materiales del proyecto .............................. 55
Tabla 5 Clculo del coste amortizacin de los recursos materiales ............................... 55
Tabla 6 Suma final de los costes meteriales y personales ............................................. 55
Tabla 7 Definicin de identificadores de tipos de requisitos de usuario ........................ 56
Tabla 8 Definicin de identificadores de tipos de requisitos de sistema........................ 56
Tabla 9 Requisitos de usuario......................................................................................... 57
Tabla 10 Requisitos de sistema ...................................................................................... 58
Tabla 11 Asignacin inicial de tablas y nodos. .............................................................. 62
Tabla 12 Esquema de asignacin ................................................................................... 64
Tabla 13 Esquema de replicacin................................................................................... 64
Tabla 14 Requerimientos hardware y software para instalar SQL Server ..................... 74
Tabla 15 Servicios de Oracle 10g Express Edition ...................................................... 101
Tabla 16 Accesos directos de Oracle 10g Express Edition .......................................... 102
Pgina 6 de 118
ndice de contenidos
1.
INTRODUCCIN ............................................................................................................................9
1.1
1.2
1.3
CONTEXTO .................................................................................................................................9
OBJETIVOS .................................................................................................................................9
ESTRUCTURA DEL DOCUMENTO ...............................................................................................10
Pgina 7 de 118
CONCLUSIONES ..........................................................................................................................91
LNEAS FUTURAS........................................................................................................................92
LISTA DE ACRNIMOS..............................................................................................................93
10
BIBLIOGRAFA ............................................................................................................................94
10.1
10.2
11
ANEXOS..........................................................................................................................................96
11.1
11.2
Pgina 8 de 118
1. INTRODUCCIN
1.1 Contexto
Con los recientes avances tecnolgicos en cuanto a comunicacin y redes, hoy en da es
cada vez ms habitual encontrar sistemas descentralizados cuya informacin se
encuentre disponible desde varias localizaciones geogrficas.
Como parte clave de estos sistemas, las bases de datos tambin experimentan un cambio
similar y cada vez es ms frecuente que las organizaciones tengan sus sistemas de bases
de datos ejecutndose en diversas plataformas, ya que algunas de las aplicaciones que
utilizan estn estrechamente ligadas a determinadas bases de datos y ser deseable
poder comunicarlas para que trabajen conjuntamente y poder as hablar de sistemas
heterogneos de bases de datos.
Sin embargo, a pesar de que el paradigma de las bases de datos distribuidas hizo su
aparicin hace ya aos, el enfoque distribuido todava no se ha extendido
suficientemente desde el punto de vista de las herramientas comerciales para su
implementacin. Tenindose en cuenta que los dos componentes bsicos de los sistemas
de bases de datos distribuidos (bases de datos y redes de ordenadores) son sistemas
ampliamente desarrollados y cuyas ventajas son bien conocidas por las organizaciones,
se puede conjeturar que su extensin comercial es un hecho inminente. Es de esperar
que en un futuro prximo los principales sistemas gestores de bases de datos
comerciales apuesten por este enfoque y que se produzca la consolidacin de la
resolucin de los problemas que la distribucin acarrea.
Mientras tanto, en este proyecto se plantea el estudio de las bases de datos distribuidas
heterogneas mediante el diseo y simulacin de un sistema real que cumpla las
caractersticas mencionadas anteriormente, explorando las posibilidades tericas y
prcticas existentes a travs del empleo de algunos de los sistemas comerciales de bases
de datos ms frecuentes, analizando las posibles dificultades que se planteen.
1.2 Objetivos
Este proyecto surge por el deseo de ampliar el alcance de trabajos previos orientados a
la investigacin sobre sistemas homogneos de bases de datos distribuidas,
promoviendo en esta ocasin el estudio y desarrollo de los sistemas heterogneos de
base de datos.
El objetivo principal de este trabajo es investigar la problemtica actual de las
conexiones entre sistemas gestores de bases de datos de diferentes proveedores. Como
objetivo secundario est el llevar a cabo un proyecto software y hardware, realizando el
diseo y la implementacin completa de un sistema de BBDD en diferentes sistemas
gestores de base de datos y conocer as nuevas tecnologas. Son metas derivadas de los
objetivos anteriores el diseo, la instalacin, configuracin y mantenimiento de dichos
sistemas, de manera que se garantice al usuario final la transparencia del entorno con
respecto a cuestiones internas de representacin y gestin de los datos.
Diseo y Construccin de Bases de Datos Distribuidas
Heterogneas sobre Oracle Y SQL Server
Pgina 9 de 118
Pgina 10 de 118
2 Estado de la cuestin
En este captulo se introducen ciertos conceptos necesarios para la comprensin de este
trabajo: conceptos acerca de la distribucin de base de datos, de las diferentes
arquitecturas de sus sistemas y de sus posibles diseos, entre otros. Del mismo modo, se
da un enfoque substancial a las bases de datos distribuidas heterogneas.
Pgina 11 de 118
A simple vista resulta difcil entender cmo estos dos enfoques, que se oponen, pueden
ser sintetizados para producir una tecnologa que es mucho ms poderosa que
cualquiera de los dos enfoques por separado.
La clave para entender esto es darse cuenta de que en la tecnologa de las BDD el
objetivo principal no es la centralizacin sino ms bien la integracin. La idea consiste
en lograr la integracin y distribucin y que ambos enfoques no pierdan su naturaleza
esencial.
2.1.1 Definiciones
Base de Datos (BD)
Una base de datos es un conjunto de datos relacionados entre s. Por datos se entienden
hechos conocidos que pueden registrarse y que tienen un significado implcito. Por
ejemplo, considrense los nombres y nmeros de telfonos de personas. Tal vez estos
datos estn registrados en una libreta de direcciones indexada, o quiz en un disquete,
utilizando un ordenador y un software. Se trata de un conjunto de datos relacionados
entre s y que tienen un significado implcito; por tanto, constituyen una base de datos.
La definicin anterior es muy general pero la aceptacin comn del trmino base de
datos suele ser ms restringida. Una BD tiene las siguientes propiedades implcitas [1]:
Una BD representa algn aspecto del mundo real, en ocasiones llamado universo
del discurso. Las modificaciones del universo del discurso se reflejan en la BD.
Una BD es un conjunto de datos lgicamente coherente, con cierto significado
incoherente. Una coleccin aleatoria de datos no puede considerarse
propiamente una BD.
Toda BD se disea, construye y puebla con datos para un propsito especfico.
Est dirigida a un grupo de usuarios y tiene ciertas aplicaciones preconcebidas
que interesan a dichos usuarios.
En otras palabras, una BD tiene una fuente de la cual se derivan los datos, cierto grado
de interaccin con los acontecimientos del mundo real y un pblico que est
activamente interesado en el contenido de la BD.
Las BBDD pueden ser de cualquier tamao y tener diversos grados de complejidad pero
deben organizarse y controlarse para que los usuarios puedan buscar, obtener y
actualizar los datos cuando sea necesario.
Sistema de Gestin de BD (SGBD)
Un SGBD es un conjunto de programas que permite a los usuarios crear y mantener una
BD. Por tanto, el SGBD es un sistema de software de propsito general que facilita el
proceso de definir; construir y manipular BBDD para diversas aplicaciones. Par definir
una BD hay que especificar los tipos de datos, las estructuras y las restricciones de los
datos que se almacenarn en ella. Construir una BD es el proceso de guardar los datos
mismos en algn medio de almacenamiento controlado por el SGBD. En la
manipulacin de una BD intervienen funciones como consultar la BD para obtener
datos especficos, actualizar la BD para reflejar cambios en el minimundo y generar
informes a partir de los datos.
No es necesario un software de SGBD de propsito general para implementar una BD
computerizada. Se podra escribir un conjunto de programas propio para crear y
mantener la BD [1].
Pgina 12 de 118
Pgina 13 de 118
Pgina 14 de 118
Autonoma del sitio. Las BDD permiten varias localizaciones para compartir sus
datos sin ceder el control administrativo. Si la sede de una instancia de base de datos
contiene informacin especialmente sensible o tiene requerimientos de alta disponibilidad,
todava puede compartir datos sin comprometer su seguridad o la disponibilidad. Adems,
un sitio determinado en un entorno de BDD puede seguir sus propios procedimientos
administrativos y actualizacin de rutas, dentro de lo razonable.
Seguridad mejorada. Los componentes de la arquitectura distribuida son
completamente independientes unos de otros, lo que significa que cada sitio puede
mantenerse de forma independiente. Se pueden compartir los datos sin compartir cuentas y
contraseas. Cada sitio puede tener sus propios administradores y sus propios conjuntos de
cuentas,
y
los
datos
privados
se
pueden
mantener
en
privado.
Tambin se puede configurar un entorno distribuido para proporcionar seguridad en el
sentido de la supervivencia, es decir, puede mantener dos o ms versiones del esquema
completo de la BD replicados en diferentes mquinas en diferentes lugares. En BDD no
hay ninguna razn para que los desarrolladores o usuarios finales tengan su cuenta en un
servidor de base de datos, porque todos los accesos de base de datos se producen a travs
de APIs (Application Programming Interfaces) de red. De este modo, se minimiza la
exposicin de dicho servidor de base de datos a posibles intrusiones maliciosas o a
usuarios poco cuidadosos.
Pgina 15 de 118
Pgina 16 de 118
catlogo de SGBDD.
Capacidad de elaborar estrategias de ejecucin para consultas y transacciones
con acceso a datos situados en nodos diferentes.
Capacidad de mantener la consistencia en las rplicas de un elemento de
informacin.
Capacidad de decidir cul de las copias de un elemento de informacin ser
accedida.
Capacidad de recuperacin ante cadas de sitios individuales y fallos de un
enlace de comunicacin.
El SGBDD debe contar con los siguientes componentes para poder ofrecer estas
funcionalidades descritas:
Procesador de datos locales que se encarga de la gestin local de los datos
de forma parecida al software de un SGBD centralizado, por lo que adems de ejecutar
transacciones locales se encarga de la concurrencia y la recuperacin ante fallos a nivel
local.
Diccionario o directorio global donde se guardar informacin acerca de
dnde y cmo se almacenan los datos, el modo de acceso y otras caractersticas fsicas. En
resumen, contiene las especificaciones necesarias para pasar de la representacin externa o
esquema externo de los datos a la representacin interna de los mismos.
Procesador de aplicaciones distribuidas que es el responsable de las
funciones distribuidas. Accede a la informacin sobre la ubicacin de los datos, que se
encuentra en el diccionario, y se ocupa de procesar todas las peticiones que involucran ms
de una sede para generar un plan de ejecucin distribuido. Es el elemento diferenciador en
los sistemas distribuidos, dada una operacin se encargar de repartir el trabajo a los
distintos procesadores locales que intervienen en dicha operacin.
Software y red de comunicaciones. No forma parte estrictamente del
SGBDD sino que provee al procesador de aplicaciones distribuidas primitivas y servicios
de comunicaciones para que ste lleve a cabo su labor.
Pgina 17 de 118
Adems pueden mantenerse varias copias de todo o parte de los datos. Estas copias no
tienen por qu tener una estructura idntica.
Algunos de los beneficios de la distribucin de los datos son bien conocidos, tales como
una mayor disponibilidad y fiabilidad de la informacin, as como una mejora en los
tiempos de acceso [6].
Autonoma
Se refiere a la distribucin del control, no de los datos. Indica el grado en el que los
SGBDs pueden actuar independientemente y es funcin de factores tales como el nivel de
intercambio de informacin entre los componentes del sistema, la ejecucin independiente
de transacciones, la tolerancia a modificaciones respectivas en los datos, etc.
Para lograr la independencia entre bases de datos que componen un sistema distribuido, es
necesario considerar los tipos de autonoma descritos por [6]:
Autonoma de diseo: La capacidad de que cada nodo de la base de datos decida
los aspectos relacionados con su diseo. Es decir, las personas involucradas son libres de
decidir cualquier particularidad e incluso decidir qu SGBD utilizar. Los aspectos a
considerar en la autonoma de diseo son:
El universo de datos relevante para el sistema
La representacin (modelo de datos, lenguaje de consultas) y el nombrado de los
datos
La conceptualizacin o interpretacin semntica de los datos (heterogeneidad
semntica)
Restricciones usadas para administrar los datos
La funcionalidad del sistema
La asociacin y comparticin con otros sistemas
La implementacin (por ejemplo: registros y estructuras de archivos).
Autonoma de comunicacin: es la habilidad de que un nodo decida comunicarse
o no con otro componente de una misma federacin
Autonoma de ejecucin: es la habilidad de un nodo para ejecutar operaciones
locales sin la interferencia de operaciones externas, en el orden en que el nodo lo decida.
Autonoma de asociacin: cada nodo cunto y cundo puede compartir su
funcionalidad y recursos con otros componentes, inclusive la capacidad de asociarse o
retirarse de una o ms federaciones.
Pgina 18 de 118
Heterogeneidad
La heterogeneidad puede referirse a diferentes aspectos, desde diferencias hardware o en
los protocoles de red, hasta variaciones en los SGBDs propiamente (modelos de datos,
lenguaje de manipulacin de datos, protocolos de gestin de transacciones,) [6].
En la Ilustracin 1 se pueden observar las diferentes alternativas en las arquitecturas de los
SGBDD segn su grado de autonoma, distribucin y heterogeneidad.
Pgina 19 de 118
SGBD federado homogneo y distribuido), de forma que existe una cooperacin entre los
SGBDs implicados en la ejecucin de las solicitudes de usuarios a los datos de la BDD.
Si la autonoma es total (sistema multibase heterogneo, sistema multibase
heterogneo y distribuido y sistema multibase homogneo y distribuido) se obtienen
sistemas de bases de datos mltiples (SMBD).
Sin la heterogeneidad (sistemas multibase homogneos y distribuidos) o
distribucin (multibase heterogneo) un sistema multibase es una coleccin de BDs
autnomas interconectadas.
Si la BD est distribuida (sistema multibase heterogneo y distribuido, sistema
multibase homogneo distribuido) resulta un sistema gestor multibase distribuido que
requiere una gestin bastante diferente de la de un SGBDD. Esto es porque la autonoma es
el factor determinante en el diseo de un sistema gestor multibase.
2.3.1 Definiciones
Algebra relacional
Es un conjunto de operaciones que describen paso a paso cmo computar una
respuesta sobre las relaciones, tal y como stas son definidas en el modelo relacional.
Denominada de tipo procedimental.
Describe el aspecto de la manipulacin de datos. Estas operaciones se usan como una
representacin intermedia de una consulta a una base de datos y, debido a sus
propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de
dicha consulta. [5]
Se van a explicar algunos operadores de algebra relacional, que nos van a ser necesarios
para entender las reglas de fragmentacin (Vase apartado 2.2.6.5).
JOIN
La sentencia join en SQL permite combinar registros de dos o ms tablas en una base de
datos relacional. Para hacer un join es necesario que exista un campo que relacione los
datos de cada tabla.
SEMI-JOIN
Tambin conocida como semi-combinacin. Opera de la misma manera que un join,
pero la relacin resultante slo tiene los atributos de la primera tabla.
Pgina 20 de 118
UNION
La sentencia union en SQL permite combinar los resultados de dos consultas SQL en
una tabla nica de todas las filas coincidentes. Las dos consultas deben tener el mismo
nmero de columnas y tipos de datos compatibles para unir. Cualquier registro
duplicado se elimina automticamente si se usa UNION ALL.
2.3.2.
Alternativas de diseo
la ascendente o Top-Down.
la descendente o Bottom-Up.
2.3.3.
Fragmentacin
Pgina 21 de 118
Fragmentacin horizontal
Fragmentacin mixta
Pgina 22 de 118
Pgina 23 de 118
Ln-1
Ln
NOMBRE
Mara
Lus
103
104
Ana
Benito
APELLIDOS
Ruiz Olmos
lvarez
Delgado
Rosado Gil
Snchez Marn
EDAD
20
21
CAMPUS
Legans
Getafe
TITULACION
ITIG
Derecho
CURSO
2
2
19
25
Colmenarejo
Getafe
Documentacin
Economa
1
3
Pgina 24 de 118
NOMBRE
Mara
Lus
Ana
Benito
APELLIDOS
Ruiz Olmos
lvarez Delgado
Rosado Gil
Snchez Marn
EDAD
20
21
19
25
CAMPUS
Legans
Getafe
Colmenarejo
Getafe
TITULACION
ITIG
Derecho
Documentacin
Economa
CURSO
2
2
1
3
Para que la fragmentacin horizontal sea correcta se tiene que cumplir que:
La unin de todos los Ri sea la relacin original (R).
La interseccin de todos los Ri sea vaca.
La relacin original se recupera mediante UNION de los fragmentos.
Pgina 25 de 118
R1
R1 ... Rn =
R1 U U Rn = R, relacin original
...
Rn
NOMBRE
Mara Ruiz Olmos
Lus lvarez Delgado
Ana Rosado Gil
Benito Snchez Marn
CAMPUS
Legans
Getafe
Colmenarejo
Getafe
Podra ser interesante realizar una fragmentacin horizontal por el campo Campus y
almacenar cada fragmento en cada uno de los campus, suponiendo que en estos hubiera
un nodo de la BD, quedando cada subrelacin de la siguiente manera:
ALUMNOS_LEG: Fragmento correspondiente a alumnos del campus de Legans (R1 =
(CAMPUS = Legans))
IDALUMNO
101
NOMBRE
Mara Ruiz Olmos
CAMPUS
Legans
NOMBRE
Lus lvarez Delgado
Benito Snchez Marn
CAMPUS
Getafe
Getafe
2.2.6.8
NOMBRE
Ana Rosado Gil
CAMPUS
Colmenarejo
Fragmentacin VH
Es una fragmentacin vertical seguida de una fragmentacin horizontal, sobre cada uno
de los fragmentos verticales. Vase un esquema de este tipo de fragmentacin el la
Ilustracin 4.
Diseo y Construccin de Bases de Datos Distribuidas
Heterogneas sobre Oracle Y SQL Server
Pgina 26 de 118
FV1Hn
FV2Hn
FVmHn
FVi = fragmentos verticales
FV2H2
FV1H2
FV2H1
FV1H1
FV1
FV2
FVm
IDALUMNO
101
102
NOMBRE
Mara
Lus
103
104
Ana
Benito
APELLIDOS
Ruiz Olmos
lvarez
Delgado
Rosado Gil
Snchez Marn
EDAD
20
21
CAMPUS
Legans
Getafe
TITULACION
ITIG
Derecho
CURSO
2
2
19
25
Colmenarejo
Getafe
Documentacin
Economa
1
3
Fragmentacin HV
Es una fragmentacin horizontal seguida de una fragmentacin vertical, sobre cada uno
de los fragmentos horizontales. Vase un esquema de este tipo de fragmentacin el la
Ilustracin 5.
FHn
FHnVm
FHi = fragmentos horizontales
FH2
FH1
Pgina 27 de 118
Pgina 28 de 118
Sitio S1
A1
Sitio S2
A1
Sitio S3
A2
A2
Pgina 29 de 118
Totalmente
replicadas
Proceso de
consultas
Gestin de
directorios
Control de
concurrencia
Fiabilidad
Realidad
Parcialmente
replicada
Particionada
Fcil
Misma dificultad
Fcil o no existe
Misma dificultad
Moderada
Difcil
Fcil
Muy alta
Posible aplicacin
Alta
Realista
Baja
Posible aplicacin
2.3
La integridad semntica de los datos se refiere a las caractersticas del SGBD y los
procesos que se pueden utilizar para asegurar la exactitud y la viabilidad del contenido
de los datos de una BD. La integridad semntica de los datos se refiere a la consistencia
de los datos en s.
En general, se utilizan las funciones del SGBD para apoyar la integridad de los datos
que por lo general ofrece la mejor solucin. Es ms fcil descubrir y mantener una regla
de integridad semntica utilizando las funciones del SGBD que revisando el cdigo del
programa. Hay que tener en cuenta que el cdigo puede estar en diferentes lenguajes en
un entorno heterogneo. Adems, habr que distinguir los datos obsoletos de los activos
[10].
Pgina 30 de 118
2.4
Procesamiento de consultas
2.4.1 Definiciones
Esquema conceptual.
Describe la estructura de toda la base de datos para una comunidad de usuarios. El
esquema conceptual oculta los detalles de las estructuras fsicas de almacenamiento y
se concentra en describir entidades, tipos de datos, vnculos, operaciones de los
usuarios y restricciones [1].
Esquema Conceptual Local (ECL).
Son los esquemas conceptuales correspondientes a cada vista de usuario.
Esquema Conceptual Global (ECG).
En el caso de SGBDDs lgicamente integrados, el ECG define la visin global de la BD
completa. El ECG es la unin de los Esquemas Conceptuales Locales (ECL) [4].
El procesamiento de consultas se puede descomponer en un nmero de subconsultas a
los que corresponden cada uno de los niveles de un procesador de consultas genrico.
En la Ilustracin 7 se puede ver esta arquitectura. La entrada es una consulta sobre datos
distribuidos que se expresa en trminos del clculo relacional. Por tanto, se refiere a
relaciones globales, distribuidas en los nodos de forma transparente. Es necesario
traducir la consulta distribuida en un nmero de operaciones locales, en cada BD local,
que se optimizarn separadamente. Para ello se establecen cuatro niveles que se reparten
de la siguiente manera:
Pgina 31 de 118
DESCOMPOSICION DE LA CONSULTA
ECG
ESQUEMA
DE
FRAGMENTACION
OPTIMIZACION GLOBAL
ESTADISTICAS DE
FRAGMENTACION
OPTIMIZACION LOCAL
ECL
Pgina 32 de 118
2.4.3.1
Pgina 33 de 118
2.4.3.2
A este nivel se emplea el ECL en cada nodo y los algoritmos son los tpicos de sistemas
relacionales centralizados. La optimizacin es, a diferencia de las optimizaciones
globales, normalmente dinmica, en tiempo de ejecucin de la consulta [4].
2.5
Pgina 34 de 118
T2: Write( x )
T3: Read( x )
Write( x )
Write( y )
Read( y )
Commit
Read( z )
Read( z )
Commit
Commit
Un programa con las acciones de las tres transacciones anteriores puede ser:
H1 = {W2(x), R1(x), R3(x), W1(x), C1, W2(y), R3(y), R2(z), C2, R3(z), C3 }
Dos operaciones Oij(x) y Okl(x) (i y k no necesariamente distintos) que acceden al
mismo dato de la BD x se dice que estn en conflicto si al menos una de ellas es de
escritura. De esta manera, las operaciones de lectura no tienen conflictos consigo
mismas. Existen dos tipos de conflictos:
de lectura-escritura (o escritura-lectura)
de escritura-escritura.
Pgina 35 de 118
2.6
Control de recuperacin
Pgina 36 de 118
Pgina 37 de 118
2.7.1.1
Pgina 38 de 118
producen cuando los distintos modos de relacin (por ejemplo, una relacin uno a uno
frente a una de muchos a muchos) se usan para representar lo mismo en diferentes
esquemas. Los conflictos de clave se producen cuando existen varias claves candidatas
disponibles y se seleccionan claves primarias diferentes en distintos esquemas. Los
conflictos de comportamiento estn implcitos en los mecanismos de modelado. Por
ejemplo, borrar el ltimo elemento de una BD puede provocar la eliminacin de la
entidad que contiene (es decir, la eliminacin del ltimo empleado puede causar la
disolucin del departamento). Si el contenido de la informacin no es el mismo, puede
ser muy difcil solventar las diferencias [6], [8].
Diferencias en las restricciones:
Dos modelos de datos pueden soportar diferentes restricciones. Esto quiere decir que
puede ser que en un modelo de datos existan x tipos de restricciones y en otro modelo y,
que posiblemente sean diferentes. Los disparadores (o algn otro mecanismo) deben ser
utilizados en los sistemas relacionales para captar la semntica de estos.
Diferencias en los lenguajes de consulta:
Como por ejemplo cuando se utilizan diferentes lenguajes de consulta para manipular
los datos representados en modelos de datos diferentes. Incluso cuando dos SGBDs se
basan en el mismo modelo de datos, las diferencias en los lenguajes de consulta (por
ejemplo, Quel1 y SQL) o las diferentes versiones de SQL soportado por dos SGBDs
relacionales pueden contribuir a la heterogeneidad.
2.7.1.2
Este lenguaje est basado en el clculo relacional orientado a tuplas. Cuando nos queremos referir al
atributo A de la tupla t, lo hacemos escribiendo t.A. [7]
Diseo y Construccin de Bases de Datos Distribuidas
Heterogneas sobre Oracle Y SQL Server
Pgina 39 de 118
2.7.3
Pgina 40 de 118
2.7.4
Esquema de traduccin
Esquema de integracin
2.7.4.1
Esquema de traduccin.
2.7.4.2
Esquema de integracin.
Pgina 41 de 118
Binario
Escalera
N-arios
Equilibrado
One-shot
Iterativo
(b)
(a)
Pgina 42 de 118
(b)
(a)
Pgina 43 de 118
E
N
A
M
C
A
(a)
E
N
A
1
(b)
E
A
(c)
Pgina 44 de 118
La capacidad de los componentes del SGBD pueden ser diferentes, lo que impide un
tratamiento uniforme de las consultas a travs de mltiples SGBD y sitios.
Del mismo modo, el coste de tramitacin de las consultas puede ser diferente en
diferentes SGBD. Esto aumenta la complejidad de las funciones de costes que deben ser
evaluadas.
Puede haber dificultades en el movimiento de datos entre SGBDs ya que pueden diferir
en su capacidad para leer datos "movidos".
Pgina 45 de 118
USUARIO
USUARIO
Componente
del SGBD
Componente
del SGBD
Componente
del SGBD
Sitio 1
Componente
del SGBD
Sitio n
Cada una de las subconsultas se enva al sitio donde va a ser procesada. Es aqu
donde cada subconsulta es traducida en el lenguaje del SGBD respectivo. A pesar de
que esta informacin se puede mantener dentro del directorio, es comn almacenarlo
como una BD auxiliar.
Pgina 46 de 118
CONSULTA GLOBAL EN
MLTIPLES BDs EN MLTIPLES
SITIOS
CONTROL DEL
SITIO
DIVISIN
LOCALIZACIN
DE DATOS
CAPA DE SGBD
HETEROGNEO
EN CADA SITIO
DIRECTORIO DE
DATOS
SUBCONSULTAS EN MLTIPLES
BDs
TRADUCCIN
BD AUXILIAR
DESCOMPOSICIN
SGBDs INDIVIDUALES
ESQUEMA LOCAL
ALGEBRA DE CONSULTA
OPTIMIZACIN
RUTA DE ACCESO
OPTIMIZADO DE CONSULTAS
LOCALES
Pgina 47 de 118
2.7.6.1
La arquitectura de un SGBD heterogneo implica una serie de SGBDs, cada uno con su
propio administrador de transacciones (llamados gestores locales de transacciones o
LTMs) y una capa de SGBD heterognea en la parte superior. El administrador de
transacciones de la capa del SGBD heterognea de varios SGBD se llama administrador
de transacciones globales (GTM), ya que gestiona la ejecucin de operaciones globales.
Un esquema de la arquitectura de un entorno distribuido de SGBD heterogneo puede
verse en la Ilustracin 15.
En un sistema heterogneo, hay dos tipos de operaciones:
las transacciones locales, que se envan a cada SGBD y se ejecutan en una nica
BD
y las transacciones globales, que tienen acceso a mltiples BDs que se envan a
la capa de mltiples SGBD. Una transaccin global se divide en una serie de
subtransacciones globales, cada una de los cuales se ejecuta en una BD.
Pgina 48 de 118
Usuario
Respuesta del sistema
Procesador de
consultas
SGBD
Procesador de
consultas
Gestor de
transacciones
Gestor de
transacciones
Programador
Programador
Gestor de
recuperacin
Gestor de
recuperacin
Soporte de ejecucin
del procesador
Soporte de ejecucin
del procesador
SGBD
2.7.6.2
Dos transacciones son conflictivas si tienen una operacin que accede al mismo dato y
al menos una de ellas es de escritura [6]. No es sencillo para el gestor de Transacciones
Globales (TG) determinar los conflictos en un sistema heterogneo. Supngase que
dos transacciones globales que se manejan por el gestor de TG no parecen estar en
conflicto en absoluto. Sin embargo, la existencia de transacciones locales puede
provocar conflictos en los componentes de BD a travs de transacciones, los conflictos
indirectos de este tipo no pueden ser detectados por el gestor de TG y son un origen de
dificultades significativas en mltiples SGBD.
Una serie de condiciones han sido definidas para especificar cundo se pueden
actualizar las transacciones globales de forma segura en un sistema heterogneo. Estas
condiciones son tiles para determinar la funcionalidad mnima requerida de los
diversos gestores de transacciones.
Pgina 49 de 118
soporte de transacciones,
estabilidad,
escalabilidad
soporte multiplataforma
herramienta cliente/servidor
Un SGBD relacional Oracle esta compuesto por tres partes principales, que son:
el kernel de Oracle
las instancias del sistema de Base de Datos.
los archivos relacionados al sistema de Base de Datos.
Soporte de transacciones.
Escalabilidad, estabilidad y seguridad.
Soporta procedimientos almacenados.
Pgina 50 de 118
Los enlaces de tipo global tienen cobertura sobre toda una red y son los
utilizados por servidores de Oracle Names
Pgina 51 de 118
Donde:
- enlace_local es el nombre del enlace que se crea.
- xe es la cuenta a la que conectarse, en la base de datos remota (nombre de usuario
y contrasea).
- remota.bd es el nombre global de la base de datos remota.
De esta forma el usuario conectar con la BD remota remota.bd usando el nombre
de usuario y contrasea de xen dicha BD. Para poder crear este enlace privado, un
usuario debe tener el privilegio de crear enlace privado a base de datos en la BD
local, as como el de crear sesin en la BD remota.
Tras la creacin del enlace, el usuario responsable puede consultar las tablas de xe
en la base de datos remota remota.bd.
Desde el punto de vista de seguridad, los enlaces privados de BD son preferibles a
los enlaces pblicos porque los enlaces privados slo estn disponibles para su
creador. En general, se debe optar por un enlace de BD privada siempre que sea
posible y ver el enlace pblico como un caso especial o como ltimo recurso.
Algunas situaciones especficas que requieren enlaces privados son:
Pgina 52 de 118
Para crear un enlace privado de BD, los usuarios deben tener el privilegio de sistema
CREATE DATABASE LINK.
Para crear un enlace de BD pblica, los usuarios deben tener el privilegio del
sistema CREATE PUBLIC DATABASE LINK.
Adems, la cuenta desde la que el enlace se conecta a la BD debe tener privilegios
de CREATE SESSION.
Pgina 53 de 118
TOTAL
90d
33d
98d
14.912,20
6.969,60
13.776,44
221 das
35.658,24
Tabla 2 Resumen de los costes de personal conforme a las fases del proyecto
DEDICACIN
TASA
ESTNDAR
COSTE
Jefe de proyecto
160 horas
46,21 /hora
7.393,28
Analista de BD
240 horas
36,42 /hora
8.739,84
Diseador de BD
192 horas
32,00 /hora
6.144,00
DBA
384 horas
26,40 /hora
10.137,60
40 horas
21,10 /hora
843,52
100 horas
24,00 /hora
2.400,00
Programador BD
Pruebas BD
TOTAL
35.658,24
Tabla 3 Resumen del coste de los recursos personales del proyecto
Ver archivo adjunto a la memoria Diseo y Construccin de Bases de Datos Distribuidas Heteogneas
sobre Oracle y SQL Server.mpp
Diseo y Construccin de Bases de Datos Distribuidas
Heterogneas sobre Oracle Y SQL Server
Pgina 54 de 118
COSTE DE
AMORTIZACIN
ANUAL
AOS
AMORTIZADOS
1000,00
857,14
COSTE
3 aos
3 aos
--
--
3000,00
2571,43
127
--
--
127
---
---
300
300
TOTAL
6.425,43
Tabla 4 Resumen del coste de los recursos materiales del proyecto
COSTE
7000
6000
DURACIN
7 aos
7 aos
AMORTIZACIN/ao
1000,00 / ao
857,14 /ao
A modo de resumen, en la Tabla 6 se puede apreciar el coste total del proyecto, que se
estima en 42.083,67 , habindose previsto su inicio el da Lunes 3 de Mayo de 2010 y
su finalizacin el 20 de Octubre de 2010.
CONCEPTO
Costes de recursos personales
Costes de recursos materiales
TOTAL
COSTE
35.658,24
6.425,43
42.083,67
Pgina 55 de 118
En cada uno de los campus se quiere crear un departamento para la gestin de las
distintas titulaciones impartidas en dicho campus, adems de manejar los datos acerca
de los cursos de los que consta cada una de ellas y los grupos que forman parte de
estos cursos. En este departamento tambin se desea guardar informacin de los
profesores (nombre, e-mail y nmero de despacho) que imparte clases en cada uno de
los campus.
El departamento de gestin de nminas y contratacin del profesorado se mantendr en
Getafe.
4.1
Especificacin de requisitos
Oracle 10g XE
SQL Server 2008
Oracle Database 10g Client Release 2
Oracle 10g Release 2 Oracle Data Access Components
Acrnimo
CP
RS
Tipo de requisito
Funcional
Rendimiento
Interfaz
Operacin
Recursos
Comprobacin
Documentacin
Seguridad
Acrnimo
FN
RD
IN
OP
RC
CM
DC
SG
Pgina 56 de 118
Nombre
Consulta local de los datos de forma transparente.
Actualizacin local de los datos de forma transparente.
Borrado local de los datos de forma transparente.
Altas de los datos de forma transparente.
Acceso transparente a los objetos y los datos de la sede de Legans desde la sede
de Getafe.
Acceso transparente a los objetos y los datos de la sede de Getafe desde la sede de
Legans.
Los datos referentes a las nminas de los profesores se almacenan en la sede de
Getafe.
Gestionar en cada uno de los campus las distintas titulaciones impartidas en dicho
campus.
Gestionar los datos acerca de los cursos de los que consta cada una de las
titulaciones.
Gestionar los datos acerca de los grupos que forman parte de los cursos de los que
consta cada una de las titulaciones.
Gestionar informacin de los profesores (nombre, e-mail y nmero de despacho)
que imparte clases en cada uno de los campus.
El SGBD para la sede de Legans ser Oracle.
El SGBD para la sede de Getafe ser SQL Server.
Los datos de la tabla PLUSES_HIJO tienen un nmero bajo de actualizaciones.
Los datos de la tabla PLUSES_HIJO requieren una disponibilidad alta.
Los datos de la tabla CLASIFICACIONES tienen un nmero bajo de
actualizaciones.
Las rplicas para la tabla CLASIFICACIONES requieren una disponibilidad
media.
La tabla PLUSES_HIJO de la sede de Legans estar replicada en la sede de
Getafe.
La tabla CLASIFICACIONES de la sede de Legans estar replicada en la sede
de Getafe.
En cada sede habr x usuarios administradores con todos los permisos sobre la
BD.
En cada sede habr x usuarios no administrador con los permisos indispensables
para la gestin de los datos.
El SGBD para la sede de Legans ser Oracle.
El SGBD para la sede de Getafe ser SQL Server.
Recursos hardware ms potentes se instalarn en Getafe.
Tabla 9 Requisitos de usuario
Pgina 57 de 118
ID
RFN001
RFN002
RFN003
RFN004
RFN005
RFN006
RFN007
RFN008
RFN009
RFN010
RRD001
RRD002
RRD003
RRD004
RRD005
RRD006
RRD007
RRD008
RRD009
ROP001
ROP002
RRC001
Nombre
Consulta de los datos de forma transparente.
Actualizacin de los datos de forma transparente.
Borrado de los datos de forma transparente.
Altas de los datos de forma transparente.
Acceso a los objetos y los datos de la sede de Legans desde la sede de Getafe.
Acceso a los objetos y los datos de la sede de Getafe desde la sede de Legans.
Se mantendrn claves primarias en cada tabla.
Las tablas estarn relacionadas mediante sus claves primarias y travs de sus
claves ajenas.
El SGBD para la sede de Legans ser Oracle.
El SGBD para la sede de Getafe ser SQL Server.
Disponibilidad del sistema de 24x7 horas.
Tabla de PLUSES_HIJO replicada en la sede de Getafe.
Tabla de CLASIFICACIONES replicada en la sede de Getafe.
Los datos referentes a las nminas de los profesores se almacenan en la sede de
Getafe.
Los datos que no estn almacenados en las tablas CLASIFICACIONES o
PLUSES_HIJO sern almacenados en la sede a la que se refiere.
Las rplicas para la tabla PLUSES_HIJO sern instantneas.
Las rplicas para la tabla CLASIFICACIONES sern cada 24 horas.
La tabla PLUSES_HIJO de la sede de Legans estar replicada en la sede de
Getafe.
La tabla CLASIFICACIONES de la sede de Legans estar replicada en la sede
de Getafe.
Las claves primarias sern L-seguido de un nmero secuencial creciente en uno
para la sede de Legans.
Las claves primarias sern G-seguido de un nmero secuencial creciente en uno
para la sede de Getafe.
Las sedes se conectan por medio de una LAN.
Tabla 10 Requisitos de sistema
4.2
Tras evaluar el planteamiento del caso prctico comienza la etapa de diseo del entorno
de distribucin. Los pasos llevados a cabo durante la etapa de diseo de la BDD son los
siguientes:
Diseo centralizado
En este apartado se muestra el diagrama entidad relacin, y su esquema relacional, y los
supuestos adicionales.
Pgina 58 de 118
Pgina 59 de 118
Pgina 60 de 118
Respecto a las restricciones de integridad que deben cumplir las tablas, se permite el
borrado y modificacin en cascada (DC/UC) en todas las tablas que contienen claves
forneas excepto en la tabla intermedia IMPARTIR y la tablas CLASIFICACIONES y
PLUSES_HIJO, en las que se deniega el borrado y se permite la actualizacin en
cascada (DNA/UC). Para borrar en las tablas a las que referencia la tabla IMPARTIR o
CLASIFICACIONES y PLUSES_HIJO, primero habr que borrar en la propia tabla.
Diseo de la distribucin
4.2.5 Identificacin de los nodos de distribucin.
El sistema est formado por dos sedes. A una de estas sedes la identificaremos como
Sede de Legans y a la otra como Sede de Getafe. Ambas nominaciones se realizan en
consecuencia a la localizacin de los campus en los que residen las BBDD. Y los roles
del sistema se dividen de la siguiente manera:
Pgina 61 de 118
Pgina 62 de 118
CURSOS_i: CURSOS
TITULACIONES_i
GRUPOS_i: GRUPO
id_titulacion, curso CURSOS_i
Donde i = {Getafe, Legans}
De la misma forma asignamos las asignaturas impartidas en las distintas titulaciones a
los campus correspondientes realizando una fragmentacin horizontal derivada de la
relacin de asignaturas con relacin a los fragmentos los cursos correspondientes a cada
campus (CURSOS_i)
ASIGNATURAS_i: ASIGNATURAS
Donde i = {Getafe, Legans}
CURSOS_i
Por ltimo para conocer los profesores que dan clases en los distintos campus
realizamos otra fragmentacin derivada de la relacin que almacena la imparticin
docente de los profesores con respecto a los fragmentos de las asignaturas
correspondientes a cada campus
IMPARTIR_i: IMPARTIR
ASIGNATURAS_i
Donde i = {Getafe, Legans}
Para mantener en Getafe los datos de gestin de nminas y contratacin del
profesorado, primero se realiza una fragmentacin vertical para ubicar en dicha sede
slo la informacin que interesa.
INFO_PROFESORES: id_profesor, nombre, e-mail, despacho (PROFESORES)
NOMINAS_PROFESORES:
(PROFESORES)
id_profesor,
direccion,
telefono,
categoria,
id_pluses_hijo
Para luego realizar una fragmentacin horizontal derivada y de esta forma obtener
fragmentos con los atributos de los profesores necesarios en cada uno de los campus.
INFO_PROFESORES_i =
IMPARTIR_i
Donde i = {Getafe, Legans}
Las relaciones CLASIFICACIONES y PLUSES_HIJO no se fragmentarn por contener
informacin relevante en ambos campus. De esta manera los datos originales se
Diseo y Construccin de Bases de Datos Distribuidas
Heterogneas sobre Oracle Y SQL Server
Pgina 63 de 118
Getafe
Legans
TITULACIONES_Getafe
TITULACIONES_Leganes
CURSOS_Getafe
CURSOS_Leganes
GRUPOS_ Getafe
GRUPOS_ Legans
ASIGNATURAS_ Getafe
ASIGNATURAS_ Legans
IMPARTIR_ Getafe
IMPARTIR_ Legans
CLASIFICACIONES
PLUSES_HIJO
INFO_PROFESORES_ Getafe
INFO_PROFESORES_ Legans
NOMINAS_PROFESORES
Tabla 12 Esquema de asignacin
4.2.10
Esquema de replicacin
Getafe
Legans
CLASIFICACIONES
PLUSES_HIJO
RG_CLASIFICACIONES
RG_PLUSES_HIJO
RL_CLASIFICACIONES
RL_PLUSES_HIJO
4.3
Para este supuesto se ha decidido llevar a cabo un entorno con dos sedes fsicas,
Legans y Getafe, en las que como se aprecia en la Ilustracin 18 se ha instalado el
software SQL Server 2008 y Cliente Oracle 10g Release 2 en una sede y Oracle 10g
Express Edition en otra, respectivamente. Esta decisin se toma con el fin de poder
implementar un entorno con SGBD heterogneos. El sistema operativo de ambos
equipos es Windows XP Professional. Ambos nodos estn conectados mediante un
Diseo y Construccin de Bases de Datos Distribuidas
Heterogneas sobre Oracle Y SQL Server
Pgina 64 de 118
router configurado de tal manera que a nivel de red permite la distribucin de los datos
de las aplicaciones de BD.
La sede de Getafe est instalada en el servidor con nombre de equipo Lauracasa y la
sede de Legans est instalada en el servidor con nombre de equipo Eilinel_tiru.
Ambos equipos estn conectados bajo una red de rea local (LAN), en la que el equipo
Lauracasa es referenciado con la IP fija 192.168.1.2 y en el equipo Eilinel_tiru con la
IP fija 192.168.1.3.
ROUTER
database link
EnlaceOracle_SQLServer
PC: Lauracasa
SQLServer 2008
Cliente Oracle 10g Release 2
PC: Eilinel_tiru
Pgina 65 de 118
Pgina 66 de 118
o
o
Pgina 67 de 118
o
o
Pgina 68 de 118
actualiza_PROFESORES_AUX:
El
usuario
realizar una
actualizacin en la tabla PROFESORES y este Trigger se encargar
de actualizar y situar cada uno de los fragmentos en la sede
correspondiente.
borra_PROFESORES_AUX: El usuario realizar un borrado en la
tabla PROFESORES y este Trigger se encargar de borrar los
registros que afecte en la sede que corresponda.
o Trigger para las actualizaciones transparentes. El usuario realizar una
actualizacin sobre cualquiera de las tablas.
actualiza_IMPARTIR.
actualiza_GRUPOS.
actualiza_ASIGNATURAS.
actualiza_CURSOS.
actualiza_CLASIFICACIONES.
actualiza_PLUSES_HIJO.
actualiza_TITULACIONES.
o Trigger para los borrados transparentes. El usuario realizar un borrado
sobre cualquiera de las tablas.
borra_IMPARTIR.
borra_GRUPOS.
borra_ASIGNATURAS.
borra_CURSOS.
borra_CLASIFICACIONES.
borra_PLUSES_HIJO.
borra_ TITULACIONES.
Pgina 69 de 118
Para crear el tablespace UC3M, con tamao inicial de 1024 Mb, y auto extensible
CREATE TABLESPACE "UC3M" LOGGING
DATAFILE 'UC3M.dbf' SIZE 1024M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
Pgina 70 de 118
Pgina 71 de 118
sistema
operativo.
En
nuestro
caso
se
encuentra
en
C:\WINDOWS\system32\drivers\etc
Aadimos dos lneas que le mostrarn a nuestro sistema operativo qu direccin IP
resuelve una direccin de host expresada por su nombre de dominio.
# Copyright (c) 1993-1999 Microsoft Corp.
#
# ste es un ejemplo de archivo HOSTS usado por Microsoft TCP/IP para Windows.
# Ejemplos
#
102.54.94.97 rhino.acme.com
# servidor origen
#
38.25.63.10 x.acme.com
# host cliente x
127.0.0.1
localhost
192.168.1.3 Eilinel_tiru
192.168.1.2 Lauracasa
#Sede Legans
#Sede Getafe
Pgina 72 de 118
Requisito
Marco de
trabajo
Software
Software de
red
Server 2008 son los mismos que para las versiones de 32 bits.
Los sistemas operativos compatibles tienen el software de red
integrado. Las instancias predeterminadas y con nombre
independientes admiten los siguientes protocolos de red:
Disco duro
Memoria compartida
TCP/IP
VIA
Pgina 73 de 118
Unidad
Pantalla
Otros
dispositivos
sealador compatible.
Se ha llevado a cabo una instalacin tpica de SQL Server, con una modificacin de lo
que aparece por defecto en la Ilustracin 20: en el apartado de Modo de autenticacin
se ha cambiado de Modo de Autenticacin de Windows por Modo mixto
(autenticacin de SQL Server y de Windows) dado que la conexin no se llevar a
cabo en modo local y de otro modo podra ocasionar problemas a la hora de hacer las
conexiones a SQL Server desde Oracle.
Para consultar el proceso llevado a cabo paso a paso se puede consultar el 11.2
Diseo y Construccin de Bases de Datos Distribuidas
Heterogneas sobre Oracle Y SQL Server
Pgina 74 de 118
Hay que seleccionar la instalacin de Oracle existente sobre la que se quiere instalar
la herramienta.
Aparecen los componentes que se pueden observar en la Ilustracin 22 siguientes
que pueden ser instalados. Se han seleccionado todos dado que son extremadamente
ligeros y pueden ser necesarios en un futuro aunque en principio slo necesitamos el
tercer y cuarto componente.
Pgina 75 de 118
Pgina 76 de 118
Previamente con el comando use UC3M, hemos indicado que todos los objetos que
se creen se guardaran en esta BD.
Le asignamos todos los permisos dado que ser nuestro usuario administrador.
GRANT ALL to dba_getafe;
Pgina 77 de 118
caths.sql
del
directorio
Pgina 78 de 118
Pgina 79 de 118
Pgina 80 de 118
Pgina 81 de 118
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Eilinel_tiru)(PORT =
1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
Pgina 82 de 118
4.
5. Para que los cambios sean efectivos es necesario reiniciar el servicio de SQL
Server desde la consola Sql Server Configuration Manager.
Se configura el proveedor OraOLEDB.Oracle. Para realizar nuestra conexin a la
sede de Legans con Oracle, es necesario seleccionar OraOLEDB.Oracle y marcar
la opcin Permitir InProcess. Vase la Ilustracin 28.
SQL Server permite crear una instancia del proveedor como un servidor en proceso.
Si no se establece esta opcin, el comportamiento predeterminado consiste en crear
una instancia del proveedor fuera del proceso de SQL Server. La creacin de
instancias del proveedor fuera del proceso de SQL Server protege el proceso de SQL
Server de posibles errores en el proveedor. Si se crea una instancia del proveedor
fuera del proceso de SQL Server, no se permitirn actualizaciones ni inserciones que
hagan referencia a columnas long (text, ntext o image) [8].
Pgina 83 de 118
Pgina 84 de 118
Nos aparece una pantalla similar a la que aparece en la Ilustracin 30, por defecto
con la opcin General del men izquierdo.
Pgina 85 de 118
6 Experimentacin y Resultados
A continuacin se van a exponer una serie de pruebas realizadas para llevar a cabo una
implementacin del sistema
Pgina 86 de 118
select * from
ENLACE_GETAFE_LEGANES..dba_leganes.ASIGNATURAS_LEGANES
Que ser la forma en la que podrn realizar consultas desde la sede de Getafe a la de
Legans, donde:
ENLACE_GETAFE_LEGANES: nombre del servidor vinculado
dba_leganes: nombre del usuario propietario de las tablas.
ASIGNATURAS_LEGANES: es la tabla remota a la que queremos acceder
Cada instancia de una base de datos Oracle slo tiene un catlogo con un nombre vaco.
Se debe hacer referencia a las tablas de un servidor vinculado Oracle usando un nombre
de cuatro partes con el formato
OracleLinkedServerName..OwnerUserName.TableName.
Pgina 88 de 118
Pgina 89 de 118
Pgina 90 de 118
Aqu faltara aadir un comentario sobre si el resultado de cada una de las pruebas es o
no satisfactorio conforme a los objetivos esperados. Valdra por ejemplo insertar una
tablita con la lista de pruebas realizadas y el veredicto para cada una de ellas
(Satisfactorio o No satisfactorio) explicando brevemente si se cumplen los objetivos
cuantitativa y/o cualitativamente, es decir, los resultados (Algo breve, pero que no debe
faltar)
7 Conclusiones
Una vez desarrollado este trabajo de fin de carrera las principales conclusiones que se
han obtenido del mismo han sido las que se citan a continuacin:
se han estudiado las posibilidades que dos de los SGBD ms importantes del
mercado (Oracle y SQL Server) ofrecen a la hora de implementar sistemas de
bases de datos distribuidas. Ambos SGBD tienen herramientas para conectar con
otros SGBD, como son dblink (Servicios Heterogneos de Oracle) y Servidor
Vinculado (MS SQL Server). Tras la finalizacin del caso prctico se han
adquirido las habilidades necesarias para utilizar estas herramientas y sus
respectivos objetos.
en la resolucin del caso prctico desarrollado en este documento, se han tenido
que crear varios objetos (trigger, sinnimos, vistas) por cada tabla para intentar
llegar a simular una transparencia de red, de fragmentacin, de asignacin y
de rplica sobre los datos. En la teora los conceptos y las necesidades son
bastante claros pero a la hora de implementar este tipo de sistemas el DBA debe
hacer un esfuerzo importante. Resumiendo, a pesar de ser un caso pequeo, de
menos de 10 tablas, la tarea de administracin a realizar ha sido trabajosa,
quedando expuesta la carencia de los actuales SGBD y pudiendo aprender o
desarrollar los trucos para simular un sistema centralizado.
en cuanto al inters por los conocimientos tericos y prcticos que motivaron
este proyecto podemos concluir que se han adquirido con xito, habindose
satisfecho los objetivos planteados y completndose las pruebas de validacin de
la implementacin final, producto de todo el trabajo de estudio y desarrollo
previo.
Pgina 91 de 118
8 Lneas Futuras
Como se ha mencionado en el apartado 7, la parte ms complicada de los sistemas
distribuidos es proveer de una transparencia de distribucin total al usuario y, adems,
en los sistemas distribuidos heterogneos, de una transparencia en cuanto al lenguaje.
Por todo lo mencionado, una de las lneas futuras a llevar a cabo podra ser el
desarrollar una implementacin con los objetos necesarios para simular la transparencia
de todo el sistema distribuido o una aplicacin capaz de gestionar las conexiones y la
transparencia de una forma ms sencilla que la actual.
Otra interesante lnea futura sera el realizar la conexin entre las diferentes BD con
varios mtodos o herramientas de conexin y evaluar la eficiencia y rendimiento de
stas. Entre las posibles herramientas de conexin que se podran probar estn:
Attunity, que proporciona integracin de datos en tiempo real y el software de
captura de eventos que permite el acceso y la entrega de datos a travs de
fuentes heterogneas sin fisuras. Un pionero en el acceso a datos federados y
cambio de datos de captura en tiempo real.
Para la conexin con SQL Server existe la herramienta SQL Server Integration
Services (SSIS). SSIS es un producto que viene incluido con la licencia de
Microsoft SQL Server y que es la propuesta de Microsoft para lo que se llama
Extraccin, Transformacin y Carga de datos (tambin conocidos como
procesos ETL).
SSIS es un producto en el que se desarrolla de forma muy visual, pinchando y
arrastrando componentes desde la barra de herramientas hasta los lugares
de diseo, cada uno de estos componentes admitir parametrizacin para
adaptarlo a diferentes necesidades [0].
Pgina 92 de 118
9 Lista de Acrnimos
Acrnimo
Significado
ANSI-SPARCAmerican National Standard Institute - Standards Planning and
Requirements Committee
Application Programming Interfaces (Interfaz de Programacin de
API
Aplicaciones).
Bloqueo de dos fases
B2F
Base Datos.
BD
Bases Datos Distribuida.
BDD
Cautions waiting
CW
Database Administrator (Administrador de Base de Datos)
DBA
DataBase management system.
DBMS
Diccionario de Ddatos.
DD
Esquema Conceptual Global
ECG
Esquema Conceptual Local
ECL
Esquema lgico global.
ELG
Esquema lgico local.
ELL
Extraccin, Transformacin y Carga de datos
ETL
Administrador de transacciones globales
GTM
Local Area Network (Red de rea local)
LAN
Lenguaje de manipulacin de datos
LMD
gestores de transacciones locales
LTM
Marca de tiempo
MT
marcas de tiempo
MT
No waiting
NW
Oracle
Data Access Components
ODAC
Object Linking and Embedding for Databases
OLE DB
Ordenamiento por marca de tiempo
OMT
ordenamiento por marcas de tiempo
OMT
Read lock. Candado de lectura
RL
Sistema de base de datos
SBD
Sistemas de bases de datos distribuidas.
SBDD
Sistema gestor de base de datos.
SGBD
Sistema gestor de base de datos distribuida.
SGBDD
Sistema de multibase de datos.
SMBD
Select-project-join
SPJ
SQL Server Integration services
SSIS
Subtransaccin global
STG
Transaccin global
TG
Write lock. Candado de escritura
WL
Pgina 93 de 118
10 Bibliografa
10.1 Referencias bibliogrficas
1. ELMASRI, Navathe, Fundamentos de Sistemas de Bases de Datos. Shamkant B.
Navathe; traduccin, Vernica Canivell Castillo [et al.]; revisin tcnica,
Alfredo Goi Sarriguren [et al.] 2001. 962p. ISBN: 84-782-9051-6.
2. CUADRA, Mara Dolores, et al. Desarrollo de Bases de datos: casos prcticos
desde el anlisis a la implementacin. Mencin de responsabilidad secundaria
(traductor; prologuista; ilustrador; coordinador; etc.)*. N de edicin. Lugar de
edicin Paracuellos de Jarama (Madrid): Ra-Ma, 2007. 569 p. ISBN:
9788478978359.
3. DYE, Charles. Oracle Distributed Systems. O'Reilly Media, Inc, 1999. 522p.
ISBN: 978-1-56592-432-1.
4. EIBE GARCA, Santiago. Bases de datos distribuidas. ED: Fundacin General
de la U.P.M, D.L. 2006. Descripcin Fsica: 112 p. ISBN: 849673711X
5. ROB,
Peter. Sistemas de Bases de Datos: diseo, implementacin y
administracin. Coronel, Carlos; traduccin, Rodolfo Navarro Salas; 5 Edicin,
Mxico D.F. [etc.]: Thomson, cop. 2004. Descripcin Fsica: 838 p. ISBN:
9706862862
6. ZSU, Tamer. Principles of distributed database system. Segunda edicin,
Prentice-Hall International Edition. 664 p. Encuadernacin: Tapa dura. ISBN:
9780136597070
7. CARDENAS, A.F. Heterogeneous Distributed Database management: The HDDBMS. Este artculo aparece en: Proceedings of the IEEE. 2005. Pginas: 588 600. ISSN: 0018-9219.
8. SHETH, Amit P. Federated Database Systems for Managing Distributed,
Heterogeneous, and Autonomous Databases. James A. Larson. ACM
Computing volumen 22, Edicin 3 (Septiembre 1990). Pginas: 183 236.
ISSN: 0360-0300.
9. HSIAO, David K. Heterogeneous Databases: Proliferations, Issues, and
Solutions. Este artculo aparece en Transactions on knowledge and data
engineering, VOL. I, NO. I. 1989. Bellow, IEEE, and magdin.kamel, member,
IEEE
10. MULLIS, Craig S. Database Administration: The Complete Guide to Practices
and Procedures. Addison-Wesley Professional, 2002. 736p. ISBN: 978-0-20174129-2
Pgina 94 de 118
2.
3.
4.
5.
6.
7.
Lenguajes Comerciales Relacionales en Bases de Datos (ltimo acceso
13/09/2010)
http://www.um.es/docencia/barzana/IAGP/Iagp9.html
8.
Propiedades del servidor vinculado (pgina Opciones del proveedor) (ltimo
acceso 27/09/2010)
http://msdn.microsoft.com
9.
10.
Oracle Transparent Gateway for Microsoft SQL Server Administrators Guide 10g
Release 1 (10.1) for Microsoft Windows (ltimo acceso 0627/1009/2010)
http://download.oracle.com/docs
Pgina 95 de 118
11 Anexos
11.1 Instalacin de Oracle 10G Express Edition
En este ANEXO se procede a describir la instalacin paso a paso de Oracle 10g Express
Edition
En primer lugar, se descarga el fichero OracleXE.exe de la Web de Oracle:
Ejecutamos el fichero descargado (ver Ilustracin 33), pulsaremos Siguiente para iniciar
la instalacin:
Pgina 96 de 118
En la Ilustracin 35 nos solicita una ruta donde realizar la instalacin y nos indica el
espacio mnimo requerido para realizarla. Dejaremos la que viene por defecto
C:\oraclexe y pulsamos Siguiente.
Pgina 97 de 118
Una vez que termina la instalacin nuestro SGBD est preparado para ser utilizado.
Accedemos a la pgina de configuracin de la base de datos, como se muestra en la
Ilustracin 39, de la siguiente manera:
Inicio >> Programas >> Base de Datos Oracle 10g Express Edition >> Ir a
Pgina Inicial de Base de Datos
Nos aparecer la pgina Web para administrar Oracle 10g Express Edition, accesible
introduciendo en el explorador de Internet: http://127.0.0.1:8080/apex. Aqu es
donde deberemos introducir la clave que especificamos durante la instalacin para el
Diseo y Construccin de Bases de Datos Distribuidas
Heterogneas sobre Oracle Y SQL Server
Pgina 99 de 118
Nos aparece una ventana de administracin (limitada con respecto la las versiones
completas) con varias opciones, como podemos ver en la Ilustracin 41:
Administracin (para configurar las opciones de almacenamiento, memoria,
usuarios y monitorizacin), Explorador de objetos (para visualizar, modificar y
crear tablas, vistas, ndices, funciones, triggers, procedimientos, paquetes,
secuencias, etc.), SQL (para ejecutar consultas SQL, scripts, etc.), Utilidades
(exportacin, importacin, papelera de reciclaje, informes, generacin de sentencias
DDL, etc.):
El programa de instalacin de Oracle 10g Express Edition habr creado los servicios
que se muestran en la Tabla 15:
Nombre
Ubicacin
OracleJobSchedulerXE
OracleMTSRecoveryService
OracleServiceXE
OracleXEClrAgent
OracleXETNSListener
Inicio
c:/oraclexe/app/oracle/product/10.2.0/server/Bin/ex Deshabilitad
tjob.exe XE
o
C:/oraclexe/app/oracle/product/10.2.0/server/BIN/o Manual
mtsreco.exe "OracleMTSRecoveryService"
c:/oraclexe/app/oracle/product/10.2.0/server/bin/O
RACLE.EXE XE
C:/oraclexe/app/oracle/product/10.2.0/server/bin/O
raClrAgnt.exe
C:/oraclexe/app/oracle/product/10.2.0/server/BIN/t
nslsnr.exe
Automtico
Manual
Automtico
Descripcin
Introduccin
Obtener Ayuda
Ayuda
Nos lleva a la siguiente pantalla que nos muestra donde pulsamos Instalar.En la
Ilustracin 46 muestra una pantalla en la que se realizan una serie de
comprobaciones y no nos aparece ningun error, todo es correcrto para continuar con
la instalacin.
Siguiente
Pulsamos Usar la misma cuenta para todos los servicios de SQL Server que nos
lleva a la Ilustracin 51. Donde seleccionamos NT AUTHORITY\SYSTEM que
hace que los servicios de SQL Server se validen con una cuenta local del sistema.
Ilustracin 51 Usar la misma cuenta para todos los servicios de SQL Server 2008