Sistem Basisdata

advertisement
BAHASA
QUERY FORMAL
BAHASA QUERY FORMAL
ALJABAR RELATIONAL
Adalah kumpulan operasi terhadap relasi, dimana setiap operasi menggunakan
satu atau lebih relasi untuk menghasilkan satu relasi yang baru
OPERATOR YANG DIGUNAKAN
• OPERATOR HIMPUNAN
*
Union atau gabungan ( ∪ )
Union dari relasi A dan B dinyatakan sebagai A ∪ B
Himpunan semua elemen(Tuple) baik dari relasi A atau relasi B atau keduaduanya terdapat kerangkapan data
Contoh:
A = {1,2,3}
B = {5,7}
A U B ={1,2,3,5,7}
a
*
b
Intersection atau irisan ( ∩ )
Intersection dari relasi A dan B dinyatakan sebagai A ∩ B
Himpunan semua elemen atau tuple dari relasi A, Seklaigus dari relasi B
Contoh:
A = {1,2,3}
B = {2,3,5,7}
A ∩ B ={2,3}
a
b
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 6 Tambahan.doc
1
*
Difference
Difference dari relasi A dan B dinyatakan dengan A - B
Himpunan semua elemen atau tuple dari relasi A, tetapi bukan dari relasi B
Contoh:
A = {1,2,3}
B = {3,5,7}
A ∩ B ={1,2}
a
b
Cartesian product
Product cartesian dari relasi A dan B dinyatakan dengan A X B
contoh :
A = { 1,2,3}
B = { 5,7 }
A X B = { ( 1,5), (1,7), ( 2,5), (2,7), (3,5),(3,7) }
•
OPERATOR RELATIONAL
 Restrict ( σ ) adalah Pemilihan tupel atau record
 Project ( π ) adalah pemilihan attribute atau field
 Divide ( ÷ ) adalah membagi
 Join ( θ ) adalah menggabungkan
