PERTEMUAN 13

Post on 03-Jan-2016

39 views 0 download

description

PERTEMUAN 13. Sistem Basis Data. Presented by : Sity Aisyah Nasution, M.Kom Email : dryesha@gmail.com Blog : yeshasalsabila.blogspot.com. Aljabar Relasional. Query Procedural. - PowerPoint PPT Presentation

Transcript of PERTEMUAN 13

PERTEMUAN 13

Sistem Basis Data

Presented by :Sity Aisyah Nasution, M.KomEmail : dryesha@gmail.comBlog : yeshasalsabila.blogspot.com

1

Aljabar RelasionalQuery Procedural

o Beberapa query yang murni adalah aljabar relasional (relational algebra) yang merupakan bahasa query bersifat procedural.

o Aljabar relasional merupakan bahasa query formal yang dipenuhi dengan aneka ekspresi matematis.

o Aljabar relasional adalah sebuah query procedural yang terdiri dari sekumpulan operasi-operasi yang dimasukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi atau tabel baru sebagai hasil dari operasi tersebut. 2

Simbol Aljabar Relasional• Aljabar relasional memiliki simbol yang terdiri dari suatu

perintah atau susunan perintah yang dijalankan pada satu atau lebih input relasi dan menghasilkan relasi atau tabel baru sebagai output.

• Ada beberapa perintah atau operasi pada aljabar relasional, kemudian operasi-operasi tersebut dibedakan menjadi operasi unari (unary relation) dan operasi bineri (binary relation), yaitu :

3

• Select : menggunakan simbol sigma ()

• Project : menggunakan simbol phi ()

• Cartesian Product : menggunakan simbol tanda silang (x)

• Union : menggunakan simbol ()

• Set Intersection : menggunakan simbol ()

• Set Difference : menggunakan simbol ()

Operasi select dan project merupakan unary operation, sedangkan cartesian product, union, set intersection dan set difference disebut binary operation.

4

Operasi Unari (Unary Operation)Merupakan operasi atau perintah yang hanya memerlukan satu relasi atau tabel.

Operasi Seleksi (Select)Digunakan untuk menyeleksi atau mencari record-record yang

memenuhi predikat atau syarat yang sudah ditentukan, kemudian hasilnya dituliskan pada relasi baru sebagai hasil operasi select.

Operasi select menggunakan simbol sigma (), sedangkan predikat ditulis sebagai subscript dari notasi tersebut.

Sintaks : P (E1)

Dimana : P adalah predikat pd atribut2 E1E1 adalah tabel atau relasi

5

Diketahui relasi Suplier A sbb :

Misalkan untuk memilih atau mencari record-record dari tabel Suplier A dimana S# adalah “S1” ditulis :

S# = “S1”, “Snama”, “Status”, “Skota” (Suplier A)

Tabel : Suplier AS# Snama Status KotaS1 Adam 20 BogorS4 Paul 20 BandungS3 Bran 10 TangerangS2 Dika 10 Bekasi

Hasil dari query diatas adalah :

S# Snama Status KotaS1 Adam 20 Bogor

6

Tanda kutip tunggal (‘) atau tanda kutip ganda (“) digunakan untuk mengapit sebuah konstanta teks.

Hasil query tersebut juga berupa tabel, tetapi hanya berisi record-record yang memenuhi kondisi tersebut.

Pada operasi select diperbolehkan menggunakan perbandingan, misalnya ; =, , <, , >, ≥ pada predikat dari operasi tersebut. Demikian juga halnya kombinasi dari beberapa predikat untuk membentuk predikat yang lebih kompleks dengan menggunakan notasi atau .

7

Operasi Projeksi (Project)

• Digunakan untuk memilih kolom atau atribut tertentu untuk ditampilkan.

• Operasi ini beroperasi disebuah tabel, yaitu dengan membentuk tabel baru dengan melengkapi atribut-atribut dan domain-domain dari tabel berdasarkan argumen-argumen pada operator tersebut.

• Simbol yang digunakan operasi project adalah phi ().

Sintaks :

S (E1)

Dimana : S adalah daftar (list) yang berisi satu atau lebih field yg ada di E1E1 adalah tabel atau relasi

8

Hasil dari query diatas adalah :

9

Misalkan untuk menampilkan seluruh Snama, Status,kota tanpa S# dari relasi Suplier A ditulis :

Snama, Status, Kota (Suplier A)

Snama Status KotaAdam 20 BogorPaul 20 BandungBran 10 TangerangDika 10 Bekasi

Operasi Bineri (Binary Operation)Merupakan operasi atau perintah yang memerlukan sepasang tabel atau dua tabel.

UnionOperasi penggabungan (union) dalam aljabar relasional sama

halnya operasi union pada aritmatika.

Operasi ini memungkinkan untuk menggabungkan data dari dua baris (row) yang sejenis.

Simbol yang digunakan operasi union adalah ()

10

Contoh operasi Union pada aritmatika adalah :

Sintaks yang digunakan adalah : E1 E2.

Dimana E1 dan E2 adalah relasi atau tabel.

11

A B

1 53

2 7

Misalkan :A = {1, 2, 3}B = {3, 5, 7}A B = {1, 2, 3, 5, 7}

Jika diketahui Tabel Suplier A dan B sbb :

Untuk menampilkan tabel Suplier A dan B dimana adalah

