Ontology Based Open Data Transport System Infrastructure

advertisement
Heterojen Veritabanları Üzerinde XML Kullanarak Bir Ortak Sorgu Modelinin
Geliştirilmesi
Bahar Karaoğlan*, Tarık Kışla*
* E.Ü. Uluslararası Bilgisayar Enstitüsü
e-mail: [email protected], [email protected]
Özet. Bilginin çok değerli olduğu günümüzde, doğru bilgiye hızlı bir biçimde ulaşmak büyük bir
sorun olarak ortaya çıkar. Bilginin tek kaynaktan elde edilmesi hem bilginin güvenilirliği ve
güncelliği hem de çeşitliliği açısından sınırlayıcı bir faktördür. Bazı dosya sistemleri ve
veritabanlarında tutulan bilgiler için bir standardizasyon sağlanamadığı için aynı tür bilgiler
değişik ortam ve yapılarda farklı sistemler ile tutulmaktadır. Son yıllarda bu standardı sağlamak
için yapılan çalışmalar sonucunda XML, eXtensible Markup Language, doğmuştur. XML,
platform bağımsız olarak heterojen veritabanları arasındaki iletişim olanaklarını
kolaylaştırmıştır. Bu çalışmada, farklı bilgisayarlardaki heterojen veritabanları için dinamik,
esnek ve kullanımı kolay bir yapı tasarlamayı amaçladık. Kısaca, bir web sayfasından son
kullanıcının girdiği sorgu, tanımlanan veriler (ortak taglar) yardımı ile bir XML belgesine
çevrilerek sorgulanacak veritabanları önünde çalışan arayazılıma gönderilir. Bu arayazılım
sayesinde XML belgesi veritabanında çalışabilecek bir sorguya tag ve ilişki tabloları yardımı ile
çevrilir. Sorgu gerçekleştirildikten sonra sonuçlar yine bir XML belgesine çevrilir ve web
sayfasına geri gönderilir. Web sayfasına gelen bilgiler birleştirilir ve kullanıcının istediği sorgu
sonucu olarak ekrana yansıtılır.
Anahtar Kelimeler: Heterojen Veritabanları, XML, Bilgi Alışverişi, XML sorguları
1
Giriş
İnternetin hızla gelişmesi sonucunda, bilgi paylaşımı ve iletişimde büyük bir patlama gerçekleşmiştir. Artık bilgi
kadar doğru bilgiye hızlı bir biçimde ulaşmakta büyük önem kazanmıştır. Günümüzde artık her türlü bilgi ve
materyal elektronik ortamda tutulmaya başlanmıştır. Kullanıma hazır bilgilerin çoğu ilişkisel veritabanı
sistemlerinde saklanmaktadır. İlişkisel veritabanlarının, güvenilirlik, ölçülebilirlik, araçlar ve performansı bilgiyle
birleştirmesi nedeniyle gelecekte de kullanılması beklenmektedir [1]. Son yıllarda gelişmesinde hızlı bir ivme
kazanan XML teknolojisi de veri depolama ve veri alışverişi konularında kendini göstermektedir. Fakat
günümüzde yapılan uygulamalarda XML veri depolamadan daha çok ortak bir standart, kolaylık ve esneklik
sağlaması nedeniyle veri alışverişlerinde kullanılmaktadır. Özellikle şirketler arası işlemlerde farklı yapılardaki
ilişkisel heterojen veri tabanları arasında internet tabanlı uygulamalar yardımı ile veri alışverişi için
kullanılmaktadır.
Birbirinden farklı yapıdaki heterojen ilişkisel veritabanları üzerinde ortak sorgulama yapabilmenin esnek ve
yapısal bir yolu veritabanının XML görüntülerini (XML view) oluşturmaktır. İlişkisel veritabanlarını bu şekilde
sorgulayabilmenin iki önemli noktası vardır. Bunlardan ilki XML belgesi ile ilişkisel veritabanı tabloları arasında
kurulacak ilişkilerin nasıl yapılabileceği, ikincisi ise içinde ortak sorguyu içeren ve belirli bir yapıya sahip XML
belgelerinin veritabanına uygun SQL cümleciklerine çevrilebilmesidir. Yapılan bu çalışmada bu iki önemli nokta
için şu çözümler geliştirilmiştir.
Birinci sorun için etkileşimli bir haritalama tekniği oluşturulmuştur. Bu teknikte veritabanı yöneticisi XML
belgesini oluştururken kullanılabilecek ve daha önce sistem yöneticisi tarafından tanımlanan ortak etiketler ile
ilişkisel veritabanı tablolarında kullanılan alanları bir GUI (Graphic User Interface) yardımı ile eşleyerek bir
eşleme tablosu oluşturur. Bu şekilde oluşturulan eşleme tablosu daha sonra XML belgesinin çözümlenmesi ve
sorgu sonucu oluşan verilerin XML görüntülerini (view) oluşturmak için kullanılır.
İkinci problem için sunulan çözüm ise, son kullanıcı tarafından belirtilen koşullarla ve tanımlanan ortak etiketlerle
hazırlanan XML belgesini çözümlemek için gerçekleştirilmiştir. Burada birinci çözüm için hazırlanan eşleme
tablosunun yanı sıra tablolar arası ilişkileri gösteren bir tabloya ihtiyaç duyulmaktadır. Yine bunun için veritabanı
yöneticisi GUI yi kullanarak tablolar arasındaki ilişkileri belirler. Bu ilişkiler ise GUI tarafından ilişki tablosunda
tutulur. Hazırlanan bu iki tablo kullanılarak içinde ortak sorguyu barındıran XML belgesi veritabanlarında
çalışabilecek SQL cümleciklerine çevirilir.
1
Makalede gerçekleştirilen bu yapının açıklamasının yanı sıra XML e genel bir bakış, bu alanda yapılan çalışmalar
ve bir örnek üzerinde sistemin çalışması da yer almaktadır.
2
XML
XML(Extensible Markup Language) HTML ile pek çok açıdan benzerlik gösteren bir markup dilidir. Verinin
tanımlanması ve tarif edilmesi için kullanılır. HTML’ deki yapının aksine XML'de kullanılacak olan tag'ler önceden
tanımlı değildir. Yani bir XML belgesinin yapısı tamamıyla kullanıcı tarafından oluşturulur. Verinin tarif edilmesi
için DTD adı verilen yapılar kullanılmaktadır. XML ve DTD’nin birlikte kullanılması ile belgeler kendini tarif eden
bir yapı halini alırlar.
XML ve HTML arasındaki temel farklar ise şu şekilde özetlenebilir;




