• Tidak ada hasil yang ditemukan

Sinopsis Aljabar Relasional PUTRI

N/A
N/A
Protected

Academic year: 2017

Membagikan "Sinopsis Aljabar Relasional PUTRI"

Copied!
13
0
0

Teks penuh

(1)

Aljabar R elasional

ALJABAR RELASIONAL adalah kumpulan operasi relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru, dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data. (sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut). Operasi-operasi dasar dalam aljabar relasional adalah : select, project, union, set difference, dan cartesian product. Disamping operasi-operasi dasar terdapat beberapa operasi tambahan seperti set intersection, natural join, division dan theta join.

a) Terdapat enam operasi dasar dalam aljabar relasional :

1. Selection. 2. Projection.

3. Cartesian – product. 4. Union.

5. Set – difference.

6. Rename.

b) Operasi-operasi turunan dari operasi dasar tersebut adalah

(2)

5. Division. 6. Minus.

7. Aggregate function.

Semua operasi tersebut menghasilkan relasi baru.

Pemrogram menggunakan query SQL, DBMS menggunakan aljabar relasional sebagai bahasa antara dalam spesifikasi alogaritma query.

Langkah-langkah dalam DBMS untuk pengolahan query adalah :

1. DBMS melakukan parsing pada string query SQL, dan diterjemahkan kedalam ekspresi aljabar relasional yang dapat menuntun kedalam alogaritma sederhana yang tidak efisien. 2. Lalu bagian optimizer akan mengkonversi akspresi aljabar relasional ini menjadi ekspresi

lain yang ekivalen namun lebih efisien untuk dieksekusi.

3. Query optimizer akan mempersiapkan rencana eksekusi yang kemudian ditransformasikan menjadi kode yang dapat dieksekusi pembangkit kode di DBMS. 4. Karena ekspresi aljabar mempunyai semantik matematis yang presisi, maka sistem dapat

memferifikasi ekivalensi ekspresi yang dioptimasi yang dihasilkan dari manipulasi ekspresi asal. Semantik ini juga memungkinkan perbandingan rencana-rencana evaluasi query yang berbeda.

OPERASI ALJABAR RELASIONAL.

1. Operasi Selection.

(3)

2. Operasi projection.

adalah operasi untuk memperoleh kolom-kolom tertentu. Operasi project merupakan operasi unary yang mengirim relasi argumen dengan kolom-kolom tertentu. Dikarenakan relasi adalah himpunan, maka baris-baris duplikasi dihilangkan.

3. Operasi Cartesian-product(x).

adalah operasi untuk menghasilkan tabel hasil perkalian kartesian. 4. Operasi Union.

adalah operasi untuk menghasilkan gabungan tabel dengan syarat kedua tabel memiliki atribut yang sama, yaitu domain atribut ke-i masing-masing tabel harus sama.

5. Operasi Set Difference.

adalah operasi untuk mendapatkan tabel pada suatu relasi, tapi tidak ada pada relasi yang lain.

R-S = {x|x ER dan X !E S}.

Operasi ini dapat dilaksanankan apabila R dan S mempunyai atribut yang tidak sama yang akan ditampilkan, artinya adalah atribut R yang tidak ada di S akan ditampilkan, sedangkan yang sama tidak ditampilkan.

6. Operasi Rename.

adalah operasi untuk menyalin tabel lama ke dalam tabel yang baru. 7. Operasi Set-Intersection.

adalah termasuk kedalam operator tambahan, karena operator ini dapat diverifikasi dari operator dasar seperti berikut :

(4)

8. Operasi Theta join.

adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu kriteria\syarat.

9. Operasi Natural Join.

adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu kriteria pada kolom yang sama.

10. Operasi Outer – join.

adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu kriteria pada kolom yang sama.

11. Operasi Devision.

adalah operasi yang banyak digunakan dalam query yang mencakup frase “setiap” atau “untuk semua”, operasi ini juga merupakan pembagian atas tupel-tupel dari dua relasi.

Beberapa penjelasan dan conoth dari operasi relasional:

(5)

Definisi:

• Notasi : σp(r)

• p disebut sebgai predikat selection

• Definisi selection : σp(r) = {t | t εr and p(t)}

Di mana p adalah sebuah formula dalam kalkulus proposisi yang terdiri atas term yang dihubungkan dengan

Setiap term adalah satu dari :

<attribute> op <attribute> or <constant>

di mana op adalah salah satu dari: =, ≠, >, ≥. <. ≤ • Contoh selection:

(6)

Definisi: • Notasi :

ΠA1, A2, …, Ak(r)

di mana A1, A2 adalah nama atribut, danradalah nama relasi.

• Hasil operasi project didefinisikan sebagai relasi dengan kolom sebanyak k yang diperoleh dengan menghapus kolom yang tidak termasuk dalam kriteria.

Duplicate rows dihilangkan dari relasi hasil, karena relasi adalah sebuah himpunan. • Contoh : apabila kita ingin memperoleh informasi dari relasi account, tetapi tanpa atribut

