bab v normalisasi

31
BAB IV

Upload: anggietasya

Post on 14-Jul-2016

42 views

Category:

Documents


6 download

DESCRIPTION

normalisasi tabel

TRANSCRIPT

Page 1: Bab v Normalisasi

BAB IV

Page 2: Bab v Normalisasi

Tujuan

Mahasiswa dapat menjelaskan macam-macam Atribut Basis Data.

Mahasiswa dapat menentukan Ketergantungan Fungsional (KF) dari sebuah tabel; dan syarat-syaratnya.

Mahasiswa dapat mengolah tabel Normal menjadi tabel yang Normal berdasarkan tahapan normalisasi.

Dapat menerapkan BCNF untuk Normalisasi.

Page 3: Bab v Normalisasi

Pendahuluan

Normalisasi database biasanya jarang dilakukan dalam database skala kecil dan dianggap tidak diperlukan pada penggunaan personal.Proses normalisasi sangat membantu dalam menghemat ruang yang digunakan oleh setiap tabel didalamnya, sekaligus mempercepat proses permintaan data.

Page 4: Bab v Normalisasi

Dasar-dasar normalisasi

Normal form (bentuk normal) adalah suatu klas dari skema database relasi yang didefinisikan untuk memenuhi tujuan dari tingginya integritas dan maintainability

Kreasi dari suatu bentuk normal disebut normalisasi

Normalisasi dicapai dengan penganalisaan ketergantungan diantara setiap individu attribut yang diassosiasikan dengan relasinya

Page 5: Bab v Normalisasi

Normalisasi merupakan teknk analisis data yang mengorganisasikan atribute-atribute data dengan cara mengelompokan sehingga terbentuk entitas yang non redudant,stabel dan fleksibel

Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert, update, delete dan modifikasi pada satu atau beberapa atribute tanap mempengaruhi intergritas data dalam relasi tsb.

Page 6: Bab v Normalisasi

Proses Normalisasi

1. Tentukan entias-entitas utama dalam model data.

2. Temukan hubungan antara setiap entitas

3. Tentukan atribut yang memiliki masing-masing entitas.

Page 7: Bab v Normalisasi

Langkah-langkah Normalisasi

Bentuk Normal Pertama (1NF)Sebuah model data dikatakan memenuhi bentuk normal pertama apabila setiap atribut yang dimilikinya satu dan hanya satu nilai.Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut adalah kandidat untuk menjadi entitas tersendiri.

Page 8: Bab v Normalisasi

Normalisasi : 1NF

Bentuk Normal ke Satu (1NF)Syarat :1. Tidak ada set atribut yang berulang

atau bernilai ganda.2. Telah ditentukannya primary key untuk

tabel atau relasi.3. Tiap atribut hanya memilki satu pengertian4. Tiap atribut yang dapat memiliki banyak

nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.

Page 9: Bab v Normalisasi

Gambar 1. Entitas pertama

Keterangan :Nama Kelas mencantumkan kelas-kelas dimana tugas tersebut berlaku. Apabila pendaftar untuk sebuah matakuliah melebihi kapasitas ruangan yang dimiliki fakultas, kebijakan yang umum dibambil Kepala Progaram Studi adalah membagi keigiatan perkuliaha untuk mata kuliah tsb menjadi beberapa kelas.

Page 10: Bab v Normalisasi

Karenanya atribut ini rentan memiliki nilai jamak, dan lebih sesuai menjadi entitas baru atau atribut dari entitas lain. Untuk sementara kita membuat entitas baru, Kelas, dimana sebagian atributnya berasal dari Tugas Matakuliah yang secara logis lebih sesuai menjadi atribut entitas ini. Sementara itu, hampir semua atribut entitasTugas Matakuliah selain Nama Kelas memiliki nilai tunggal (dengan asumsi setiap matakuliah diampu oleh satu dosen saja).

Page 11: Bab v Normalisasi

2.1.a Relasi Antar-Entitas dan Identifier

Masalah yang kita hadapi sekarang adalah menghubungkan Tugas Matakuliah dengan Kelas.Satu tugas dapat diberikan pada beberapa kelas yang berbeda;dalam terminologi pemodelan data, ini berarti antara entitas Tugas Matakuliah dan entitas Kelas terdapat relasi 1:N (atau 1-N) untuk nilai N lebih dari satu.Entitas Tugas Matakuliah akan menggunakan pengidentifikasi arbitrer berupa angka yang berbeda antara satu objek Tugas Matakuliah dengan objek Tugas Matakuliah lain.

Page 12: Bab v Normalisasi

Entitas Kelas dapat diidentifikasi dengan matakuliah dan kode kelas yang bersangkutan, sehingga kita cukup menambahkan atribut pengidentifikasi (identifier) dalam kedua entitas.

Gambar 2. Hubungan antara Tugas Matakuliiah dan entitas baru, Kelas

Page 13: Bab v Normalisasi

Bentuk Normal Kedua (2NF)

Bentuk Normal Kedual (2NF)Syarat1. Bentuk data telah memenuhi kreteria bentuk 1 NF2. Atribute bukan kunci haruslah memiliki ketergantungan

fungsional sepenuhnya pada primary key

Apabila kita perhatikan kembali model data yang telah kita hasilkan di atas, segera terlihatbahwa atribut dari entitas Kelas tidak sepenuhnya bergantung pada identitas unik Kelas tersebut.

Page 14: Bab v Normalisasi