XML tamamen HTML nin yerini alan ona alternatif bir dil değildir. Her ikisinin de farklı amaçları vardır.
XML veri tanımı için dizayn edilmiştir ve verinin ne olduğu üzerinde yoğunlaşır. HTML ise verinin
gösterimi için dizayn edilmiştir ve verinin nasıl görüneceği üzerinde yoğunlaşır. HTML enformasyonun
görüntülenmesi ile ilgilenir. XML enformasyonun tanımlanması ile ilgilenir.
XML Genişletilebilir. HTML de kullanılan etiketler önceden tanımlanmıştır. HTML belgesi hazırlarken
sadece bu dilin standartları içersinde önceden tanımlanan bu etiketleri kullanmak zorunludur.
XML HTML ye bir ilavedir. XML HTML’ in yerini alan bir dil değildir. Web in geleceğinde şu görülüyor.
Veri yapısı ve tanımı için XML kullanılacak. Aynı verinin gösterimi için ise HTML kullanılacaktır.
XML’ in kullanım alanları arasında ise veri değişimi için bir veri formatı oluşturmak, bir veri tabanında veya bir
dosyada veri saklamayı sayabiliriz. XML hakkında bilinmesi gereken en önemli nokta bu dilin veriyi taşımak
amacıyla tasarlanmış oluşudur. XML ile veriler yapı bakımından modülerlik kazanmaktadır. XML belgeleri verinin
içeriğiyle ilgilenmektedirler. Bu sayede verilerin içerik, yapı ve sunum kısımları ayrı modüller halinde farklı XML
belgelerinde tutulmaktadır. XML belgeleri Veri Adaları(Data Islands) adı verilen teknik sayesinde HTML sayfaları
içerisinde depolanabilmektedir. Bu teknik sayesinde verinin sadece sunumuyla ilgilenilmektedir.
XML ile verinin alışveriş işlemi gerçekleştirilir. XML, yapısının esnekliği sayesinde birbirine uyumlu olmayan
sistemler arasında veri alış verişini rahatlıkla gerçekleştirmektedir. Günümüz bilişim dünyasında bilgisayar sistemleri
ve veritabanlarının genellikle birbirine uyumsuz sistemler içerebildiklerini görmekteyiz. Bundan dolayı uygulama
geliştiriciler Internet üzerinden bu tip uyumsuz verilerin alışveriş işlemini gerçekleştirmek zorundadırlar. Verinin
XML formatına çevrilmesi ile farklı sistemler ve uygulamalardaki verilerin karmaşıklık derecesi indirgenerek
alışveriş işleminin kolaylaştırılması sağlanır. XML ile finansal bilgilerin Internet üzerinden alış verişi
sağlanmaktadır. Elektronik iş kavramı açısından incelenecek olduğunda XML' in önemli fonksiyonları yerine
getirdiği görülmektedir. Bahsedilen bu fonksiyonları ile XML geleceğin Elektronik İş dili olarak da yeni bir misyonu
üstlenmektedir.
XML, veriyi düz metin formatında saklamasından dolayı veriyi paylaştırma konusunda da hem yazılım hem de
donanımdan bağımsız hareket edebilme imkanını sunmuştur. Bu sayede farklı uygulamalarda hareket eden farklı veri
tipleriyle çalışmak daha da kolaylaşır. Ayrıca işletim sistemlerinin yükseltgenmesi, sunucu, uygulama vb. dışsal
faktörlerin yenilenmesi gibi dışsal faktörlerden de asgari ölçüde etkilenilmiş olunur.
XML, verinin dosyalarda veya veritabanlarında saklanması için de kullanılabilir. XML, yazılım, donanım ve
uygulamalardan bağımsız olduğu için verinin daha elverişli olarak kullanımını sağlamaktadır. XML, esnek yapısı
nedeniyle başka dillerin de oluşturulabilmesine olanak tanır. Wireless Markup Language(WML) mobil cihazları için
kullanılan WAP ortamlarının dilidir ve XML'in türevidir.
İnternetin geleceği ve XML açısından bakacak olursak, XML’ in amacına uygun olarak hızla standart haline
gelecektir. Dünya zerinde çok sayıda yazılım üreticisi artık ürünlerini bu standarda uygun olarak hazırlamasını
bunun bir göstergesi olarak sunabiliriz. Aslında XML’ i geleceğin değil artık bugünün kullanılan teknolojisi
olduğunu söyleyebiliriz.
2
3
Alandaki Çalışmalar
Veritabanlarında bilgiler düz bir yapıyla tutulmasına rağmen XML belgelerinde bilgiler etiketlenmiş ve hiyerarşik
bir düzenle yerleştirilebilmektedir. Bu da XML belgelerine ciddi bir esneklik kazandırmıştır. Bu yapısı nedeniyle
XML gün geçtikçe üzerinde daha fazla uygulama yapılan bir kol olmuştur.
Giovanni Guardalben çalışmasında XML ve ilişkisel veritabanlarının arasında entegrasyonu geliştirirken karşılaşılan
üç ana problemden bahsetmiştir [2]. Bu problemleri şöyle sıralamıştır: XML dokümanlarının saklanması/geri
alınması/sorgulanması, ilişkisel verinin XML dokümanı olarak yayımlanması, XML olarak yazılan sorguların SQL’
e çevrilmesi.
Bu problemlerin ilki için önerilen çözümler iki teknik altında sınıflandırılabilir: Genel teknik (generic technique) ve
şema yönelimli teknik (schema-driven technique).
Genel teknik içerisinde dahil edilebilecek birçok metot önerilmiştir. Bunlara örnek olarak Florescu and Kossman
tarafından önerilen “Edge relations” metodunu [3] ve Schmidt A. ve arkadaşları tarafından Monet XML Projesinde
kullanılan metodu verebiliriz[4].
Şema yönelimli teknik içerisinde geliştirilen metotlar sabit haritalama (fixed mapping) ve kullanıcı tanımlı
haritalama (user-defined mapping) iki sınıf altında toplanabilir. Metodoloji olarak sabit haritalama sınıfının altına
konulabilecek birçok algoritma geliştirilmiştir. Bunlardan bazıları Shanmugasudaram ve arkadaşlarının geliştirdiği
“the hybrid inlining” algoritması[5], Lee D., ve arkadaşlarının “the constraint-preserving” algoritması [6], Bohannon
P. ve arkadaşlarının “cost-based mapping” algoritmasıdır [7]. Kullanıcı tanımlı haritalama sınıfının altına
koyabileceğimiz metotlar ise X-Ray[8] ve Hit Alora [9] projelerinde kullanılan metotlardır. Gerçekleştirdiğimiz
projede Guardalben’ in bahsettiği birinci probleme çözüm olarak kullanıcı tanımlı haritalama metodu
benimsenmiştir.
Yukarıda belirtilen ikinci problem için ise varsayılan XML görüntüleri (Default XML views) ve kullanıcı tanımlı
XML görüntüleri (user defined XML views) metodları kullanılmaktadır. Bu metodlardan varsayılan XML
görüntüleri ADO, Sybase XML Extensions, Oracle XSU, IBM XML extender da kullanılmıştır. Bunların yanısıra
SilkRoute [10] projesinde de bu metot kullanılmıştır. Kullanıcı tanımlı XML görüntüleri de IBM DB2 stored
extender DAD ve HiT Alora projelerinde kullanılmıştır. Gerçekleştirilen uygulamamızda ise varsayılan XML
görüntüleri metodu kullanılmıştır.
Son problem için ise önerilen iki çözüm bulunmaktadır. Şema-bağımsız (Schema-independent) ve şema tabanlı
(schema based) isimli bu çözüm metotları “the monet” [3], IBM Xperanto [11], CXQuery [12] ve HiT Allora
projelerinde XML sorgularını SQL sorgularına çevrilme probleminde kullanılmıştır. Uygulamamızda ise şemabağımsız metodu kullanılmıştır.
4
Altyapı Sisteminin Tanıtılması
Gerçekleştirdiğimiz çalışmanın genel ve esnekliğini sağlamak için veri iletişiminde XML belgeleri kullanılmıştır.
Ayrıca proje bir kabuk şeklinde dizayn edilmiş olduğundan veritabanlarının yapısının yanısıra içeriğinde de
bağımsız olarak çalışabilir. Örneğin sistem kütüphane veritabanları üzerinde çalışabileceği gibi hastane, şirket vb.
Veritabanları üzerinde de rahatlıkla çalışabilmektedir. Proje kısaca kullanıcının verdiği koşullar ve ortak etiketler
ile oluşturulan ve bütün veritabanları için aynı olan XML belgesi veritabanlarının önünde çalışan ara programa
gönderilir. Ara program gelen belgeyi SQL cümlesine çevirip veritabanını sorgular. Sonuçları yine bir XML
belgesine çevirerek geri gönderir. Bütün veritabanlarından çıkan sonuçlar birleştirilir ve kullanıcının belirlediği
bir şekilde ekrana yansıtılır. (Resim 1) Bu yapı iki seviyeden oluşmaktadır. Üst seviye, sistemin genel yönetimsel
görevlerinin yapıldığı, genel dosya ve kayıtların tutulduğu kısımdır. Alt seviyede ise veritabanının tanıtımı, XML
belgelerinin SQL cümleciklerine çevrilmesi, sonuçların XML belgesine çevrilip gönderilme işlemleri yapılır.
3
admin
configuration table
Tags with values
XML StyleSheets
user
Common
tag table
Output view
Tags with
values
XML
document
Server Interface
Mapping program
Data transfer
middleware
Server
Interface
Server
Interface
admin
SQL Query
Selected items
Distributed Databases
Resim 1. Infra structure of the proposed system
Sisteme kayıt olan veritabanlarının bulunduğu makinelerin IP adresleri ve bazı özellikleri sorguların
gönderilebilmesi için üst seviyedeki veri tabanında tutulur (Resim2). Sisteme kayıt olmak isteyen veritabanları
kendilerine ait şifre ile sisteme kayıt olurlar. (Resim3) Bunun yanı sıra ortak etiket isimlerinin, tiplerinin ve
tanımlarının tutulduğu bir etiket tablosu da mevcuttur.(Resim4) Sistem yöneticisi sistemin üzerinde çalıştığı ve
gelen istekler doğrultusunda sisteme yeni etiketler ekleyip silebilmektedir. (Resim5)
Resim 2
Resim 3
Resim 4
Resim 5
4
Kullanıcı ortak tagların, mantıksal işlemlerin ve koşulların girilebileceği boşlukları kullanarak istediği sorguyu,
sorgu sonucu görülecek sahaları ve sorguyu yapmak istediği veritabanlarını GUI yardımı ile belirler.(Resim 6)
Kullanıcının girdiği veriler yardımı ile sistem tüm veritabanlarına gönderilecek Resim 7’ de gösterilen yapıda
ortak bir XML belgesi hazırlar.
Resim 6 Kullanıcı sorgu ekranı
<xquery>
<query>
<databases>
<visiblefields>
…..
…..
<line>
…..
<line>
<database>
<field>
<pre_bool_op>
<database>
<field>
<bool_op>
<common_tag>
<tag_type>
<ope>
<condition>
Resim 7. Ara programlara gönderilecek olan XML belgesinin yapısı
Alt seviyede ise veritabanlarının önünde delphi ile hazırlanmış bir ara program (Resim8) bulunmaktadır. Bu
programın çalışma evreleri kısaca şu şekildedir. Üst seviyeden gönderilen XML belgesi belirli bir bölme (parse)
algoritması yardımıyla ayrılır. Ayrılan parçalar veritabanı yöneticisi tarafından ayarlanan veritabanının tablo
alanları ile ortak etiketlerin ilişkilerinin belirlendiği eşleme tablosu (Tablo 1) ve veritabanı tabloları arası
ilişkilerin belirlendiği ilişki tabloları (Tablo 2) yardımı ile SQL cümleciğine çevrilir ve veritabanı sorgulanır.
5
INTERNET
XML Query Parser
Mapping and
Relations Tables
XML Document Maker
SQL Query Maker
Relational
Database
Resim 8. Ara programın yapısı
Field
Type
Mapping_id
int(11)
Attributes Null Default Extra
No
Table_name Varchar(30)
No
Field_name Varchar(30)
No
Field_size
int(12)
No
Tag_name
Varchar(30)
No
auto_increment
Tablo 1. Ortak etiketleri ile veritabanındaki alanların eşleme tablosu
Field
Type
Attributes Null Default Extra
Tablename1 Varchar(30)
No
Fieldname1 Varchar(30)
No
Tablename2 Varchar(30)
No
Fieldname2 Varchar(30)
No
Tablo 2. Veritabanının tabloları arasındaki ilişkilerin tutulduğu tablo.
İlişkisel veritabanına gönderilen SQL cümleciğinin sonucu ara yazılım tarafından alınır. Sonuç olarak gelen
tablonun her satırı ve her sütunu bir etiket olmak üzere tasarlanan yapıda (Resim 9) oluşturulan XML belgesi üst
seviyeye geri gönderilir. Üst seviyede veritabanlarından gelen belgeler birleştirilir ve kullanıcıya sunulur.
<result>
<line>
common tag
<line>
……….
common tag
<line>
common tag
Resim 9. Sonuç olarak gönderilen XML belgesinin yapısı
6
Ortak etiketlerin tanımlarında yeni etiket eklenmesi, silinmesi, değiştirilmesi gibi değişimler tabi ki sistemi
etkileyecektir. Bu yüzden veritabanı yöneticisi sık sık ara yazılım yardımı ile ortak etiket tablosundaki
güncellemeleri almalı ve bu değişikliklere göre eşleme tablosunu düzenlemelidir. Bu tip değişikliklerde sistem
veritabanı yöneticisini uyaracaktır.
Sistemi daha iyi anlatabilmek için bir sonraki bölümde ise bu yapının çalışması bir örnek üzerinde ayrıntılı bir
şekilde gösterilecektir.
5.
Örnek Üzerinde Çalışma Akışı
Örnek olarak sistemimizin şirket veritabanları üzerinde çalıştığını düşünelim. Kullanıcının istediği sorguda
“ayakkabı ürününü sipariş eden ve ismi ‘A’ ile başlayan şirketlerin adı, telefonu ve adresini isteyecek” şekilde
olsun. (Resim 6)
Bu şekilde web sayfasından kullanıcının girdiği sorgu için ortak etiketlerin yardımı ile resim 7’de gösterilen XML
belgesi yapısında aşağıdaki XML belgesi oluşturulur. Bu belge tüm veritabanlarının önünde bulunan ara
yazılımlara aynı şekilde gönderilir.
<xquery id='4'>
<query>
<line>
<pre_bool_op></pre_bool_op>
<customer_name>
<tagtype>Alphanumeric</tagtype>
<ope>Like</ope>
<condition>A</condition>
</customer_name>
<bool_op>and</bool_op>
</line>
<line>
<pre_bool_op></pre_bool_op>
<pruduct>
<tagtype>Alphanumeric</tagtype>
<ope>=</ope>
<condition>shoes</condition>
</pruduct>
<bool_op></bool_op>
</line>
</query>
<databases>
<database>155.223.40.71</database>
<database>155.223.99.67</database>
</databases>
<view_fields>
<field>customer_name</field>
<field>customer_addr</field>
<field>customer_tel</field>
</view_fields>
</xquery>
7
Sisteme kayıtlı ve kullanıcı tarafından sorgulanmak istenen veritabanlarının yapısı ise resim 10 ve 11 de
gösterilmiştir.
Resim 10 ve 11 : Sorgulanacak veritabanlarının yapısı
Bu veritabanlarının yapısı ve delphi’ de hazırlanmış ara yazılımın yardımı ile veritabanı yöneticisi ortak etiketler
ile veritabanı sahaları arasında bir eşleme yapar. Bunun yanında veritabanı yöneticisi tablolar arasındaki ilişkileri
de yine ara yazılım sayesinde sisteme tanıtır. Bu tanımla ve eşlemeler her veritabanının önünde görev yapan ara
yazılımların sahip oldukları kendi veritabanlarında tutulur. Örnekte sunulan veritabanlarının eşleme tablosu tablo
3 te verilmiştir.
8
Ortak
Etiketler
Order_id
Employe_lname
Employe_fname
Customer name
Customer_addr
Customer_tel
Product
Product_stock
Şirket 1
Tablo
adı
Orders
Employess
employees
Customers
Customers
Customers
Products
Products
Alan adı
Orderid
Lastname
Firstname
Companyname
Address
Phone
Productname
unitinstock
Şirket 2
Tablo adı
Orders
Employess
Employess
Customers
Customers
Customers
Products
Products
Alan adı
Orderid
Lastname
Firstname
Companyname
Billingaddress
Phonenumber
Productname
-------------
Tablo 3. Şirket veritabanlarının ortak etiketlerle eşleme tablosu
Üst seviyeden TCP/IP protokolü kullanılarak gönderilen XML belgesinin sabit yapısı göz önüne alınarak
hazırlanan basit bir bölme-parçalama (parser) algoritması ile XML belgesi ana parçalarına ayırılır. Ayrılan bu
parçalar SQL query maker (Resim 8) eşleme ve ilişki tabloları kullanılarak her veritabanına uygun SQL cümlesine
çevirilir.
Oluşturulan bu SQL cümleleri veritabanında sorgulanır. Alınan sonuçlar yine eşleme tablosu yardımı ile resim
3’te yapısı verilen XML belgesine çevirilir. Her iki veritabanında oluşturulan bu belge yine aynı bağlantı
üzerinden geri gönderilir.
Üst seviyede toplanan veritabanlarından gelen bu XML belgeleri birleştirilerek kullanıcıya isteği doğrultusunda
değişik CSS’ le kullanılarak yansıtılır.
6.
Sonuç
Çalışmada sunulan sistem yardımı ile heterojen veritabanlarını bir merkezden sorgulamak mümkün olmuştur. Bu
heterojen veritabanları üzerinde çalışabilecek ortak bir sorgu modeli geliştirmek manasına da gelmektedir.
Sistemin yapısının iki kısımdan oluşması sisteme aynı anda bir güvenlik mekanizması da sağlamıştır. Eğer sistem,
çalışmada tanıtılan ara yazılım kısmı web kısmı ile birleştirilip ODBC, JDBC vb. sistemler yardımı ile
veritabanları sorgulanacak şekilde kurulsaydı aynı şekilde bir güvenlikten bahsedemeyebilirdik. Sistemin bu
şekilde iki seviyeden kurulması ara yazılım iletişime açık olan potun önünde durarak sadece üst seviyeden gelen
XML belgelerini kabul etmesi sayesinde belli seviyede bir güvenliğe sahip olmuştur.
Bunun yanı sıra veritabanlarının dışarıdan erişimi istenmeyen gizli alanlarının da ortak etiket tanımlamaları veya
eşlemeleri yapılmayarak bu sahalara ulaşım engelenebilmektedir.
Sistemin düzgün ve doğru çalışabilmesi için ortak etiket tanımlarının, eşleme ve ilişki tablolarının doğru bir
biçimde oluşturulması gerekmektedir. Bunun yanında ortak etiketlerde yapılan değişikliklerin de ara yazılımlarda
hızlı bir şekilde güncellenmesi gerekmektedir.
Sistemin olması gereken bir kısıtı ise birden fazla veritabanında ortak etiketleri belirlerken tüm veritabanlarının
kesişiminden yola çıkılmasıdır. Bu kısıt sistemde eşlenemeyen sahaların geriye boş gönderilmesiyle aşılmaya
çalışılmıştır.
Sonuç olarak bu sistem her ne kadar kısıtları da olsa heterojen veritabanları arasında ortak bir sorgu modeli
geliştirmek için bir öneri sunmaktadır.
9
7.
Kaynaklar
[1] World Wide Web Consortium, Extensible Markup Language (XML) 1.0 (2 nd Edn). W3C Recommendation,
October 200. http://www.w3c.org/TR/REC-xml
[2] Guardalben G., Briding Relational Technology and XML. HiT Software, www.hitsw.com, October 25, 2002
[3] Florescu D., Kossman D., A performance evaluation of alternative mapping schemes for storing XML data in a
relational database. INRIA Rapport de recherche Mai 1999
[4]
Schmidt A. et al., Efficient relational storage and retrival of XML documents. Proceedings of WebDB,
pages 47-52, 2000
[5] Shanmugasudaram J., et al. Relational databases for querying XML documents: Limitions and Opportunities,
Proceedings VLDB, Edinburgh, Scotland, 1999
[6] Lee D., et al., NeT & CoT : Translating relational schemas to XML schemas using semantic constraints. UCLA
CS Technical Report, February 2002
[7] Bohannon P. et al., From XML schema to relations: A cost-based approach to XML stroge, ICDE 2002
[8] Kappel G. et al., Towards integrating XML and relational database systems. Johannes Kepler University Linz
Technical Report, July 2002
[9] Guardalben G., Integrating XML and relational database technologies: a position paper, HiT Software,
www.hitsw.com, 2002
[10] Shanmugasudaram J., et al. Efficiently publishing relational data as XML documents, pp.65-67 VLDB conf.
Caire, Egypt, September 2000
[11] Carey M., et al, 2000,“XPERANTO: Middleware for Publishing Object-Relational Data as XML Documents",
VLDB 2000, pp 646-648.
[12] Chen Y. et al. CXQuery: A novel XML query language. SSGR 2002w, L’Aquila, Italy, Janurary 21, 2002
[13] Shanmugasudaram J., et al., Querying XML views of relational datas. VLDB Conf., Roma, Italy 2001
10
Download