Normalisasi (bagian I) Macam Atribut Ketergantungan Data 1NF, 2NF
Macam Atribut Atribut sederhana vs atribut komposit Atribut bernilai tunggal vs atribut bernilai banyak Atribut harus bernilai vs atribut null Atribut asli vs atribut turunan
Single Attribute vs Composite Attribute Atribut sederhana (single attribute) merupakan atribut atomik yang tidak dapat dipilah lagi. NPM, kode_pos Atribut komposit (composite attribute) merupakan atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing memiliki makna Nama_mhs: first_name, surname Alamat_mhs: alamat, kota, kode_pos Dapat dipertahankan demi kesederhanaan struktur tabel, kecuali perlu / ada rencana untuk melakukan pengolahan data pada sub-sub atribut secara khusus
Atomic Attribute vs Multi-valued Attribute Atribut bernilai tunggal (atomic attribute) ditujukan pada atribut yang memiliki paling banyak satu nilai untuk setiap baris data NPM, nama_mhs, alamat_mhs Atribut bernilai banyak (multi-valued attribute) ditujukan pada atribut yang dapat kita isi dengan lebih dari satu nilai, tetapi jenisnya sama Hari dan waktu mata kuliah Hobi mahasiswa
Mandatory Attribute vs Null Attribute Atribut harus bernilai (mandatory attribute) merupakan atribut yang ditetapkan nilainya tidak boleh kosong Primary key merupakan mandatory attribute Atribut null (null attribute) merupakan atribut yang isi nilainya boleh dikosongkan Nilai rinci datanya belum siap Memang tidak ada nilai rinci datanya
Stored Attribute vs Derived Attribute Atribut turunan (derived attribute) merupakan atribut yang nilai-nilainya diperoleh atau dapat diturunkan dari atribut atau tabel lain yang berhubungan IPK, umur Atribut asli (stored attribute) merupakan atribut yang nilainya tidak dapat diturunkan Nilai_tugas, nilai_uts, nilai_uas, tanggal_lahir
Functional Dependency Diberikan sebuah tabel T berisi paling sedikit 2 buah atribut A dan B. Kita dapat menyatakan notasi berikut ini: A B Artinya A secara fungsional menentukan B atau B secara fungsional bergantung pada A
Contoh: Nama_kul NPM Nama_mhs Indeks_nilai Struktur Data 980001 Ali Akbar A 980004 Indah Susanti B Basis Data Budi Haryanto
Bentuk Normal (Normal Form) Suatu teknik untuk menstrukturkan / memecah / mendekomposisi data dalam cara-cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam basis data Normalisasi dapat mengurangi anomali: Pembaharuan data (update) Inkonsistensi data Penambahan data baru (insert) Penghapusan data (delete)
Tingkatan Normalisasi UNF (Un-Normalized Form) 1NF 2NF 3NF BCNF 4NF Normalisasi yang terlalu tinggi tidak selalu disarankan
Studi Kasus Studi kasus perusahaan konstruksi: Membangun proyek – no_proyek (project_num), nama_proyek (project_name), dan staff-staff (employees) yang terkait dalam proyek tsb Staff – nomor_staff, nama_staff, jenis_pekerjaan (job_description) Klien akan di-charge per jam berdasarkan waktu yang dialokasikan untuk masing-masing proyek. Biaya yang dikeluarkan per jam juga tergantung dari jabatan staff yang menangani Secara berkala, sebuah laporan akan dihasilkan
1st Normal Form Seluruh atribut dalam relasi bernilai atomik (atomic value) Seluruh atribut dalam relasi bernilai tunggal (single value) Relasi tidak memuat set atribut berulang Semua record mempunyai jumlah atribut yang sama
Permasalahan 1NF Tidak dapat menyisipkan informasi parsial Terhapusnya informasi ketika menghapus sebuah record Pembaharuan atribut non kunci mengakibatkan sejumlah record harus diperbaharui
Problema: Project_num didesain sebagai primary key, namun berisi nilai null pada beberapa baris record Adanya kerangkapan data pada tabel Record pada tabel mendorong timbulnya inkonsistensi data Adanya kerangkapan data yang dapat menyebabkan: Anomali pembaharuan data Anomali penghapusan data Anomali penambahan data baru
1st Normal Form Tabel memiliki sebuah primary key Tabel tidak memiliki kumpulan data berulang Multivalued attribute merupakan atribut yang dapat memiliki beberapa nilai data untuk satu baris record Kumpulan data berulang (repeating group) merupakan kumpulan satu atau lebih multivalued attribute
2nd Normal Form Memenuhi kriteria 1NF Semua atribut non kunci memiliki FD pada primary key Identifikasi FD relasi 1NF Berdasarkan informasi tsb, dekomposisi relasi 1NF menjadi relasi-relasi baru sesuai FD-nya PROJECT (PROJ_NUM, PROJ_NAME) EMPLOYEE (EMP_NUM, EMP_NAME, JOB_CLASS, CHG_HOUR) ASSIGN (PROJ_NUM, EMP_NUM, HOURS)
Kekurangan 2NF Adanya transitive dependency (ketergantungan transitif), yakni satu atau lebih atribut bergantung pada atribut non-kunci