Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Normalization Perancangan Basis Data Feri Sulianta Education Fair Use material Re-Arrange by :

Presentasi serupa


Presentasi berjudul: "Normalization Perancangan Basis Data Feri Sulianta Education Fair Use material Re-Arrange by :"— Transcript presentasi:

1 Normalization Perancangan Basis Data Feri Sulianta Education Fair Use material Re-Arrange by :

2 Learning Objectives Referential Integrity Functional Dependency Transitive Dependency 1NF, 2NF, 3NF

3 NORMALISASI Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam table – table untuk memenuhi kebutuhan pemakai

4 Tujuan Dari Normalisasi Menghilangkan Kerangkapan Data Mengurangi Kompleksitas Mempermudah Pemodifikasian Data

5 Proses Normalisasi Data diuraikan dalam bentuk tabel, selanjutnya di analisis berdasarkan persyaratan tertentu ke beberapa tingkat Apabila tabel yang diuji belum memenuhi persyaratan, maka tabel tersebut perlu dipecah menjadi beberapa tabel yg lebih sederhana sampai memenuhi kriteria optimal

6 Tahapan Normalisasi BENTUK TIDAK NORMAL BENTUK NORMAL PERTAMA (1NF) BENTUK NORMAL KEDUA (2NF) BENTUK NORMAL KETIGA (3NF) Menghilangkan ketergantungan transitif Menghilangkan ketergantungan sebagian Menghilangkan perulangan group

7 Ketergantungan Fungsional Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X, jika dan hanya jika stp nilai X pada relasi R mempunyai tepat satu nilai Y pada R Misal,terdapat skema db pemasok-barang: pemasok(no-pem,na-pem)

8 Tabel Pemasok-barang NO-PEMNA-PEM P01 P02 P03 BAHARU SINAR HARAPAN CTH KET FUNGSIONAL : NO-PEM  NA-PEM CTH KET FUNGSIONAL : NO-PEM  NA-PEM

9 Ketergantungan Fungsional Penuh Atribut y pada relasi r dikatakan tergantung fungsional penuh pada atribut x pd relasi r, jika y tidak tergantung pd subset dr x (bila x adalah key gabungan) Kirim-barang(no-pem,na-pem, nobar, jumlah)

10 Tabel Kirim-barang NO-PEMNA-PEMNO-BARJUMLAH P01 P02 P03 BAHARU SINAR HARAPAN B01 B02 B03 B CTH KET FUNGSIONAL : NO-PEM  NA-PEM CTH KET FUNGSIONAL : NO-PEM  NA-PEM NO-BAR,NO-PEM  JUMLAH (TERGANTUNG PENUH THD KEYNYA) NO-BAR,NO-PEM  JUMLAH (TERGANTUNG PENUH THD KEYNYA)

11 NO-PEMKODE- KOTA KOTANO-BARJUMLAH P01 P02 P JAKARTA BANDUNG SURABAYA B01 B02 B03 B Ketergantungan Sebagian

12 Ketergantungan Transitif Atribut z pada relasi r dikatakan tergantung transitif pada atribut x, jika atribut y tergantung pada atribut x pada relasi r dan atribut z tergantung pada atribut y pada relasi r. ( X  y, y  z, maka x  z)

13 NO-PEMKODE- KOTA KOTANO-BARJUMLAH P01 P02 P JAKARTA BANDUNG SURABAYA B01 B02 B03 B KET FUNGSIONAL : KET FUNGSIONAL : NO-PEM  KODE-KOTA KODE-KOTA  KOTA, MAKA NO-PEM  KOTA Ketergantungan Transitif

14 CONTOH NORMALISASI BENTUK UN NORMAL s/d BENTUK NORMAL KE-TIGA (3NF)

15 Tabel Kirim-1 (Unnormal) NO-PEMKODE- KOTA KOTANO-BARJUMLAH P01 P02 P JAKARTA BANDUNG SURABAYA B01 B02 B03 B

16 Bentuk Normal Kesatu (1nf) Suatu relasi dikatakan sdh memenuhi bentuk normal kesatu bila setiap data bersifat atomik, yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data

17 Tabel Kirim-2 (1nf) NO-PEMKODE- KOTA KOTANO-BARJUMLAH P01 P02 P JAKARTA BANDUNG SURABAYA B01 B02 B03 B

18 JUMLAH NO-PEM NO-BAR KODE-KOTA KOTA NO-PEMKODE-KOTAKOTANO-BARJUMLAH P01 P02 P JAKARTA BANDUNG SURABAYA B01 B02 B03 B

