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 Operatormerupakan 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 operatornya 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 Operatoradalah 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 Operatoradalah 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 Operatornya 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 Operatordi 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 Operatoradalah 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 operatorini juga memiliki sifat menghilangkan redudansi data pada relasi baru. Contoh dari penggunaanUnion Operatoradalah 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 Operatormerupakan 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 operatoradalah sebagai berikut :A B a b e f a d A B c d a d e f Dengan menggunakan
intersection operatoratauR1 ∩ R2maka akan dihasilkan sebuah relasi baru sebagai berikut :A B e f a d Pada relasi baru di atas terdapat
kardinalitassejumlah 2 yag terdiri dari 2tupleberisi a dan f dan a dan d.Tupletersebut merupakan tuple yang dimiliki oleh R1 dan R2, sehingga akan menjadi tuple pada relasi baru. Kemudian contoh lain dariintersectiondapat dilihat pada syntax berikut ini :Π kode_mk ( δ sks = 2 (MTKULIAH) ) ∩ Π kode_mk ( δ nim = ‘0641345’ (NILAI) )Pada syntax tersebut terdapat
selector operatordanprojector operatoryang 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 Differenceadalah sebagai berikut :A B a b e f a d A B c d a d e f Dengan menggunakan
R1-R2maka 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 Productakan dihasilkan relasi baru dengan tuple yang terdiri dari hasil kombinasi 2 relasi. Contoh dari penggunaanCartesian Productadalah sebagai berikut :A B a b e f a d A B c d a d e f Dengan menggunakan
Cartesian Productmaka 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.