Uploaded by tawilpubg69

Pertemuan-5-25-10-Tabel-Relational-dan-Algebra-dikonversi

advertisement
Model dan Aljabar Relasional
Rima Dias Ramadhani, S.Kom., M.Kom
Email: rima@[email protected]
Wa: 087731680017
RECORDBASEDDATAMODEL
• Model Hierarkikal
• Model Jaringan
• Model Relasional
Struktur Hirarki
Model Jaringan
Basis DataRelational
• Kebanyakan model yang digunakan adalah model basis
data relasional dengan menggunakan Relational
Database Management System(RDBMS).
• RDBMS menyediakan layanan pengorganisasian data yang
mudah tetapi memiliki kemampuan untuk menangani
jumlah data yang sangat besar.
• Beberapa contoh dari RDBMS diantaranya Oracle, Ms SQL
Server, MySQL, DB2, Ms Access.
Basis Data Relational(Cont)
• Model basis data relational memiliki struktur lojik
yang disebut dengan relation (relasi).
• Struktur relasi merupakan struktur data 2 dimensi,
pada level fisik berupa table (tabel).
• Attribute merepresentasikan elemen dari data yang
berkaitan dengan relasi. Sebagai contoh, relasi Mahasiswa
memiliki atribut-atribut seperti nim, nama, tempat lahir.
tanggal_ lahir, dan alamat.
Basis Data Relational(Cont)
Pandangan Logika Data
• Struktur model basis data relasional dan kebebasan
data memungkinkan kita untuk memandang data
secara logika daripada secara fisik.
• Pandangan secara logika membuat konsep file tentang
penyimpanan data menjadi lebih sederhana.
• Penggunaan tabel independen secara logik lebih
mudah dipahami.
• Kesederhanaan logika menghasilkan me-todologi
perancangan basis data lebih sederhana dan lebih
efektif.
Rangkuman Sifat-sifat Tabel Relasional
1
2
3
4
5
6
7
8
9
Sebuah tabel seolah-olah merupakan struktur dua dimensi
yang terdiri dari baris dan kolom.
Setiap baris (tupel) mewakili sebuah entitas.
Setiap kolom mewakili atribut dan memiliki nama yang
jelas.
Setiap perpotongan baris dan kolom mewakili nilai sebuah
data.
Setiap tabel harus memiliki primary key yang dikenali
secara unik untuk setiap baris.
Semua nilai pada kolom harus sesuai format data.
Setiap kolom memiliki jangkauan nilai tertentu yang
dikenal sebagai domain atribut.
Setiap baris membawa informasi yang menggambar-kan
satu kejadian entitas.
Urut-urutan baris dan kolom bukan hal yang penting untuk
DBMS.
Nilai Atribut TabelSISWA
Contoh Sederhana Basis Data Relasional
Nama tabel SISWA
Primary key NOMHS
Foreign key KODE_WALI
Hubungan
Nama tabel WALI
Primary key KODE_WALI
Tidak ada foreign key
Skema Basis Data Relasional : PERWALIAN
Bahasa Pada Basis data Relational
Menggunakan bahasa query  pernyataan yang diajukan
untuk mengambil informasi. Bahasa Query (Query Language)
lebih ditekankan pada aspek pencarian data dari dalam tabel.
Aspek pencarian ini sedemikian penting karena merupakan inti
dari upaya untuk pengelolaan data.
Bahasa query terbagi 2 :
1. Bahasa Formal
Bahasa query yang diterjemahkan dengan menggunakan
simbol-simbol matematis.
Bahasa Pada Basis data Relational
Contoh :
• Aljabar Relasional
Bahasa query prosedural  pemakai menspesifikasikan data
apa yang dibutuhkan dan bagaimana untuk mendapatkannya.
• Kalkulus Relasional
Bahasa query non-prosedural  pemakai menspesifikasikan
data apa yang dibutuhkan tanpa menspesifikasikan
bagaimana untuk mendapatkannya.
Terbagi 2 :
1. Kalkulus Relasional Tupel
2. Kalkulus Relasional Domain
Bahasa Pada Basis data Relational
2. Bahasa Komersial
Bahasa Query yang dirancang sendiri oleh programmer menjadi
suatu program aplikasi agar pemakai lebih mudah menggunakannya
(user friendly).
Contoh :
• QUEL
Berbasis pada bahasa kalkulus relasional
• QBE
Berbasis pada bahasa kalkulus relasional
• SQL
Berbasis pada bahasa kalkulus relasional dan aljabar
relasional
Aljabar Relasional
(Relational Algebra)
Aljabar Relasional (Bahasa Prosedural)
• Kumpulan operasi terhadap relasi, dimana setiap operasi
menggunakan satu atau lebih relasi untuk menghasilkan satu relasi
yang baru.
• Lebih bersifat operasional, sangat berguna untuk merepresentasikan
eksekusi perencanaan.
• Operasi-operasi Dasar :
– selection
– projection
– Union
– intersection
– set difference
• Operasi lainnya :
– cross/cartesian product
– join
– division
– sum, average, min, max
Jenis Operasi
• Operasi Unary terdiri dari selection, projection.
Disebut operasi unary, karena dapat digunakan
hanya pada satu relasi.
• Operasi Binary terdiri dari union, intersection, set
difference, cartesian product, join dan division.
Disebut operasi binary, karena memerlukan
sepasang relasi.
kelompokfilm
jenis harga_sewa
action
3000
drama
3500
horor
3000
film
kode_film jenis
judul
jml_keping jml_film
A01
action Spiderman
2
3
A02
action Spiderman 2
2
5
D01
drama Love Story
2
3
H01
horor
2
2
Evil Death
Operasi Selection (σ)
• Operasi yang digunakan untuk memilih subset dari tuple-tuple
pada suatu relasi.
• Notasi : σp(r)
• p disebut selection predicate (yang menentukan pemilihan)
• p merupakan formula dari kalkulus perbandingan
(proportional calculus) yang berisi terms yang dihubungkan
oleh : ^ (and), v (or),~ (not)
setiap term salah satu dari :
<atribut> op <atribut> or<konstanta>
atau
<atribut> op <atribut>
dengan op salah satu dari : =, ≠, >, ≥, <, ≤
Operasi Selection (lanj)
• Contoh : dilakukan operasi σjenis=“action”(film) pada relas film sebagai berikut
:
kode_film jenis
judul
jml_keping jml_film
A01
action Spiderman
2
3
A02
action Spiderman 2
2
5
D01
drama Love Story
2
3
H01
horor Evil Death
2
2
• Hasilnya : suatu relasi dengan tuple-tuple yang memiliki jenis samadengan
action.
kode_film jenis
judul
jml_keping jml_film
A01
action Spiderman
2
3
A02
action Spiderman 2
2
5
Operasi Projection ()
• Operasi yang digunakan untuk memilih subset dari
kolom-kolom pada suatu tabel
• Notasi : A1,A2,…,Ak(r), dimana A1, A2, …,Akadalah
daftar nama atribut dan r adalah nama suatu relasi.
• Hasilnya : suatu relasi dengan atribut yangtercantum
pada daftar nama atribut pada operasi.
Operasi Projection (lanj)
• Contoh : dilakukan operasi kode_film, jenis, judul(film) pada relasi film
sebagai berikut :
kode_film jenis
judul
jml_keping jml_film
A01
action Spiderman
2
3
A02
action Spiderman 2
2
5
D01
drama Love Story
2
3
H01
horor
2
2
• Hasilnya :
Evil Death
kode_film jenis
judul
A01
action Spiderman
A02
action Spiderman 2
D01
drama Love Story
H01
horor
Evil Death
Operasi Union/Gabungan ()
• 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  sharus valid : r, sharus memiliki jumlah
atribut yang sama.
Operasi Union/Gabungan (lanj)
• Relasi r

