Saturday, January 26, 2019

DBMS Query Translation - Kalkulus Relational Domain

Assalamu'alaikum

Selamat malam, membahas kembali mengenai DBMS Query Translation. Di pembahasan kali ini kita akan membahas mengenai kalkulus relational domain. Hampir sama dengan kalkulus relational tuple, hanya penulisan struktur kalkulusnya saja yang berbeda. Pembahasan kali ini merupakan lanjutan dari pembahasan kalkulus relational tuple, klik link berikut untuk review terlebih dahulu mengenai apa itu kalkulus relational dan kalkulus relational tuple.  

Kalkulus Relational Domain

Berbeda dengan kalkulus relational tuple yang mendeskripsikan setiap variabel dengan tupel tupel (attribute) setiap entitas yang ingin dicari, kalkulus relational domain menggunakan domain untuk mendeskripsikannya, artinya bukan menggunakan tuple. Bentuk umum Kalkulus Relational Domain memiliki ekspresi berikut.

{ <X1, X2, ..., Xn > | P (X1, X2, ..., Xn ) }




Dimana X1, X2 dst merupakan variabel-variabel domain, baris kiri merupakan nilai domain yang dicari dan baris kanan atau P merupakan nilai variabel relasi yang di nyatakan sesuai kondisi yang di inginkan. Sehingga kurang lebih bentuk dari kalkulus relational domain akan seperti berikut ini.

{ <A, B, C, D, E> | ∃ (<A, B, C>∈Entitas1 ^ <D, E>∈Entitas2 ^ A>3) }

Nilai yang akan di tampilkan kedalam query adalah nilai pada pemisah sebelah kiri sehingga yang di tampilkan adalah nilai dari ABCDE yang merupakan domain dari 2 buah entitas/relasi yang berbeda. Dengan menggunakan kalkulus relational domain, perjodohan antar entitas tidak di perlukan lagi karena sudah di tetapkan domain yang ingin di tampilkan.

Contoh

Untuk contoh kita akan menggunakan tabel berikut yang berisi mengenai data permintaan / pemesanan suatu barang.


Contoh 1 : Tampilkan pesanan yang jumlahnya lebih dari 3. 

{<O,S,Q,P,E> | ∃ <O,S,Q,P,E> ∈ ORDER_ITEM ⋀ Q>3}


Karena yang di minta hanya entitas pesanan saja, maka yang di tampilkan hanya relasi entitas pesanan. Untuk catatan saja, nilai domain yang dicari (OSQPE) yang berada di pemisah kiri untuk memunculkan hasil query domain yang ingin ditampilkan dan OSQPE merupakan inisial dari setiap attribute. Dan karena yang diminta jumlahnya lebih dari 3 (dalam hal ini quantitynya). Maka, berikan kondisi untuk domain quantity lebih dari 3 (Q>3).



Contoh 2 : Tampilkan barang dari departemen 'water sports' yang di pesan oleh pelanggan.

{<S,S_D,D,B> | ∃ < S,S_D,D,B> ∈ SKU_DATA ⋀ D=’Water Sport’}


Untuk contoh 2 sesuai dengan pernyataan yang ingin di tampilkan, maka dalam hal ini kita memerlukan semua domain dari entitas SKU_Data. Untuk catatan lagi, karena ada attribute yang memiliki inisial yang sama yaitu sku dan sku_data. Maka, saya bedakan inisialnya untuk membedakan antar attribute. Dan terakhir masukan kondisi yang di perlukan yaitu departemen water sports saja. 

Contoh 3 : Tampilkan ordernumber, SKU, SKU_Description, Quantity dan Price.

{<O,S, S_D,Q,P > |  ∃ (<O,S,Q,P,E> ∈ ORDER_ITEM ⋀ < S,S_D,D,B > ∈ SKU_DATA)}


Untuk contoh ketiga ini kita menampilkan beberapa domain yang di perlukan saja, yaitu domain OrderNumber, SKU, Quantity dan Price dari entitas Oder_Item dan satunya domain SKU_Description dari entitas SKU_DATA

Mungkin sekian penjelasan di pembahasan pagi ini, semoga bermanfaat bagi pembaca. Sekian dari saya, saran dan pertanyaan letakkan di komentar. Terima kasih sudah berkunjung, sampai bertemu lagi di pembahasan berikutnya.

0 komentar:

Post a Comment

Kenal Saya

Follow My Twitter

Profil



Nama saya Alfa Farhan Syarief, web ini ada berdasarkan nama saya sendiri. Saya sendiri masih duduk tingkat SMK. Lebih lengkapnya saya masih bersekolah di SMKN 1

More »

Blog Archive

Recent Comment