R. Kristoforus JB
Fakultas Sains & Teknologi
Universitas Katolik Musi Charitas
Outline
• Redudansi data & anomali
• Dekomposisi relasi
• Ketergantungan fungsional
3
Desain Basis Data
• Desain basis data bertujuan:
– Efisiensi penggunaan ruang penyimpanan
– Kecepatan akses data
– Kemudahan manipulasi data (tambah, ubah, hapus)
• Teknik mendesain basis data:
– Model ERD
– Teknik normalisasi
4
Model ERD vs Normalisasi
• ERD telah dipelajari pada pertemuan sebelumnya
• Cocok digunakan untuk mendesain basis data yang sama
sekali baru.
• Teknik normalisasi bertolak dari data yang secara nyata
telah ada.
• Teknik normalisasi dipakai untuk menghasilkan struktur
basis data yang memenuhi prinsip-prinsip basis data
5
Normalisasi
• Normalisasi : Teknik/pendekatan yang digunakan dalam
membangun disain lojik database relasional melalui
organisasi himpunan data dengan tingkat ketergantungan
fungsional dan keterkaitan yang tinggi sedemikian
sehingga menghasilkan struktur tabel yang normal.
6
Normalisasi
• Tujuan :
– Minimalisasi redundansi (pengulangan data)
– Memudahkan identifikasi entitas
– Mencegah terjadinya anomali
• Beberapa bentuk normal (normal forms, NF):
– 1NF, 2NF, 3NF, BCNF
based on keys and functional dependencies
– 4NF, 5NF
based on keys and multi-valued dependencies
7
Redundansi Data
• Masalah utama yang terjadi pada tabel basis data
yang tidak ternormalisasi adalah masalah
redundansi
• Redundansi: pengulangan data yg sama
• Anomali yang akan timbul:
– Update Anomaly: akan terjadi inkonsistensi data saat
terjadi update/perubahan data
– Insertion Anomaly: akan terjadi kesulitan untuk
menambahkan/insert data baru
– Delete Anomaly: akan terjadi kehilangan informasi saat
penghapusan/delete data.
8
Contoh 1: Redundansi Data
• Perhatikan data berikut:
9
Contoh 1: Update Anomaly
• Apa yg terjadi jika kolom DEPT baris 1 diubah menjadi D5?
D5
10
Contoh 1: Insert Anomaly
• Apa yg terjadi jika kita menambahkan EMP baru tetapi belum
diketahui DEPTnya?
11
Contoh 1: Delete Anomaly
• Apa yang terjadi jika kita menghapus DEPT D4?
12
Contoh 2: NULL Value
• Akan terjadi pemborosan ruang penyimpanan karena nilai NULL
• Perhatikan contoh berikut:
13
Contoh 2: Data Film
Tabel : Film
title year length filmType studioName starName
What your
comment Is a “good” design .. ??
………..
14
Contoh 2: Redudancy & Update Anomaly
Tabel : Film
title year length filmType studioName starName
Update Anomaly
Update informasi pada
Redundancy
satu tupel tidak
Informasi diulang-ulang
mengubah pada tupel
dalam beberapa tupel
yang lain
15
Contoh 2: Delete Anomaly
Tabel : Film
title year length filmType studioName starName
Delete Anomaly
Jika Emilio Estavez dihapus,
akan kehilangan informasi
tentang Mighty Ducks
16
Contoh 2: Insert Anomaly
Tabel : Film
title year length filmType studioName starName
Insertion Anomaly
Jika kita sisipkan tupel baru
(Star Wars, 177, 124, color, MGM, James Earl Jones)
maka akan terjadi inkonsistensi pada atribut studio
17
Contoh 3: Data Universitas
M001 Ali Jl. Bangau K001 Basis Data 2 5 D002 Kristo 202
M002 Budi Jl. Sekip K001 Basis Data 2 5 D002 Kristo 202
M003 Cinta Jl. Rudus K001 Basis Data 2 5 D002 Kristo 202
M004 Dina Jl. Veteran K001 Basis Data 2 5 D002 Kristo 202
18
Contoh 3: Redundansi
NAMA Alamat SKS SMT
NIM MHS MHS KdMK MATA KUL MK MK NIDN DOSEN RUANG
M001 Ali Jl. Bangau K001 Basis Data 2 5 D002 Kristo 202
M002 Budi Jl. Sekip K001 Basis Data 2 5 D002 Kristo 202
M003 Cinta Jl. Rudus K001 Basis Data 2 5 D002 Kristo 202
M004 Dina Jl. Veteran K001 Basis Data 2 5 D002 Kristo 202
Terjadi redundansi/pengulangan
data
19
Contoh 3: Update Anomali
NAMA Alamat SKS SMT
NIM MHS MHS KdMK MATA KUL MK MK NIDN DOSEN RUANG
M003 Cinta Jl. Rudus K001 Basis Data 2 5 D002 Kristo 202
M004 Dina Jl. Veteran K001 Basis Data 2 5 D002 Kristo 202
20
Contoh 3: Update Anomali
NAMA Alamat SKS SMT
NIM MHS MHS KdMK MATA KUL MK MK NIDN DOSEN RUANG
M003 Cinta Jl. Rudus K001 Basis Data 2 5 D002 Kristo 202
M004 Dina Jl. Veteran K001 Basis Data 2 5 D002 Kristo 202
21
Contoh 3: Insert Anomali
NAMA Alamat SKS SMT
NIM MHS MHS KdMK MATA KUL MK MK NIDN DOSEN RUANG
M001 Ali Jl. Bangau K001 Basis Data 2 5 D002 Kristo 202
M002 Budi Jl. Sekip K001 Basis Data 2 5 D002 Kristo 202
M003 Cinta Jl. Rudus K001 Basis Data 2 5 D002 Kristo 202
M004 Dina Jl. Veteran K001 Basis Data 2 5 D002 Kristo 202
D005 Meylinda
22
Contoh 3: Insert Anomali
NAMA Alamat SKS SMT
NIM MHS MHS KdMK MATA KUL MK MK NIDN DOSEN RUANG
M001 Ali Jl. Bangau K001 Basis Data 2 5 D002 Kristo 202
M002 Budi Jl. Sekip K001 Basis Data 2 5 D002 Kristo 202
M003 Cinta Jl. Rudus K001 Basis Data 2 5 D002 Kristo 202
M004 Dina Jl. Veteran K001 Basis Data 2 5 D002 Kristo 202
NULL NULL NULL NULL NULL NULL NULL D005 Meylinda NULL
NULL Value/pemborosan
ruang penyimpan
23
Contoh 3: Delete Anomali
NAMA Alamat SKS SMT
NIM MHS MHS KdMK MATA KUL MK MK NIDN DOSEN RUANG
M001 Ali Jl. Bangau K001 Basis Data 2 5 D002 Kristo 202
M002 Budi Jl. Sekip K001 Basis Data 2 5 D002 Kristo 202
M003 Cinta Jl. Rudus K001 Basis Data 2 5 D002 Kristo 202
M004 Dina Jl. Veteran K001 Basis Data 2 5 D002 Kristo 202
Data dosen
dihapus
24
Contoh 3: Delete Anomali
NAMA Alamat SKS SMT
NIM MHS MHS KdMK MATA KUL MK MK NIDN DOSEN RUANG
M001 Ali Jl. Bangau K001 Basis Data 2 5 D002 Kristo 202
M002 Budi Jl. Sekip K001 Basis Data 2 5 D002 Kristo 202
M003 Cinta Jl. Rudus K001 Basis Data 2 5 D002 Kristo 202
M004 Dina Jl. Veteran K001 Basis Data 2 5 D002 Kristo 202
25
Contoh 3: Delete Anomali
NAMA Alamat SKS SMT
NIM MHS MHS KdMK MATA KUL MK MK NIDN DOSEN RUANG
M001 Ali Jl. Bangau K001 Basis Data 2 5 D002 Kristo 202
M002 Budi Jl. Sekip K001 Basis Data 2 5 D002 Kristo 202
M003 Cinta Jl. Rudus K001 Basis Data 2 5 D002 Kristo 202
M004 Dina Jl. Veteran K001 Basis Data 2 5 D002 Kristo 202
Data mahasiswa
Data ruang
hilang
hilang
26
Latihan 1
• Perhatikan nota berikut. Apabila data-data dalam nota tersebut
ditabulasikan ke dalam sebuah tabel, apakah terjadi redudansi data dan
anomali? Buktikan!
27
Latihan 1: Delete anomaly
Kode
no tanggal Pemasok Nama barang Jumlah
barang
200702101 12/3/2007 PT Astrindo Utama CD-001 CDR Veromax 10
200702101 12/3/2007 PT Astrindo Utama CD-007 CD-RW BASF 50
200702101 12/3/2007 PT Astrindo Utama MO-103 Mouse 3max 15
200702101 12/3/2007 PT Astrindo Utama KB-231 Keyborad Ergo 104 16
Kehilangan seluruh
informasi barang
33
Dekomposisi Relasi
• Cara untuk mengatasi anomali di atas adalah
dengan melakukan dekomposisi pada relasi (tabel).
• Dekomposisi: menguraikan relasi menjadi dua
atau beberapa relasi.
• Yang perlu diperhatikan pada saat melakukan
dekomposisi:
– Lossless Join decomposition
– Dependency preservation
– Boyce-Codd Normal Form
36
Dekomposisi Relasi
37
Dekomposisi Relasi
• Dekomposisi : memecah relasi/tabel menjadi relasi/tabel
yang lebih kecil untuk mendapatkan skema yang tidak
mengandung anomali dan redundansi
• Diketahui skema relasi R. Gugus relasi {R1, R2, ,…, Rn}
disebut Dekomposisi dari R jika :
R1 R2 … Rn = R
38
Dekomposisi Relasi
Film original
idfilm title year length filmType idstudio studioName idstar starName
F001 Star Wars 1977 124 color STD01 Fox STR01 Carrie Fisher
F001 Star Wars 1977 124 color STD01 Fox STR02 Mark Hamill
F001 Star Wars 1977 124 color STD01 Fox STR03 Harrison Ford
F002 Mighty Ducks 1991 104 color STD02 Disney STR04 Emilio Estevez
F003 Wayne’s World 1992 95 color STD03 Paramount STR05 Dana Carvey
F003 Wayne’s World 1992 95 color STD03 Paramount STR06 Mike Meyers
F001 Star Wars 1977 124 color STD01 Fox STR01 Carrie Fisher
F002 Mighty Ducks 1991 104 color STD02 Disney STR02 Mark Hamill
F003 Wayne’s World 1992 95 color STD03 Paramount STR03 Harrison Ford
39
Dekomposisi Relasi
Dekomposisi relasi R menjadi gugus relasi {R1, R2, …, Rn}
yang tidak menyebabkan hilangnya informasi disebut
Lossless-Join Decomposition.
40
Contoh 4: Dekomposisi relasi
• Misalkan relasi R(A,B) di dekomposisi menjadi R1 = A, dan R2 = B.
R1
A
X
R R3
Y
A B A B
X 1 X 1
X 2 X 2
Y 1 R2 Y 1
B Y 2
1
2
41
Contoh 5: Dekomposisi relasi
• Misalkan relasi R(A,B,C) di dekomposisi menjadi R1 = (A,B) dan R2 =
(A,C). R1
A B
X 1
R
Y 2
A B C A B C
X 1 a X 1 a
Y 2 a R2 Y 2 a
X 1 b A C Z 1 b
X a
Y a
X b
42
Latihan 2
1. Misalkan relasi R(A,B,C) di dekomposisi menjadi R1 = (A,B) dan R2 =
(B,C). R1
A B
X 1
Y 2
A B C
X
Y
X
1
2
1
a
a
b
R2
B
1
C
a
?
2 a
1 b
43
Latihan 2
2. Misalkan relasi R(A,B,C) di dekomposisi menjadi R1 = (A,C) dan R2 =
(B,C). R1
B C
1 a
2 a
A B C
b
?
1
X 1 a
R2
Y 2 a
A C
X 1 b
X a
Y a
X b
44
Contoh 6: Dekomposisi Relasi
Film = (idfilm, title, year, length, filmType, idstudio, studioName, idstar, starName)
there is Anomaly !!
Decompose it ……
45
Contoh 6: Dekomposisi Relasi
Andaikan di dekomposisi
Menjadi 3 tabel tsb ….
F001 Star Wars 1977 124 color STD01 Fox STR01 Carrie Fisher
F002 Mighty Ducks 1991 104 color STD02 Disney STR02 Mark Hamill
F003 Wayne’s World 1992 95 color STD03 Paramount STR03 Harrison Ford
Lossless
or
Lossy ?
46
Contoh 6: Dekomposisi Relasi
• Dengan ke-3 tabel hasil dekomposisi, misal ditanyakan
informasi :
“Di studio manakah Star Wars dibuat ?”
• Pasti kita akan membutuhkan tabel DaftarFilm dan
StudioFilm.
• Tapi dapatkah kita diperoleh informasi yang kita inginkan
dari kedua skema relasi tersebut ?
• Tampaknya: TIDAK
• Karena kita harus melakukan operasi gabungan terlebih
dahulu dari Ke-2 tabel. Misal kita lakukan operasi “cross
product” antara Daftar_Film dan StudioFilm.
DaftarFilm StudioFilm
47
Contoh 6: Dekomposisi Relasi
Kehilangan
DaftarFilm
idfilm title
StudioFilm
year length
Informasi !!
filmType idstudio studioName
48
Latihan 2
3. Apabila relasi pada contoh 6:
Film = (idfilm, title, year, length, filmType, idstudio, studioName, idstar, starName)
49
Latihan 2
4. Perhatikan relasi berikut.
Kode
no tanggal Pemasok Nama barang Jumlah
barang
200702101 12/3/2007 PT Astrindo Utama CD-001 CDR Veromax 10
200702101 12/3/2007 PT Astrindo Utama CD-007 CD-RW BASF 50
200702101 12/3/2007 PT Astrindo Utama MO-103 Mouse 3max 15
200702101 12/3/2007 PT Astrindo Utama KB-231 Keyborad Ergo 104 16
200702102 12/3/2007 CV Prima Jaya CD-001 CDR Veromax 3
200702102 12/3/2007 CV Prima Jaya MO-103 Mouse 3max 4
50
Ketergantungan Fungsional (KF)
Functional Dependencies (FD) / Ketergantungan
Fungsional (KF) digunakan untuk menggambarkan atau
mendeskripsikan bentuk normal atas suatu relasi
• FD adalah batasan terhadap gugus relasi yang berlaku.
• Diperoleh berdasarkan hubungan antar atribut data.
• Kegunaan FD :
– Untuk memeriksa keabsahan apakah semua relasi sesuai dengan
ketergantungan fungsional yang diberikan
– Untuk menetapkan batasan gugus relasi yang berlaku
– Untuk menentukan kunci relasi
– Untuk melakukan normalisasi atas suatu tabel relasional
55
Ketergantungan Fungsional (KF)
• KF dapat disimbolkan: X Y
• Dibaca:
– X secara fungsional menentukan Y
– Y secara fungsional bergantung pada X
– Isi (nilai) atribut X menentukan nilai atribut Y
• Jenis KF:
– Kebergantungan penuh (full functional dependency)
– Ketergantungan pasial (partial functional dependency)
– Kebergantungan transitif (transitive functional dependency)
56
Ketergantungan Fungsional (KF)
• Misalkan R adalah suatu skema relasional, atribut x R dan y R
maka x dikatakan secara fungsional menentukan y (atau y bergantung
secara fungsional pada x), ditulis x y pada R, jika :
1. Semua tupel ti [x], 1 i n adalah unik/tunggal
2. Semua pasangan tupel dimana ti [x] = tj [x], i j, terjadi juga ti [y] = tj [y]
57
Ketergantungan Fungsional (KF)
R = (A, B, C) R = (A,B,C,D)
A B C A B C D
1 4 C1 A1 B1 C1 D1
1 5 C1 A1 B2 C1 D2
2 7 C2 A2 B2 C2 D2
A2 B3 C2 D3
AB?
A3 B3 C2 D4
t1(A)=t2(A), tetapi t1(B) t2(B)
Maka A B
AC? Yes
AC?
CA? No
t1(A)=t2(A) dan t1(C) = t2(C) (A,B) C ? Yes
Maka A C (A,B) D ? Yes
58
Latihan 3
1. Apakah A → B? A B C D E
A1 B1 C1 D1 E1
2. Apakah B D
A2 B1 C2 D1 E1
3. Apakah A C?
A1 B2 C1 D3 E1
4. Apakah AB → D?
A1 B3 C1 D2 E2
5. Apakah B→ A?
A2 B3 C2 D2 E2
6. Apakah C→ A? A3 B1 C1 D1 E3
7. Apakah B → C? A4 B2 C3 D3 E2
8. Apakah A,B → E? A4 B3 C3 D2 E1
9. Apakah E → C? A3 B2 C1 D3 E1
59
Latihan 4
1. NIM → Kode_MK? NIM Kode_MK NAMA MK NILAI
60
Ketergantungan Fungsional (KF)
Film = (idfilm, title, year, length, filmType, idstudio, studioName, idstar, starName)
idfilm title year length filmT idstudio studioName idstar starName
ype
F001 Star Wars 1977 124 color STD01 Fox STR01 Carrie Fisher
F001 Star Wars 1977 124 color STD01 Fox STR02 Mark Hamill
F001 Star Wars 1977 124 color STD01 Fox STR03 Harrison Ford
F002 Mighty Ducks 1991 104 color STD02 Disney STR04 Emilio Estevez
F003 Wayne’s World 1992 95 color STD03 Paramount STR05 Dana Carvey
F003 Wayne’s World 1992 95 color STD03 Paramount STR06 Mike Meyers
F004 My Hearts 1992 101 color STD03 Paramount STR01 Carrie Fisher
F004 My Hearts 1992 101 color STD03 Paramount STR01 Carrie Fisher
61
Ketergantungan Fungsional (KF)
• FD dirumuskan berdasarkan batasan dari dunia nyata
suatu atribut.
• Contoh :
– Nomor Induk mahasiswa menentukan NamaMahasiswa
NIM NamaMhs
– Kode Matakuliah menentukan Nama Mata Kuliah dan SKS
KodeMK (NamaMK, SKS)
– NIM dan Kode Mata Kuliah menentukan Nilai Matakuliah
(NIM,KodeMK) NilaiMK
62
Ketergantungan Fungsional (KF)
• Amstrong’s Rule:
– A1. Reflexive
Jika y x maka x y
– A2. Augmentation
Jika x y maka (x,z) (y,z) Diketahui xy
– A3. Transitive Dari A2 (x,z) (y,z)
Jika x y dan y z maka x z Diketahui (z,y) w
– A4. Decomposition Dari A3 (x,z) w
Jika x (y,z) maka x y dan x z
– A5. Union
Jika x y dan x z maka x (y,z)
– A6. Pseudotranstivity
Jika x y dan (z,y) w maka (x,z) w
63
Manfaat KF pada Dekomposisi
Untuk :
1.Lossless Join Decomposition
Mendapatkan dekomposisi yang tidak kehilangan
data/ informasi
2.No Redundancy
Mendapatkkan skema relasi yang tidak mengandung
redundansi
3.Dependency Preservation
Terjaminnya pemeliharaan ketergantungan sehingga
dapat mengatasi masalah update anomali
64
Uji Lossless-Join Decomposition
• Misal diketahui skema relasi R didekomposisi menjadi gugus relasi {R1,
R2, R3, R4, …, Rn}, maka dekomposisi ini disebut Lossless Join
Decomposition jika kondisi R1 R2 R3 … Rn Ri dipenuhi
sekurang-kurangnya untuk 1 nilai i, dimana 1 i n.
• Dengan kata lain, jika diketahui skema relasi R didekomposisi menjadi
gugus relasi {R1, R2}, maka dekomposisi ini disebut Lossless Join
Decomposition jika dipenuhi salah satu kondisi :
R1 R2 R1 atau R1 R2 R2
65
Contoh 7
Diketahui skema relasi R=(A,B,C,D,E,F,G,H) didekomposisi menjadi :
1) R1=(A,B,C,D,G)
2) R2=(B,D,E,F,H).
FD pada R yang berlaku adalah :
1) B A,G
2) E D,H
3) A E,C
4) DF
Ujilah apakah dekomposisi {R1,R2} tersebut lossless atau lossy ?
66
Contoh 7
1. Uji dekomposisi
R1 R2 = (A,B,C,D,G) (B,D,E,F,H)
= (A,B,C,D,E,F,G,H)
=R
2. Uji Lossless
R1 R2 = (A,B,C,D,G) (B,D,E,F,H)
= (B,D)
Akan dibuktikan bahwa paling sedikit satu kondisi berikut dipenuhi :
R1 R2 R1 ; (B,D) (A,B,C,D,G) atau
R1 R2 R2 ; (B,D) (B,D,E,F,H)
67
Contoh 7
terbukti
{R1,R2}
Dari (1) B A,G maka : Lossless
(5) B,D A,G,D (augmentasi)
(6) B,D B,D (refleksif)
Jadi (7) B,D A,B,D,G Dari (8) BA
(1) B A,G maka dan (11) AC
(8) B A dan Maka (12) B C (transitif)
(9) BG Dan (13) B,D C,D (augmentasi)
Dari (3) A E,C maka
(10) A E dan Dari (7) dan (13) didapat :
(11) A C maka : B,D A,B,C,D,G
68
Latihan 5
Ujilah dekomposisi dari skema relasi R, apakah lossless atau lossy ?
1. R = (A,B,C,D,E,F,G,H) didekomposisi menjadi :
R1 = (A,B,C,D,E) dan R2 = (C,D,F,G,H) dengan FD :
C (A,B,D) ; F (G,H) ; D (E,F)
2. R = (A,B,C,D,E) didekomposisi menjadi :
R1 = (A,B,C,D) dan R2 = (C,D,E) dengan FD :
A B ; (C,D) E ; B D ; E A
3. R = (X,Y,Z,W,U,V) didekomposisi menjadi :
R1 = (X,Y,Z,W) dan R2 = (W,U,V) dengan FD :
WX;XZ
4. R = (A,B,C,D,E,F) didekomposisi menjadi :
R1 = (A,B,C), R2 = (A,D,F) dan R3 = (E,D) dengan FD :
A (B,C) ; D (F,A)
69
Latihan 6
• Perhatikan nota berikut.
79
Latihan 6
• Apabila relasi nota tersebut adalah:
R = (no_nota, kd_pasok, nama_pasok, tgl, kd_brg, nama_brg, jml)
• Didekomposisi menjadi:
R1 = (no_nota, nama_psk, tgl)
R2 = (no_nota, kd_brg,nama_brg, jml)
• Dengan FD yang berlaku adalah:
(No_nota) (nama_pasok, tgl)
(no_nota, kd_brg) (jml)
(kd_brg) (nama_brg)
• Ujilah dekomposisi dari skema relasi R, apakah lossless atau lossy ?
80
Closure Functional Dependency
• Misal F adalah gugus ketergantungan fungsional pada skema relasi R,
maka semua FD yang mungkin dapat diturunkan dari F dengan
hukum-hukum FD disebut : Closure dari F, ditulis F+.
• Armstrong’s rule dapat dimanfaatkan untuk menentukan F+
• Contoh : Diketahui R = (A, B, C, D)
F = {A B, B C, A C, C D} maka :
A D sebab A C dan C D, dari sifat transitif (A3) didapat A D
B D sebab B C dan C D, dari sifat transitif (A3) didapat B D
Sehingga {A B, B C, A C, C D, A D, B D} F+.
81
Uji Dependency Preservation
• Misal skema relasi R dengan himpunan ketergantungan fungsional F
didekomposisi menjadi R1,R2,R3,…,Rn. Dan F1,F2,F3,…,Fn adalah
himpunan ketergantungan fungsional yang berlaku di R1,R2,R3,…,Rn
maka dekomposisi tersebut dikatakan memenuhi sifat Dependency
Preservation apabila berlaku :
• (F1 F2 F3 … Fn)+ = F+
82
Contoh 8
• Diketahui skema relasi R=(A,B,C)
dengan FD : A B ; B C
Didekomposisi menjadi R1=(A,B) dan R2=(B,C)
• Pertanyaan:
a. Apakah dekomposisi tsb Lossless-Joint ?
b. Apakah dekomposisi tsb memenuhi Dependency Preservation ?
83
Contoh 8
a. Uji Lossless Decomposition
– Uji Dekomposisi
R1 R2 = (A,B) (B,C) = (A,B,C) = R
– Uji Lossless
R1 R2 = (A,B) (B,C) = B
Lossless jika B (A,B) atau B (B,C).
Karena diketahui B C maka BB BC atau B BC (Augmentasi).
Jadi dekomposisi tsb Lossless.
84
Contoh 8
b. Uji Dependency Presevation
R=(A,B,C) dan F = {AB, BC}.
Karena AB dan BC maka AC.
Maka dapat dibentuk closure F+ ={AB, BC, AC}.
85
Latihan 7
Ujilah dependency preservation untk skema relasi berikut:
1. R = (A,B,C,D,E,F,G,H) didekomposisi menjadi :
R1 = (A,B,C,D,E) dan R2 = (C,D,F,G,H) dengan FD :
C (A,B,D) ; F (G,H) ; D (E,F)
2. R = (A,B,C,D,E) didekomposisi menjadi :
R1 = (A,B,C,D) dan R2 = (C,D,E) dengan FD :
A B ; (C,D) E ; B D ; E A
3. R = (X,Y,Z,W,U,V) didekomposisi menjadi :
R1 = (X,Y,Z,W) dan R2 = (W,U,V) dengan FD :
WX;XZ
4. R = (A,B,C,D,E,F) didekomposisi menjadi :
R1 = (A,B,C), R2 = (A,D,F) dan R3 = (E,D) dengan FD :
A (B,C) ; D (F,A)
86
Latihan 8
• Perhatikan nota berikut.
87
Latihan 8
• Apabila relasi nota tersebut adalah:
R = (no_nota, kd_pasok, nama_pasok, tgl, kd_brg, nama_brg, jml)
• Didekomposisi menjadi:
R1 = (no_nota, nama_psk, tgl)
R2 = (no_nota, kd_brg,nama_brg, jml)
• Dengan FD yang berlaku adalah:
(No_nota) (nama_pasok, tgl)
(no_nota, kd_brg) (jml)
(kd_brg) (nama_brg)
• Ujilah dekomposisi dari skema relasi R, apakah memenuhi dependency
preservation?
88
Jadwal
Prt Tgl T P
1 05/09 Pengantar Kuliah Basis Data 1 V
2 05/09 Intro to Database System, DB System Environment V
3 12/09 Into to Relational Model V
4 12/09 Intro to SQLite & DB4S V
5 19/09 Query Language: Overview, Data Definition V
6 19/09 SQLite: Data Definition V
7 26/09 Query Language: Basic Structure V
8 26/09 SQLite: Basic Structure V
89
Jadwal
Prt Tgl Teori T P
9 03/10 Relational Database: Relational Algebra V
10 03/10 Relational Database: Relational Algebra V
11 10/10 Relational Database: Relational Algebra V
12 10/10 SQLite: Aggregate Function, Set Operation, Join Operation V
13 24/10 Project 1: Presentasi V
14 24/10 SQLite: Subquery (set membership, set comparison, empty V
relation)
15 26/10 UTS V
16
90
Jadwal
Prt Tgl Teori T P
17 31/10 Data Modeling: ER Model V
18 31/10 Data Modeling: ER Model V
19 07/11 SQLite: Subquery V
20 07/11 SQLite: Views V
21 14/11 Data Modeling: ER Model V
22 14/11 Data Modeling: ER Model (Tugas 2) V
23 21/11 Data Modeling: Integrity Rules & Normalization V
24 21/11 Data Modeling: Integrity Rules & Normalization V
91
Jadwal
Prt Tgl Teori T P
25 28/11 SQLite: Modification database V
26 28/11 SQLite: Functions (date & time, math, string) V
27 05/12 Data Modeling: Integrity Rules & Normalization V
28 05/12 Data Modeling: Integrity Rules & Normalization V
29 12/12 Project 2: Presentasi V
30 12/12 Diskusi V
31 UAS V
32
92