RELATIONAL ALGEBRA
Operator pada relational algebra dibagi menjadi
2 kelompok, :
1.
Operator dasar untuk fundamental operational
2.
Operator tambahan untuk additional operasional
Tabel dibawah ini adalah contoh untuk mengerjakan perintah – perintah Relation
Algebra:
Relasi Matakuliah
KD_MK
NAMA_MK
207
LOGIKA & ALGO
310
STRUKTUR DATA
360
SISTEM BASIS DATA
545
IMK
547
APSI
305
PEMR.PASCAL
545
DISAIN GRAFIS
SKS
4
3
3
2
4
4
2
NIP
199910486
200109655
200209817
200209818
200109601
200703073
200010490
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 6 Tambahan.doc
2
RELATION : DEPOSIT
BRANCH-NAMA ACCOUNT #
CUSTOMER-NAME BALANCE
DOWN TOWN
101
JOHNSON
500
MIANUS
215
SMITH
700
PERRYRIDGE
102
HAYES
400
ROUNDHILL
305
TURNER
350
PERRYRIDGE
201
WILLIAMS
900
REDWOOD
222
LINDSAY
700
BRIGHTON
217
GREEN
750
Contoh LAin
RELATION : BORROW
BRANCHLOAN #
NAME
DOWNTOWN 17
REDWOOD
23
PERRYRIDGE 15
DOWNTOWN 14
MIANUS
93
ROUNDHILL 11
POWNALL
29
NORTHTOWN 16
DOWNTOWN 18
PERRYRIDGE 25
BRIGHTON
10
CUTOMERNAME
JONES
SMITH
HAYES
JACKSON
CURRY
TURNER
WILLIAMS
ADAMS
JOHNSON
GLENN
BROOKS
AMOUNT
1000
2000
1500
1500
500
900
1200
1300
2000
2500
2200
RELATION : CLIENT
EMPLOYEE –
CUSTUMER – NAME
NAME0
TURNER
JOHNSON
HATES
JONES
JOHNSON
JOHNSON
RELATION : CUSTOMER
CUSTOMER – STREET
CITY
NAME
JONES
MAIN
HARRISON
SMITH
NORTH
RYE
HAYES
MAIN
HARRISON
CURRY
NORTH
RYE
LINDSAY
PARK
PITTSFIELD
TURNER
PUTNAM STAMFORD
WILLIAMS NASSAU PRINCETON
ADAMS
SPRING
PITTSFIELD
JOHNSON
ALMA
PALO ALTO
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 6 Tambahan.doc
3
GLENN
BROOKS
GREEN
SANDHILL WOODSIDE
SENATOR BROOKLYN
WALNUT STAMFORD
RELATION : BRANCH
ADDRESS
BRANCH –
ASSETS
BRANCH –
CITY
NAME
DOWNTOWN BROADWAY BROOKLYN 2000000
MIANUS
1 ST
MANHATTAN 1000000
PERRYRIDGE 5 TH
BROOKLYN 150000
REDWOOD MAIN
NEWALK
2000000
OPERATOR DASAR
Relation R
A
B
C
Relation S
D
E
F
a
b
c
b
g
a
d
a
f
d
a
f
c
b
d
Selection ( σ ) Lower Case Omega
Operasi selection menyeleksi tuple-tuple pada sebuah relation yaitu tuple-tuple yang
memenuhi predicate/syarat yang sudah ditentukan sebelumnya
Contoh :
Mencari tiuple-tuple dari Realtion BORROW, yang isi atributnya :
BRANCH – NAME = ‘PERRYRIDGE’
Relation Algebranya :
σBRANCH – NAME = ‘PERRYRIDGE’ (BORROW)
a.
b.
Projection ( π )
Operator projection beroperasi pada sebuah relation, yaitu membentuk
relation baru dengan mengcopy atribute-atribute dan domain-domain dari relation
tersebut berdasarkan argument-argument pada operator tsb.
Contoh :
Untuk membentuk relation baru dengan atribute-atribute BRANCH-NAME dan
CUSTOMER-NAME dari relation BORROW, ditulis dengan relation algebra
sebagai berikut :
πBRANCH-NAME,CUSTOMER-NAME(BORROW)
R[A,C]
A
C
a
c
d
f
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 6 Tambahan.doc
4
c
c.
d
Cartesian product ( X )
Operator dengan dua relation.
Contoh :
Untuk mencari data customer serta kota tempat tinggalnya dari customercustomer yang merupakan CLIENT dari employee ‘JOHNSON’
Contoh diatas akan menggunakan relation CLIENT dan CUSTOMER, sehingga
relational Algebranya :
πCLIENT.CUSTOMER-NAME,CUSTOMER.CITY
(σCLIENT.CUSTOMER-NAME=CUSTOMER.CUSTOMER-NAME
(σCLIENT.EMPLOYEE-NAME = “JOHNSON” (CLIENT X CUSTOMER)))
Relation R X S
A
d.
B
C
D
E
F
a
b
c
b
g
a
a
b
c
d
a
f
d
a
f
b
g
a
d
a
f
d
a
f
c
b
d
b
g
a
c
b
d
d
a
f
Union ( ∪ )
Akan membentuk relational baru dengan tuple-tuple yang terdapat di relational r1
atau r2, atau tuple-tuple yang terdapat di kedua relation tsb.
Contoh :
Untuk mencari customer dari cabang PERRYRIDGE yang memiliki Account atau
Loan atau ke-duanya, maka Relation Algebranya adalah :
πCUSTOMER-NAME(σBRANCH-NAME =
“PERRYRIDGE” (BORROW)) ∪ π CUSTOMER-NAME(σBRANCHNAME=”PERRYRIDGE” (DEPOSIT))
R Union S
A
B
C
a
b
c
d
a
f
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 6 Tambahan.doc
5
e.
c
b
d
b
g
a
Set diference ( - )
Akan membentuk relational baru dengan tuple-tuple yang terdapat direlation r1
dan tidak terdapat di relation r2
Contoh :Untuk mencari Customer dari cabang PERRYRIDGE yang hanya
mempunyai Account saja Relation Algebranya :
πCUSTOMER-NAME(σBRANCH-NAME=”PERRYRIDGE” (DEPOSITE)) –
πCUSTOMER-NAME(σBRANCH-NAME =
”PERRYRIDGE” (BORROW))
R Difference
A
B
C
a
b
c
c
b
d
OPERATOR TAMBAHAN
1.
SET INTERSECTION ( ∩ )
Adalah Binary Operation untuk membentuk sebuah relation baru dengan tuple –
tuple yang berasal dari kedua relation yang dihubungkan.
Contoh :
Untuk mencari Customer yang memiliki Loan dan juga Account pada Cabang
PERRYRIDGE, dengan menggunakan operator Intersection, maka Relation
Algebranya dapat dituliskan sebagai berikut :
πCUSTOMER-NAME(σBRANCH-NAME=”PERRYRIDGE” (BOPRROW)) ∩
πCUSTOMER-NAME(σBRANCH-NAME =”PERRYRIDGE” (DEPOSITE))
R∩S(Mencari yang sama dari kedua tabel)
A
B
C
d
a
f
2.
THETA JOIN
Operator yang menggabungkan operasi cartesian product dengan operasi
selection.
Contoh :
Untuk mencari semua customer pada cabang PERRYRIDGE yang mempunyai
Loan pada cabang tersebut, sekalian mendapatkan kota tempat tinggalnya.
Sehingga operasi diatas dapat ditulis dengan operator Theta Join sebagai berikut :
πBORROW.CUSTOMER-NAME, CUSTOMER.CITY((BORROW⋈θ CUSTOMER))
3.
NATURAL JOIN
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 6 Tambahan.doc
6
Merupakan operator yang melakukan operasi penggabungan terhadap tuple-tuple
dari relation-relation yang dioperasikan
CONTOH
Relation R1
A
B
C
Relation R2
B
C
D
a
b
c
b
c
d
d
b
c
b
c
e
b
b
f
a
d
b
c
a
d
a
d
b
R1 ⋈ R2
A
B
C
D
a
b
c
d
a
b
c
e
d
b
c
d
d
b
c
e
c
a
d
b
4.
DIVISION
Merupakan operasi pembagian atas tuple-tuple dari 2 relation
Relation R1
A
B
C
D
a
b
c
d
c
d
a
b
e
f
e
f
b
c
e
f
e
d
c
d
e
d
e
f
a
b
d
e
R = R1÷R2
A
B
a
b
Relation R2
C
D
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 6 Tambahan.doc
7
e
d
b
c
e
d
e
d
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 6 Tambahan.doc
8
Download