33
การทานอร์มัลไลซ์ Normalization

การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

การท านอรมลไลซNormalization

Page 2: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Normalization

การท านอรมลไลเซชน (Normalization) คอวธทใชในการปรบโครงสรางของตารางเพอใหไดตารางทสามารถเกบขอมลไดโดยการลดความซ าซอนของขอมล และรกษาความถกตองใหแกขอมล

โดยใหอยในรปแบบทเรยกวา Normal Form

Page 3: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

วตถประสงคของ Normalization

⚫ ลดเนอทในการจดเกบขอมล⚫ เนองจากกระบวนการ Normalization เปนการออกแบบ เพอลดความซ าซอนในขอมล จงท าใหเนอทในการจดเกบขอมลลดลงดวย

⚫ ลดปญหาขอมลทไมถกตอง⚫ เมอขอมลไมมความซ าซอน จงท าใหสามารถปรบปรงขอมลไดจากแหลงขอมลเพยงแหลงเดยว จงลดปญหาการปรบปรงขอมลไมถกตองได (รวมถงการเพม ลบ และปรบปรงขอมล)

Page 4: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Data Redundancy and Update Anomalies

⚫ ตวอยางปญหาของความซ าซอนในขอมลใน Staff relationและ Branch relation เมอเปรยบเทยบกบรเลชนทรวมขอมลพนกงานและสาขาไวดวยกนใน StaffBranch relation

Page 5: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Data Redundancy and Update Anomalies

Page 6: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Data Redundancy and Update Anomalies

⚫ ตาราง StaffBranch จะมความซ าซอนของขอมล โดยรายละเอยดของสาขา (branch) จะมขอมลทซ า ๆ กนในทกสมาชกของ staff

⚫ ปญหาความซ าซอนในขอมลทเกดขนจะเรยกวา ขอผดพลาดจากการปรบปรงขอมล ซงประกอบดวย⚫ ขอผดพลาดจากการเพมขอมล (Insertion)⚫ ขอผดพลาดจากการลบขอมล (Deletion)⚫ ขอผดพลาดจากการแกไขขอมล (Modification)

Page 7: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Normalization

การท านอรมลไลซสามารถท าได 6 ระดบ1. First Normal Form(1NF)2. Second Normal Form(2NF)3. Third Normal Form(3NF)4. Boyce-Codd Normal Form(BCNF)5. Fourth Normal Form(4NF)6. Fifth Normal Form(5NF)

Page 8: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

ขอบเขต

➢ ในทางปฏบตการทานอรมลไลเซชนจนถงระดบท 3 (3NF) กสามารถขจดปญหาความซ าซอนของขอมลลงไดจนเกอบหมดแลว แตอาจจะมความซ าซอนเกดข นไดอกแมจะพบไดคอนขางนอย

➢ ดงน นเน อหาจงขอกลาวถงการทานอรมลไลเซชนจนถง 3NF และกลาวถง BCNF กรณทตองการลดความซ าซอนใหนอยลงไปอก

➢ จะไมกลาวถง 4NF และ 5NF สามารถอานไดจากหนงสออางอง

Page 9: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

First Normal Form : 1NF

1. First Normal Form : 1NFRelation หนงๆ จะอยในรปแบบ 1NF กตอเมอ “คาของ Attribute ตางๆ ในแตละ Tuple จะมคาของขอมลเพยงคาเดยว นนคอไมม Repeating Group และ Multi-valued”

Page 10: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

ตวอยางตารางขอมลยอดสงซอออนไลน

Page 11: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

วธการท าใหอยในรปแบบ 1NF

1. ก าจด Repeating Group (กลมซ า)2. เพมคยหลก

Page 12: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

ผลลพธทไดจากการท า 1NF ตาราง Employee

Page 13: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Second Normal Form (2NF)

2. Second Normal Form : 2NF

Relation หนงๆ จะอยในรปแบบ 2NF กตอเมอ“1. Relation นนๆ ตองอยในรปแบบ 1NF2. Attribute ทกตวทไมไดเปนคยหลก จะตองมความสมพนธกบ Attribute ทเปนคยหลกทงหมด(Fully FunctionalDependency) ไมใชแคสวนใดสวนหนงของคยหลก หรอกลาวงายๆ วา ไมม Partial Dependency เกดขน”

Page 14: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Second Normal Form (2NF)

Page 15: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Second Normal Form (2NF)

Page 16: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Third Normal Form : 3NF

3. Third Normal Form : 3NFRelation หนงๆ จะอยในรปแบบ 3NF กตอเมอ“1. Relation นนๆ ตองอยในรปแบบ 2NF2. Attribute ทกตวทไมไดเปนคยหลก ไมมคณสมบตในการก าหนดคาของ Attribute อนทไมใชคยหลก หรอกลาวงายๆ วา ไมม Transitive Dependency เกดขน”

Page 17: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Third Normal Form : 3NF

Page 18: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Third Normal Form : 3NF

Page 19: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

ดเพนเดนซไดอะแกรม (Dependency Diagram)

Page 20: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Boyce/Codd Normal Form : BCNF

