Aljabar Relasional dalam DBMS dengan Contoh

โšก Ringkasan Cerdas

Aljabar Relasional dalam DBMS adalah bahasa kueri prosedural yang menerima relasi sebagai input dan menghasilkan relasi baru sebagai output. Aljabar ini mengelompokkan operator ke dalam kategori unary, set, dan binary, yang menyediakan landasan teoritis yang digunakan mesin SQL untuk menerjemahkannya menjadi rencana kueri yang dapat dieksekusi.

  • ๐Ÿ” Mulailah dengan operator unary: SELECT, PROJECT, dan RENAME memfilter baris, memilih kolom, dan mengganti nama atribut pada satu relasi.
  • ๐Ÿ“š Terapkan teori himpunan: UNION, INTERSECTION, DIFFERENCE, dan CARTESIAN PRODUCT menggabungkan relasi yang kompatibel dengan union menjadi hasil baru.
  • ๐Ÿ”— Bergabunglah dengan sengaja: Theta, Equi, dan Natural join menangani kecocokan internal, sedangkan Left, Right, dan Full Outer join menyimpan tuple yang tidak cocok dengan nilai null.
  • ๐Ÿ“ Kompatibilitas jam tangan: Selalu pastikan bahwa aritas, nama atribut, dan domain selaras sebelum melakukan operasi himpunan atau gabungan apa pun.
  • ๐Ÿค– Gunakan AI untuk menerjemahkan: Asisten AI mengkonversi ekspresi aljabar menjadi SQL, menjelaskan prioritas operator, dan menandai kondisi gabungan yang hilang dalam bahasa Inggris yang mudah dipahami.

Aljabar Relasional dalam DBMS

Apa itu Aljabar Relasional?

Aljabar Relasional SQL adalah bahasa kueri prosedural yang menerima instance relasi sebagai input dan mengembalikan instance relasi baru sebagai output. Bahasa ini menerapkan serangkaian operator tetap secara rekursif pada satu atau lebih relasi, dan hasil dari setiap operator itu sendiri adalah relasi yang dapat dimasukkan ke dalam operasi berikutnya. Mesin SQL mengandalkan aljabar ini untuk merencanakan dan mengeksekusi kueri.

Aljabar Relasional Dasar Operations

Operator aljabar relasional terbagi menjadi tiga kelompok.

Relasional Unary Operations

  • PILIH (ฯƒ)
  • PROYEK (ฯ€)
  • GANTI NAMA (ฯ)

Operateori himpunan

  • UNION (โˆช)
  • PERPOTONGAN (โˆฉ)
  • PERBEDAAN (โˆ’)
  • HASIL PERKALIAN KARTESIAN (ร—)

Relasional Biner Operations

  • BERGABUNG
  • DIVISI

Bagian-bagian di bawah ini menjelaskan setiap operator beserta contoh-contohnya.

PILIH (ฯƒ)

The MEMILIH Operasi ini memilih subset tupel yang memenuhi predikat yang diberikan. Simbol sigma ฯƒ menunjukkannya:

ฯƒp(r)

dimana ฯƒ adalah operatornya, p adalah kondisi proposisional, dan r adalah relasi (tabel). SELECT mempertahankan skema dan membuang baris yang gagal memenuhi predikat.

Contoh 1

ฯƒ topic = "Database" (Tutorials)

Memilih tuple dari Tutorial di mana topiknya sama dengan โ€œBasis Dataโ€.

Contoh 2

ฯƒ topic = "Database" AND author = "guru99" (Tutorials)

Memilih tuple dari Tutorial di mana topiknya adalah โ€œBasis Dataโ€ dan penulisnya adalah guru99.

Contoh 3

ฯƒ sales > 50000 (Customers)

Memilih tuple dari pelanggan yang nilai penjualannya lebih besar dari 50,000.

Proyeksi (ฯ€)

The proyeksi Operator ini menghapus semua atribut dari relasi input kecuali yang tercantum, menghasilkan subset vertikal. Proyeksi juga menghilangkan baris duplikat yang dihasilkan dari penghapusan.ping atribut. Simbol pi ฯ€ menunjukkannya.

Contoh: Perhatikan tabel berikut.

ID Pelanggan Nama Pelanggan Status
1 Google Aktif
2 Amazon Aktif
3 Apple non-aktif
4 Alibaba Aktif

Memproyeksikan berdasarkan CustomerName dan Status:

ฯ€ CustomerName, Status (Customers)
Nama Pelanggan Status
Google Aktif
Amazon Aktif
Apple non-aktif
Alibaba Aktif

Ganti nama (ฯ)

The mengubah nama Operator adalah operasi unary yang memberikan nama baru pada suatu atribut (atau pada seluruh relasi). Misalnya, ฯ(a/b) R mengubah nama atribut b hubungan R untuk aFungsi Rename sangat berguna ketika Anda perlu melakukan self-join atau menggabungkan dua relasi yang memiliki nama atribut yang sama.

