aljabar relasional

12

Click here to load reader

Upload: endra-kuswara

Post on 30-Jun-2015

138 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: ALJABAR RELASIONAL

ALJABAR RELASIONAL

Disusun untuk Memenuhi Tugas Basis Data Terdistribusi

Yang dibina oleh Bu Triyanna W.,S.T., M.T.

Oleh:

Endra Kuswara

107533407696

Off A

Universitas Negeri Malang

Fakultas Teknik

Jurusan Teknik Elektro

Prodi S1 Pendidikan Teknik Informatika

Page 2: ALJABAR RELASIONAL

ALJABAR RELASIONAL

Aljabar relasional merupakan kumpulan operasi terhadap relasi, dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru.

Operasi-operasi pada aljabar relasional:

kelompok_filmjenis harga_sewaAction 2000horor 2500drama 3000

filmkode_film jenis judul jml_keping jml_film

A01 action Kungfu panda 2 3A02 action spiderman 2 5D01 drama Endles love 2 3H01 horor Suster keramas 2 2

1. SelectionOperasi yang digunakan untuk memilih subset dari tuple-tuple pada suatu relasi.Notasi : σp(r), p disebut selection predicate (yang menentukan pemilihan).Contoh: Dilakukan operasi σjenis=”drama”(film) pada relasi tabel film di atas.Perintah SQL: SELECT * from film WHERE jenis=”drama”Hasilnya: suatu relasi dengan tuple-tuple yang memiliki jenis sama dengan drama.

kode_film jenis judul jml_keping jml_filmD01 drama Endles love 2 3

2. ProjectionOperasi yang digunakan untuk memilih subset dari kolom-kolom pada suatu tabel.Notasi : πA1,A2,…,Ak(r), dimana A1, A2, …, Ak adalah daftar nama atribut dan r adalah nama suatu relasi.Contoh:Dilakukan operasi πkode_film, jenis, judul(film) pada relasi tabel film di atas.Perintah SQL: SELECT kode_film, film, judul from film .Hasilnya:

kode_film jenis judul

A01 action Kungfu pandaA02 action spidermanD01 drama Endles loveH01 horor Suster keramas

Page 3: ALJABAR RELASIONAL

3. UnionAdalah operasi yang digunakan untuk menggabungkan hasil dari beberapa query.Notasi : r È s, menghasilkan suatu relasi baru yang elemen barisnya merupakan elemen dari r dan s, tidak ada duplikasi data. Untuk r È s harus valid : r, s harus memiliki jumlah atribut yang sama.Contoh:

S1

sid sname rating age22 Dustin 7 4531 Lubber 8 5558 rusty 10 35

S2

Page 4: ALJABAR RELASIONAL

sid sname rating age28 yuppy 9 3531 lubber 8 5544 guppy 5 3558 rusty 10 35

Dilakukan operasi S 1∪ S2. Perintah SQL: SELECT* FROM S1 UNION SELECT* FROM S2Hasilnya:

sid sname rating age22 dustin 7 4531 lubber 8 5558 rusty 10 3544 guppy 5 3528 yuppy 9 35

4. IntersectionNotasi : r Ç s, menghasilkan suatu relasi baru dengan elemen barisnya merupakan elemen yang terdapat pada relasi r dan elemen tersebut juga terdapat pada relasi s, tidak ada duplikasi data. r dan s harus memiliki jumlah atribut yang sama.Contoh:Dilakukan operasi S 1∩ S2.Perintah SQL: SELECT* FROM S1 INTERSECT SELECT* FROM S2Hasilnya:

sid sname rating age31 lubber 8 5558 rusty 10 35

5. Set differenceNotasi r – s, hasilnya relasi yang elemen barisnya terdapat pada r tetapi tidak terdapat di s. r dan s harus memiliki jumlah atribut yang sama.Contoh:Dilakukan perintah S1 – S2.Perintah SQL: SELECT* FROM S1 MINUS SELECT* FROM S2Hasilnya:

sid sname rating age22 Dustin 7 45

6. Cross/cartesian productCross Product atau Cross Join atau Cartesian Product digunakan untuk mengkombinasikan record dari dua tabel. Cross join pada hakekatnya merupakan inner join di mana kondisi join selalu dievaluasi true. Secara matematis, jika A dan B merupakan dua himpunan, maka cross join-nya = A X B.

Page 5: ALJABAR RELASIONAL

Contoh:Dilakukan perintah S1 X R1.Perintah SQL: SELECT* FROM S1, S2.

S1

sid sname rating age22 Dustin 7 4531 Lubber 8 5558 rusty 10 35

R1

Page 6: ALJABAR RELASIONAL

sid bid day22 101 10/10/9958 103 11/12/96

Hasilnya:S1 X R1

sid sname rating age sid bid day22 Dustin 7 45 22 101 10/10/9922 Dustin 7 45 58 103 11/12/9631 Lubber 8 55 22 101 10/10/9931 Lubber 8 55 58 103 11/12/9658 rusty 10 35 22 101 10/10/9958 rusty 10 35 58 103 11/12/96

7. Join

Merupakan operasi yang digunakan untuk menggunakan informasi dari dua atau

lebih relasi ( ). Join dapat didefinisikan sebagai kombinasi record dari dua atau lebih

tabel di dalam basis data relasional dan menghasilkan sebuah tabel (temporary) baru—yang

disebut sebagai joined table.

Condition Join

Condition Join identik dengan Selection Condition. Bentuk operasinya yakni :

R c S = s c (R ´ S)

Dalam kasus ini kondisi yang biasanya terjadi ditentukan dengan tanda >, <, ≤, ≥, <>

Jadi, Condition Join ditentukan untuk menjadi sebuah Cross – Product yang diikuti

dengan satu selection.

Equijoin

Notasi Aljabar Relasional: R S

Satu kasus khusus yang biasa terjadi pada operasi join R S dengan terdiri dari

persamaan dari bentuk R.name1 = S.name1

Equijoin dapat diklasifikasikan ke dalam dua jenis: inner dan outer.

a. Inner Join (Intersection)

Inner join pada dasarnya adalah menemukan persimpangan (intersection) antara dua buah

tabel.

Page 7: ALJABAR RELASIONAL

Gambar 1. Inner Join

Sintaks SQL Inner Join atau Intersection adalah sebagai berikut:

SELECT x1, x2, ..., xnFROM AINNER JOIN BON A.join_key = B.join_key

atau

SELECT x1, x2, ..., xnFROM A, B

WHERE A.key = B.key

Contoh:

b. Outter Join

Outer join dibagi ke dalam tiga jenis: Left , Right, dan Full outer join (Union).

- Left Outer Join

Left outer join (atau left join) mengembalikan semua nilai dari tabel kiri ditambah

dengan nilai dari tabel kanan yang sesuai (atau NULL jika tidak ada nilai yang sesuai).

Page 8: ALJABAR RELASIONAL

Gambar 2. Left Outer Join

Sintaks SQL Left Outer Join adalah sebagai berikut:

SELECT x1, x2, ..., xnFROM ALEFT OUTER JOIN BON A.join_key = B.join_key

Contoh:

- Right Outter Join

Right outer join (atau right join) mengembalikan semua nilai dari tabel kanan

ditambah dengan nilai dari tabel kiri yang sesuai (atau NULL jika tidak ada nilai yang sesuai).

Gambar 3. Right Outer Join

Sintaks SQL Right Outer Join adalah sebagai berikut:

SELECT x1, x2, ..., xnFROM ARIGHT OUTER JOIN BON A.join_key = B.join_key

Contoh:

Page 9: ALJABAR RELASIONAL

- Full outer join (Union).

Full outer join (atau full join) pada hakekatnya merupakan kombinasi dari left dan

right join.

Gambar 4. Full Outer Join (Union)

Sintaks SQL Full Outer Join adalah sebagai berikut:

SELECT x1, x2, ..., xnFROM AFULL OUTER JOIN BON A.join_key = B.join_key

Untuk beberapa DBMS yang tidak mendukung sintaks SQL Full Outer Join, dapat pula

memanfaatkan UNION seperti pada sintaks SQL berikut ini:

SELECT x1, x2, ..., xnFROM ALEFT OUTER JOIN BON A.join_key = B.join_keyUNIONSELECT x1, x2, ..., xnFROM ARIGHT OUTER JOIN BON A.join_key = B.join_key

Page 10: ALJABAR RELASIONAL

Natural Join

Natural join adalah satu equijoin dimana persamaan ditentukan pada semua field yang

mempunyai nama sama dalam R dan S. Dalam kasus ini, kita dapat mengabaikan

condition join, defaultnya adalah condition join yang merupakan kumpulan equality pada

semua field biasa. Kasus seperti ini disebut Natural Join, dan properti bagusnya adalah

hasilnya dijamin tidak memiliki 2 field dengan nama sama.

Contoh:SELECT C.*, P.PRODUCTID, P.PRODUCTNAME FROM CATEGORIES C

INNER JOIN PRODUCTS P

ON P.CATEGORYID = C.CATEGORYID