normalisasi
TRANSCRIPT
PBD
NORMALIZATION
Participation Constraint Dependencies
Participation Constraint Dependency• Menunjukkan apakah keberadaan suatu entitas bergantung
penuh / tidak dengan entitas relasinya.• Batasan (constraint) adalah jumlah minimum relasi dimana tiap
entitas dapat ikut berpatisipasi.• Ada 2 jenis Participation Constraint:
1. Partisipasi Total ( ) adalah bentuk partisipasi yang menunjukkan ketergantungan penuh suatu entitas (semua dan harus).2. Partisipasi Parsial ( )
adalah bentuk partisipasi yang menujukkan ketergantuan tidak penuh suatu entitas (beberapa, tidak harus semua)
Participation Constraint DependenciesRasio Kardinalitas Participation Constraint 1 : 1 : One-to-One
N : 1 : Many-to-One
M : N : Many-to-Many
PEGAWAI DEPARTEMENMANAGE1 1
PEGAWAI DEPARTEMENBEKERJA_
PADA
N 1
p1 p2 p3 p4
r1 r2 r3
d1 d2 d3
PEG AW AI M ANAG E DEPARTEM EN
p1 p2 p3 p4
r1 r2 r3 r4
d1 d2 d3
PEG AW AI BEKERJA_PADA DEPARTEM EN
p1 p2 p3 p4
r1 r2 r3 r4
d1 d2 d3
PEGAWAI BEKERJA_DI PROJECT
PEGAWAI PROJECTBEKERJA_ DIM N
4
NORMALIZATION
Given any pool of entities and attributes, there are a number of ways you can group them into relations
5
Normalization
Pada dasarnya ada 2 model pendekatan dalam menyusun normalisasi, yaitu :
• Mapping dari ERD.• Melakukan langkah-langkah normalisasi sesuai
dengan teori-teori perancangan database.
Aturan 1
• Untuk setiap entitas kuat (EK), buat tabel baru EK yang memasukkan semua attribut sederhana (simple attribut)
• Untuk atribut komposit, hanya atribut sederhananya yang disertakan
• Pilih salah satu key attribute dari EK sebagai primary key. Jika key yang terpilih merupakan atribut komposit, seluruh atribut sederhananya merupakan primary key
Aturan 1
Pegawai
Nam a
Nm Depan Inisial Nm Blk
JenisKel
A lam at Gaji
NoKTP
Langkah 1
Tabel PEGAWAI
NoKTPNmDepan
InisialNmBlk
JenisKelAlamat
Gaji
Atribut komposit nama tidak menjadi field/kolom pada tabel PEGAWAI, tetapi yg dimasukkan adalah bagian simple attributnya.
Aturan 2
• Untuk setiap entitas lemah EL yang dimiliki oleh entitas kuat EK, buat tabel baru EL yang memasukkan semua atribut sederhana EL
• Tambahkan pada EL foreign key yang diambil dari primary key EK
• Primary key yang dibentuk merupakan gabungan primary key EK dan partial key dari EL (jika ada)
Aturan 2
Pegawai
Tanggungan
menanggung
(0,N
)
NoKTP
NamaJenisKel TglLahir
Hubungan
(1,1)
Langkah 2
Tabel TANGGUNGA
NPeg_NoKTP
NamaJenisKelTglLahir
Hubungan
Aturan 3
Untuk setiap relasi 1:1 antara entitas EK1 dan EK2: •Jika sama-sama merupakan partisipasi total, pilih salah satu. Tambahkan semua semua simple attribut dari entitas yang lain •Jika sama-sama merupakan partisipasi parsial, pilih salah satu. Tambahkan foreign key dari primary key entitas yang lain •Jika salah satu merupakan partisipasi total, pilih yang berpartisipasi total. Tambahkan foreign key dari primary key entitas yang lain Kemudian tambahkan semua simple atribut dari relasi tersebut
Aturan 3
Pegawai Departemenmengepalai
(0,1)NoKTP (1,1)
Langkah 1-3Tabel
DEPARTEMEN
……
Peg_NoKTPKepala
Kolom-kolom yang telah dibentuk pada langkah-langkah sebelumnya
Aturan 4
• Untuk setiap relasi 1:N antara entitas EK1 dan EK2, pilih entitas yang memiliki derajat maksimum relasi=N
• Tambahkan sebuah foreign key dari primary key entitas lain yang memiliki derajat maksimum relasi = 1
• Tambahkan pula seluruh atribut dari relasi tersebut
Aturan 4
Pegawai Departemenbekerja untuk
NoKTP nama nomor
(1)(N)
Langkah 4
Tabel PEGAWAI
……
Dep_NomorBekerja
Dep_NamaBekerja
Kolom-kolom yang telah dibentuk pada langkah-langkah sebelumnya
Aturan 5
• Untuk setiap relasi M:N antara entitas EK1 dan EK2, buat tabel baru MN
• Tambahkan seluruh simple attribut dari relasi tersebut
• Tambahkan pula foreign key yang diambil dari primary key masing-masing entitas yang direlasikan
• Primary key merupakan gabungan dari seluruh foreign key tersebut
Aturan 5
Pegawai Proyekbekerja
pada
NoKTP
Nom or Nam aLam aJam
(1,N)(1,N)
Langkah 5
Tabel BEKERJAPAD
APeg_NoKTPPro_NomorPro_NamaLamaJam
Aturan 6
• Untuk setiap multivalued attribute, buat tabel baru MV
• Tambahkan seluruh simple attributnya • Tambahkan pula sebagai foreign key, primary
key dari entitas yang memiliki • Primary key merupakan gabungan dari dari
seluruh fieldnya
Aturan 6
8lokasi
Departem en
nam a nom or
Jm lPegawai
Langkah 6
Tabel DEP_LOKASIDep_NomorDep_Nama
Lokasi
8lokasi
Pegawai Departemen
Proyek
Tanggungan
memimpin
menanggung
bekerjapada
mengatur
(1,1
)(0
,N)mengepalai
bekerjauntuk
Nama
NmDepan Inisial NmBlk
JenisKel
Alamat Gaji
NoKTP
NamaJenisKel TglLahir
Hubungan
Nomor Nama Lokasi
nama nomor
TglMulai
LamaJam
JmlPegawai
(1,1
)
ERD Perusahaan
ContohBerdasarkan ERD
NoKTP NmDepan Inisial NmBlk JenisKel Alamat Gaji
Step 1:Langkah pertama mendefinisikan entitas kuatTabel PegawaiEntitas pegawai memiliki atribut NoKTP,JenisKel,Alamat,Gaji dan atribut composit Nama (NmDepan,Inisial,NmBlk). Sehingga skema tabel pegawai sbb:
Tabel DepartemenEntitas departemen memiliki atribut Nomor,Nama, JmlPegawai dan atribut multi valued lokasi yang bisa menjadi tabel lain yang mengacu ke tabel departemen. Skemanya adalah sbb:
Nomor Nama JmlPegawai
Contoh
Nomor Nama Lokasi
Tabel proyekEntitas proyek terdiri dari atribut Nomor, Nama,Lokasi. Skema dari tabel proyek adalah
Step 2:Langkah kedua adalah mendefinisikan entitas lemah
Tabel TanggunganEntitas tanggungan bergantung pada entitas pegawai. Atibutnya adalah Nama,JenisKel,TglLahir,Hubungan. Primary key dari entitas pegawai masuk ke entitas tanggungan
NoKTP Nama JenisKel TglLahir Hubungan
Contoh
Nomor Nama JmlPegawai NoKTP TglMulai
Step 3:Tabel DepartemenPada relasi mengepalai, suatu departemen dikepalai oleh 1 pegawai sehingga primary key entitas pegawai masuk ke entitas departemen, ditambahkan dengan atribut tglMulai
Step 4:Tabel PegawaiPada relasi memimpin dan bekerja, primary key dari departemen masuk ke entitas pegawai dan setiap pegawai memiliki pimpinan
NoKTP NmDepan Inisial NmBlk JenisKel Alamat Gaji
… NoKTP_Pimpinan dep_nomor Dep_nama
Contoh
Tabel ProyekBerdasarkan relasi mengatur, maka primary key dari entitas departemen masuk ke entitas proyek
Nomor Nama Lokasi dep_nomor dep_nama
Step 5:Tabel BekerjaPadaPada relasi bekerja pada memiliki relasi many to many sehingga akan muncul tabel baru yang primary keynya berasal dari entitas pegawai dan proyek
noKTP proyek_nomor proyek_nama lamaJam
Contoh
Step 6:
Tabel Departemen_Lokasi Dari atribut muti valued lokasi akan dibuat tabel baru yang skemanya sebagai berikut
dep_nomor dep_nama Lokasi
24
LATIHAN
Latihan
END OF SLIDE