Aljabar Relasional dan Query #2: Operasi Seleksi
Memilih baris dari suatu relasi atau tabel yang memenuhi syarat tertentu
Daftar Isi
⦁ Daftar Isi
⦁ Pendahuluan
⦁ Sintaksis
⦁ Operator
⦁ Contoh
⦁ Penutup
⦁ Daftar Pustaka
Pendahuluan
Operasi seleksi dalam aljabar relasional bertujuan untuk menyaring atau mengambil tupel atau baris tertentu dari suatu relasi atau tabel yang memenuhi syarat tertentu. Ini memungkinkan Anda untuk mempersempit kumpulan data dan hanya mengekstrak tupel yang memenuhi kriteria tertentu.
Dengan seleksi, Anda dapat mengekstrak subkumpulan data yang relevan dengan query atau analisis tertentu. Operasi ini membantu mengurangi volume data dan fokus pada kumpulan data tertentu.
Berikut adalah beberapa poin penting mengenai operasi seleksi:
- Menyaring data. Seleksi memungkinkan Anda memfilter baris yang tidak memenuhi ketentuan tertentu. Misalnya, memilih semua pelanggan yang telah membeli dalam 30 hari terakhir atau mengambil semua karyawan yang tergabung dalam bagian tertentu.
- Spesifikasi kondisi. Kondisi dalam operasi seleksi biasanya diekspresikan sebagai ekspresi logika menggunakan operator perbandingan dan operator logika. Kondisi dapat melibatkan satu atau lebih atribut relasi.
- Membatasi output. Relasi yang dihasilkan hanya berisi tupel yang dipilih dan mempertahankan skema asli.
- Komposabilitas. Operasi pemilihan dapat digabungkan dengan operasi aljabar relasional lainnya, seperti operasi proyeksi, join, dan himpunan, untuk membentuk query dan transformasi data yang lebih kompleks.
Sintaksis
Operasi pemilihan, dilambangkan dengan simbol σ (sigma), mengambil tupel tertentu dari relasi yang memenuhi kondisi atau predikat tertentu.
Sintaks untuk operasi seleksi adalah sebagai berikut.
Kondisi ini biasanya dinyatakan sebagai ekspresi logika menggunakan operator perbandingan dan operator logika.
Operator
Kriteria melibatkan kolom tabel dan operator. Operator selengkapnya disajikan pada tabel berikut.
Operator-operator ini digunakan untuk membandingkan nilai kolom dengan nilai yang ditentukan atau untuk menggabungkan kriteria seleksi menggunakan operator logika. Dengan menggunakan operator-operator ini secara cerdas, kita dapat membangun kondisi seleksi yang fleksibel dan tepat dalam pernyataan SELECT
.
Contoh
Kita masih menggunakan contoh data pada artikel sebelumnya. Query SELECT * FROM Mahasiswa
menghasilkan:
NIM Nama Gender TglLahir GolDarah IPK
------- ---------------- ------ ---------- -------- ----
1119300 Nur Cahaya P 2002-04-16 B NULL
1120235 Merapi L 2003-02-17 O 3.45
1120236 Mawar Merah P 2004-04-01 NULL 2.10
1120335 Jayagiri P NULL O 3.45
1219254 Kilau Intan P NULL NULL 2.00
1221210 Cempaka P 2003-03-07 O 0.75
1221234 Rajabasa L 2003-03-25 A 2.34
1222237 Semeru L 2004-12-31 A NULL
1321239 Kutilang L 2004-03-17 O 3.21
1322238 Melati Putih P NULL B 1.23
(10 rows affected)
Berikut adalah beberapa contoh kasus operasi seleksi.
- Daftar mahasiswa yang IPK-nya 3.5 ke atas
Hasilnya:
NIM Nama Gender TglLahir GolDarah IPK
------- ---------------- ------ ---------- -------- ----
1120235 Merapi L 2003-02-17 O 3.55
1120335 Jayagiri P NULL O 3.50
(2 rows affected)
2. Daftar mahasiswa yang memenuhi kriteria: 2.0 ≤ IPK ≤ 3.5
Hasilnya:
NIM Nama Gender TglLahir GolDarah IPK
------- ---------------- ------ ---------- -------- ----
1120236 Mawar Merah P 2004-04-01 NULL 2.10
1120335 Jayagiri P NULL O 3.50
1219254 Kilau Intan P NULL NULL 2.00
1221234 Rajabasa L 2003-03-25 A 2.34
1321239 Kutilang L 2004-03-17 O 3.21
(5 rows affected)
3. Daftar mahasiswa yang golongan darahnya O atau B
Hasilnya:
NIM Nama Gender TglLahir GolDarah IPK
------- ---------------- ------ ---------- -------- ----
1119300 Nur Cahaya P 2002-04-16 B NULL
1120235 Merapi L 2003-02-17 O 3.55
1120335 Jayagiri P NULL O 3.50
1221210 Cempaka P 2003-03-07 O 0.75
1321239 Kutilang L 2004-03-17 O 3.21
1322238 Melati Putih P NULL B 1.23
(6 rows affected)
4. Daftar mahasiswa yang golongan darahnya bukan O
Hasilnya:
NIM Nama Gender TglLahir GolDarah IPK
------- ---------------- ------ ---------- -------- ----
1119300 Nur Cahaya P 2002-04-16 B NULL
1221234 Rajabasa L 2003-03-25 A 2.34
1222237 Semeru L 2004-12-31 A NULL
1322238 Melati Putih P NULL B 1.23
(4 rows affected)
5. Daftar mahasiswa yang data tanggal lahirnya belum ada
Hasilnya:
NIM Nama Gender TglLahir GolDarah IPK
------- ---------------- ------ ---------- -------- ----
1120335 Jayagiri P NULL O 3.50
1219254 Kilau Intan P NULL NULL 2.00
1322238 Melati Putih P NULL B 1.23
(3 rows affected)
6. Daftar mahasiswa yang data tanggal lahir dan golongan darahnya belum ada
Hasilnya:
NIM Nama Gender TglLahir GolDarah IPK
------- ---------------- ------ ---------- -------- ----
1219254 Kilau Intan P NULL NULL 2.00
(1 row affected)
7. Daftar mahasiswa perempuan yang ada tanggal lahirnya
Hasilnya:
NIM Nama Gender TglLahir GolDarah IPK
------- ---------------- ------ ---------- -------- ----
1119300 Nur Cahaya P 2002-04-16 B NULL
1120236 Mawar Merah P 2004-04-01 NULL 2.10
1221210 Cempaka P 2003-03-07 O 0.75
(3 rows affected)
Penutup
Seleksi adalah operasi yang pasti selalu digunakan. Masih banyak contoh kasus lain, misalnya terkait dengan string, fungsi tanggal, fungsi agreasi, subquery, yang kelak akan dibahas pada kesempatan lain.
Daftar Pustaka
Codd, E.F. (March 1972). “Relational Completeness of Data Base Sublanguages” in Computer Sciences. San Jose, California: IBM Research Laboratory.