Sistem Manajemen Basis Data Web 2 : Semistructured Data & XML Tim Penyusun : Pengajar Universitas Gunadarma 2008
Outline Data semi terstruktur Pengenalan XML Bahasa Queri XML SMBD - Web 2
Data Semi terstruktur Data yg mempunyai skema yg tetap Mempunyai beberapa struktur tapi tidak kaku Alasannya : Struktur data tidak dikenal Data berasal dari sumber berbeda dengan struktur berbeda SMBD - Web 3
Manajemen Data Semi Terstruktur DBMS: Skema : a priori Bahasa queri deklaratif Data semi terstruktur: Tree-labeled representation Bahasa queri : navigasi SMBD - Web 4
Object Exchange Model (OEM) Model objek berjaringan Objek OEM object berupa: Atomik terdiri atas nilai dari tipe dasar (integer, string) Kompleks- terdiri atas nilai kompleks kumpulan dari objek OEM (subobjek) Objek kompleks : parent, subobjek : child Objek OEM dapat mempunyai beberapa objek parent SMBD - Web 5
Objek2 OEM Setiap objek digambarkan dalam 4 bagian : Label : string karakter menggbrapa yg objek sajikan : Identifikasi objek Identifikasi arti dari objek Type : tipe data dari nilai objek Value : nilai objek Object-ID identifikasi unik yg digunakan sistem Contoh : {name, &9, string, Ann Bracn } SMBD - Web 6
Representasi Diagramatis dari OEM Graph terhubung: Nodes objek2 Edges : menyatakan koneksi objek dengan subobjek Objek Atomik object tidak mempunyai edge Objek kompleks mempunyai edge SMBD - Web 7
XML Extensible berarti dapat digunakan utk membuat banyak tipe dokumen Markup berarti menspesifikasikan struktur dan konten dari suatu dokumen Language merupakan bahasa komputer SMBD - Web 8
XML vs. HTML Ciri umum : Versi dari SGML (Standard Generalized Markup Language) Berbasis teks Blok pembuatan : tag, atribut dan elemen HTML bahasa utk presentasi & memformat data Tidak ada mekanisme utk memonitor konten dokumen XML menitikberatkan pada konten data SMBD - Web 9
Dasar XML meta language Aplikasi XML vocabulary Parser XML membaca dokumen XML dan mengakses ke konten struktur dokumen Form dokumen baik tidak ada salah sintaks & memuaskan speksifikasi W3C Dokumen valid memuaskan atruran dari aplikasi XML SMBD - Web 10
Struktur Dokumen Struktur logik kumpulan elemen2 atau kontainer Tipe element ( identifier umum) membatasi konten elemen : Nama Kumpulan atribut2 Atribut dispesifikasikan sebagai pasangan nama = nilai SMBD - Web 11
Komponen2 Dokumen Utama Prolog Elemen akar Elemen lainnya SMBD - Web 12
Prolog Dokumen Deklarasi XML Instruksi Pemrosesan Deklarasi tipe dokumen Komentar White space SMBD - Web 13
Deklarasi XML Baris pertama pada dokumen <?xml version= 1.0 encoding= UTF-8 standalone= yes?> Version 1.0 berhubungan dengan W3C XML Recommendation 1.0 Encoding: UTF-8 - default, Unicode, UCS-2, UCS-4, Standalone bereferensi pada file eksternal SMBD - Web 14
Instruksi Pemrosesan Instruksi yg dilalui parser XML ke aplikasi Sintaks: <?piname pidata?> Dapat digunakan utk menghubungkan dokumen XML dengan CSS <?xml-stylesheet type= text/css href= URL?> SMBD - Web 15
Elemen2 Elemen tag mulai & akhir : <price> $ 1987.47</price> Elemen kosong elemen tanpa data <head/> Elemen berjaringan <book> <title> Database Systems </title> <author> Connolly, Begg </author> </book> SMBD - Web 16
Atribut Nama Atribut disesuaikan dengan ketentuan berikut: Mulai dgn huruf atau _ Unik dalam tag Tidak dimulai dgn xml Space tidak diperkenankan Nilai atribut merupakan informasi yg diproses oleh parser tetapi tidak dapat ditampilkan SMBD - Web 17
Contoh Atribut <book category= IT > <title> Database Systems </title> <author> Connolly, Begg </author> </book> SMBD - Web 18
Tampilan Dokumen XML Browser web mempunyai parser XML Hanya dokumen dengan form yg baik ditampilkan : dengan style sheet tanpa style sheet Menampilkan kesalahan SMBD - Web 19
Penyimpanan Data XML Pada Database Oracle Tipe XML: Digunakan utk membuat tabel Digunakan utk membuat atribut (kolom) Penyimpanan XML terstruktur: Kumpulan objek2 Penyimpanan tidak terstruktur: Sebagai CLOB SMBD - Web 20
SQL Relasional ke Mapping-XML Root/Relation Record Record Record SMBD - Web 21
SQL-Relasional-Objek-ke- Mapping XML Object Table Object Object Object SMBD - Web 22
Pembuatan Dokumen XML Menggunakan Fungsi2 Oracle XMLELEMENT XMLATTRIBUTES XMLFOREST XMLAGG XMLROOT lain2 SMBD - Web 23
Elemen XML Dengan Konten Sederhana XMLELEMENT( Name_of_Tag, Ekspresi yg mengembalikan nilai) Contoh: SELECT XMLELEMENT( Fname, e.pname.f_name) FROM Employee e WHERE e.did= 10 ; SMBD - Web 24
Elemen XML Berjaringan Fungsi XMLELEMENT dapat digunakan untuk mengembalikan nilai Contoh: SELECT XMLELEMENT( emp, XMLELEMENT( fname,e.pname.f_name), XMLELEMENT ( lname,e.pname.l_name)) FROM Employee e; SMBD - Web 25
Elemen XML dengan Atribut XMLATTRIBUTES menentukan semua atribut elemen XML XMLATTRIBUTES (ekspresi AS attribute_name, ) Contoh: SELECT XMLELEMENT ( emp, XMLATTRIBUTES(e.pid AS "eid"), XMLELEMENT(fname,e.pname.f_name), XMLELEMENT(lname,e.pname.l_name)) FROM Employee e; SMBD - Web 26
Hutan Elemen2 XML Fungsi XMLFOREST membuat beberapa elemen XML dari argumen2 yg diekspresikan. Contoh: SELECT XMLELEMENT (emp, XMLATTRIBUTES(e.pid as "eid"), XMLFOREST(e.pname.f_name AS "fname", e.pname.l_name AS "lname", e.sin)) FROM Employee e; SMBD - Web 27
Penambahan Elemen Akar ke Dokumen XML XMLAgg membuat hutan elemen2 XML dalam satu elemen. sehingga clause ORDER BY dapat mensorting elemen XML Contoh: SELECT XMLELEMENT("company",XMLAGG(XML ELEMENT("worker",e.name) ORDER BY e.name )) AS result FROM employee e; SMBD - Web 28
Penambahan Deklarasi XML XMLROOT menambahkan deklarasi XML ke data XML Contoh: select XMLROOT(XMLelement("company",XML Agg( XMLelement("worker",e.name)order by e.name)), version '1.0', standalone yes) as document from employee e; SMBD - Web 29
Menampilkan Hasil Hasil fungsi Oracle XML tidak bagus untuk dicetak IN SQL*Plus SET LONG SET PAGESIZE Menggunakan metode tipe XML Extract SMBD - Web 30
Oracle XML-SQL Utility (XSU) Mentransformasikan data dari tabel2 relasional-objek ke XML Mengekstraks data dari dokumen XML & memasukkan data tsb ke tabel database Mengekstrak data relevandari dokumen XML & menggunakannya untuk memodifikasi konten dari tabel database. SMBD - Web 31
Membuat XML Menggunakan XSU getxml : -user username/password -conn JDBC connection string SQL query string terdiri atas pernyataansql Elemen akar <ROWSET> Elemen baris - <ROW> SMBD - Web 32
Membuat XML Menggunakan XSU (Lanj.) Contoh : OracleXML getxml -user "username/password" -conn jdbc:oracle:thin:@sit.yorku.ca:1521 :studb10g" "select * from conference" SMBD - Web 33
Memasukkan Data ke Tabel Database dari Dokumen XML XSU membuat & mengeksekusi pernyataan INSERT INTO XSU putxml: -user username/password -conn JDBC connection string -rowtag namaelemenxml yg membentuk baris pada tabel -filename nama file xml table_name -ignorecase SMBD - Web 34
Memasukkan Data XML Menggunakan XSU Contoh: OracleXML putxml -user userid/password -conn "jdbc:oracle:thin:@sit.yorku.ca:1521: studb10g -rowtag "card -ignorecase -filename "/home/userid/card.xml" "deck" SMBD - Web 35
Referensi 1. Connoly, Thomas; Begg, Carolyn; Strachan, Anne; Database Systems : A Practical Approach to Design, Implementation and Management, 3rd edition, Addison Wesley, 2003. SMBD - Web 36