Relasi s
A
B
C
A
B
C
aa
1
7
aa
5
7
bb
5
7
cc
4
4
bb
12
7
dd
10
7
dd
23
10
aa
6
10
• A(r)  A(s)
A
aa
bb
dd
cc
Operasi Intersection/Irisan ()
• Notasi : 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 sharus memiliki
jumlah atribut yangsama.
• Relasi r
Relasi s
• r s
A
B
A
B
a
1
a
2
a
2
b
3
b
1
A
B
a
2
Operasi Set Difference (–)
• Notasi r – s, hasilnya relasi yang elemen barisnya terdapat
pada r tetapi tidak terdapat di s. r dan sharus memiliki
jumlah atribut yangsama.
• Relasi r
 Relasi s
A
B
C
A
B
C
aa
1
7
aa
1
7
bb
5
7
cc
5
7
bb
12
7
dd
12
7
dd
23
10
aa
23
10
• A(r) - A(s)
A
bb
Operasi Cross/Cartesian-Product
• Notasi r x s, menghasilkan semua kombinasi baris/tuple dari 2 buah relasi,
yaitu relasi r dan s. Jumlah atribut tidak harus sama. Contoh:
• Relasi r :
maka r x s:
• Relasi s:
A
B
a
1
A
B
C
D
b
3
a
1
a
6
a
1
b
5
a
1
c
12
b
3
a
6
b
3
b
5
b
3
c
12
C
D
a
6
b
5
c
12
Komposisi Operasi-Operasi Relasional
• Operasi-operasi aljabar relasional dapat
digabungkan dengan ekspresi aljabar
relasional lainnya.
• Contoh : terdapat relasi film sebagai berikut:
kode_film jenis
judul
jml_keping jml_film
A01
action Spiderman
2
3
A02
action Spiderman 2
2
5
D01
drama Love Story
2
3
H01
horor
2
2
Evil Death
Komposisi Operasi-Operasi Relasional
• Jika ingin memperoleh relasi baru dengan
atribut kode_film, judul dan jml_film dengan
jml_film > 3, maka operasi komposisinya
sebagai berikut :
kode_film, judul, jml_film(σjml_film >3(film))
hasilnya :
kode_film
A02
judul
jml_film
Spiderman 2
5
Operasi Join (
)
• Digunakan untuk menggabungkan dua relasi
atau lebih dengan hasil berupa gabungan dari
kolom-kolom yang berasal dari relasi-relasi
tersebut.
• Relasi R
Relasi S
sid sname rating age
sid bid
day
22
dustin
7
45.0
22 101 10/10/96
31
lubber
8
55.5
58 103 11/12/96
58
rusty
10
35.0
Operasi Join (lanj)
• Operasinya : R Ssama dengan operasi
σ(RxS), disebut juga Full Join.
• Hasilnya :
sid sname rating age
sid
bid
day
22
dustin
7
45.0
22
101 10/10/96
22
dustin
7
45.0
58
103 11/12/96
31
lubber
8
55.5
22
101 10/10/96
31
lubber
8
55.5
58
103 11/12/96
58
rusty
10
35.0
22
101 10/10/96
58
rusty
10
35.0
58
103 11/12/96
Condition Join/Theta Join
• Menghasilkan suatu relasi gabungan yang memiliki
tupel-tupel sesuai dengan kondisi kondisi yang telah
ditentukan.
• R cSsama dengan operasi σc(RxS), dengan
c=condition.
• Kondisi join : =, >, <, <>, >=, <=
• Relasi R
Relasi S
sid sname rating age
sid bid
day
22
dustin
7
45.0
22 101 10/10/96
31
lubber
8
55.5
58 103 11/12/96
58
rusty
10
35.0
Condition Join/Theta Join (lanj)
• Operasinya : R
• Hasilnya :
R.sid<S.sidS
sid sname rating age
•
22 dustin
Kond3i1s jloubibner
i
u
Equi Join.
7
ntu8k
sid
bid
day
45.0
58 103 11/12/96
/1u
2/t96uga
o5p5e.5at5o8r =10d3 s1e1b
r
i
j
Left Join
• Menghasilkan relasi dengan atribut terdiri dari
gabungan atribut dari dua relasi (misalnya
relasi A dan B) yang meliputi semua tupel
yang ada pada relasi A dan juga hanya tupeltupel pada relasi Byang sesuai dengan tupeltupel pada relasiA.
Right Join
• Menghasilkan relasi dengan atribut terdiri dari
gabungan atribut dari dua relasi (misalnya
relasi A dan B) yang meliputi semua tupel
yang ada pada relasi Bdan juga hanya tupeltupel pada relasi A yang sesuai dengan tupeltupel pada relasi B.
Natural Join
• merupakan Equi Join dengan menghilangkan
duplikasi atribut.
• Natural join dapat dibagi lagi menjadinatural
left join dan natural right join.
Natural Left Join
• Menghasilkan relasi dengan atribut terdiri dari
gabungan atribut dari dua relasi (misalnya
relasi A dan B) yang meliputi semua tupel
yang ada pada relasi A dan juga hanya tupeltupel pada relasi Byang sesuai dengan tupeltupel pada relasi A serta menghilangkan
duplikasi atribut.
Natural Right Join
• Menghasilkan relasi dengan atribut terdiri dari
gabungan atribut dari dua relasi (misalnya
relasi A dan B) yang meliputi semua tupel
yang ada pada relasi Bdan juga hanya tupeltupel pada relasi A yang sesuai dengan tupeltupel pada relasi Bserta menghilangkan
duplikasi atribut.
Operasi Division (/)
• Notasi : R/S.
• Menghasilkan suatu relasi dari dua buah relasi yang
terdiri dari atribut/kolom dari relasi Ryang tidak
terdapat pada relasi Sdengan tupel-tupel dari relasi
Ryang memiliki kesamaan dengan tupel-tupel yang
ada pada relasi A secara keseluruhan dan tidak
terdapat duplikasi data.
Operasi Division (lanj)
• Relasi R
Relasi S1 Relasi S2
sno
pno
pno
pno
s1
p1
p2
p2
s1
p2
s1
p3
s1
p4
s2
p1
s2
p2
s3
p2
s4
p2
s4
p4
p4
R/S1
R/S2
sno
sno
s1
s1
s2
s4
s3
s4
Operasi SUM, AVERAGE,MIN, MAX,
COUNT
• SUM – digunakan untuk menghitung jumlah nilai
pada suatu kolom.
• AVERAGE– digunakan untuk menghitung rata-rata
dari suatu kolom.
• MIN – digunakan untuk mencari nilai minimal pada
suatu kolom.
• MAX – digunakan untuk mencari nilai maksimal pada
suatu kolom.
• COUNT– digunakan untuk menghitung jumlah baris
pada suatu kolom.
Download