Algebra Perhubungan
RELATIONAL ALGEBRA adalah bahasa pertanyaan prosedur yang banyak digunakan. Ini mengumpulkan contoh hubungan sebagai input dan memberikan terjadinya hubungan sebagai output. Ia menggunakan pelbagai operasi untuk melakukan tindakan ini. Operasi pertanyaan aljabar SQL Relasional dilakukan secara rekursif berdasarkan hubungan. Hasil operasi ini adalah hubungan baru, yang mungkin terbentuk dari satu atau lebih hubungan input.
Dalam tutorial ini, anda akan belajar:
- Algebra Perhubungan
- PILIH (σ)
- Unjuran (π)
- Namakan semula (ρ)
- Operasi kesatuan (υ)
- Tetapkan Perbezaan (-)
- Persimpangan
- Produk Cartesian (X)
- Sertailah Operasi
- Penyertaan dalaman:
- Theta Sertai:
- EQUI bergabung:
- BERSAMA ALAM (⋈)
- BERSAMA KELUAR
- Sambungan Luar Kiri (A
B)
- Sambungan Kanan Luar: (A
B)
- Penyertaan Luar Penuh: (A
B)
Operasi Algebra Relasional SQL Asas
Algebra Relasional berpecah dalam pelbagai kumpulan
Operasi Perhubungan Tidak Bersesuaian
- PILIH (simbol: σ)
- PROJEK (simbol: π)
- RENAME (simbol: ρ)
Operasi Algebra Relasional Dari Teori Set
- Kesatuan (υ)
- INTERSEKSI (),
- BEZA (-)
- PRODUK KARTESIA (x)
Operasi Hubungan Perduaan
- SERTAI
- BAHAGIAN
Mari kaji secara terperinci dengan penyelesaian:
PILIH (σ)
Operasi SELECT digunakan untuk memilih subset tupel mengikut keadaan pemilihan yang diberikan. Simbol Sigma (σ) menandakannya. Ini digunakan sebagai ungkapan untuk memilih tupel yang memenuhi syarat pemilihan. Pilih operator memilih tupel yang memenuhi predikat tertentu.
σp(r)
σ
adalah predikat r
bermaksud hubungan yang merupakan nama jadual p
adalah logik preposisi
Contoh 1
σ topic = "Database" (Tutorials)
Output - Memilih tupel dari Tutorial di mana topik = 'Pangkalan Data'.
Contoh 2
σ topic = "Database" and author = "guru99"( Tutorials)
Output - Memilih tupel dari Tutorial di mana topiknya adalah 'Pangkalan Data' dan 'pengarang' adalah guru99.
Contoh 3
σ sales > 50000 (Customers)
Keluaran - Memilih tupel dari Pelanggan dengan penjualan melebihi 50000
Unjuran (π)
Unjuran menghilangkan semua atribut hubungan input tetapi yang disebutkan dalam senarai unjuran. Kaedah unjuran mendefinisikan hubungan yang mengandungi subset Relasi menegak.
Ini membantu mengekstrak nilai atribut yang ditentukan untuk menghilangkan nilai pendua. (pi) simbol digunakan untuk memilih atribut dari hubungan. Pengendali ini membantu anda menjauhkan lajur tertentu dari hubungan dan membuang lajur lain.
Contoh Unjuran:
Pertimbangkan jadual berikut
ID pelanggan | Nama Pelanggan | Status |
---|---|---|
1 | Aktif | |
2 | Amazon | Aktif |
3 | epal | Tidak aktif |
4 | Alibaba | Aktif |
Di sini, unjuran Nama dan status Pelanggan akan memberi
Π CustomerName, Status (Customers)
Nama Pelanggan | Status |
---|---|
Aktif | |
Amazon | Aktif |
epal | Tidak aktif |
Alibaba | Aktif |
Namakan semula (ρ)
Ganti nama adalah operasi yang tidak digunakan yang digunakan untuk menamakan semula atribut hubungan.
ρ (a / b) R akan menamakan semula sifat 'b' hubungan dengan 'a'.
Operasi kesatuan (υ)
UNION dilambangkan dengan simbol ∪. Ia merangkumi semua tupel yang terdapat di dalam jadual A atau di B. Ia juga menghilangkan tupel pendua. Jadi, set A UNION set B akan dinyatakan sebagai:
Hasilnya <- A ∪ B
Agar operasi kesatuan menjadi sah, syarat berikut mesti berlaku -
- R dan S mestilah bilangan atribut yang sama.
- Domain atribut perlu serasi.
- Tuple pendua hendaklah dikeluarkan secara automatik.
Contohnya
Pertimbangkan jadual berikut.
Jadual A | Jadual B | |||
lajur 1 | lajur 2 | lajur 1 | lajur 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B memberi
Jadual A ∪ B | |
lajur 1 | lajur 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Tetapkan Perbezaan (-)
- Simbol menandakannya. Hasil A - B, adalah hubungan yang merangkumi semua tupel yang berada di A tetapi tidak di B.
- Nama atribut A harus sesuai dengan nama atribut di B.
- Hubungan dua operasi A dan B harus sama ada serasi atau serasi dengan Kesatuan.
- Ia harus ditentukan hubungan yang terdiri daripada tupel yang ada dalam hubungan A, tetapi tidak dalam B.
Contohnya
A-B
Jadual A - B | |
lajur 1 | lajur 2 |
---|---|
1 | 2 |
Persimpangan
Persimpangan didefinisikan oleh simbol ∩
A ∩ B
Mentakrifkan hubungan yang terdiri daripada sekumpulan semua tuple yang ada di A dan B. Walau bagaimanapun, A dan B mesti serasi dengan kesatuan.