19 Bentuk Normal Kedua (2nf) Suatu relasi dikatakan sdh memenuhi bentuk normal kedua bila relasi tersebut sudah memenuhi bentuk normal pertama dan atribut yang bukan key sudah tergantung penuh terhadap key nya

20 Tabel Pemasok-1 (2nf) NO-PEMKODE-KOTAKOTA P01 P02 P JAKARTA BANDUNG SURABAYA

21 Bentuk Normal Kedua (2nf) NO-PEMNO-BARJUMLAH P01 P02 P03 B01 B02 B03 B TABEL KIRIM-3 (2NF)

22 Bentuk Normal Ketiga (3nf) Suatu relasi dikatakan sdh memenuhi bentuk normal ketiga bila relasi tersebut sudah memenuhi bentuk normal kedua dan atribut yang bukan key sudah tidak tergantung transitif terhadap key nya

23 Bentuk Normal Ketiga (3nf) NO-PEMNO-BARJUMLAH P01 P02 P03 B01 B02 B03 B NO-PEMKODE-KOTA P01 P02 P KODE-KOTAKOTA JAKARTA BANDUNG SURABAYA TABEL KIRIM-3 (3NF) TABEL PEMASOK-2 (3NF) TABEL PEMASOK-3 (3NF)

24 The Question & Quiz Ubah bentuk tabel tidak normal berikut sampai memenuhi bentuk normal 3 (3NF)

25 Normalisasi Database Perkuliahan NO-MHSNAMA- MHS KODE- MK JURUS AN NAMA-MKKODE- DOSEN NAMA-DOSENNILAI WELLI BAKRI MI350 MI465 MI350 AK201 MK300 MI AK MANAJEMEN DB ANALISIS PRC SISTEM MANAJEMEN DB AKUNT.KEUANGAN DASAR PEMASARAN B104 B317 B104 D310 B212 ATI DITA ATI LIA LOLA ABCBAABCBA ASUMSI : ASUMSI : SEORANG MHS DAPAT MENGAMBIL BEBERAPA MATAKULIAH SEORANG MHS DAPAT MENGAMBIL BEBERAPA MATAKULIAH SATU MATAKULIAH DAPAT DIAMBIL OLEH LBH DR 1 MHSW SATU MATAKULIAH DAPAT DIAMBIL OLEH LBH DR 1 MHSW SATU MATAKULIAH HANYA DIAJARKAN SATU DOSEN SATU MATAKULIAH HANYA DIAJARKAN SATU DOSEN SATU DOSEN DAPAT MENGAJAR BEBERAPA MATAKULIAH SATU DOSEN DAPAT MENGAJAR BEBERAPA MATAKULIAH SEORANG MHSW PD MATAKULIAH TERTENTU HANYA MEMPUNYAI SATU NILAI SEORANG MHSW PD MATAKULIAH TERTENTU HANYA MEMPUNYAI SATU NILAI

26 Diagram Ketergantungan Fungsional NILAI NO-MHS KODE-MK NAMA-MHS JURUSAN KODE-DOSEN NAMA-DOSEN NAMA-MK

27 Normalisasi – Contoh II

28 The data we would want to store could be expressed as: Project No Project NameEmployee No Employee Name Rate category Rate 1203Madagascar travel site 11Jessica Brookes A£90 12Andy EvansB£80 16Max FatC£ Online estate agency 11Jessica Brookes A£90 17Alex Branton B£80 Un Normal Form

29 We could place the data into a table called: tblProjects_Employees Project No. Project NameEmployee No. Employee Name Rate category Rate 1203Madagascar travel site 11Jessica Brookes A£ Madagascar travel site 12Andy Evans B£ Madagascat travel site 16Max FatC£ Online estate agency 11Jessica Brookes A£ Online estate agency 17Alex Branton B£70 Normalization 1

30 Project NoProject Name 1023Madagascar travel site 1056Online estate agency Project No Employee No We now have 3 tables: Employee No Employee Name Rate Category Rate 11Jessica Brookes A£90 12Andy EvansB£80 16Max FatC£70 17Alex BrantonA£80 tblProjects tblProjects_Employees tblEmployees Normalization 2

31 Looking at the project note the reduction in:  Redundant data The text “Madagascar travel site” is stored once only, not for each occurrence of an employee working on the project.  Inconsistent data Because we only store the project name once we are less likely to enter “Madagascat” The link is made through the key, Project No. Obviously there is no way to remove this duplication without losing the relation altogether, but it is far more efficient storing a short number repeatedly, than a large chunk of text. Normalization

