1
Pokok Bahasan 11
RDBM
Pokok Bahasan 11
2
Pokok Bahasan
Relational Data Base Model
Sub Pokok Bahasan
1. Terminologi
2. Karakteristik BD model RDBM
3. Komponen relasi
4. Kunci relasi
5. Ketergantungan data
6. Kerelasian antar relasi
7. Penyimpangan dlm pengolahan
8. Teknik normalisasi
Kompetensi
Stl mengikuti kuliah ini mhs mampu menjelaskan model data
Relational Data Base Model
Relational model
Representasi dl bentuk tabel yg tda sejumlah:
baris yg menunjukkan record
kolom yg menunjukkan atribut
Byk digunakan dl pemodelan & perancangan BD
konsep & terminologi yg digunakan mirip dg kondisi real yg
dihadapi o/ pemakai
shg mudah dipahami
Terminologi
Istilah formal
Istilah
non formal
Keterangan
Elemen data (data element), rinci data (data
item), entri (entry)
Atribut (attribute)
Kolom, medan data,
medan, field
Sekelompok rinci data yang mempunyai arti. Atribut memiliki
tipe, ukuran, dan domain yang sama
Record / tuple
Baris / rekaman
Sekumpulan atribut yang mempunyai hubungan terhadap
obyek tertentu
Relasi (relation)
Tabel
Sekumpulan record yang sejenis secara relasi
Derajat (degree)
Aritas (arity)
Jumlah atribut dalam sebuah relasi
Kardinalitas (cardinality)
Jumlah record dalam sebuah relasi
Kerelasian (relationship)
Hubungan antar relasi
Unary relation
Relasi yang tersusun oleh satu atribut
Binary relation
Relasi yang tersusun oleh dua atribut
Ternary relation
Relasi yang tersusun oleh tiga atribut
n-ary relation
Relasi yang tersusun oleh n atribut
4
Istilah formal
Istilah
non formal
Keterangan
Key
Satu atau gabungan atribut bersifat unik yang digunakan
untuk mengidentifikasi setiap record dalam relasi
Candidate Key / CK
Satu atau gabungan minimal atribut bersifat unik yang
dapat digunakan untuk mengidentifikasi setiap record
dalam relasi
Primary Key / PK
Bagian dari CK yang dipilih / digunakan sebagai kunci
utama dalam relasi
Alternate Key / AK
Bagian dari CK yang tidak dipilih / digunakan sebagai
kunci utama dalam relasi
Foreign Key / FK
Kunci tamu / kunci
asing
Satu atau gabungan sembarang atribut yang menjadi PK
dalam relasi lain yang mempunyai hubungan secara
logik
Domain
Himpunan nilai yang memenuhi syarat
Schema
Deskripsi hubungan logik secara global, termasuk di
dalamnya nama dan deskripsi tipe dan ukuran atribut
dan hubungan logik antar relasi basis data dalam
lingkup sebuah sistem
Subschema
Deskripsi hubungan logik secara terpisah, termasuk di
dalamnya nama dan deskripsi tipe dan ukuran atribut
dan hubungan logik antar relasi basis data dalam
lingkup sebuah sub sistem aplikasi basis data
Mata_Kuliah
Kode_Mata_Kuliah
Nama_Mata_Kuliah
Sks
Smt
Status
MK-1001
Pemrograman I
MK-2002
Pemrograman II
MK-3003
Pemrograman III
MK-4004
Pemrograman IV
MK-5005
Pemrograman V
MK-1001P
Praktikum Pemrograman I
MK-2002P
Praktikum Pemrograman II
MK-3003P
Praktikum Pemrograman III
MK-4004P
Praktikum Pemrograman IV
MK-5005P
Praktikum Pemrograman V
MK-5006
Pemrograman Visual
MK-7007
Pemrograman Berorientasi Obyek
MK-8008
Pemrograman Internet
Atribut
: Kode_Mata_Kuliah, Nama_Mata_Kuliah, Sks, Smt, Status
Record
:
Record #1 : MK-1001, Pemrograman I, 2, 1, W
Record #2 : MK-2002, Pemrograman II, 2, 1, W
Record #3 : MK-3003, Pemrograman III, 2, 1, W
Record #4 : MK-4004, Pemrograman IV, 2, 1, W
Record #5 : MK-5005, Pemrograman V, 2, 1, W
Record #6 : MK-1001P, Praktikum Pemrograman I, 2, 1, W
Record #7 : MK-2002P, Praktikum Pemrograman III, 2, 1, W
Record #8 : MK-3003P, Praktikum Pemrograman III, 2, 1, W
Record #9 : MK-404P, Praktikum Pemrograman IV, 2, 1, W
Record #10 : MK-5005P, Praktikum Pemrograman V, 2, 1, W
Record #11 : MK-6006, Pemrograman Visual, 2, 6, W
Record #12 : MK-7007, Pemrograman berorientasi Obyek, 2, 7, W
Record #13 : MK-8008, Pemrograman Internet, 3, 8, P
Relasi
Derajat
Kardinalitas
CK
PK
AK
Foreign Key / FK
: Mata_Kuliah
: 5 (=5-ary)
: 13
: Kode_Mata_Kuliah dan Nama_Mata_Kuliah
: Kode_Mata_Kuliah
: Nama_Mata_Kuliah
:-
Domain
:
Kode_Mata_Kuliah:
MK-1001, MK-2002, MK-3003, MK-4004, MK-5005,
MK-1001P, MK-2002P, MK-3003P, MK-4004P, MK-5005P,
MK-6006, MK-7007, MK-8008
Nama_Mata_Kuliah:
Pemrograman I, Pemrograman II, Pemrograman III,
Pemrograman IV, Praktikum Pemrograman I, Praktikum
Pemrograman II, Praktikum Pemrograman III, Praktikum
Pemrograman IV, Praktikum Pemrograman V, Pemrograman
Visual, Pemrograman Berorientasi Obyek, Pemrograman
Internet
Sks
: 1, 2, 3
Smt
: 1, 2, 3, 4, 5, 6,7,8
Status : W, P
Schema
: (Char[8], Char[50], Num[1], Num[1], Char[1])
Subschema
: (Char[8], Char[50], Num[1], Num[1], Char[1])
Karakteristik Relasi
10
Semua elemen data / entri pd suatu record & atribut ttt hrs:
mpy nilai tunggal (single value), bkn larik atau grup perulangan
hrs berupa nilai yg tdk dp dibagi lagi (atomic value)
Semua elemen data / entri pd suatu atribut ttt dlm sebuah relasi
hrs mpy tipe & ukuran yg sama
Masing-2 atribut dlm sbh relasi mpy nama yg unik (sekalipun tdk
disarankan, nama-2 atribut pd relasi yg berbeda diijinkan mmlk
nama-2 atribut yg sama dgn nama atribut dl relasi lain)
Pd sbh relasi tdk ada 2 record data yg identik
Mahasiswa
NIM
Nama_Mahasiwa Kode_MK_1
Kode_MK_2 Sks_2
02050001 Rita
MK-001
MK-002
02050002 Rina
MK-001
MK-003
02050003 Rini
MK-007
MK-008
non single value
11
Sks_1
Solusi
Mahasiswa
NIM
12
Nama_Mahasiwa
Kode_MK
Sks
02050001
Rita
MK-001
02050001
Rita
MK-002
02050002
Rina
MK-001
02050002
Rina
MK-003
02050003
Rini
MK-007
02050003
Rini
MK-008
Pegawai
Nama_Pegawai
Tempat_Tanggal_Lahir
NIK
K001
Rita
Yogyakarta, 1-1-1981
K002
Rina
Semarang, 2-2-1982
K003
Rini
Surakarta, 3-3-1983
non atomic value
13
Solusi
Pegawai
14
NIK
Nama_Pegawai Tempat_Lahir Tanggal_Lahir
K001
Rita
Yogyakarta
1-1-1981
K002
Rina
Semarang
2-2-1982
K003
Rini
Surakarta
3-3-1983
Komponen Relasi
15
Intension
struktur penamaan (naming structure) relasi
batasan integritas (integrity contraint)
entity integrity
PK
referential integrity
FK
Ditunjukkan dg schema a/ subschema
Cenderung stabil / tetap
Extension
nilai-nilai aktual elemen data / entri pd suatu saat ttt
Cenderung tidak stabil / berubah
Ditambah
Diperbaharui
Dihapus
Intension
16
Extension
17
Kunci Relasi
18
Syarat:
Unik
Domain integrity
Jenis:
simple key
composite key
Macam:
CK
PK
AK
FK
Mahasiswa
NIM
Nama_Mahasiwa Alamat
02050001 Rita
Jl. Mawar no. 1 Yogyakarta
02050002 Rina
Jl. Melati no. 2 Yogyakarta
02050003 Rini
Jl. Menur no. 3 Yogyakarta
CK
PK
AK
FK
19
: NIM simple key
: NIM
: tidak ada
: tidak ada
Mata_Kuliah
Kode_Mata_Kuliah Nama_Mata_Kuliah Sks Smt Status
MK-11001
Pemrograman I
MK-12002
Pemrograman II
MK-13003
Pemrograman III
CK : Kode_Mata_Kuliah
Nama_Mata_Kuliah
PK : Kode_Mata_Kuliah
AK : Nama_Mata_Kuliah
FK : tidak ada
20
simple key
simple key
Nilai
Nilai_Huruf Mutu
Predikat
Sangat Baik
Baik
Cukup
Kurang
Gagal
CK : Nilai_Huruf
Mutu
Predikat
PK : Nilai_Huruf
AK : Mutu, Predikat
FK : tidak ada
21
simple key
simple key
simple key
KRS
NIM
02050001
MK-11001
200220031
02050001
MK-12002
200220032
02050002
MK-11001
200320041
02050002
MK-13003
200320041
02050003
MK-11001
200220031
02050003
MK-12002
200220032
CK
PK
AK
FK
22
Kode_Mata_Kuliah Tahun_Semester
: NIM+Kode_Mata_Kuliah+Tahun_Semester composite key
: NIM+Kode_Mata_Kuliah+Tahun_Semester
: tidak ada
: NIM references Mahasiswa
Kode_Mata_Kuliah references Mata_Kuliah
KHS
NIM
02050001
MK-11001
200220031
02050001
MK-12002
200220032
02050002
MK-11001
200320041
02050002
MK-13003
200320041
02050003
MK-11001
200220031
02050003
MK-12002
200220032
CK
PK
AK
FK
23
Kode_Mata_Kuliah Tahun_Semester Nilai_Huruf
: NIM+Kode_Mata_Kuliah+Tahun_Semester composite key
: NIM+Kode_Mata_Kuliah+Tahun_Semester
: tidak ada
: NIM+Kode_Mata_Kuliah+Tahun_Semester references KRS
Nilai_Huruf references Nilai
Rules
entity integrity
nilai-2 elemen data / entri pd atribut yg digunakan sbg PK tdk boleh null
Character
spasi
Numerik
nol
memberikan jaminan bhw stp record dlm relasi akan dpt diakses berdasar
nilai PK
Unik
Not null
referential integrity
dlm kerelasian antara 2 relasi dlm BD yg dihubungkan dgn suatu FK, mk
hubungan antar relasi tsb hrs menjamin bhw stp entri pd FK dlm relasi anak
hrs ada record dgn entri yg sm pd relasi yg dihubungkan
24
Catatan:
Desimal
Karakter
Biner
NULL
0000 0000
48
0011 0000
Tampak di monitor
Keterangan
Null
Nol
25
Kerelasian Antar Relasi
26
one to one relationship
one to many relationship
many to one relationship
many to many relationship
27
Menggambar diagram kerelasian antar relasi
1. Tulis semua relasi & atribut pd stp relasi dlm btk tabel 1 kolom
kepala tabel memuat nama relasi
isi tabel memuat nama-2 atribut
2. Tentukan PK & FK (jika ada) dlm stp relasi
Berikan tanda * pd atribut yg berfungsi sbg PK
Berikan tanda ** pd atribut yg berfungsi sbg FK
Bila atribut FK sekaligus berfungsi sbg PK
cukup ditandai dgn 1 tanda *
3. Gambarkan kerelasian antar relasi dgn cr menghubungkan stp FK
dgn atribut yg sesuai pd relasi induk dgn tanda garis
4. Gambarkan jenis kerelasian
2 mata panah u/ jenis banyak
1 mata panah u/ jenis satu
Nilai
Mahasiswa
Nilai_Huruf
Mutu
Predikat
Jl. Mawar no. 1 Yogyakarta
Sangat Baik
Rina
Jl. Melati no. 2 Yogyakarta
Baik
Rini
Jl. Menur no. 3 Yogyakarta
Cukup
Kurang
Gagal
NIM
Nama_Mahasiwa
Alamat
02050001
Rita
02050002
02050003
Mata_Kuliah
Kode_MK
Nama_MK
Sks
Smt
Status
MK-11001
Pemrograman I
MK-12002
Pemrograman II
MK-13003
Pemrograman III
W
KHS
KRS
28
NIM
Kode_MK
Tahun_Semester
NIM
Kode_MK
Tahun_Semester
Nilai_Huruf
02050001
MK-11001
200220031
02050001
MK-11001
200220031
02050001
MK-12002
200220032
02050001
MK-12002
200220032
02050002
MK-11001
200320041
02050002
MK-11001
200320041
02050002
MK-13003
200320041
02050002
MK-13003
200320041
02050003
MK-11001
200220031
02050003
MK-11001
200220031
02050003
MK-12002
200220032
02050003
MK-12002
200220032
Langkah 1
Mahasiswa
NIM
Nama_Mahasiwa
Alamat
KRS
NIM
Kode_MK
Tahun_Semester
KHS
Mata_Kuliah
Kode_MK
Nama_MK
Sks
Smt
Status
29
NIM
Kode_MK
Tahun_Semester
Nilai_Huruf
Nilai
Niai_Huruf
Mutu
Predikat
Langkah 2
Mahasiswa
NIM *
Nama_Mahasiwa
Alamat
KRS
NIM *
Kode_MK *
Tahun_Semester *
KHS
Mata_Kuliah
Kode_M *
Nama_MK
Sks
Smt
Status
30
NIM *
Kode_MK *
Tahun_Semester *
Nilai_Huruf
Nilai
Nilai_Huruf *
Mutu
Predikat
Langkah 3
Mahasiswa
NIM *
Nama_Mahasiwa
Alamat
KRS
NIM *
Kode_MK *
Tahun_Semester *
KHS
Mata_Kuliah
Kode_MK *
Nama_MK
Sks
Smt
Status
31
NIM *
Kode_MK *
Tahun_Semester *
Nilai_Huruf
Nilai
Nilai
Nilai_Huruf *
Niai_Huruf
Mutu
Predikat
Langkah 4
KRS
Mahasiswa
NIM *
Nama_Mahasiwa
Alamat
NIM *
Kode_MK *
Tahun_Semester *
KHS
Mata_Kuliah
Kode_MK *
Nama_MK
Sks
Smt
Status
32
NIM *
Kode_MK *
Tahun_Semester *
Nilai_Huruf
Nilai
Nilai
Nilai_Huruf
Niai_Huruf
*
Mutu
Mutu
Predikat
Predikat
Beberapa Definisi Relasi
33
Relasi tak gayut
Sbh relasi yg berasal dr entitas reguler / dominan
Ciri tdk mpy FK
Relasi asosiatif
Sbh relasi yg mpy jenis kerelasian n-ke-n
Ciri memiliki > 1 FK
Relasi karakteristik
Sbh relasi yg berasal dr entitas dependen / tak gayut / tak bebas / lemah
Ciri umumnya mpy jenis kerelasian n-ke-1 thd relasi induknya
Subrelasi
Sbh relasi yg berasal dr sub type entity
Biasanya digabungkan dg super type entity
Anomallies
34
Penyebab:
Kerangkapan data
ketergantungan antar rinci data
Jenis
delete anomally
insert anomally
update anomally
35
delete anomally
Proses penghapusan suatu nilai rinci data yang mengakibatkan
hilangnya informasi rinci data lain yang tidak mempunyai kerelasian
secara logik
insert anomally
Proses penyisipan suatu nilai rinci data yang mengakibatkan perlunya
penyisipan pada nilai rinci data lain yang tidak mempunyai kerelasian
secara logik
update anomally
proses mengubah suatu nilai rinci data yang mengakibatkan perlunya
pengubahan pada nilai rinci data lain yang tidak mempunyai kerelasian
secara logik
Delete anomally
KRS
NIS
Nama_Siswa Jenis_Kursus
Instruktur
Periode
1001 Dian
Bahasa Inggris
Nita
Januari 1998
1002 Dina
Bahasa Jepang
Nina
April 1998
1003 Dani
Bahasa Mandarin Nani
Juli 1998
1004 Doni
Bahasa Inggris
Noni
Januari 1998
1005 Dino
Bahasa Jepang
Nina
April 1998
1006 Dion
Bahasa Inggris
Noni
Januari 1998
Kasus:
Dani telah selesai mengikuti kursus Bahasa Mandarin 5 tahun yang lalu DAN
data tsb tdk digunakan lagi, mk record dihapus.
Peserta kursus Bahasa Mandarin periode Juli 1998 hny seorang saja
Akibatnya,
Slrh rinci data dlm record tsb akan hilang dr BD
Tmsk informasi ttg instruktur bernama Nani & periode kursus Juli 1998
akan hilang
Pdhl semula hny ingin menghapus nilai rinci data Dani
36
Insert anomally
KRS
NIS
Nama_Siswa Jenis_Kursus
Instruktur
Periode
1001 Dian
Bahasa Inggris
Nita
Januari 1998
1002 Dina
Bahasa Jepang
Nina
April 1998
1003 Dani
Bahasa Mandarin Nani
Juli 1998
1004 Doni
Bahasa Inggris
Noni
Januari 1998
1005 Dino
Bahasa Jepang
Nina
April 1998
1006 Dion
Bahasa Inggris
Noni
Januari 1998
Kasus:
Jk ada seorang instruktur baru yg masuk ke lembaga tersebut, ttp
blm pernah mengajar sama sekali
Mk, penambahan data instruktur tsbt tdk dpt dilakukan slm blm pernah
mengajar
37
Update anomally
Karyawan
NIK
Nama_Karyawan Golongan_Gaji Gaji_Pokok
01001 Feri
IIIA
600000
01002 Fira
IIIB
650000
01003 Fina
IIIA
600000
01004 Fita
IVA
800000
01005 Fani
IIIB
650000
Kasus:
Jk tyt tjd perubahan Gaji_Pokok karyawan, misal Golongan_Gaji IIIA
mjd 625.000, mk:
Nilai rinci data Gaji_Pokok hrs di-update, sbyk 2x
Jk jml karyawan yg memiliki Golongan_Gaji IIIA cukup byk,
Mk update hrs dilakukan sbyk karyawan yg memiliki
Golongan_Gaji IIIA
Jk ada yg terlewat, mk akan tjd inkonsistensi
38
Ketergantungan Data
39
Jenis:
Functionally Dependence / FD
Full Functionally Dependency / FFD
Transitive Dependency / TDF
Total Dependency / TD
Representasi
Notasi
Diagram Diagram ketergantungan data
40
Functionally Dependence / FD
Atribut Y bergantung scr fungsional thd atribut X,
jk:
Stp nilai X berkaitan dgn sebuah nilai pd Y
U/ stp record yg memiliki sembarang nilai X
sll berhubungan dgn nilai Y yg sama
notasi:
FD: R.X R.Y
Keterangan:
FD
: Functionally Dependence
: nama relasi
: atribut penentu (determines), yi CK
: atribut bergantung (dependent)
Functionally Dependence / FD
Tour
No_Anggota Nama-Anggota Alamat_Lokal
Tujuan
Beaya
Tanggal
3246
Erna
Jl. Mawar 10
Bali
500000 1-1-2002
5498
Erni
Jl. Menur 20
Lombok
750000 2-2-2002
8730
Irna
Jl. Melati 5
Surabaya 300000 3-3-2002
6593
Arni
Jl. Mawar 20
Bali
550000 2-2-2002
FD: R.X R.Y
FD: (Tour.No_Anggota, [Link], [Link])
(Tour.Nama_Anggota, Tour.Alamat_Lokal, [Link])
41
42
Full Functionally Dependence / FFD
Atribut Y mpy ketergantungan fungsional penuh thd atribut X,
jk:
Y functionally dependency thd X
Y tdk functionally dependency thd bag ttt dr X
Notasi:
FFD: R.X R.Y
Keterangan:
FFD
: Full Functionally Dependency
: nama relasi
: atribut penentu (determines), yi CK
: atribut bergantung (dependent)
Full Functionally Dependence / FFD
Tour
No_Anggota Nama-Anggota Alamat_Lokal
Tujuan
Beaya
Tanggal
3246
Erna
Jl. Mawar 10
Bali
500000 1-1-2002
5498
Erni
Jl. Menur 20
Lombok
750000 2-2-2002
8730
Irna
Jl. Melati 5
Surabaya 300000 3-3-2002
6593
Arni
Jl. Mawar 20
Bali
550000 2-2-2002
FFD: R.X R.Y
FFD: ([Link], [Link]) ([Link])
FFD: (Tour.No_Anggota) (Tour.Nama_Anggota, Tour.Alamat_Lokal)
43
44
Transitive Dependence / TDF
Atribut Z bergantung transitif thd X,
jk:
Y functionally dependency thd X
Z functionally dependency thd Y
notasi:
TDF: R.X [Link].Z
Keterangan:
TDF
: Trancitive Dependency
: nama relasi
: atribut penentu (determines)
: atribut bergantung (dependent) thd X dan penentu thd Z
: atribut yg bergantung (dependent) thd Y
Transitive Dependence / TDF
Karyawan
NIK
Nama_Karyawan Golongan_Gaji Gaji_Pokok
01001 Feri
IIIA
600000
01002 Fira
IIIB
650000
01003 Fina
IIIA
600000
01004 Fita
IVA
800000
01005 Fani
IIIB
650000
TDF: R.X R.Y R.Z
TDF: ([Link]) (Karyawan.Golongan_Gaji)
(Karyawan.Gaji_Pokok)
45
46
Total Dependence / TD
Atribut Y mengalami ketergantungan total thd atribut X,
jk:
Y functionally dependency thd X
X functionally dependency thd Y
notasi:
TD: R.X R.Y
Keterangan:
TD
: Total Dependency
: nama relasi
: atribut penentu (determines), & bergantung pd Y
: atribut bergantung (dependent) & penentu pd X
Total Dependence / TD
Karyawan
NIK
Nama_Karyawan Golongan_Gaji Gaji_Pokok
01001 Feri
IIIA
600000
01002 Fira
IIIB
650000
01003 Fina
IIIA
600000
01004 Fita
IVA
800000
01005 Fani
IIIB
650000
TD: R.X R.Y
TD: (Karyawan.Golongan_Gaji) (Karyawan.Gaji_Pokok)
47
Diagram ketergantungan data
Cara 1 horisontal
Cara 2 vertikal
48
Menggambar diagram ketergantungan data
Cara 1 horisontal
Tempatkan stp atribut yg mjd penentu pd sbh garis horisontal
yg berupa titik-2 sbg penghubung
Identifikasikan stp atribut yg bgt pd atribut penentu tsb
Gambarkan hal tsb dgn menggunakan panah ke bwh
Identifikasikan & gambarkan ketergantungan data
49
Tour
No_Anggota Nama-Anggota Alamat_Lokal
Tujuan
Beaya
Tanggal
3246
Erna
Jl. Mawar 10
Bali
500000 1-1-2002
5498
Erni
Jl. Menur 20
Lombok
750000 2-2-2002
8730
Irna
Jl. Melati 5
Surabaya 300000 3-3-2002
6593
Arni
Jl. Mawar 20
Bali
550000 2-2-2002
50
51
No_Anggota
Nama_Anggota
..
Alamat_Lokal
Tanggal +Tujuan
Beaya
Diagram ketergantungan data dalam relasi Tour (cara 1)
52
No_Anggota
Nama_Anggota
Tanggal
Alamat_Lokal
Tujuan
Beaya
Diagram ketergantungan data dalam relasi Tour (cara 2)
53
NIK
...
Nama_Karyawan
Golongan_Gaji
Gaji_Pokok
Diagram ketergantungan data dalam relasi Karyawan (cara 1)
54
NIK
Golongan_Gaji
Nama_Karyawan
Gaji_Pokok
Diagram ketergantungan data dalam relasi Karyawan (cara 2)
Normalisasi
55
suatu teknik yg menstrukturkan / memecah /
mendekomposisi data dlm cr-2 ttt u/ mencegah
timbulnya permasalahan pengolahan data dlm BD
delete anomally
insert anomally
update anomally
56
Proses normalisasi akan menghasilkan relasi yg optimal,
yi:
Memiliki struk record yg konsisten sca logik
Memiliki struk record yg mudah u/ dimengerti
Memiliki struk record yg sederhana dlm pemeliharaan
Memiliki struk record yg mudah u/ ditampilkan kbl u/ memenuhi
ke-bth-an pmk
Minimalisasi kerangkapan data
57
Umumnya rancangan relasi dlm BD tlh optimal,
jk memenuhi kriteria 3NF
Level normalisasi di-tt-kan ber-dsr-kan kriteria btk normal
bkn jml lkh dekomposisi relasi
Teori normalisasi dibangun mnrt konsep level normalisasi
58
Level normal:
UNF
1NF
2NF
3NF
BCNF
4NF
5NF
DKNF
59
Kriteria UNF:
Jk memenuhi salah satu kriteria brk:
Jk relasi mpy btk non flat file
data disimpan sesuai dgn kedatangannya
tdk memiliki struk ttt
tjd duplikasi a/ tdk lgkp
Jk relasi memuat set atribut berulang (non single value)
Jika relasi memuat atribut non atomic value
60
Kriteria 1 NF
Jk slrh atribut dlm relasi bernilai atomik (atomic value)
Jk slrh atribut dlm relasi bernilai tunggal (single value)
Jk relasi tdk memuat set atribut berulang
Jk semua record mpy se-jml atribut yg sama
61
Permasalahan dlm 1 NF:
Tdk dpt menyisipkan informasi parsial
Terhapusnya informasi ktk menghapus sbh record
Update atribut non kunci mengakibatkan se-jml record hrs diupdate
Konversi UNF 1 NF:
Melengkapi nilai-2 dlm atribut
Mengubah struk relasi
62
Kriteria 2 NF :
Jk memenuhi kriteria 1 NF
Jk semua atribut non kunci FD pd PK
Ada TDF
Jk slrh atribut dlm relasi bernilai atomik (atomic value)
Jk slrh atribut dlm relasi bernilai tunggal (single value)
Jk relasi tdk memuat set atribut berulang
Jk semua record mpy se-jml atribut yg sama
63
Permasalahan dlm 2 NF:
Kerangkapan data (data redundancy)
Update yg tdk benar dpt menimbulkan inkonsistensi data
Proses update data tdk efisien
Anomallies
Konversi 1NF 2 NF:
Identifikasikan FD relasi 1NF
Ber-dsr-kan informasi tsb,
dekomposisi relasi 1NF mjd relasi-2 baru sesuai FD-nya
Jk menggunakan diagram,
mk simpul-2 yg berada pd puncak diagram bertindak sbg PK
pd relasi baru
64
Kriteria 3 NF :
Jk memenuhi kriteria 2NF
Jk stp atribut non kunci tdk TDF thd PK
65
Permasalahan pd 3NF:
Duplikasi rinci data pd atribut yg berfungsi sbg FK
Konversi 2NF 3NF
Mengubah struk relasi
Identifikasikan TDF pd relasi 2NF
Ber-dsr-kan informasi tsb,
dekomposisi relasi 2NF mjd relasi-2i baru sesuai TDF-nya
Jk menggunakan diagram,
mk simpul-2 yg berada pd puncak diagram bertindak sbg PK
pd relasi baru
66
Misal:
Thd relasi R dgn sifat sbb:
R=(A,B,C) dgn PK = A
FD: R.B R.C
Mk, relasi R perlu didekomposisi mjd relasi-2 R1 & R2, yi:
R1 = (B,C)
R2 = (A, B), FK: B references R1
67
Kriteria BCNF :
Jk memenuhi kriteria 3NF
Jk semua atribut penentu (determinan) mrpk CK
68
Kriteria 4 NF :
Jk memenuhi kriteria BCNF
Jk stp atribut di dlm-nya tdk mengalami ketergantungan pd
byk nilai
Atau
semua atribut yg mengalami ketergantungan pd byk nilai adl
bgt scr fungsional (functionally dependency)
69
Kriteria 5 NF :
jk kerelasian antar data dlm relasi tsb tdk dpt direkonstruksi dr
struk relasi yg memuat atribut yg lbh sdkt
70
Kriteria DKNF :
Oleh R Fagin thn 1981
Jk stp batasan dpt disimpulkan scr sederhana dgn mengetahui
sekumpulan nama atribut & domainnya slm menggunakan
sekumpuan atribut pd kuncinya
Bersifat spesifik
tdk semua relasi dpt mencapai level ini
Contoh 1
Supplier-UNF
Kode_Supplier Status
S01
S02
S03
71
10
20
30
Kota
Jakarta
Surabaya
Yogyakarta
Kode_Barang Jumlah_Barang
B01
100
B02
150
B03
200
B02
250
B04
200
B05
150
B06
100
Supplier-1NF
Kode_Supplier Status
Kota
S01
10
Jakarta
B01
100
S01
10
Jakarta
B02
150
S01
10
Jakarta
B03
200
S02
20
Surabaya
B02
250
S02
20
Surabaya
B04
200
S03
30
Yogyakarta
B05
150
S03
30
Yogyakarta
B06
100
Kode_Supplier
Status
Kota
Kode_Barang
72
Kode_Barang Jumlah_Barang
Jumlah_Barang
Supplier-2NF
Kode_Supplier Status
Kota
S1
10
Jakarta
S2
20
Surabaya
S3
30
Yogyakarta
Barang
Kode_Supplier Kode_Barang Jumlah_Barang
73
S1
P1
100
S1
P1
95
S2
P2
75
S2
P2
70
S3
P3
60
S3
P3
50
Supplier-3NF
Kota
Kode_Supplier Status
Status
Kota
S1
10
10
Jakarta
S2
20
20
Surabaya
S3
30
30
Yogyakarta
Barang
Kode_Supplier Kode_Barang Jumlah_Barang
74
S1
P1
100
S1
P1
95
S2
P2
75
S2
P2
70
S3
P3
60
S3
P3
50
Barang
Kota
Kode_Supplier *
Kode_Barang *
Jumlah_Barang
Status *
Kota
Supplier_3NF
Kode_Supplier *
Status **
75
Contoh 2
KRS-UNF
NIM Nama_Mhs Kode_MK_1 Sks_1 Tahun_Smt_1 Kode_MK_2 Sks_2 Tahun_Smt_2
001
Koko
MK01
20021
MK02
20022
002
Kiki
MK01
20021
MK02
20022
003
Kiko
MK01
20031
MK03
20032
004
Koki
MK01
20031
MK04
20032
76
KRS-1NF
NIM Nama_Mhs
Kode_MK
Sks
Tahun_Smt
001
Koko
MK01
20021
001
Koko
MK02
20022
002
Kiki
MK02
20022
002
Kiki
MK01
20021
003
Kiko
MK01
20031
003
Kiko
MK03
20032
004
Koki
MK01
20031
004
Koki
MK04
20032
NIM
Nama_Mahasiswa
Tahun_Smt
Kode_MK
77
Sks
KRS-2NF
NIM
78
Kode_MK
Mahasiswa
Sks
Tahun_Smt
NIM Nama_Mahasiswa
001
MK01
20021
001
Koko
001
MK02
20022
002
Kiki
002
MK02
20022
003
Kiko
002
MK01
20021
004
Koki
003
MK01
20031
003
MK03
20032
004
MK01
20031
004
MK04
20032
Mata-Kuliah
KRS-3NF
NIM
79
Kode_MK
Tahun_Smt
Kode_MK
Mahasiswa
Sks
NIM Nama_Mahasiswa
001
MK01
20021
MK01
001
Koko
001
MK02
20022
MK02
002
Kiki
002
MK02
20022
MK02
003
Kiko
002
MK01
20021
MK01
004
Koki
003
MK01
20031
MK01
003
MK03
20032
MK03
004
MK01
20031
MK01
004
MK04
20032
MK04
Mahasiswa
Mata_Kuliah
NIM *
Nama_Mahasiswa
Kode_MK *
Sks
KRS_3
NIM
*
Kode_MK *
Tahun_Smt *
80
Contoh 3
81
82
83
84
85
Efek Normalisasi
1.
2.
3.
4.
86
Duplikasi rinci data pd atribut FK
Kemungkinan tdk terpenuhinya referential integrity
Inefisiensi proses menampilkan kbl data-2 dr dlm BD
Batasan penerapan pd bbrp DBMS u/ PC
87
tugas