branch-name :

Πaccount-number, balance(account)

(7)

Definisi:

• Notasi: r U s

• Definisi operasi union :

r U s = {t | t ε r or t ε s} • Kriteria valid r U s:

– 1. r, s harus mempunyai arity sama (jumlah atributnya sama)

– 2. Domain atribut harus kompatibel (misal : kolom kedua relasi r mempunyai tipe data yang sama dengan kolom kedua relasi s)

• Contoh : untuk mencari semua customer yang mempunyai account atau pinjaman : Πcustomer-name(depositor) U Πcustomer-name(borrower).

(8)

Definisi:

• Notasi : r – s

• Definisi : r – s = {t | t ε r and t ∉ s}

• Operasi set difference harus dilakukan pada relasi yang kompatibel : – r dan s harus mempunyai arity sama

– Domain atribut r dan s harus kompatibel. e) Contoh Operasi Cartesian-Product

Definisi:

• Notasi : r x s

• Definisi : r x s = {t q | t ε r and q ε s}

• Asumsi atribut r(R) dan s(S) disjoint. (Yaitu R S = ∅).

(9)

Memungkinkan untuk memberi nama dan mengacu hasil dari operasi ekspresi aljabar relasional. Memungkinkan untuk mengacu sebuah relasi dengan lebih dari satu nama. Contoh : ρ x (E) mengembalikan ekspresi E dengan nama. Jika ekspresi aljabar relasional E mempunyai arity n, maka ρx (A1, A2, …, An) (E) mengembalikan hasil ekspresi E dengan nama X, dan atributnya direname menjadi A1, A2, …., An.

Operator ini digunakan untuk memberi nama pada hasil atau output query, keluaran statement selection, dan untuk melihat query pada beberapa waktu. Operator ini dilambangkan dengan rho (ρ) cara penulisan umum operator ini adalah

ρ s(B1, B2, B3,….Bn)(R )

dimana ρ adalah operasi RENAME, S adalah nama relasi yang baru, B1,B2,B3,.. Bn adalah nama atribut(kolom) yang baru, dan R adalah relasi atau tabel yang atributnya kita pilih.

Sebagai contoh, kita akan memilih Date of Birth dan Employee Number dan menamainya ulang dengan ‘Tanggal_Lahir’ dan ‘Nomor_Pegawai’ dari relasi EMPLOYEE

ρ s(Birth_Date, Employee_Number)(EMPLOYEE ) ← ∏dob, empno(EMPLOYEE )

arah panah yang ditulis di atas berarti pertama kali, kita mendapatkan hasil oerasi PROJECT di bagian kanan panah, kemudian mengaplikasikan operasi RENAME pada hasil di bagian kanan panah. Dalam SQL, dapat dituliskan sebagai berikut:

SELECT dob AS ‘Tanggal_Lahir’, empno AS ‘Nomor_Pegawai’ FROM EMPLOYEE

Operasi-operasi Tambahan:

Intersection

Setintersection / Intersection (∩) termasuk ke dalam operator tambahan, karena operator ini dapat diderivikasi dari operator dasar seperti berikut:

(10)

Operasi setintersection berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel relasi dan juga ada dalam tabel relasi lainnya. Simbol “∩“ digunakan untuk menunjukkan operasi

setintersection.

Contoh penggunaan operasi set intersection :

Tampilkan NIP (dari tabel Dosen) Set Intersection dengan NIP (dari tabel Mengajar). Aljabar relasional: πNIP (Dosen) ∩ πNIP (Mengajar)

Hasil: NIP 95002 95003 95004

Natural Join

Operasi naturaljoin berfungsi untuk menggabungkan operasi selection dan cartesian

product menjadi hanya 1 operasi saja. Simbol “⋈“ digunakan untuk menunjukkan operasi

natural join. Operasi naturaljoin hanya menghasilkan tupel yang mempunyai nilai yang sama pada 2 atribut yang bernama sama pada 2 tabel relasi yang berbeda.

Contoh penggunaan operasi natural join :

Tampilkan seluruh data yang ada pada tabel Matakuliah dan tabel Mengajar. Aljabar relasional : Matakuliah ⋈ Mengajar.Kode_mk=Matakuliah.Kode_mk Mengajar

Hasil:

Kd_mk Nama_mk Sks NIP Kelas

MKB3 BDT 3 95002 A

MKB4 ASD 3 95002 A

MPK1 PKN 2 95003 A

MPK1 PKN 2 95003 B

MKB4 ASD 3 95004 B

Theta Join

Operasi thetajoin berfungsi untuk mengkombinasikan tupel dari 2 tabel relasi dimana kondisi dari kombinasi tersebut tidak hanya nilai dari 2 atribut bernama sama, tetapi kondisi yang diinginkan juga bisa menggunakan operator relasional (≤, <, =, >, ≥). Operasi thetajoin

merupakan ekstensi dari natural join.

(11)

