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: bahar@ube.ege.edu.tr, tkisla@bornova.ege.edu.tr Ö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