Seorang dosen akan tetap ada meskipun kelas matakuliah yang ia ampu sudah tidak ada lagi.Dalam hal ini, dosen adalah entitas tersendiri (yang nantinya dapat dilekatkan pada entitas Fakultas atau Universitas bilamana kedua entitas tersebut dirasa perlu ada, tergantung pada kebutuhan pemodelan data kita).entitas Dosen pada model data kita akan menggunakanpengidentifikasi arbitrer berupa Nomor Induk Pegawai sebagaimana diperlihatkan dalam .Gambar 3. Dalam notasi crows foot, relasi non-identifying digambarkan dengan garis putusputus atau tersamar.

Page 15: Bab v Normalisasi

Gambar 3: Ketiga entitas utama dalam model data dan hubungan antar masing-masing

entitas.

Setelah atribut-atribut dari semua entitas dalam sebuah model data hanya bergantung pada seluruh pengidentifikasi entitas yang memilikinya, model data tersebut dikatakan memenuhi bentuk normal kedua.

Page 16: Bab v Normalisasi

Bentuk Normal Ketiga (3NF)

Bentuk Normal ke Tiga (3NF)Syarat1. Bentuk data telah memenuhi kriteria

bentuk 2 NF2. Atribute bukan kunci tidak boleh memiliki

ketergantungan fungsional terhadap atribute bukan kunci lainnya. Seluruh atribute bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

Page 17: Bab v Normalisasi

Dalam model data sederhana yang kita gunakan di sini, tidak ada satupun atribut non-identifying (seperti Deskripsi Tugas Matakuliah, atau Nama Dosen) yang bergantung pada atribut nonidentifying lain.

Page 18: Bab v Normalisasi

Jenis-jenis Relasi Antar-Entitas1. Relasi 1-1. Relasi ini jarang ditemui dalam model

data yang benar, sehingga saat Anda menemukannya, kemungkinan besar hal itu berarti masih ada yang belum sempurna dari model data Anda; relasi 1-1 sering berarti kedua entitas tersebut sebenarnya adalah kesatuan, satu entitas tunggal.

2. Relasi 1-N. Relasi ini yang paling umum ditemui dalam model data.

3. Relasi M-N. Relasi ini juga sering ditemui dalam model data, dan sering pula dapat dinormalkan lebih jauh lagi. Langkah yang dapat ditempuh untuk menormalkan relasi M-N:

Page 19: Bab v Normalisasi

Menterjemahkan Model Data

Setelah sebuah model data dinormalisasikan dan siap diubah menjadi database fisik, ada beberapa langkah penterjemahan yang harus dilakukan:1. Setiap entitas menjadi tabel tersendiri.2. Setiap atribut menjadi kolom-kolom tabel tersebut,

dengan tipe data yang sesuai.3. Identifier entitas tersebut menjadi kolom ID yang tidak

boleh kosong (NOT NULL) dan berisi indeks yang unik. ID unik ini dalam database dinamakan primary key.

4. Relasi diterjemahkan menjadi foreign key.

Page 20: Bab v Normalisasi

Gambar 4 : Skema fisik final dari contoh model data

Page 21: Bab v Normalisasi

Dan perintah SQL untuk menciptakan ketiga tabel tersebut adalah: CREATE TABLE dosen (

nip INTEGER NOT NULL AUTO_INCREMENT,

nama_lengkap VARCHAR(20) NOT NULL,nomor_kontak VARCHAR(20) NULL,PRIMARY KEY(nip)

)TYPE=InnoDB;

Page 22: Bab v Normalisasi

CREATE TABLE kelas (kode INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,Nama_matakuliah INTEGER UNSIGNED NOT NULL,id_tugas_matakuliah INTEGER NOT NULL,id_dosen INTEGER NOT NULL,ruang_kuliah VARCHAR(5) NULL,PRIMARY KEY(kode, nama_matakuliah, id_tugas_matakuliah),INDEX kelas_FKIndex1(id_dosen),INDEX kelas_FKIndex2(id_tugas_matakuliah)

Page 23: Bab v Normalisasi

)TYPE=InnoDB;CREATE TABLE tugas_matakuliah (id INTEGER NOT NULL,deskripsi TEXT NULL,batas_penyerahan DATETIME NULL,PRIMARY KEY(id))TYPE=InnoDB;

Page 24: Bab v Normalisasi

Script SQL di atas menggunakan tipe data dan konfigurasi tabel yang didukung oleh MySQL.Deklarasi TYPE=InnoDB untuk setiap tabel adalah agar MySQL menggunakan InnoDB yang mendukung penggunaan foreign key. Tanpa deklarasi tersebut MySQL secara default akan menggunakan mesin penyimpan MyISAM yang tidak dapat mendukung foreign key.

Page 25: Bab v Normalisasi

Penutup

Model data di atas dan semua query yang diberikan kepada database yang dihasilkan masih sangat sederhana (Salah satunya adalah penggunaan asumsi bahwa beberapa kelas untuk matakuliah tertentu hanya diampu oleh satu dosen dan mendapat tugas satu-persatu secarasekuensial – asumsi yang terlalu baik hati) dan tidak sepenuhnya memanfaatkan semua kemudahan dan potensi yang ditawarkan baik oleh SQL maupun oleh fasilitas-fasilitas setiap implementasi RDBMS yang mendukung SQL.

Page 26: Bab v Normalisasi

Terimakasih

Page 27: Bab v Normalisasi

Contoh

Page 28: Bab v Normalisasi
Page 29: Bab v Normalisasi

Contoh 2

Table bentuk 1 NF

Page 30: Bab v Normalisasi

Table bentuk 2 NF

Page 31: Bab v Normalisasi