“Snama”, “Kota” ditulis :

Snama, Kota (Suplier A) Snama, Kota (Suplier B)

12

Tabel : Suplier AS# Snama Status Kota

S1 Adam 20 BogorS4 Paul 20 BandungS3 Bran 10 TangerangS2 Dika 10 Bekasi

Tabel : Suplier BS# Snama Status Kota

S4 Paul 20 BandungS3 Bran 10 TangerangS5 Ali 10 JakartaS2 Dika 10 Bekasi

Maka hasil dari query di atas adalah :

13

Snama KotaAdam BogorPaul BandungDika BekasiBran TangerangAli Jakarta

Set Difference

Operasi pengurangan himpunan (set difference) digunakan untuk menemukan record-record yang berada pada satu tabel tetapi tidak pada tabel lainnya.

Operasi ini dalam aljabar relasional sama halnya operasi pengurangan himpunan pada aritmatika.

Simbol yang digunakan set difference adalah(-).

14

Contoh operasi pada aritmatika adalah :

15

A B

1 53

2 7

Misalkan :A = {1, 2, 3}B = {3, 5, 7}A - B = {1, 2}

A B

1 53

2 7

Misalkan :A = {1, 2, 3}B = {3, 5, 7}B - A = {5, 7}

Sintaks yang digunakan adalah : E1 - E2.

Dimana E1 dan E2 adalah relasi atau tabel.

Misalkan untuk menemukan Snama (A minus B) ditulis : Snama, Kota (Suplier A) - Snama, Kota

(Suplier B)

Hasil dari query diatas adalah :

16

Snama KotaAdam Bogor

Misalkan untuk menemukan Snama (B minus A) ditulis : Snama, Kota (Suplier B) - Snama, Kota

(Suplier A)

Hasil dari query diatas adalah :

Snama KotaAli Jakarta

Set Intersection

Operasi irisan himpunan (set intersection) digunakan untuk mendapatkan irisan (kesamaan anggota) dari dua buah kelompok data dari suatu tabel atau hasil query.

Simbol yang digunakan set intersection adalah ().

17

A B

1 53

2 7

Misalkan :A = {1, 2, 3}B = {3, 5, 7}A B = {3}

Sintaks yang digunakan adalah : E1 E2.

Dimana E1 dan E2 adalah relasi atau tabel.

Misalkan untuk menemukan Snama, Kota (A irisan B) ditulis : Snama, Kota (Suplier A) Snama, Kota

(Suplier B)

Hasil dari query diatas adalah :

18

Snama KotaPaul BandungBran TangerangDika Bekasi

Cartesian Product

digunakan untuk merelasikan semua record-record yang berasal dari dua tabel.

Tabel suplier A dan B dinyatakan dengan A X B adalah himpunan semua elemen atau record yang dibentuk dari anggota Suplier A sebagai elemen pertama dan anggota Suplier B.

Simbol yang digunakan cartesian product adalah (X).

19

Operasi cartesian product umumnya tidak berdiri sendiri tetapi digunakan bersama dengan operasi lainnya seperti select dan project.

Semua record E1 akan dipasangkan dengan semua record E2.

Operasi ini bersifat komutatif yaitu : E1 X E2 akan sama dengan E2 X E1.

Contoh operasi pada aritmatika adalah :

A = {1, 2, 3}

B = {5,7}

A X B = {(1,5), (1,7), (2,5), (2,7), (3,5), (3,7)}

20

Jika diketahui dua tabel A dan B seperti berikut :

21

Tabel. AX Y ZA B CD E FG H I

Tabel. BX WA TD VG U

Maka operasi A X B akan menghasilkan :

(A, B, C)

(A, T)

(D, V)

(G, U)

(A, B, C, A, T)

(A, B, C, D, V)

(A, B, C, G, U)

(D, E, F)

(A, T)

(D, V)

(G, U)

(D, E, F, A, T)

(D, E, F, D, V)

(D, E, F, G, U)

(G, H, I)

(A, T)

(D, V)

(G, U)

(G, H, I, A, T)

(G, H, I, D, V)

(G, H, I, G, U)

Hasil dari A X B adalah sbb :

22

Jika diketahui ada query Y, Z, W ( a.x = b.x (axb))Hasil dari query di atas adalah sbb :

A.X Y Z B.X WA B C A TA B C D VA B C G UD E F A TD E F D VD E F G UG H I A TG H I D VG H I G U

Y Z WB C TE F VF I U

Jika diketahui dua tabel Suplier dan Quality seperti berikut :

23

Tabel. SuplierS# Snama Kota

S111 Bagus BogorS121 Eman JakartaS131 Hery Tangerang

Tabel. QualityS# Status

S111 20S121 30S131 10

Hasil perkalian

24

Jika diketahui ada query

Y, Z, W ( a.x = b.x (axb))Hasil dari query di atas adalah sbb :

Suplier.S# Snama Kota Quality.S# StatusS111 Bagus Bogor S111 20S111 Bagus Bogor S121 30S111 Bagus Bogor S131 10S121 Eman Jakarta S111 20S121 Eman Jakarta S121 30S121 Eman Jakarta S131 10S131 Hery Tangerang S111 20S131 Hery Tangerang S121 30S131 Hery Tangerang S131 10

Snama Kota StatusBagus Bogor 20Eman Jakarta 30Hery Tangerang 10

Terima Kasih

25