Tampilkan seluruh data yang ada pada tabel Matakuliah dan tabel Mengajar. Aljabar relasional : Matakuliah ⋈ Mengajar.Kode_mk=Matakuliah.Kode_mk Mengajar

Hasil:

Kd_mk Nama_mk Sk s

NIP Kd_mk Kelas

MKB3 BDT 3 9500

2

MKB3 A

MKB4 ASD 3 9500

2

MKB4 A

MPK1 PKN 2 9500

3

MPK1 A

MPK1 PKN 2 9500

3

MPK1 B

MKB4 ASD 3 9500

4

MKB4 B

 Division Operation

Operasi ini akan menghasilkan relasi R(X) yang mengandung semua tuple t[X] dalam R(Z) yang muncul di R1 dalam kombinasi dengan setiap tuple dari R2(Y), dimana Z = X ∪ Y. Operasi DIVISION ini dilambangkan dengan

R1(Z) ∻ R2(Y)

Operator DIVISION ini adalah operator yang paling sulit diimplementasikan di SQL karena tidak ada perintah DIVISION yang ada. Operator DIVISION akan terlihat sebagai lawan dari CARTESIAN PRODUCT; seperti dalam matematika standard, hubungan antara pembagian dan perkalian. Maka dari itu, serangkaian perintah SQL sekarang ini harus dilengkapi dengan operator DIVISION. Sebuah contoh dari implementasi operator DIVISION ini adalah:

(12)

 Minus

Operasi ini memilih tuple ari satu relasi yang tidak ada di relasi yang lain. Misalkan ada relasi A dan B, operasi A – B dibaca operasi A MINUS B, yang menghasilkan tuple yang ada di A namun tidak ada di B. Implementasi SQL dari operasi MINUS ini adalah:

MINUS

RESULT ← A – B

SQL Statement SELECT dob From A MINUS SELECT dob from B

 Aggregate Function

Fungsi aggregate dikenal dengan kata kunci singkatan dari nama operatornya Avg : average value

Min : minimum balue Max : maximum value Sum : sum values

Count: number of values

 Outer Join

Operasi ini merupakan ekstensi dari operasi join. Operasi ini menghindari adanya informasi yang hilang, dengan menghitung join, kemudian menambahkan tuple yang tidak mendapatkan pasangan kemudian mengisiskan atribut-atribut yang tidak terdefinisi menggunakan nilai null. Sebenarnya terdapat tiga jenis outer join, yaitu:

(13)

Operasi ini mengambil semua tuple di sebelah kiri relasi. Tuple dari relasi sebelah kiri yang tidak memiliki pasangan dari relasi sebelah kanan akan diisi dengan nilai null.

 Right outer join

Operasi ini merupakan kebalikan dari left outer join. Operasi ini mengambil semua tuple yang berada di sebelah kanan relasi yang tidak memiliki pasangan dari relasi dari relasi sebelah kiri akan diisi dengan nilai null.

 Full outer join

Operasi ini merupakan gabungan dari kedua operasi di atas, dengan mengisikan null pada atribut yang tidak memiliki pasangan di kedua relasi, baik yang kiri maupun yang kanan.[5]

Referensi :

- Database System Concepts Silberschatz-Korth-Sudarshan, McGraw Hill, Fourth Edition, 2002

Referensi

Dokumen terkait

Menganalisis kinerja lapangan penumpukan petikemas.Merencanakan proyeksi pertumbuhan petikemas jangka pendek (hingga tahun 2016) di pelabuhan Pulau Baai

Selain itu Kualitas Pelayanan, Kepercayaan dan Kepuasan Konsumen secara simultan berpengaruh positif terhadap Word of Mouth ditunjukkan dengan koefisien determinasi

5. Program Peningkatan Kehidupan Masyarakat Miskin Perkotaan *) KEBIJAKAN EKONOMI-MAKRO Peningkatan Kesejahteraan Masyarakat, serta Perluasan dan Peningkatan Kesempatan Kerja

Pungutan daerah yang selanjutnya disebut Pungutan adalah penerimaan daerah selain penerimaan Pajak Daerah dan Retribusi Daerah, akibat adanya suatu ikatan perjanjian

Sesungguhnya Allah subhaanahu wata'ala menutup penglihatan manusia dari hal tersebut, tujuaannya adalah sebagai ujian bagi mereka agar menjadi jelas siapakah yang beriman kepada

Dari penelitian yang telah dilaksanakan di Kenagarian Manggilang Kecamatan Pangkalan Koto Baru Kabupaten Lima Puluh Kota didapat bahwa kondisi umum pemasaran

Hal ini menunjukkan bahwa pertumbuhan tanaman jagung mempunyai perkembangan pada fase vegetatif yang sangat baik walaupun di dalam tanah ketersediaan unsur hara NPK sangat

Hasil yang diperoleh juga menunjukkan bahwa peubah vegetatif seperti tanaman yang tinggi dengan daun-daun yang banyak sangat menunjang fase reproduktif