Modul 3 : Querry Language - IvanSholana/PerancanganBasisData GitHub Wiki
Query language
adalah bahasa/perintah yang digunakan oleh user sebagai request kepada DBMS
untuk mengambil data yang diinginkan dari database dan menyediakannya kepada user. Selain itu Query Language
juga digunakan untuk melakukan 4 operasi utama dalam DBMS yaitu CRUD (Create, Read, Update, dan Delete)
. Terdapat 2 jenis Query Language, yaitu Procedural Query
dan Non Procedural Query
.
Procedural Query Language
merupakan query language yang mana user menuliskan data apa yang diinginkan dan bagaimana cara mendapatkannya. Contoh ilustrasi dari Procedural Query Languange
adalah dirimu meminta teh kepada seseorang. Pada saat meminta dirimu juga menjelaskan cara membuat sebuah teh, dari merebut air hingga membawa teh tersebut ke dirimu. Contoh dari Procedural Query Language
adalah Aljabar Relasional
.
-
Selection Operator (σ)
Selection Operator
merupakan operator unary yang digunakan untuk menampilkan data yang diinginkan. Berikut merupakan penulisan dari Selection Operator (σ) :σ<selection_condition>(R)
Contoh penggunaan dari selection operator adalah sebagai berikut :
NIM NAMA LENGKAP IPK 1 IVAN SHOLANA 4.0 2 SOEHARTO 4.0 3 JOKO WIDODO 3.9 4 MEGA WATI 2.0 Kita ingin menampilkan keseluruhan data dengan IPK 4 dan NIM lebih dari 1 pada relasi di atas dengan nama relasi MAHASISWA. Dengan begitu penulisan
selection operator
nya adalah sebagai berikut :σ<NIM > 1 and IPK = 4.0>(MAHASISWA)
Dengan menggunakan syntax tersebut, maka akan dihasilkan relasi baru sebagai berikut :
NIM NAMA LENGKAP IPK 2 SOEHARTO 4.0 -
Projection Operator (π)
Projection Operator
adalah operator yang digunakan untuk menampilkan list dari atribut/kolom yang diinginkan dari sebuah tabel/relationn. Berikut merupakan syntax dariProjection Operator
:π<attribute list>(R)
Contoh dari penggunaan
Projection Operator
adalah sebagai berikut :NIM NAMA LENGKAP IPK 1 IVAN SHOLANA 4.0 2 SOEHARTO 4.0 3 JOKO WIDODO 3.9 4 MEGA WATI 2.0 Kita ingin menampilkan 2 dari 3 atribut pada relasi MAHASISWA di atas, yaitu NIM dan NAMA LENGKAP. Untuk melakukan hal tersebut, maka penulisan dari
Projection Operator
nya adalah sebagai berikut :π<NIM,NAMA LENGKAP>(MAHASISWA)
Dengan demikian, maka hasil dari syntax tersebut adalah relasi baru sebagai berikut :
NIM NAMA LENGKAP 1 IVAN SHOLANA 2 SOEHARTO 3 JOKO WIDODO 4 MEGA WATI Pada penggunaan
Projector Operator
di atas, dapat dilihat bahwa kita hanya ingin menampilkan atribut NIM dan NAMA LENGKAP saja, sehingga terbentuk relasi baru dengan atribut yang tidak memiliki atribut NIM pada relasinya. -
Union Operator (U)
Union Operator
adalah operator yang digunakan untuk membentuk dan menampilkan sautu relasi baru yang merupakan hasil penggabungan 2 atau lebih relasi yang mana seluruh tuple hanya dimiliki relasi A dan B hingga tuple ke-N dan tuple yang dimiliki oleh keseluruhan relasi tersebut . Pada operator ini terdapat syarat yang harus dipenuhi, yaitu jumlah atribut atau degreenya harus sama dan domain dari atribut tersebut juga harus sama. Selain itu,union operator
ini juga memiliki sifat menghilangkan redudansi data pada relasi baru. Contoh dari penggunaanUnion Operator
adalah sebagai berikut :A B a b e f a d A B c d a d e f Dengan menggunakan
R1 U R2
, maka relasi baru yang akan dihasilkan adalah sebagai berikut :A B a b e f a d c d Pada relasi baru yang terbentuk, dapat dilihat tuple dengan nilai e dan f mengalami redudansi atau terdapat pada R1 dan R2, sehingga pada relasi baru tuple tersebut hanya ditampilkan sekali atau redudansinya dihilangkan.
-
Intersection Operator (∩)
Intersection Operator
merupakan operator yang digunakan untuk membuat dan menampilkan sebuah relasi baru yang mana anggota atau tuple dari relasi baru tersebut merupakan tuple-tuple yang dimiliki oleh seluruh relasi yang diintersectionkan. Contoh dari penggunaanintersection operator
adalah sebagai berikut :A B a b e f a d A B c d a d e f Dengan menggunakan
intersection operator
atauR1 ∩ R2
maka akan dihasilkan sebuah relasi baru sebagai berikut :A B e f a d Pada relasi baru di atas terdapat
kardinalitas
sejumlah 2 yag terdiri dari 2tuple
berisi a dan f dan a dan d.Tuple
tersebut merupakan tuple yang dimiliki oleh R1 dan R2, sehingga akan menjadi tuple pada relasi baru. Kemudian contoh lain dariintersection
dapat dilihat pada syntax berikut ini :Π kode_mk ( δ sks = 2 (MTKULIAH) ) ∩ Π kode_mk ( δ nim = ‘0641345’ (NILAI) )
Pada syntax tersebut terdapat
selector operator
danprojector operator
yang telah dipelajari sebelumnya. Jika kita bahasakan syntax di atas maka dapat dibaca tampilkan atribut kode_mk dengan syarat sks = 2 pada relasi MTKULIAH dan nim = '0641345' pada relasi NILAI`. -
Set Difference (-) Operasi yang digunakan untuk membuat sebuah relasi baru yang terdiri dari seluruh tuple yang dimiliki oleh R1 namun tidak dimiliki oleh R2. Contoh dari penggunaan
Set Difference
adalah sebagai berikut :A B a b e f a d A B c d a d e f Dengan menggunakan
R1-R2
maka akan dihasilkan relasi baru sebagai berikut :A B a b Pada relasi di atas dapat dilihat tuple dengan value a dan b menjadi tuple relasi baru, hal tersebut dikarenakan tuple tersebut hanya dimiliki oleh R1.
-
Cartesian Product (x) Merupakan operasi yang digunakan untuk melakukan kombinasi terhadap 2 relasi. Pada
Cartesia Product
akan dihasilkan relasi baru dengan tuple yang terdiri dari hasil kombinasi 2 relasi. Contoh dari penggunaanCartesian Product
adalah sebagai berikut :A B a b e f a d A B c d a d e f Dengan menggunakan
Cartesian Product
maka akan dihasilkan relasi baru sebagai berikut :A B C D a b c d a b a d a b e f e f c d e f a d e f e f a d c d a d a d a d e f Relasi di atas merupakan relasi baru yang dihasilkan dari kombinasi R1 dan R2.