32 The solution, as before, is to remove this excess data to another table. We do this by:  Looking for Transitive Relationships Relationships where a non-key attribute is dependent on another non-key attribute. Hourly rate should depend on rate category BUT rate category is not a key  Removing Transitive Relationships As before we remove the redundant data and place it in a separate table. In this case we create a new table tblRates and add the fields rate category and hourly rate. We then delete hourly rate from the employees table. Normalization

33 Project NoProject Name 1023Madagascar travel site 1056Online estate agency Project No Employee No We now have 4 tables: Employee No Employee Name Rate Category 11Jessica Brookes A 12Andy Evans B 16Max FatC 17Alex Branton A tblProjects tblProjects_Employees tblEmployees Rate Category Rate A£90 B£80 C£70 tblRates Normalization 3

34 Again, we have cut down on redundancy and it is now impossible to assume Rate category A is associated with anything but £90. Our model is now in its most efficient format with:  Minimum REDUNDANCY  Minimum INCONSISTENCY Normalization

35 Normalisasi – Contoh III

36 36 First Normal Form (1NF) “Flattening” the table All columns (fields) must have no repeating items in columns Solution: make a separate table for each set of attributes with a primary key (parser, append query)

37 37 Second Normal Form (2NF) In 2NF and every non-key column is fully dependent on the (entire) primary key –Means : Does the key field imply the rest of the fields? –Do we need to know both OrderID and Item to know the Customer and Date? Solution: Remove to a separate table (Make Table)

38 38 Third Normal Form (3NF) In 3NF, every non-key column is mutually independent –means : no transitive dependency like calculations Solution: Put calculations in queries and forms

39 39 Transitive Dependency Transitive Dependency is a condition where – A, B and C are attributes of a relation such that if A  B and B  C, – then C is transitively dependent on A through B. (Provided that A is not functionally dependent on B or C).

40 40 DreamHome Example

41 41 Example - Normalization UNF to 1NF Relation

42 42 Example - Normalization UNF to 1NF Relation

43 43 Example - Normalization UNF to 1NF Relation

44 44 Second Normal Form (2NF) A relation that is in 1NF, and Every non-primary-key attribute is functionaly dependent only on the primary key, but not any subset of the primary key.

45 45 1NF to 2NF Identify the primary key for the 1NF relation. Identify the functional dependencies in the relation. If partial dependencies exist on the primary key remove them by placing them in a new relation.

46 46 FDs for Customer_Rental Relation Rental(Customer_No, Property_No, RentStart, RentFinish) Customer (Customer_No, Cname) Property_Owner (Property_No, Paddress, Rent, Owner_No, Oname)

47 47 FDs for Customer_Rental Relation Rental(Customer_No, Property_No, RentStart, RentFinish) Customer (Customer_No, Cname) Property_Owner (Property_No, Paddress, Rent, Owner_No, Oname)

48 48 FDs for Customer_Rental Relation Rental(Customer_No, Property_No, RentStart, RentFinish) Customer (Customer_No, Cname) Property_Owner (Property_No, Paddress, Rent, Owner_No, Oname)

49 49 FDs for Customer_Rental Relation Rental(Customer_No, Property_No, RentStart, RentFinish) Customer (Customer_No, Cname) Property_Owner (Property_No, Paddress, Rent, Owner_No, Oname)

50 50 FDs for Customer_Rental Relation Rental(Customer_No, Property_No, RentStart, RentFinish) Customer (Customer_No, Cname) Property_Owner (Property_No, Paddress, Rent, Owner_No, Oname)

51 51 Example - Normalization Customer_Rental to 2NF Relations

52 52 Third Normal Form (3NF) Remove transitive dependency. E.g.: Property_Owner (Property_No, PAddress, Rent, Owner_No, OName) Therefore, the 3 NF is a relation that is in 1NF and 2NF and in which no non-primary-key attribute is transitively dependent on the primary key.

53 53 2NF to 3NF Identify the primary key in the 2NF relation. Identify functional dependencies in the relation. If transitive dependencies exist on the primary key remove them by placing them in a new relation along with a copy of their dominant.

54 54 Example - Normalization FDs for Customer_Rental Relation

55 55 39 Example - Normalization Property_Owner to 3NF Relations

56 56 Example - Normalization Process of Decomposition

57 57 41 Summary of 3NF Relations


Download ppt "Normalization Perancangan Basis Data Feri Sulianta Education Fair Use material Re-Arrange by :"

Presentasi serupa


Iklan oleh Google