Serikat Operation (โˆช)

The PERSATUAN operator, dilambangkan dengan โˆช, mengembalikan setiap tuple yang muncul di relasi A atau relasi B, dengan secara otomatis menghapus duplikatnya.

Result โ† A โˆช B

Agar suatu persatuan dianggap sah:

  • A dan B harus memiliki jumlah atribut yang sama (arity yang sama).
  • Domain atribut yang bersesuaian harus kompatibel.
  • Tuple duplikat akan dihapus secara otomatis.

Contoh. Perhatikan kedua tabel ini:

Tabel A Tabel B
kolom 1 kolom 2 kolom 1 kolom 2
1 1 1 1
1 2 1 3

A โˆช B memberikan:

kolom 1 kolom 2
1 1
1 2
1 3

Selisih Himpunan (โˆ’)

Simbol minus menunjukkan perbedaan himpunan. Hasil dari A โˆ’ B adalah relasi yang berisi semua tupel yang ada di A tetapi tidak ada di B.

  • A dan B harus kompatibel secara gabungan.
  • Nama atribut dan domain harus selaras.

Contoh: A โˆ’ B

kolom 1 kolom 2
1 2

Irisan (โˆฉ)

The persimpangan operator, dilambangkan dengan โˆฉ, mendefinisikan relasi yang berisi setiap tupel yang muncul di A dan B. A dan B harus kompatibel secara gabungan.

Definisi visual dari persimpangan

Definisi visual dari persimpangan.

Contoh: A โˆฉ B

kolom 1 kolom 2
1 1

Produk Kartesius (ร—) dalam DBMS

The produk kartesius Menggabungkan setiap tupel dari satu relasi dengan setiap tupel dari relasi lain, menggabungkan kolom-kolomnya. Sendirian, hasilnya jarang berguna, tetapi jika dikombinasikan dengan predikat SELECT, ia menjadi dasar dari JOIN. Ini juga disebut produk silang atau gabungan silang.

Contoh: ฯƒ kolom 2 = '1' (A ร— B)

Ekspresi tersebut mengembalikan setiap baris dari A ร— B yang column 2 nilainya 1.

kolom 1 kolom 2
1 1
1 1

Ikuti seminar Operations

A ikut adalah hasil perkalian Kartesius yang diikuti oleh predikat seleksi. Gabungan dilambangkan dengan โ‹ˆ simbol dan memungkinkan Anda menggabungkan tupel terkait dari relasi yang berbeda dengan cara yang bermakna.

Jenis-jenis penggabungan (join):

  • Penggabungan dalam (inner join): Sambungan Theta, Sambungan Equi, Sambungan Alami.
  • Gabungan luar (outer join): Sambungan Kiri, Kanan, dan Luar Penuh.

Gabung Batin

Dalam bergabung dalamHanya tuple yang memenuhi kriteria pencocokan yang disertakan; sisanya dibuang.

Gabung Theta

Bentuk umum dari JOIN adalah Theta bergabung, dilambangkan dengan ฮธ. Theta join dapat menggunakan kondisi perbandingan apa pun dalam kriteria seleksinya.

A โ‹ˆฮธ B

Sebagai contoh:

A โ‹ˆ A.column 2 > B.column 2 (B)
kolom 1 kolom 2
1 2

Equi Join

Ketika operasi Theta join hanya menggunakan kondisi kesamaan, maka operasi tersebut menjadi sebuah Equi bergabung.

A โ‹ˆ A.column 2 = B.column 2 (B)
kolom 1 kolom 2
1 1

Sambungan Equi adalah salah satu gaya sambungan yang paling banyak digunakan, dan RDBMS Pengoptimal kueri biasanya mencurahkan upaya yang signifikan untuk membuatnya efisien.

Gabung Alami (โ‹ˆ)

A Gabungan alami Membutuhkan atribut (kolom) umum antara relasi. Atribut bersama harus memiliki nama dan domain yang sama. Hasilnya berisi satu salinan kolom yang cocok.

Perhatikan kedua tabel ini.

Tabel C
Di Persegi
2 4
3 9
Tabel D
Di Kubus
2 8
3 27

C โ‹ˆ D menghasilkan:

Di Persegi Kubus
2 4 8
3 9 27

Gabung Luar

An gabungan luar menyimpan tuple yang memenuhi kriteria pencocokan ke tuple yang tidak sesuai, mengisi kolom yang hilang dengan NULL.

Gabung Luar Kiri (A โŸ• B)

Left outer join mempertahankan setiap tuple dalam relasi sebelah kiri. Jika sebuah baris di A tidak memiliki baris yang cocok di B, atribut yang disumbangkan oleh B diisi dengan NULL.

Gabung Luar Kiri

Perhatikan tabel-tabel berikut:

Tabel A
Di Persegi
2 4
3 9
4 16
Tabel B
Di Kubus
2 8
3 18
5 75

A โŸ• B memberikan:

Di Persegi Kubus
2 4 8
3 9 18
4 16 NULL

Gabungan Luar Kanan (A โŸ– B)

Right outer join mempertahankan setiap tuple dalam relasi kanan. Jika sebuah baris di B tidak memiliki baris yang cocok di A, kolom yang disumbangkan oleh A diisi dengan NULL.

Gabung Luar Kanan

A โŸ– B memberikan:

Di Kubus Persegi
2 8 4
3 18 9
5 75 NULL

Full Outer Join (A โŸ— B)

Full outer join mempertahankan setiap tuple dari kedua relasi, terlepas dari apakah kondisi join terpenuhi atau tidak. Nilai yang hilang di kedua sisi akan menjadi NULL.

A โŸ— B memberikan:

Di Persegi Kubus
2 4 8
3 9 18
4 16 NULL
5 NULL 75

OperaRingkasan Referensi tor

Gunakan tabel referensi ini untuk mengingat sekilas fungsi setiap operator.

Operation (Simbol) Tujuan
PILIH (ฯƒ) Memilih subset tupel yang memenuhi predikat yang diberikan.
PROYEK (ฯ€) Hanya menyimpan atribut yang tercantum dan menghapus baris duplikat.
UNION (โˆช) Mengembalikan setiap tuple yang muncul di A atau B tanpa duplikat.
SELISIH HIMPUNAN (โˆ’) Mengembalikan tuple dalam A yang tidak ada dalam B.
PERPOTONGAN (โˆฉ) Mengembalikan tuple yang muncul di A dan B.
HASIL PERKALIAN KARTESIAN (ร—) Menggabungkan setiap tupel A dengan setiap tupel B.
INNER JOIN Hanya menyimpan tuple yang sesuai dengan kondisi penggabungan.
THETA GABUNG (ฮธ) Penggabungan bentuk umum menggunakan predikat perbandingan apa pun.
BERGABUNGLAH DENGAN EQUI Theta join yang hanya menggunakan perbandingan kesamaan.
GABUNG ALAMI (โ‹ˆ) Menghubungkan relasi berdasarkan atribut yang memiliki nama dan domain yang sama.
LEFT OUTER JOIN (โŸ•) Mempertahankan setiap tuple dari relasi kiri, mengisi relasi kanan dengan NULL.
GABUNGAN LUAR KANAN (โŸ–) Mempertahankan setiap tuple dari relasi sebelah kanan, mengisi sebelah kiri dengan NULL.
GABUNGAN LUAR PENUH (โŸ—) Menyimpan setiap tuple dari kedua relasi, mengisi nilai yang hilang dengan NULL.

Pertanyaan Umum Demo Slot

Aljabar relasional adalah bahasa matematika prosedural yang digunakan untuk mendefinisikan operasi pada relasi. SQL adalah bahasa kueri deklaratif yang diterjemahkan oleh mesin basis data ke dalam rencana eksekusi bergaya aljabar secara internal.

Dua relasi dikatakan kompatibel dengan operasi union jika keduanya memiliki jumlah atribut yang sama dan setiap atribut yang bersesuaian memiliki domain yang sama. Operasi UNION, INTERSECTION, dan DIFFERENCE semuanya membutuhkan kompatibilitas union.

Hasil perkalian Kartesius mengalikan setiap baris A dengan setiap baris B, menghasilkan relasi perantara yang sangat besar dan kurang bermakna. Biasanya diikuti oleh predikat SELECT agar menjadi operasi join yang berguna.

Tidak. Aljabar relasional murni memperlakukan relasi sebagai himpunan, sehingga duplikat secara otomatis dihilangkan setelah setiap operasi. SQL berperilaku berbeda โ€” ia bekerja pada multiset dan hanya menghapus duplikat ketika DISTINCT digunakan.

Operator DIVISION menjawab kueri โ€œuntuk semuaโ€ โ€” misalnya, mencari pelanggan yang memesan setiap produk dalam katalog. Operator ini mengembalikan tupel dari satu relasi yang cocok dengan setiap tupel dari relasi lainnya.

Gunakan outer join ketika baris yang tidak cocok masih memiliki makna โ€” misalnya, mencantumkan setiap pelanggan beserta data pesanan opsional. Inner join akan menghapus baris yang tidak cocok tersebut; outer join akan mempertahankannya dengan nilai NULL sebagai pengisi.

Asisten AI menerjemahkan ekspresi aljabar ke dalam SQL dan sebaliknya, menjelaskan prioritas operator langkah demi langkah, dan menandai predikat gabungan yang hilang yang jika tidak akan mengubah kueri menjadi produk Cartesian yang lambat.

Ya. Alat AI mengubah pertanyaan berbahasa Inggris sederhana seperti "pelanggan dari India yang membeli setiap produk" menjadi pohon aljabar dengan operator SELECT, PROJECT, dan DIVISION, lalu mengubahnya menjadi SQL yang dapat dijalankan.

Ringkaslah postingan ini dengan: