Aljabar Relasional
ALJABAR RELASI adalah bahasa query prosedural yang banyak digunakan. Ini mengumpulkan contoh relasi sebagai masukan dan memberikan kemunculan relasi sebagai keluaran. Ini menggunakan berbagai operasi untuk melakukan tindakan ini. SQL Operasi kueri aljabar relasional dilakukan secara rekursif pada suatu relasi. Keluaran dari operasi ini adalah relasi baru, yang dapat dibentuk dari satu atau lebih relasi masukan.
Dalam tutorial ini, Anda akan mempelajari:
- Aljabar Relasional
- PILIH (σ)
- Proyeksi (π)
- Ganti nama (ρ)
- Operasi serikat pekerja (υ)
- Set Selisih (-)
- Persimpangan
- Produk Cartesian (X)
- Bergabunglah dengan Operasi
- Gabung Batin:
- Theta Bergabung:
- EQUI bergabung:
- GABUNG ALAMI (⋈)
- OUTER GABUNG
- Gabungan Luar Kiri (A B)
- Gabungan Luar Kanan: (A B)
- Gabungan Luar Penuh: (A B)
Operasi Aljabar Relasional SQL Dasar
Aljabar Relasional dibagi dalam berbagai kelompok
Operasi Relasional Unary
- PILIH (simbol: σ)
- PROYEK (simbol: π)
- RENAME (simbol: ρ)
Operasi Aljabar Relasional Dari Teori Himpunan
- UNION (υ)
- PERSIMPANGAN ( ),
- PERBEDAAN (-)
- PRODUK KARTESI (x)
Operasi Relasional Biner
- IKUTI
- DIVISI
Mari pelajari secara detail dengan solusi:
PILIH (σ)
Operasi SELECT digunakan untuk memilih subset dari tupel menurut kondisi pemilihan yang diberikan. Simbol Sigma (σ) menunjukkannya. Ini digunakan sebagai ekspresi untuk memilih tupel yang memenuhi syarat seleksi. Operator tertentu memilih tupel yang memenuhi predikat yang diberikan.
σp(r)
σ
adalah predikat r
singkatan dari relasi yang nama tabelnya p
adalah logika preposisional
Contoh 1
σ topic = "Database" (Tutorials)
Output - Memilih tupel dari Tutorial di mana topic = 'Database'.
Contoh 2
σ topic = "Database" and author = "guru99"( Tutorials)
Output - Memilih tupel dari Tutorial dimana topiknya adalah 'Database' dan 'author' adalah guru99.
Contoh 3
σ sales > 50000 (Customers)
Output - Memilih tupel dari Pelanggan di mana penjualan lebih besar dari 50000
Proyeksi (π)
Proyeksi menghilangkan semua atribut dari relasi input kecuali yang disebutkan dalam daftar proyeksi. Metode proyeksi mendefinisikan relasi yang berisi subset vertikal Relasi.
Ini membantu mengekstrak nilai atribut tertentu untuk menghilangkan nilai duplikat. Simbol (pi) digunakan untuk memilih atribut dari suatu relasi. Operator ini membantu Anda menjaga kolom tertentu dari suatu relasi dan membuang kolom lainnya.
Contoh Proyeksi:
Perhatikan tabel berikut
ID Pelanggan | Nama Pelanggan | Status |
---|---|---|
1 | Aktif | |
2 | Amazon | Aktif |
3 | apel | Tidak aktif |
4 | Alibaba | Aktif |
Di sini, proyeksi NamaPelanggan dan status akan diberikan
Π CustomerName, Status (Customers)
Nama Pelanggan | Status |
---|---|
Aktif | |
Amazon | Aktif |
apel | Tidak aktif |
Alibaba | Aktif |
Ganti nama (ρ)
Rename adalah operasi unary yang digunakan untuk mengganti nama atribut relasi.
ρ (a / b) R akan mengganti nama atribut 'b' dari relasi dengan 'a'.
Operasi serikat pekerja (υ)
UNION dilambangkan dengan simbol ∪. Ini mencakup semua tupel yang ada di tabel A atau di B. Ini juga menghilangkan tupel duplikat. Jadi, set A UNION set B akan diekspresikan sebagai:
Hasilnya <- A ∪ B
Agar operasi serikat menjadi valid, kondisi berikut harus berlaku -
- R dan S harus memiliki jumlah atribut yang sama.
- Domain atribut harus kompatibel.
- Tupel duplikat harus dihapus secara otomatis.
Contoh
Perhatikan tabel berikut.
Tabel A | Tabel B | |||
kolom 1 | kolom 2 | kolom 1 | kolom 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B memberi
Tabel A ∪ B | |
kolom 1 | kolom 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Set Selisih (-)
- Simbol menandakannya. Hasil dari A - B, adalah relasi yang mencakup semua tupel yang ada di A tetapi tidak di B.
- Nama atribut A harus cocok dengan nama atribut di B.
- Relasi dua operan A dan B harus kompatibel atau kompatibel dengan Union.
- Itu harus didefinisikan relasi yang terdiri dari tupel yang ada di relasi A, tetapi tidak di B.
Contoh
A-B
Tabel A - B | |
kolom 1 | kolom 2 |
---|---|
1 | 2 |
Persimpangan
Persimpangan didefinisikan oleh simbol ∩
A ∩ B
Mendefinisikan relasi yang terdiri dari himpunan semua tupel yang ada di A dan B. Namun, A dan B harus kompatibel dengan serikat pekerja.
Contoh:
A ∩ B
Tabel A ∩ B | |
kolom 1 | kolom 2 |
---|---|
1 | 1 |
Produk Cartesian (X) di DBMS
Produk Cartesian di DBMS adalah operasi yang digunakan untuk menggabungkan kolom dari dua relasi. Umumnya, produk kartesius tidak pernah menjadi operasi yang berarti jika dijalankan sendiri. Namun, itu menjadi bermakna bila diikuti oleh operasi lainnya. Ini juga disebut Cross Product atau Cross Join.
Contoh - produk Cartesian
σ kolom 2 = '1' (AXB)
Output - Contoh di atas menunjukkan semua baris dari relasi A dan B yang kolom 2 memiliki nilai 1
σ kolom 2 = '1' (AXB) | |
kolom 1 | kolom 2 |
---|---|
1 | 1 |
1 | 1 |
Bergabunglah dengan Operasi
Operasi gabungan pada dasarnya adalah produk kartesius yang diikuti dengan kriteria pemilihan.
Operasi gabungan dilambangkan dengan ⋈.
Operasi JOIN juga memungkinkan penggabungan berbagai tupel terkait dari relasi yang berbeda.
Jenis GABUNG:
Berbagai bentuk operasi gabungan adalah:
Gabungan Batin:
- Theta bergabung
- EQUI bergabung
- Gabungan alami
Gabungan luar:
- Gabung Luar Kiri
- Gabung Luar Kanan
- Gabung Luar Penuh
Gabung Batin:
Dalam gabungan dalam, hanya tupel yang memenuhi kriteria pencocokan yang disertakan, sedangkan yang lainnya dikecualikan. Mari pelajari berbagai jenis Inner Joins:
Theta Bergabung:
Kasus umum operasi JOIN disebut gabungan Theta. Ini dilambangkan dengan simbol θ
Contoh
A ⋈θ B
Bergabung dengan Theta dapat menggunakan kondisi apa pun dalam kriteria pemilihan.
Sebagai contoh:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A. kolom 2> B. kolom 2 (B) | |
kolom 1 | kolom 2 |
---|---|
1 | 2 |
EQUI bergabung:
Ketika sebuah gabungan theta hanya menggunakan kondisi ekivalen, itu menjadi sebuah gabungan eku.
Sebagai contoh:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. kolom 2 = B. kolom 2 (B) | |
kolom 1 | kolom 2 |
---|---|
1 | 1 |
Gabungan EQUI adalah operasi yang paling sulit untuk diterapkan secara efisien menggunakan SQL dalam RDBMS dan salah satu alasan mengapa RDBMS memiliki masalah kinerja yang penting.
GABUNG ALAMI (⋈)
Gabungan alami hanya dapat dilakukan jika ada atribut umum (kolom) di antara relasi. Nama dan tipe atribut harus sama.
Contoh
Perhatikan dua tabel berikut
C | |
Num | Kotak |
---|---|
2 | 4 |
3 | 9 |
D | |
Num | kubus |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
C ⋈ D | ||
Num | Kotak | kubus |
---|---|---|
2 | 4 | 4 |
3 | 9 | 27 |
OUTER GABUNG
Dalam gabungan luar, bersama dengan tupel yang memenuhi kriteria pencocokan, kami juga menyertakan beberapa atau semua tupel yang tidak cocok dengan kriteria tersebut.
Gabungan Luar Kiri (A B)
Pada gabungan luar kiri, operasi memungkinkan menjaga semua tupel di relasi kiri. Namun jika tidak ditemukan tupel yang cocok pada relasi yang benar, maka atribut relasi yang benar pada hasil join diisi dengan nilai null.
Perhatikan 2 Tabel berikut
SEBUAH | |
Num | Kotak |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Num | kubus |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
A B
A ⋈ B | ||
Num | Kotak | kubus |
---|---|---|
2 | 4 | 4 |
3 | 9 | 9 |
4 | 16 | - |
Gabungan Luar Kanan: (A B)
Pada gabungan luar kanan, operasi memungkinkan menjaga semua tupel dalam relasi yang benar. Namun, jika tidak ditemukan tupel yang cocok pada relasi kiri, maka atribut relasi kiri pada hasil join diisi dengan nilai null.
A B
A ⋈ B | ||
Num | kubus | Kotak |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Gabungan Luar Penuh: (A B)
Dalam gabungan luar penuh, semua tupel dari kedua relasi disertakan dalam hasil, terlepas dari kondisi pencocokannya.
A B
A ⋈ B | ||
Num | kubus | Kotak |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Ringkasan
Operasi (Simbol) |
Tujuan |
---|---|
Pilih (σ) |
Operasi SELECT digunakan untuk memilih subset dari tupel menurut kondisi pemilihan yang diberikan |
Proyeksi (π) |
Proyeksi menghilangkan semua atribut dari relasi input kecuali yang disebutkan dalam daftar proyeksi. |
Operasi Serikat (∪) |
UNION dilambangkan dengan simbol. Ini mencakup semua tupel yang ada di tabel A atau di B. |
Set Selisih (-) |
- Simbol menandakannya. Hasil dari A - B, adalah relasi yang mencakup semua tupel yang ada di A tetapi tidak di B. |
Persimpangan (∩) |
Intersection mendefinisikan relasi yang terdiri dari himpunan semua tupel yang ada di A dan B. |
Produk Cartesian (X) |
Operasi kartesius berguna untuk menggabungkan kolom dari dua relasi. |
Gabung Batin |
Gabung dalam, hanya mencakup tupel yang memenuhi kriteria pencocokan. |
Theta Bergabung (θ) |
Kasus umum operasi JOIN disebut gabungan Theta. Ini dilambangkan dengan simbol θ. |
Gabung EQUI |
Ketika sebuah gabungan theta hanya menggunakan kondisi ekivalen, itu menjadi sebuah gabungan eku. |
Bergabung Alami (⋈) |
Gabungan alami hanya dapat dilakukan jika ada atribut umum (kolom) di antara relasi. |
Gabung Luar |
Dalam gabungan luar, bersama dengan tupel yang memenuhi kriteria pencocokan. |
Gabungan Luar Kiri ( ) |
Pada gabungan luar kiri, operasi memungkinkan menjaga semua tupel di relasi kiri. |
Gabung Luar Kanan ( ) |
Pada gabungan luar kanan, operasi memungkinkan menjaga semua tupel dalam relasi yang benar. |
Gabung Luar Penuh ( ) |
Dalam gabungan luar penuh, semua tupel dari kedua relasi disertakan dalam hasil terlepas dari kondisi pencocokannya. |