370 likes | 787 Views
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)
E N D
1 Normalisasi
2 Tujuan Pembelajaran • Memahamipentingnyanormalisasi. • Memahaminormalisasibentukpertama (1NF). • Memahamiaturanpembuatannormalisasi 1NF. • Memahaminormalisasibentukkedua (2NF) • Memahamiaturannormalisasi 2NF • Memahaminormalisasibentukketiga (3NF) • Memahaminormalisasi Boyce-Codd Normal Form (BCNF)
3 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
4 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
5 FUNCTIONAL DEPENDENCY (FD) • Untuk melakukan normalisasi, harus bisa menentukan terlebih dahulu Functional Dependency (FD) atau KetergantunganFungsional, 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.
6 FUNCTIONAL DEPENDENCY (FD) • Contoh: Functional Dependency: • NRP Nama • Mata_Kuliah, NRP Nilai Non Functional Dependency: • Mata_Kuliah NRP • NRP Nilai
7 NORMALISASI 1NF 1st Normal Form (1NF) • Merubahdaribentuktabeltidak normal (unnormalized table) menjadibentuknormal (1NF). • Suaturelasi R disebut1st NFjikadanhanyajikakondisitablenyadariunnormalizeddirubahkebentuknormaldengankondisisemua attribute value-nyaharusatomic (tidakbolehada attribute yang composit /multivalue)
8 Unnormalized table (tabel tidak normal) Suatu tabel dikatakan unnormalized jika : • Mempunyai penggandaan field yang sejenis Contoh : Tabel dibawah adalah tabel siswa mengambil mata kuliah SISWA • Elemen datanya memungkinkan untuk null value (kosong) Contoh : Tabel yang mencatat No. SIM yang dimiliki siswa SISWA_SIM
9 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
10 Latihan Soal • Apakahbentukrelasi table Department sudahmemenuhi normal 1 (1NF)? Jikabelumnormalisasikan. • Apakahbentukrelasi table Emp_Projsudahmemenuhi normal 1 (1NF)? Jikabelumnormalisasikan.
11 NORMALISASI 2NF 2st Normal Form (2NF) • Normalisasi 2NF: jika tabel berada dalam bentuk NormalPertama (1NF) dan setiap atribut bukan kuncibergantungpenuh pada kunci primer. • Sehingga tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial) kunci primer.
12 Syarat 2st Normal Form (2NF) Syarat 2st Normal Form (2NF): • Memenuhi kriteria tabel NormalI (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.
13 Contoh 2NF: • Suatu format tabel Normal I (1NF) : (menghilangkanRedundansi) • Bentuk Normal II (2NF) : (Decompose)
14 Ilustrasi 2NF • Suatu format tabel Normal I (1NF) : (menghilangkanRedundansi) • Bentuk Normal II (2NF) : (Decompose)
15 NORMALISASI 3NF 3rd Normal Form (3NF) • Suatu relasi R disebut normalIII (3rd NF) jika berada dalam bentuk normalII (2nd NF) dan tidak dijumpai adanya ketergantungantransitif (Transitive Dependency). • KebergantunganTransitif (Transitive Dependency) adalah ketergantungan fungsional antara 2 (atau lebih) atribut bukan key (kunci).
16 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 adatransitivedependency (ketergantungan secara transitif).
17 Contoh 3NF: • Bentuk Normal keDua (2NF): Tabel di samping sudah masuk dalam bentuk Normal 2. Akan tetapi kita lihat bahwa field NamadanNilaiadalahFull-Dependent terhadap NRPyang bertindak sebagai PK. Berbeda dengan field Keterangan di atas yang Dependent kepada NRP akan tetapi TidakMutlak. Ia lebih dekat ketergantungannya dengan field Nilai. Karena field NilaiDependent kepada NRP dan field KeteranganDependent kepada Nilai, maka field Keterangan juga dependent kepada NRP. Ketergantungan yang demikian ini yang dinamakan Transitive-Dependent (dependent secara transitif atau samar/tidak langsung). Untukitudilakukan Normalisasi III (3NF). • Bentuk Normal ke Tiga (3NF) :
18 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 AtributKunci (Key) pada suatu relasi adalah KunciKandidat (CandidateKey). • KunciKandidat (CandidateKey) 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.
19 Contoh BCNF • Normal II (2NF) : • Normal III (3NF) atau BCNF
20 Implementasi Basis Data
21 Implementasi basis data • Merupakanupayamembangun basis data fisik yang ditempatkandalammemorisekunder (disk) denganbantuan DBMS • Diawalidenganmelakukantransformasi model data keskema/struktur basis data • Diagram E-R ditransformasike basis data secarafisik • Himpunanentitasdanrelasiditransformasiketabel-tabel (file-file data) • Atribut-atributdarihimpunanentitasdanrelasiditransformasike field-field daritabel yang sesuai
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
nim nama_mhs Mahasiswa alamat_mhs tgl_lahir 23 Transformasi umum/dasar Tabel Mahasiswa Transformasi himpunan entitas dan atribut ke basis data fisik
kode_dos alamat_dos kode_jur nama_jur kode_dos kode_jur mengepalai 1 1 Dosen Jurusan nama_dos 24 Transformasi umum/dasar field yang ditambahkan dari relasi “mengepalai” Tabel Dosen Tabel Jurusan Transformasi relasi satu ke satu ke basis data fisik
nama_dos kode_dos kode_kul nama_kul kode_dos kode_kul mengajar 1 N Dosen Kuliah alamat_dos waktu tempat sks semester 27 Transformasi umum/dasar field yang ditambahkan dari relasi “mengajar” Tabel Dosen Tabel Kuliah Transformasi relasi satu ke banyak ke basis data fisik
nim nama_mhs kode_kul nama_kul kode_kul nim mempelajari N N Mahasiswa Kuliah alamat_mhs tgl_lahir indeks_nilai sks semester 29 Transformasi umum/dasar Tabel khusus yang mewakili himpunan relasi Tabel Mahasiswa Tabel mempelajari/tabel nilai Tabel Kuliah Transformasi relasi banyak ke banyak ke basis data fisik
nim nama_ortu nama_ortu 1 memiliki Orang tua nim alamat_ortu 1 nama_mhs Mahasiswa alamat_mhs nim hobbi 1 N tgl_lahir menyenangi hobbi Hobbi 30 Implementasi himpunan entitas lemah Tabel Mahasiswa Tabel Orang tua Tabel Hobbi
nama_dos alamat_dos Dosen ISA nik nama_kantor pangkat Dosen tetap Dosen tidak tetap alamat_kantor tgl_masuk 31 Implementasi sub entitas hasil spesialisasi Tabel Dosen Tabel Dosen Tidak Tetap Tabel Dosen Tetap Key yang diambil dari key himpunan entitas utamanya
nama_dos nama_dos 1 Dosen mendampingi N kode_kul kode_kul N kuliah prasyarat kuliah N 32 Implementasi relasi tunggal (unary relation) Tabel Dosen Tabel Kuliah Tabel Prasyarat Kuliah
nama_dos kode_kul kode_kul nama_dos pengajaran Dosen Kuliah kode_ruang waktu Ruang kode_ruang kapasitas nama_ruang 33 Implementasi relasi multi entitas (N-ary relation) Tabel Kuliah 3 buah field yang mewakili relasi pengajaran
34 Implementasi relasi multi entitas (N-ary relation) Bila satu kuliah mungkin diselenggarakan lebih dari satu kali dalam seminggu dan di ruang yang berbeda Tabel Kuliah Tabel Pengajaran/jadwal
nama_dos kode_kul mengajar 1 N waktu tempat Kuliah Dosen N N menguasai kode_kul nama_dos 35 Implementasi relasi ganda (redundant relation) Tabel Kuliah Tabel Dosen Tabel Menguasai
generalisasi Mahasiswa ISA Mahasiswa D3 Mahasiswa S1 36 Implementasi spesialisasi dan generalisasi Tabel Mahasiswa
N N N nim kode_kul mempelajari Kuliah Mahasiswa mengikuti N kode_pra nilai praktikum kode_pra jumlah_jam nama_pra 37 Implementasi agregasi Tabel Mempelajari/nilai Tabel Praktikum Tabel Mengikuti