normalisasi

26
PBD NORMALIZATION

Upload: dimas-wahab

Post on 18-Aug-2015

8 views

Category:

Career


0 download

TRANSCRIPT

Page 1: Normalisasi

PBD

NORMALIZATION

Page 2: Normalisasi

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)

Page 3: Normalisasi

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

Page 4: Normalisasi

4

NORMALIZATION

Given any pool of entities and attributes, there are a number of ways you can group them into relations

Page 5: Normalisasi

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.

Page 6: Normalisasi

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

Page 7: Normalisasi

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.

Page 8: Normalisasi

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)

Page 9: Normalisasi

Aturan 2

Pegawai

Tanggungan

menanggung

(0,N

)

NoKTP

NamaJenisKel TglLahir

Hubungan

(1,1)

Langkah 2

Tabel TANGGUNGA

NPeg_NoKTP

NamaJenisKelTglLahir

Hubungan

Page 10: Normalisasi

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

Page 11: Normalisasi

Aturan 3

Pegawai Departemenmengepalai

(0,1)NoKTP (1,1)

Langkah 1-3Tabel

DEPARTEMEN

……

Peg_NoKTPKepala

Kolom-kolom yang telah dibentuk pada langkah-langkah sebelumnya

Page 12: Normalisasi

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

Page 13: Normalisasi

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

Page 14: Normalisasi

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

Page 15: Normalisasi

Aturan 5

Pegawai Proyekbekerja

pada

NoKTP

Nom or Nam aLam aJam

(1,N)(1,N)

Langkah 5

Tabel BEKERJAPAD

APeg_NoKTPPro_NomorPro_NamaLamaJam

Page 16: Normalisasi

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

Page 17: Normalisasi

Aturan 6

8lokasi

Departem en

nam a nom or

Jm lPegawai

Langkah 6

Tabel DEP_LOKASIDep_NomorDep_Nama

Lokasi

Page 18: Normalisasi

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

Page 19: Normalisasi

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

Page 20: Normalisasi

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

Page 21: Normalisasi

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

Page 22: Normalisasi

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

Page 23: Normalisasi

Contoh

Step 6:

Tabel Departemen_Lokasi Dari atribut muti valued lokasi akan dibuat tabel baru yang skemanya sebagai berikut

dep_nomor dep_nama Lokasi

Page 24: Normalisasi

24

LATIHAN

Page 25: Normalisasi

Latihan

Page 26: Normalisasi

END OF SLIDE