normalisasi
DESCRIPTION
1. Normalisasi. 2. Tujuan Pembelajaran. Memahami pentingnya normalisasi . Memahami normalisasi bentuk pertama (1NF). Memahami aturan pembuatan normalisasi 1NF. Memahami normalisasi bentuk kedua (2NF) Memahami aturan normalisasi 2NF Memahami normalisasi bentuk ketiga (3NF) - PowerPoint PPT PresentationTRANSCRIPT
Normalisasi
1
Tujuan Pembelajaran
1. Memahami pentingnya normalisasi.2. Memahami normalisasi bentuk pertama (1NF).3. Memahami aturan pembuatan normalisasi 1NF.4. Memahami normalisasi bentuk kedua (2NF)5. Memahami aturan normalisasi 2NF6. Memahami normalisasi bentuk ketiga (3NF)7. Memahami normalisasi Boyce-Codd Normal Form
(BCNF)
2
Pentingnya Normalisasi
• Karena adanya struktur database yang kurang bagus Data yang sama tersimpan di beberapa tempat (file atau
record) Ketidakmampuan untuk menghasilkan informasi tertentu Terjadi kehilangan informasi Terjadi adanya redundansi (pengulangan) atau duplikasi
data sehingga memboroskan ruang penyimpanan dan menyulitkan saat proses updating data
Adanya NULL VALUE
3
Tujuan Normalisasi
• Tujuan normalisasi adalah menyempurnakan struktur table menjadi lebih baik
• Bentuk normalisasi yang sering digunakan adalah 1st NF, 2nd NF, 3rd NF, dan BCNF
4
FUNCTIONAL DEPENDENCY (FD)
• Untuk melakukan normalisasi, harus bisa menentukan terlebih dahulu Functional Dependency (FD) atau Ketergantungan Fungsional, khususnya dalam melakukan dekomposisi rancangan database.
• Functional Dependency (FD) dapat disimbolkan dengan:A B : artinya B memiliki ketergantungan dengan A
• Berarti A secara fungsional menentukan B atau B secara fungsional tergantung pada A.
5
FUNCTIONAL DEPENDENCY (FD)
• Contoh:
Functional Dependency:• NRP Nama• Mata_Kuliah, NRP NilaiNon Functional Dependency:• Mata_Kuliah NRP• NRP Nilai
6
NORMALISASI 1NF
1st Normal Form (1NF)• Merubah dari bentuk tabel tidak normal
(unnormalized table) menjadi bentuk normal (1NF).
• Suatu relasi R disebut 1st NF jika dan hanya jika kondisi tablenya dari unnormalized dirubah ke bentuk normal dengan kondisi semua attribute value-nya harus atomic (tidak boleh ada attribute yang composit / multivalue)
7
Unnormalized table (tabel tidak normal)
Suatu tabel dikatakan unnormalized jika :a) Mempunyai penggandaan field yang sejenis
Contoh :
Tabel dibawah adalah tabel siswa mengambil mata kuliah SISWA
b) Elemen datanya memungkinkan untuk null value (kosong) Contoh :Tabel yang mencatat No. SIM yang dimiliki siswa
SISWA_SIM
8
Tabel dalam bentuk normal 1NF, jika …
• Suatu tabel dikatakan berada pada bentuk normal I jika ia tidak berada pada bentuk unnormalized table, dimana terjadi penggandaan field yang sejenis dan memungkinkan ada field yang null (kosong)
SISWA
SIM
9
Latihan Soal
1. Apakah bentuk relasi table Department sudah memenuhi normal 1 (1NF)? Jika belum normalisasikan.
2. Apakah bentuk relasi table Emp_Proj sudah memenuhi normal 1 (1NF)? Jika belum normalisasikan.
10
NORMALISASI 2NF
2st Normal Form (2NF)• Normalisasi 2NF: jika tabel berada dalam
bentuk Normal Pertama (1NF) dan setiap atribut bukan kunci bergantung penuh pada kunci primer.
• Sehingga tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial) kunci primer.
11
Syarat 2st Normal Form (2NF)
Syarat 2st Normal Form (2NF):• Memenuhi kriteria tabel Normal I (1NF) • Di dalam tabel tersebut tidak ada
Redundansi / Pengulangan data dan Null Value.
• Field-field yang bukan PK adalah Full Dependent (bergantung penuh) pada PK.
12
Contoh 2NF:
• Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi)
• Bentuk Normal II (2NF) : (Decompose)
13
Ilustrasi 2NF
• Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi)
• Bentuk Normal II (2NF) : (Decompose)
14
NORMALISASI 3NF
3rd Normal Form (3NF)• Suatu relasi R disebut normal III (3rd NF) jika
berada dalam bentuk normal II (2nd NF) dan tidak dijumpai adanya ketergantungan transitif (Transitive Dependency).
• Kebergantungan Transitif (Transitive Dependency) adalah ketergantungan fungsional antara 2 (atau lebih) atribut bukan key (kunci).
15
Syarat 3NF
Syarat 3NF:• Harus berada dalam bentuk normal II (2NF).• Ketergantungan field-field yang bukan PK
adalah harus secara mutlak (full-dependent). Artinya harus tidak ada transitive dependency (ketergantungan secara transitif).
16
Contoh 3NF:
• Bentuk Normal ke Dua (2NF) :Tabel di samping sudah masuk dalam bentuk Normal 2. Akan tetapi kita lihat bahwa field Nama dan Nilai adalah Full-Dependent terhadap NRP yang bertindak sebagai PK. Berbeda dengan field Keterangan di atas yang Dependent kepada NRP akan tetapi Tidak Mutlak. Ia lebih dekat ketergantungannya dengan field Nilai. Karena field Nilai Dependent kepada NRP dan field Keterangan Dependent kepada Nilai, maka field Keterangan juga dependent kepada NRP. Ketergantungan yang demikian ini yang dinamakan Transitive-Dependent (dependent secara transitif atau samar/tidak langsung). Untuk itu dilakukan Normalisasi III (3NF).
• Bentuk Normal ke Tiga (3NF) :
17
Boyce-Codd Normal Form (BCNF)
• Secara praktis, tujuan rancangan database adalah cukup sampai pada 3NF. Akan tetapi untuk kasus-kasus tertentu kita bisa mendapatkan rancangan yang lebih baik lagi apabila bisa mencapai ke BCNF.
• BCNF ditemukan oleh: R.F. Boyce dan E.F. Codd • Suatu relasi R dikatakan dalam bentuk BCNF: jika dan hanya jika
setiap Atribut Kunci (Key) pada suatu relasi adalah Kunci Kandidat (Candidate Key).
• Kunci Kandidat (Candidate Key) adalah atribut-atribut dari entitas yang mungkin dapat digunakan sebagai kunci (key) atribut.
• BCNF hampir sama dengan 3NF, dengan kata lain setiap BCNF adalah 3NF.
18
Contoh BCNF
• Normal II (2NF) :
• Normal III (3NF) atau BCNF
19
Implementasi Basis Data
20
Implementasi basis data
• Merupakan upaya membangun basis data fisik yang ditempatkan dalam memori sekunder (disk) dengan bantuan DBMS
• Diawali dengan melakukan transformasi model data ke skema/struktur basis data
• Diagram E-R ditransformasi ke basis data secara fisik• Himpunan entitas dan relasi ditransformasi ke tabel-tabel
(file-file data)• Atribut-atribut dari himpunan entitas dan relasi
ditransformasi ke field-field dari tabel yang sesuai
21
22
Transformasi model data ke basis data fisik
• Transformasi umum/dasar• Implementasi himpunan entitas lemah dan sub entitas• Implementasi relasi tunggal (unary relation)• Implementasi relasi multi entitas (N-ary relation)• Implementasi relasi ganda (redundant relation)• Implementasi spesialisasi dan generalisasi• Implementasi agregasi
22
23
Transformasi umum/dasar
Mahasiswa
nim
alamat_mhs
nama_mhs
tgl_lahir
nim nama_mhs
alamat_mhs
tgl_lahir
Tabel Mahasiswa
Transformasi himpunan entitas dan atribut ke basis data fisik
23
24
Transformasi umum/dasar
kode_dos nama_dos alamat_dos
Tabel Dosen
Transformasi relasi satu ke satu ke basis data fisik
kode_jur nama_jur kode_dos
Tabel Jurusan
JurusanDosen mengepalai
kode_dos alamat_dos kode_jur nama_jurkode_dos kode_jur
1 1
nama_dos field yang ditambahkan dari relasi “mengepalai”
24
Kode_dos Nama_dos Alamat_dos
01 Agus
02 Khamidinal
03 Fikri
Kode_jur Nama_jur Kode_dos65 TIF 01
67 KIMIA 02
68 FISIKA 03
25
Kode_dos Nama_dos Alamat_dos Kode_jur
01 Agus 65
02 Khamidinal 67
03 Fikri 68
04 Nurochman
05 Didik
Kode_jur Nama_jur65 TIF
67 KIMIA
68 FISIKA
26
27
Transformasi umum/dasar
kode_dos
nama_dos
alamat_dos
Tabel Dosen
Transformasi relasi satu ke banyak ke basis data fisik
kode_kul
nama_kul
sks
semester
kode_dos
tempat
waktu
Tabel Kuliahfield yang ditambahkan dari relasi “mengajar”
KuliahDosen mengajar
kode_dos
alamat_dos
kode_kul nama_kulkode_dos kode_kul
1 N
waktu tempat sks semester
nama_dos
27
Kode_dos Nama Alamat Kode-kul Tempat Waktu
28
Kode_kul Nama Sks semester
28
29
Transformasi umum/dasar
Transformasi relasi banyak ke banyak ke basis data fisik
Tabel khusus yang mewakili himpunan relasi
KuliahMahasiswa mempelajari
nim
alamat_mhs
kode_kul nama_kulnim kode_kul
N N
indeks_nilai sks semester
nama_mhs
tgl_lahir
nim nama_mhs
alamat_mhs
tgl_lahir
Tabel Mahasiswanim Kode_kul Indeks_nil
ai
Tabel mempelajari/tabel nilaiKode_kul nama_kul sks semest
er
Tabel Kuliah
29
Implementasi himpunan entitas lemah
Mahasiswa
memiliki
nim
nama_mhs
alamat_mhs
tgl_lahir menyenangi
Orang tua
Hobbi
nim nama_ortu
nim hobbi
nama_ortu
hobbi
alamat_ortu
1
1
1
N
nim nama_ortu
alamat_ortu
Tabel Orang tua
nim hobbi
Tabel Hobbi
nim nama_mhs alamat_mhs
tgl_lahir
Tabel Mahasiswa
30
31
Implementasi sub entitas hasil spesialisasi
Dosen tetap
nik
pangkat
tgl_masuk
Dosen tidak tetap
nama_kantor
alamat_kantor
ISA
Dosen
nama_dos
alamat_dos kode_dos
nama_dos
alamat_dos
Tabel Dosen
kode_dos
nik pangkat tgl_masuk
Tabel Dosen Tetap
kode_dos nama_kantor
alamat_kantor
Tabel Dosen Tidak Tetap
Key yang diambil dari key himpunan entitas utamanya 3
1
Implementasi relasi tunggal (unary relation)
Dosen mendampingi
kuliah kuliah prasyarat
nama_dos
kode_kul
nama_dos
kode_kul
1
N
N
N
kode_dos
Nama_dos
Alamat_dos
Kode_dos_pend
Tabel Dosen
Kode_kul nama_kul sks semester
Tabel Kuliah
Kode_kul Kode_kul_prasyarat
Tabel Prasyarat Kuliah
32
Implementasi relasi multi entitas (N-ary relation)
Kuliah Dosen
Ruang
pengajaran
kode_kul kode_kul nama_dosnama_dos
waktu
kapasitasnama_ruang
kode_ruang
kode_ruang
kode_kul
Nama_kul
sks semester Kode_dos Kode_ruang waktu
Tabel Kuliah
3 buah field yang mewakili relasi pengajaran
33
Implementasi relasi multi entitas (N-ary relation)
kode_kul
Nama_kul
sks semester
Tabel Kuliah
kode_kul
Kode_dos Kode_ruang waktu
Tabel Pengajaran/jadwal
Bila satu kuliah mungkin diselenggarakan lebih dari satu kali dalam seminggu dan di ruang yang berbeda
34
Implementasi relasi ganda (redundant relation)
Dosen Kuliah
mengajar
menguasai
1
N
N
N
nama_dos kode_kul
nama_dos kode_kul
tempat waktu
kode_dos
nama_dos
alamat_dos
Tabel Dosen
kode_kul
Nama_kul
sks
semester
Kode_dos
Tabel Kuliah
Kode_dos Kode_kul
Tabel Menguasai
35
Implementasi spesialisasi dan generalisasi
Mahasiswa
Mahasiswa D3 Mahasiswa S1
ISA
generalisasi
Nim Nama_mhs Alamat_mhs
Tgl_lahir Prog_studi
Tabel Mahasiswa
36
Implementasi agregasi
Mahasiswa mempelajari KuliahN N
mengikuti
praktikum
N
N
jumlah_jamnama_pra
kode_pra
nim
kode_pra
kode_kul
nilai
nim Kode_kul Indeks_nilai
Tabel Mempelajari/nilai
Kode_pra Nama_pra
Jumlah_jam
Tabel Praktikum
nim Kode_kul
Kode_pra
nilai
Tabel Mengikuti
37