Sistem Basis Data Lanjut
Sistem Manajemen Basis Data Web 2 : Semistructured Data & XML
Tim Penyusun : Pengajar Universitas Gunadarma 2008
Sistem Basis Data Lanjut
Outline • Data semi terstruktur • Pengenalan XML • Bahasa Queri XML
SMBD - Web
2
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
Manajemen Data Semi Terstruktur • DBMS: – Skema : a priori – Bahasa queri deklaratif
• Data semi terstruktur: – Tree-labeled representation
• Bahasa queri : navigasi
SMBD - Web
4
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
Komponen2 Dokumen Utama
• Prolog • Elemen akar • Elemen lainnya
SMBD - Web
12
Sistem Basis Data Lanjut
Prolog Dokumen
• • • • •
Deklarasi XML Instruksi Pemrosesan Deklarasi tipe dokumen Komentar White space
SMBD - Web
13
Sistem Basis Data Lanjut
Deklarasi XML • Baris pertama pada dokumen • 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
Sistem Basis Data Lanjut
Instruksi Pemrosesan • Instruksi yg dilalui parser XML ke aplikasi • Sintaks: • Dapat digunakan utk menghubungkan dokumen XML dengan CSS
SMBD - Web
15
Sistem Basis Data Lanjut
Elemen2 • Elemen – tag mulai & akhir : <price> $ 1987.47
• Elemen kosong – elemen tanpa data
• Elemen berjaringan
Database Systems Connolly, Begg
SMBD - Web
16
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
Contoh Atribut
Database Systems Connolly, Begg
SMBD - Web
18
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
SQL Relasional ke Mapping-XML Root/Relation
Record
SMBD - Web
Record
Record
21
Sistem Basis Data Lanjut
SQL-Relasional-Objek-keMapping XML Object Table
Object
SMBD - Web
Object
Object
22
Sistem Basis Data Lanjut
Pembuatan Dokumen XML Menggunakan Fungsi2 Oracle • • • • • •
XMLELEMENT XMLATTRIBUTES XMLFOREST XMLAGG XMLROOT lain2…
SMBD - Web
23
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
‘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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
Membuat XML Menggunakan XSU • getXML : – -user “username/password” – -conn “JDBC connection string” – “SQL query string” – terdiri atas pernyataanSQL • Elemen akar
• Elemen baris -
SMBD - Web
32
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
Memasukkan Data ke Tabel Database dari Dokumen XML • XSU membuat & mengeksekusi pernyataan INSERT INTO • XSU putXML: – -user “username/password” – -conn “JDBC connection string” – -rowTag – nama elemen xml yg membentuk baris pada tabel – -fileName – nama file xml – “table_name” – -ignoreCase
SMBD - Web
34
Sistem Basis Data Lanjut
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
Sistem Basis Data Lanjut
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
|