4. Boyce/Codd Normal Form : BCNFRelation หนงๆ จะอยในรปแบบ BCNF กตอเมอ“1. Relation นนๆ ตองอยในรปแบบ 3NF2. ไมม Attribute อนใน Relation ทสามารถระบคาของ Attribute ทเปนคยหลกหรอสวนหนงสวนใดของคยหลกในกรณทคยหลกเปนคยผสม(Composite Key)”

Page 21: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Boyce-Codd normal form (BCNF)

⚫ลกษณะ 3NF ทไมใช BCNF⚫ สงเกตวายงม Attribute หนงยงสามารถระบคา Attribute

ทเปนสวนหนงของ Primary key (C → B)

Page 22: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Boyce-Codd normal form (BCNF)

Page 23: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

Boyce-Codd normal form (BCNF)

Page 24: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

4 NF

Page 25: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

4 NF

Page 26: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

5NF

Page 27: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

5NF

Page 28: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

การแตก Relation มากเกนไป (Over Normalization)

➢ วตถประสงคของการท าใหเปนรปแบบบรรทดฐาน คอ➢ เพอลดปญหาในดานความซ าซอนของขอมล➢ เพอลดปญหาในเรองการเพม การลบ หรอการปรบปรงขอมล

➢ โดยทวไปการออกแบบในระดบแนวคด ผออกแบบจะพยายามวเคราะห Relation ใหอยในรปแบบ 3NF

➢ กรณทเกดปญหาตางๆ ทจ าเปนตองท าตอไปถงรปแบบ BCNF, 4NF และ 5NF (เกดขนนอยมากในทางปฏบต)

Page 29: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

⚫ ดวยเหตผลดงกลาว ผออกแบบไมควรพยายามทจะแตก Relationมากเกนความจ าเปน (Over Normalization) เพราะ

⚫ การแตก Relation ออกเปน Relation ยอยมากเกนไปมผลตอประสทธภาพในการท างานของฐานขอมล เชน ในการคนคนขอมลจะตองใชเวลามากกวาเดม เปนตน

Page 30: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

การดนอรมอลไลเซชน (Denormalization)

➢ เปนกระบวนการทตรงกนขามกบการ Normalization โดยยอมเกบขอมลทมความซ าซอนกนบาง เพอแลกกบความเรวในการเรยกดขอมลทมากขน เชน Relation นนควรจะปรบใหอยในรปแบบ 3NF แตหยดอยเพยงรปแบบ 2NF เปนตน

➢ อาจเปนเพราะเหตผลในเรองของประสทธภาพในการเรยกด หรอ การคนคนขอมล และยอมใหเกดความซ าซอนของขอมลได

Page 31: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

การดนอรมอลไลเซชน (Denormalization)

⚫ การดนอรมอลไลเซชนอาจกอใหเกดปญหาความซ าซอนของขอมล เกดขนได

⚫ ควรมการระบสาเหต และวธการในการปรบปรงขอมลในโปรแกรมประยกตใชงาน เพอปองกนไมใหเกดปญหาขอมลไมถกตอง

⚫ ถาขอมลใน relation นนๆ สวนใหญจะเปนการเรยกดขอมล (Select)มากกวาการเพม ลบ หรอปรบปรงขอมล เพอเพมประสทธภาพในการท างานของฐานขอมล และไมมปญหาดานความไมถกตองของขอมลทซ าซอนกนได

Page 32: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

รหส นศ.ภาคเรยน

รหสวชา ชอวชาประเภท

วชาชอ

ประเภทหนวยกต เกรด

6101 1/61 A01 คณตศาสตรคอมฯ 02 ชพบงคบ 3 F

1/61 A03 ภาษาไทย 01 พนฐาน 3 C

2/61 A01 คณตศาสตรคอมฯ 02 ชพบงคบ 3 D

2/61 A04 ภาษาองกฤษ1 01 พนฐาน 3 D+

6102 1/61 A01 คณตศาสตรคอมฯ 02 ชพบงคบ 3 B

1/61 A04 ภาษาองกฤษ1 01 พนฐาน 3 C

2/61 A02 ระบบฐานขอมล 03 ชพเลอก 3 B

2/61 A05 โปรแกรมส าเรจรป1 02 ชพบงคบ 3 D

6103 1/61 A06 การสอสารขอมล 01 พนฐาน 3 A

1/61 A04 ภาษาองกฤษ1 03 ชพเลอก 3 C

2/61 A05 โปรแกรมส าเรจรป1 02 ชพบงคบ 3 D

6106 1/61 A03 ภาษาไทย 01 พนฐาน 3 B+

1/61 A04 ภาษาองกฤษ1 01 พนฐาน 3 C

จงวเคราะหและจดท า Normalization ระบบการลงทะเบยนของนกศกษา ใหมความซ าซอนนอยทสด

Page 33: การท านอร์มัลไลซ์ Normalization · Normalization การท านอร์มัลไลเซชัน(Normalization) คือวิธีที่ใช้ในการปรับ

อางอง

[1] https://www.youtube.com/watch?v=tIzTHyktlVU