Contoh:
A ∩ B
Jadual A ∩ B | |
lajur 1 | lajur 2 |
---|---|
1 | 1 |
Produk Cartesian (X) dalam DBMS
Produk Cartesian dalam DBMS adalah operasi yang digunakan untuk menggabungkan lajur dari dua hubungan. Secara amnya, produk kartesian tidak pernah menjadi operasi yang bermakna ketika melakukan sendiri. Walau bagaimanapun, ia menjadi bermakna apabila diikuti oleh operasi lain. Ia juga dipanggil Cross Product atau Cross Join.
Contoh - produk Cartesian
σ lajur 2 = '1' (AXB)
Keluaran - Contoh di atas menunjukkan semua baris dari hubungan A dan B yang lajur 2 mempunyai nilai 1
σ lajur 2 = '1' (AXB) | |
lajur 1 | lajur 2 |
---|---|
1 | 1 |
1 | 1 |
Sertailah Operasi
Operasi bergabung pada dasarnya adalah produk kartesian diikuti oleh kriteria pemilihan.
Sertailah operasi dilambangkan dengan ⋈.
JOIN operasi juga membolehkan bergabung dengan tupel yang berkaitan dengan pelbagai hubungan.
Jenis GABUNGAN:
Pelbagai bentuk operasi bergabung adalah:
Batin Bergabung:
- Theta turut serta
- EQUI sertai
- Sambungan semula jadi
Sambungan luar:
- Kiri Luar Bergabung
- Kanan Luar Bergabung
- Sertai Luar Sepenuhnya
Penyertaan dalaman:
Dalam gabungan dalaman, hanya tupel yang memenuhi kriteria yang sesuai disertakan, sementara selebihnya dikecualikan. Mari kita pelajari pelbagai jenis Inner Joins:
Theta Sertai:
Kes umum operasi JOIN disebut gabungan Theta. Ia dilambangkan dengan simbol θ
Contohnya
A ⋈θ B
Theta join boleh menggunakan sebarang syarat dalam kriteria pemilihan.
Sebagai contoh:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A. lajur 2> B. lajur 2 (B) | |
lajur 1 | lajur 2 |
---|---|
1 | 2 |
EQUI bergabung:
Apabila gabungan theta hanya menggunakan syarat kesetaraan, ia menjadi gabungan ekuiti.
Sebagai contoh:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. lajur 2 = B. lajur 2 (B) | |
lajur 1 | lajur 2 |
---|---|
1 | 1 |
EQUI join adalah operasi yang paling sukar untuk dilaksanakan dengan cekap menggunakan SQL dalam RDBMS dan satu sebab mengapa RDBMS mempunyai masalah prestasi penting.
BERSAMA ALAM (⋈)
Penggabungan semula jadi hanya dapat dilakukan jika ada atribut umum (lajur) antara hubungan. Nama dan jenis atribut mestilah sama.
Contohnya
Pertimbangkan dua jadual berikut
C | |
Bil | Petak |
---|---|
2 | 4 |
3 | 9 |
D | |
Bil | Kiub |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
C ⋈ D | ||
Bil | Petak | Kiub |
---|---|---|
2 | 4 | 4 |
3 | 9 | 27 |
BERSAMA KELUAR
Dalam gabungan luar, bersama tupel yang memenuhi kriteria yang sepadan, kami juga menyertakan beberapa atau semua tupel yang tidak sesuai dengan kriteria.
Sambungan Luar Kiri (A
B)
Dalam gabungan luar kiri, operasi membolehkan menyimpan semua tuple dalam hubungan kiri. Namun, jika tidak ada tupel yang sesuai ditemukan dalam hubungan yang tepat, maka atribut hubungan yang betul dalam hasil bergabung diisi dengan nilai nol.
Pertimbangkan 2 Jadual berikut
A | |
Bil | Petak |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Bil | Kiub |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
A ⋈ B | ||
Bil | Petak | Kiub |
---|---|---|
2 | 4 | 4 |
3 | 9 | 9 |
4 | 16 | - |
Sambungan Kanan Luar: (A
B)
Dalam gabungan luar kanan, operasi membolehkan menjaga semua tuple dalam hubungan yang betul. Namun, jika tidak ada tupel yang sesuai ditemukan dalam hubungan kiri, maka atribut hubungan kiri dalam hasil bergabung diisi dengan nilai nol.
AB
A ⋈ B | ||
Bil | Kiub | Petak |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Penyertaan Luar Penuh: (A
B)
Dalam gabungan luar penuh, semua tupel dari kedua-dua hubungan dimasukkan dalam hasilnya, tanpa mengira keadaan yang sepadan.
AB
A ⋈ B | ||
Bil | Kiub | Petak |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Ringkasan
Operasi (Simbol) |
Tujuan |
---|---|
Pilih (σ) |
Operasi SELECT digunakan untuk memilih subset tupel mengikut keadaan pemilihan yang diberikan |
Unjuran (π) |
Unjuran menghilangkan semua atribut hubungan input tetapi yang disebutkan dalam senarai unjuran. |
Operasi Kesatuan (∪) |
UNION dilambangkan dengan simbol. Ia merangkumi semua tuple yang terdapat dalam jadual A atau di B. |
Tetapkan Perbezaan (-) |
- Simbol menandakannya. Hasil A - B, adalah hubungan yang merangkumi semua tupel yang berada di A tetapi tidak di B. |
Persimpangan (∩) |
Persimpangan menentukan hubungan yang terdiri daripada sekumpulan semua tuple yang terdapat di A dan B. |
Produk Cartesian (X) |
Operasi Cartesian membantu menggabungkan lajur dari dua hubungan. |
Inner Sertai |
Inner join, hanya merangkumi tupel yang memenuhi kriteria yang sepadan. |
Theta Sertai (θ) |
Kes am operasi JOIN disebut gabungan Theta. Ia dilambangkan dengan simbol θ. |
EQUI Sertai |
Apabila gabungan theta hanya menggunakan syarat kesetaraan, ia menjadi gabungan ekuiti. |
Penyertaan Semula Jadi (⋈) |
Penggabungan semula jadi hanya dapat dilakukan jika ada atribut umum (lajur) antara hubungan. |
Sambungan Luar |
Dalam gabungan luar, bersama tupel yang memenuhi kriteria yang sepadan. |
Sambungan Luar Kiri ( |
Dalam gabungan luar kiri, operasi membolehkan menyimpan semua tuple dalam hubungan kiri. |
Gabungan Luar Kanan ( |
Dalam gabungan luar kanan, operasi membolehkan menjaga semua tuple dalam hubungan yang betul. |
Penyertaan Luar Penuh ( |
Dalam gabungan luar penuh, semua tupel dari kedua-dua hubungan dimasukkan dalam hasil tanpa mengira keadaan yang sepadan. |