บทที่ 5 การท าบรรทัดฐานข้อมูล...

22
บทที5 การทาบรรทัดฐานข้อมูล (Normalization) หัวข้อเรื่อง 5.1 ฟังก์ช่นการขึ้นต่อกัน (Functional Dependency) 5.2 การนอร์มอลไลซ์ (Normalization) 5.3 สิ่งที่ต้องคานึงในการทานอร์มอลไลเซชั่น สรุปบทเรียน ประเมินผลหลังเรียน จุดประสงค์ทั่วไป เพื่อให้มีความรู้ความเข้าใจเกี่ยวกับระบบฐานข้อมูลเบื้องต้น จุดประสงค์เชิงพฤติกรรม เมื่อศึกษาหน่วยที5 จบแล้ว ผู้เรียนสามารถ 1. อธิบายความสัมพันธ์ระหว่างค่าของแอตทริบิวต์ได้ 2. บอกประโยชน์ของการทา Normalization ได้ 3. บอกลักษณะของรีเลชั่นที่อยู่ในรูปแบบบรรทัดฐานระดับต่างๆ ได้ 4. สามารถแปลงรีเลชั่นให้อยู่ในรูปแบบบรรทัดฐานได้ 5.1 ฟังก์ช่นการขึ้นต่อกัน (Functional Dependency : FD) ฟังก์ช่นการขึ้นต่อกัน เป็นการอธิบายถึงความสัมพันธ์ระหว่างค่าของ แอตทริบิวต์ ที่อยู่ใน รีเลชั่นเดียวกัน โดยแอตทริบิวต์หรือกลุ่มแอตทริบิวต์ที่สามารถระบุค่าของแอตทริบิวต์อื่น ๆ ในทูเพิล เดียวกันได้ จะเรียกว่า "ดีเทอร์มิแนนท์" (Determinant) และแอตทริบิวต์ ที่ถูกระบุ ค่าถึงเรียกว่า "ดีเพนเดนซี่" (Dependency) ตัวอย่างเช่น รีเลชั่นนักศึกษาที่มี รหัสนักศึกษา เป็นค่าคีย์จะ สามารถระบุ ค่าอื่น ๆ ได้เช่น เมื่อระบุรหัสนักศึกษา จะได้ค่าในแอตทริบิวต์ ชื่อ, สาขา, ห้อง และชั้นปี ออกมา เป็นต้น การเขียนฟังก์ช่นการขึ้นต่อกัน สามารถเขียนโดยใชสัญลักษณ์ --> ดังตัวอย่าง

Upload: others

Post on 28-Feb-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

บทท 5 การท าบรรทดฐานขอมล (Normalization)

หวขอเรอง

5.1 ฟงกชนการขนตอกน (Functional Dependency) 5.2 การนอรมอลไลซ (Normalization) 5.3 สงทตองค านงในการท านอรมอลไลเซชน

สรปบทเรยน ประเมนผลหลงเรยน

จดประสงคทวไป

เพอใหมความรความเขาใจเกยวกบระบบฐานขอมลเบองตน

จดประสงคเชงพฤตกรรม

เมอศกษาหนวยท 5 จบแลว ผเรยนสามารถ

1. อธบายความสมพนธระหวางคาของแอตทรบวตได 2. บอกประโยชนของการท า Normalization ได 3. บอกลกษณะของรเลชนทอยในรปแบบบรรทดฐานระดบตางๆ ได 4. สามารถแปลงรเลชนใหอยในรปแบบบรรทดฐานได

5.1 ฟงกชนการขนตอกน (Functional Dependency : FD)

ฟงกชนการขนตอกน เปนการอธบายถงความสมพนธระหวางคาของ แอตทรบวต ทอยใน รเลชนเดยวกน โดยแอตทรบวตหรอกลมแอตทรบวตทสามารถระบคาของแอตทรบวตอน ๆ ในทเพล เดยวกนได จะเรยกวา "ดเทอรมแนนท" (Determinant) และแอตทรบวต ทถกระบคาถงเรยกวา "ดเพนเดนซ" (Dependency) ตวอยางเชน รเลชนนกศกษาทม รหสนกศกษาเปนคาคยจะ สามารถระบ คาอน ๆ ไดเชน เมอระบรหสนกศกษา จะไดคาในแอตทรบวต ชอ, สาขา, หอง และชนป ออกมา เปนตน การเขยนฟงกชนการขนตอกน สามารถเขยนโดยใชสญลกษณ --> ดงตวอยาง

Page 2: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

Determinant --> Dependency รหสนกศกษา --> ชอ, สาขา, หอง, ชนป จากตวอยางดานบน รหสนกศกษา คอ ดเทอรมแนนท และสวน ชอ, สาขา, หอง, ชนป คอ ดเพนเดนซ ในการพจารณาวารเลชนวาอยในรปแบบนอรมอลระดบใดนน จะพจารณาจากฟงกชนการ ขนตอกน

5.1.1 ประเภทของฟงกชนการขนตอกน ฟงกชนการขนตอกบ แบงออกเปน 4 ประเภท คอ 1) ฟงกชนการขนตอกน ทเกดจากความสมพนธระหวางดเทอรมแนนท และดเพนเดนซ อยาง ละ 1 คา เชน ความสมพนธระหวาง รหสนกศกษา และชอนกศกษา ดงน

รหสนกศกษา --> ชอนกศกษา Std_ID --> Std_Name

2) ฟงกชนการขนตอกน ทเกดจากความสมพนธระหวางดเทอรมแนนท 1 คา กบดเพนเดนซ หลายคา เชน ความสมพนธระหวาง รหสนกศกษา และขอมลของนกศกษา (เชน ชอ, นามสกล, วนเดอนปเกด เปนตน) ดงน

รหสนกศกษา --> ชอ, นามสกล, วนเดอนปเกด Std_ID --> FirstName, LastName, BirthDate

3) ฟงกชนการขนตอกน ทมความสมพนธ 2 ทาง โดยททงดเทอรมแนนท และ ดเพนเดนซ ตางกสามารถท าหนาทของแตละฝายได เชน ความสมพนธระหวาง รหสนกศกษา และ เลขบตรประชาชน ทตางกไมมขอมลซ ากนเลย และสามารถท าหนาทเปนดเทอรมแนนท เชนเดยวกน ดงน

รหสนกศกษา --> เลขบตรประชาชน Std_ID --> Std_Pin

เลขบตรประชาชน --> รหสนกศกษา Std_Pin --> Std_ID

Page 3: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

รหสนกศกษา <--> เลขบตรประชาชน Std_ID <--> Std_Pin

4) ฟงกชนการขนตอกน ทตองใชดเทอรมแนนท มากกวา 1 คาเพอระบถงดเพนเดนซ เชน ความสมพนธระหวาง รหสนกศกษา, รหสวชา และ หองเรยน ดงน

รหสนกศกษา, รหสวชา --> หองเรยน Std_ID, Course_ID --> Room

5.1.2 ฟงกชนการขนตอกนแบบเตมคา (Fully Functional Dependency : Full FD) ฟงกชนการขนตอกนแบบเตมคา เปนฟงกชนการขนตอกนทดเทอรมแนนทมขนาดเลกทสด และ สามารถระบถงดเพนเดนซ ได ดงตวอยางเชน D1 : Std_ID --> Address D2 : Std_ID, Name --> Address D3 : PRODUCT_LINE, ITEM_NO --> USE_QTY D4 : PRODUCT_LINE, ITEM_NO, MANAGER --> USE_QTY

จากตวอยางจะเหนวา เมอก าหนดให "รหสนกศกษา" ท าหนาทเปนคยของรเลชนแลว จะเหนวา D1 จดเปนฟงกชนการขนตอกนแบบเตมคา ทสามารถระบดเพนเดนซ คอ แอตทรบวต "Address" และ D3 จดเปนฟงกชนการขนตอกนแบบเตมคา ทสามารถระบดเพนเดนซ คอ แอตทรบวต "USE_QYT" ได สวน D2 และ D4 ไมเปนฟงกชนการขนตอกนแบบเตมคา เนองจาก D2 มแอตทรบวต "Std_ID" D4 มแอตทรบวต "PRODUCT_LINE" ทสามารถท าหนาทเปนคยไดโดยไมตองมแอตทรบวตอน ๆ มาประกอบ จงไมจดเปนดเทอรมแนนททมขนาดเลกทสด

5.1.3 การขนตอกนแบบเชงกลม (Multi-value Dependency : MVDs) การขนตอกนแบบเชงกลม เปนความสมพนธทคาดเทอรมแนนท 1 คาสามารถระบคา ของ แอตทรบวตทท าหนาทเปนดเพนเดนซ ไดตงแต 2 แอตทรบวตขนไป ซงคาของขอมล ในแอตทรบวตเหลาน จะอยในรปแบบของชดขอมล เชน นกศกษาแตละคนสามารถลงทะเบยน ไดหลายวชา และแตละวชาจะเรยนคนละหองกน ดงนน เมอระบคาแอตทรบวต "รหสนกศกษา#" จะปรากฏคา แอตทรบวต "รหสวชา#" ไดมากกวา 1 คา และไดคาแอตทรบวต "หองเรยน#" ไดมากกวา 1 คาเชนเดยวกนเปนตน โดยสามารถเขยนฟงกชนการขนตอกนดวยสญลกษณ --> -

Page 4: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

-> ไดดงน รหสนกศกษา# -->--> รหสวชา#, หองเรยน# Std_ID# -->--> Course_ID#, Room#

ตารางท 5.1 รเลชนการลงทะเบยน

รหสนกศกษา รหสวชา หองเรยน 4839011001 3901-1001 คอม 1 4839011001 3901-1002 คอม 1 4839011001 3901-1003 คอม 2 4839011002 3901-1001 คอม 1 4839011002 3901-1002 คอม 1 4839011002 3901-1003 คอม 2

5.1.4 การขนตอกนบางสวน (Partial Dependency) ความสมพนธแบบนจะเกดขนไดกตอเมอ relation หนง ๆ มคยหลกเปนคยผสม (composite key) นนคอ คยหลกของ relation นน ๆ ประกอบดวย attribute หลาย attribute ความสมพนธระหวางคาของ attribute แบบบางสวนเกดขนเมอ attribute บางสวนของคยหลกสามารถระบคาของ attribute อน ๆ ทไมใชคยหลกของ relation ได (Non-key attribute) ซงความสมพนธแบบนจะท าใหเกดปญหาในเรองของความซ าซอน และการปรบปรงขอมล

5.1.5 การขนตอกนแบบสงผาน (Transitive Dependency) attribute ทมคณสมบตเปนคยหลกจะสามารถระบคาของทก attribute ในแตละ tuples ได อยางไรกตาม ในบาง relation อาจจะมกรณ attribute อน (Non key attribute) ทสามารถระบคาของ attribute อน ๆ ใน tuples ได ลกษณะของความสมพนธในการระบคา attribute แบบน เรยกวา ความสมพนธระหวางคาของ attribute แบบนวา Transitive Dependency ดงตวอยางเชน รหสนกศกษา --> รหสสาขาวชา รหสสาขาวชา --> ชอสาขาวชา จะเหนไดวา รหสสาขาวชา ? ชอสาขาวชา เปน Transitive Dependency ซงถอวาเปนสวนทเกนมาโดยไมจ าเปน เนองจาก รหสนกศกษา --> รหสสาขาวชา กสามารถดงขอมลในสวนของชอสาขาวชาได ดงนน เราจะไมเกบชอสาขาวชาไวในตารางนกศกษา

Page 5: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

5.2 การนอรมอลไลซ (Normalization)

หลงจากทผออกแบบไดขอบเขตขอมลทงหมดทตองการเกบแลว ซงโดยมากเกดจากรปแบบ รายงานบาง รปแบบใบเสรจรบเงนบาง รปแบบใบสงสนคาบาง โดยมากมกจะเหมารวมเอาวานนคอ รปแบบของตารางทตองการเกบขอมล ซงน ามาซงความซ าซอนของขอมลในรายกรณ และท าใหมขนาดใหญเกนความจ าเปน สวนทซ าซอน ปญหาของรเลชนทเกดขนเหลาน สามารถขจดไดดวยขบวนการ Normalization ซงแนวคดนถกคดคนโดย E.F.Codd ซงเปนกระบวนการทน าเคารางของ relation มาท าใหอยในรปแบบทเปนบรรทดฐาน (Normal Form) เพอใหแนใจวาการออกแบบเคารางของ relation เปนการออกแบบทเหมาะสม ประโยชนของการนอรมอลไลซคอ

1) ลดทวางทตองใชในการเกบขอมล 2) ลดความผดพลาด ความไมตรงกนของขอมลในฐานขอมล 3) ลดการเกดอะนอรมอลไลซของการลบและแกไขขอมล 4) เพมความคงทนแกโครงสรางฐานขอมล

5.2.1 ระดบนอรมอลไลซเซชน นอรมอลไลซเซชน เปนกระบวนการเพอพฒนาการ เชอมตอของขอมลเพอแกปญหาของ รเลชน ทวาการออกแบบฐานขอมลทงทางตรรกะ และทางกายภาพทไดออกมาใชไดหรอยง การนอรมอลไลซเซชนแบงออกไดเปนหลายระดบ ไดแก

1) รปแบบนอรมอล ระดบท 1 (First Normal Form : 1NF) เปนระดบทใชส าหรบการปรบโครงสรางของขอมลของรเลชนใหมคณสมบตตามนยาม ดงน คอ

นยาม "รเลชนใด ๆ จะมคณสมบตอยในรปแบบนอรมอล ระดบท 1 กตอเมอ ทกแอตทรบวตในแตละทเพลมคาของขอมลเพยงคาเดยว คอตองไมมคากลมขอมลทซ ากน (Repeating Group)" ตวอยางเชน รเลชนการลงทะเบยนของนกศกษาดงตารางท 5.2

Page 6: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

ตารางท 5.2 รเลชนการลงทะเบยนของนกศกษา

รหสนกศกษา ค าน าหนา

ชอ-สกล แผนก รหสวชา ชอวชา

4739010001 นาย กมลชย เจรญด

เทคโนโลยสารสนเทศ

3901-1001 3901-2001

สารสนเทศ สถาปตยกรรมคอม

4739010002 นางสาว สดสวย น าใจงาม

เทคโนโลยสารสนเทศ

3001-1202 3901-2001 3000-2002

วทยาศาสตร 8 สถาปตยกรรมคอม เศรษฐศาสตร

4739010003 นาย ประสบด ขยนเรยน

เทคโนโลยสารสนเทศ

3901-1001 3901-2001

สารสนเทศ สถาปตยกรรมคอม

4731050015 นางสาว ไฉไล ดาวประดบ

อเลกทรอนกส 3105-2001

สายสงอากาศ

สามารถท าใหอยในรปแบบของการนอรมอล ระดบท 1 ไดดงตารางท 5.3

Page 7: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

ตารางท 5.3 รเลชนการลงทะเบยนของนกศกษาหลงจากท า 1NF

รหสนกศกษา ค าน าหนา

ชอ-สกล แผนก รหสวชา ชอวชา

4739010001 นาย กมลชย เจรญด

เทคโนโลยสารสนเทศ

3901-1001

สารสนเทศ

4739010001 นาย กมลชย เจรญด

เทคโนโลยสารสนเทศ

3901-2001

สถาปตยกรรมคอม

4739010002 นางสาว สดสวย น าใจงาม

เทคโนโลยสารสนเทศ

3001-1202

วทยาศาสตร 8

4739010002 นางสาว สดสวย น าใจงาม

เทคโนโลยสารสนเทศ

3901-2001

สถาปตยกรรมคอม

4739010002 นางสาว สดสวย น าใจงาม

เทคโนโลยสารสนเทศ

3000-2002

เศรษฐศาสตร

4739010003 นาย ประสบด ขยนเรยน

เทคโนโลยสารสนเทศ

3901-1001

สารสนเทศ

4739010003 นาย ประสบด ขยนเรยน

เทคโนโลยสารสนเทศ

3901-2001

สถาปตยกรรมคอม

4731050015 นางสาว ไฉไล ดาวประดบ

อเลกทรอนกส 3105-2001

สายสงอากาศ

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

1. การแกไขขอมล (Update Anomaly) การปรบปรงขอมลทมขอมลอยหลายทเพล จะตอง แกไขขอมลมากกวาหนงแหง และอาจแกไขไดไมครบถวนท าใหเกดความซ าซอน ของขอมลและขดแยงกนได เชน ถาตองการแกไขชอวชาจาก "สารสนเทศ" เปน "เทคโนโลยสารสนเทศ" และหากแกไขไมครบถวนอาจท าใหรหสวชา "3901-1001" มชอวชาเปน 2 ชอ

Page 8: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

2. การลบขอมล (Delete Anomaly) การลบขอมลบางสวนออกไป อาจจะท าใหขอมลอน ๆ ถกลบออกไปดวย เชน เมอลบรหสวชา "3105-2001" ออกไปจะท าใหขอมลของนกศกษา ทมรหสนกศกษาเปน "4731050015" ถกลบออกไปดวย

3. การเพมขอมล (Insert Anomaly) การเพมขอมลบางอยางอาจไมสามารถท าได หรอ เพม เขาไปแลวจะขดแยงกบขอมลเดม เชน ถาตองการเพมนกศกษาเขาไปในรเลชน แตนกศกษา คนนนจะตองลงทะเบยนกอน จงจะมขอมลในรเลชน ดงนนจงไมสามารถเพมนกศกษาทพกการเรยน เขาไปได เปรยบเสมอนกบนกศกษาทพกการเรยนมใชนกศกษาของสถานศกษานน เปนตน

2) รปแบบนอรมอล ระดบท 2 (Second Normal Form : 2NF) เปนการแกไขปญหาความซ าซอนของขอมล ทปรากฏในรเลชนทผานการนอรมอลไลซ ระดบท 1 โดยรปแบบนอรมอล ระดบท 2 จะตองมคณสมบตดงน คอ

นยาม "รเลชนใด ๆ จะมคณสมบตอยในรปแบบนอรมอล ระดบท 2 กตอเมอ

1. รเลชนนนมคณสมบตอยในรปแบบนอรมอล ระดบท 1 2. ทกแอตทรบวตทไมใชคยหลก ตองมความสมพนธกบแอตทรบวต ทเปนคยหลก หรอทก แอตทรบวตทประกอบกนเปนคยหลก มใชสวนหนงสวนใดของคยหลก (เปนกรณทคยหลกนน มคยรวม (Composition Key) คอ มหลายแอตทรบวตประกอบกนเปนคยหลก)" ตวอยางดงตารางท 5.4

Page 9: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

ตารางท 5.4 รเลชนการลงทะเบยนของนกศกษา 1NF

รหสนกศกษา ค าน าหนา

ชอ-สกล แผนก รหสวชา

ชอวชา วนท

4739010001 นาย กมลชย เจรญด

เทคโนโลยสารสนเทศ

3901-1001

สารสนเทศ 1/04/2547

4739010001 นาย กมลชย เจรญด

เทคโนโลยสารสนเทศ

3901-2001

สถาปตยกรรมคอม

1/04/2547

4739010002 นางสาว สดสวย น าใจงาม

เทคโนโลยสารสนเทศ

3001-1202

วทยาศาสตร 8 2/04/2547

4739010002 นางสาว สดสวย น าใจงาม

เทคโนโลยสารสนเทศ

3901-2001

สถาปตยกรรมคอม

2/04/2547

4739010002 นางสาว สดสวย น าใจงาม

เทคโนโลยสารสนเทศ

3000-2002

เศรษฐศาสตร 2/04/2547

4739010003 นาย ประสบด ขยนเรยน

เทคโนโลยสารสนเทศ

3901-1001

สารสนเทศ 3/04/2547

4739010003 นาย ประสบด ขยนเรยน

เทคโนโลยสารสนเทศ

3901-2001

สถาปตยกรรมคอม

3/04/2547

4731050015 นางสาว ไฉไล ดาวประดบ

อเลกทรอนกส 3105-2001

สายสงอากาศ 2/04/2547

Page 10: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

จากการพจารณารเลชนการลงทะเบยนของนกศกษา จะพบวามฟงกชนการขนตอกนดงน

D1: รหสนกศกษา --> ค าน าหนา, ชอ-สกล, แผนก D2: รหสวชา --> วชาลงทะเบยน D3: รหสนกศกษา, รหสวชา --> วนท

จะพบวา ในรเลชนการลงทะเบยนของนกศกษา จะม รหสนกศกษา และรหสวชา ประกอบ กนเปนคยหลก และจากการพจารณาพบวา จะไมตรงตามนยามของรปแบบ นอรมอล ระดบท 2 เพราะ แอตทรบวต "ค าน าหนา", "ชอ-สกล", "แผนก" จะมคาเปลยนแปลงตาม แอตทรบวต "รหสนกศกษา" ซงเปนสวนหนงของคยหลก และแอตทรบวต "วชาลงทะเบยน" และเปลยนแปลงตาม แอตทรบวต "รหสวชา" ดงนนจงตองท าการแยกรเลชนออกเปน 3 รเลชน ตาม D1, D2 และ D3 โดยใหรเลชน D1 ชอ รเลชนนกศกษา, D2 ชอ รเลชนวชา และ D3 ชอ รเลชนการลงทะเบยน ดงน

ตารางท 5.5 รเลชนนกศกษา

รหสนกศกษา ค าน าหนา ชอ-สกล แผนก 4739010001 นาย กมลชย เจรญด เทคโนโลยสารสนเทศ 4739010002 นางสาว สดสวย น าใจงาม เทคโนโลยสารสนเทศ 4739010003 นาย ประสบด ขยนเรยน เทคโนโลยสารสนเทศ 4731050015 นางสาว ไฉไล ดาวประดบ อเลกทรอนกส

ตารางท 5.6 รเลชนวชา

รหสวชา ชอวชา 3901-1001 สารสนเทศ 3901-2001 สถาปตยกรรมคอม 3001-1202 วทยาศาสตร 8 3000-2002 เศรษฐศาสตร 3105-2001 สายสงอากาศ

Page 11: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

ตารางท 5.7 รเลชนการลงทะเบยนเรยน

รหสนกศกษา รหสวชา วนท 4739010001 3901-1001 1/04/2547 4739010001 3901-2001 1/04/2547 4739010002 3001-1202 2/04/2547 4739010002 3901-2001 2/04/2547 4739010002 3000-2002 2/04/2547 4739010003 3901-1001 3/04/2547 4739010003 3901-2001 3/04/2547 4731050015 3105-2001 2/04/2547

3) รปแบบนอรมอล ระดบท 3 (Third Normal Form : 3NF) จากรเลชนนกศกษาจะเหนวา มโครงสรางเปนไปตามนยามของรปแบบนอรมอล ระดบท 2 จะเหนวายงปรากฏขอมลซ ากนอยในสวนของแอตทรบวต "รหสแผนก" และ "แผนก" หรอกลาวไดวา ถาระบคาใหกบแอตทรบวต "รหสแผนก" จะได "แผนก" ออกมา โดยเราเรยกความสมพนธ ในลกษณะนวา "Transitive Dependency" ดงนนรเลชนนจงไมอยในรปแบบนอรมอลระดบท 3 และอาจกอใหเกดปญหาความผดพลาดดงน

ตารางท 5.8 รเลชนนกศกษา

รหสนกศกษา ค าน าหนา ชอ-สกล รหสแผนก แผนก 4739010001 นาย กมลชย เจรญด 39 เทคโนโลยสารสนเทศ 4739010002 นางสาว สดสวย น าใจงาม 39 เทคโนโลยสารสนเทศ 4739010003 นาย ประสบด ขยนเรยน 39 เทคโนโลยสารสนเทศ 4731050015 นางสาว ไฉไล ดาวประดบ 05 อเลกทรอนกส 4731030222 นาย บญสม ทองคลาย 03 เทคนคโลหะ

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

Page 12: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

และขดแยง กนได เชน ถาตองการแกไขรหสแผนกจาก "39" เปน "09" นนจะตองแกไขทกทเพลใหครบถวน และหากแกไขไมครบถวนอาจท าใหแผนก "เทคโนโลยสารสนเทศ" ม 2 รหส

2) การลบขอมล (Delete Anomaly) การลบทเพลทจดเกบขอมลในกลม Transitive Dependency ทมใหเหนเพยงชดเดยวในรเลชน จะท าใหขอมลนนหายไปจากตารางได เชน เมอลบขอมลของทเพล ของรเลชนของนกศกษาของรหส "4731030222" ออก นอกจากจะท าใหขอมลของรหสนกศกษา "4731030222" หายไปแลว ยงสงผลใหขอมลของแผนก "เทคนคโลหะ" หายไปดวย

3) การเพมขอมล (Insert Anomaly) การเพมขอมลเกยวกบ "รหสแผนก" และ "แผนก" เขาไป ซงมความสมพนธแบบ Transitive Dependency จะท าไมได เนองจากในแอตทรบวตทงสองนไมใชคย ดงนนจงตองเพมขอมลของ "รหสนกศกษา" "ค าน าหนา" และ "ชอ-สกล" เขาไปดวย

จากปญหาของ Transitive Dependency ทกลาวมาจงตองแยกแอตทรบวตทไมใชคยหลก หรอสวนใดสวนหนงของคยหลก ทกอใหเกดปญหาออกมา โดยใชนยามของรปแบบนอรมอล ระดบท 3 ดงน

นยาม "รเลชนใด ๆ จะมคณสมบตอยในรปแบบนอรมอล ระดบท 3 กตอเมอ 1. รเลชนนนมคณสมบตอยในรปแบบนอรมอล ระดบท 2 แลว 2. ทกแอตทรบวตทไมใชคยหลกในรเลชน จะตองไมขนกบแอตทรบวตอน ๆ ทไมใชคยหลก หรออาจกลาววา ทกแอตทรบวตทไมใชคยหลกไมมสทธในการระบคาของแอตทรบวตอน ท ไมใชคยหลก หรออาจกลาวอกนยหนงไดวา รเลชนนนตองไมมความสมพนธระหวางแอตทรบวต เปนแบบ Transitive เกดขน"

จากการพจารณารเลชนนกศกษา จะพบวามฟงกชนการขนตอกนดงน D1: รหสนกศกษา --> ค าน าหนา, ชอ-สกล, รหสแผนก D2: รหสแผนก --> แผนก

Page 13: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

ตารางท 5.9 รเลชนนกศกษา

รหสนกศกษา ค าน าหนา ชอ-สกล รหสแผนก แผนก 4739010001 นาย กมลชย เจรญด 39 เทคโนโลยสารสนเทศ 4739010002 นางสาว สดสวย น าใจงาม 39 เทคโนโลยสารสนเทศ 4739010003 นาย ประสบด ขยนเรยน 39 เทคโนโลยสารสนเทศ 4731050015 นางสาว ไฉไล ดาวประดบ 05 อเลกทรอนกส 4731030222 นาย บญสม ทองคลาย 03 เทคนคโลหะ

และสามารถน ามาเขยนเปนรเลชนได 2 รเลชน ดงน

ตารางท 5.10 รเลชนนกศกษา

รหสนกศกษา ค าน าหนา ชอ-สกล รหสแผนก 4739010001 นาย กมลชย เจรญด 39 4739010002 นางสาว สดสวย น าใจงาม 39 4739010003 นาย ประสบด ขยนเรยน 39 4731050015 นางสาว ไฉไล ดาวประดบ 05 4731030222 นาย บญสม ทองคลาย 03

ตารางท 5.11 รเลชนแผนกวชา

รหสแผนก แผนก 03 เทคนคโลหะ 05 อเลกทรอนกส 39 เทคโนโลยสารสนเทศ

4) รปแบบนอรมอล ของบอยสและคอดด (Boyce/Codd Normal Form : BCNF) ในทางปฏบตการจดท ารเลชนจนกระทงคณสมบตอยในรปแบบนอรมอล ระดบท 3 กสามารถขจดปญหาความซ าซอนของขอมลลงไดจนเกอบหมดแลว แตกอาจมปญหาความซ าซอนของขอมลไดอก แมจะพบไดคอนขางนอยมากกตาม

Page 14: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

ดงนน เพอใหรเลชนมความถกตอง ชดเจน และรดกมมากยงขน จงจ าเปนตองท าใหรเลชน อยในรปแบบนอรมอลของบอยสและคอดด (Boyce/Codd Normal Form: BCNF) ตามนยามดงน

นยาม "รเลชนใด ๆ จะมคณสมบตอยในรปแบบนอรมอลของบอยสและคอดด กตอเมอ 1. ทกแอตทรบวตทเปนตวระบคา (Determinant) ในรเลชนนน ตองเปนคยหลก 2. ตองไมมแอตทรบวตใดในรเลชน ทใชระบคาของแอตทรบวตทเปนคยหลก หรอ สวนหนง สวนใดของแอตทรบวตทประกอบกนเปนคยหลกได"

โดยทวไปรปแบบนอรมอลของบอยสและคอดด จะอยในรปแบบนอรมอล ระดบท 3 แตรปแบบนอรมอล ระดบท 3 ไมจ าเปนตองเปนแบบนอรมอลของบอยสและคอดดเสมอไป เนองจากเปนรปแบบทไดขยายเพมเตมจากรปแบบนอรมอล ระดบท 3 ใหมความเหมาะสมมากยงขน โดยทวไปรปแบบทไมเปนรปแบบนอรมอลของบอยสและคอดด มกจะมคณสมบตดงน "เปนรเลชนทมคยคแขงไดหลาย ๆ คย โดยทคยคแขงเปนคยผสม (Composite Key) หรอ คยคแขงนนมบางสวนซ าซอนกน (คอมแอตทรบวตบางตวรวมกนอย)"

ตารางท 5.12 รเลชนการลงทะเบยนของนกศกษา 1NF

รหสนกศกษา รหสวชา ชอวชา เกรด 4739010001 3901-1001 สารสนเทศ A 4739010001 3901-2001 สถาปตยกรรมคอม A 4739010002 3001-1202 วทยาศาสตร 8 B 4739010002 3901-2001 สถาปตยกรรมคอม C 4739010002 3000-2002 เศรษฐศาสตร A 4739010003 3901-1001 สารสนเทศ B 4739010003 3901-2001 สถาปตยกรรมคอม A 4731050015 3105-2001 สายสงอากาศ B

ขอมลจากตารางท 5.12 พจารณารเลชนการลงทะเบยน จะพบวารเลชนนผานรปแบบนอรมอล ระดบท 1 ระดบท 2 และ ระดบท 3 แลว แตยงไมเปนรปแบบนอรมอลของบอยสและ

Page 15: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

คอดด สามารถเขยนฟงกชนการขนตอกนของรเลชนการลงทะเบยนไดดงน

D1: รหสนกศกษา, รหสวชา --> เกรด D2: รหสนกศกษา, วชาทลงทะเบยน --> เกรด D3: รหสวชา --> วชาทลงทะเบยน

เมอพจารณาตามนยามขอ 2 ของรปแบบนอรมอลของบอยสและคอดด จะพบวารเลชนนไมม คณสมบตเปนรปแบบนอรมอลของบอยสและคอดด เพราะวา แอตทรบวต "วชาทลงทะเบยน" ไมได ท าหนาทเปนคยหลกของรเลชน ดงนนจงตองแยกรเลชนน ออกเปน 2 รเลชน โดยใชฟงกชนการขนตอกน D1 และ D3 สรางเปนรเลชนเกรด และรเลชนวชาทลงทะเบยน ดงตารางท 5.13 และ ตารางท 5.14 ตามล าดบแลวก าหนดใหพรอพเพอตทงครวมกนเปนไพรมารยคยของตาราง Grade และมแอตทรบวส ของความสมพนธเองกคอ Grade

ตารางท 5.13 รเลชนเกรด

รหสนกศกษา รหสวชา เกรด 4739010001 3901-1001 A 4739010001 3901-2001 A 4739010002 3001-1202 B 4739010002 3901-2001 C 4739010002 3000-2002 A 4739010003 3901-1001 B 4739010003 3901-2001 A 4731050015 3105-2001 B

Page 16: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

ตารางท 5.14 รเลชนวชา

รหสวชา ชอวชา 3901-1001 สารสนเทศ 3901-2001 สถาปตยกรรมคอม 3001-1202 วทยาศาสตร 8 3000-2002 เศรษฐศาสตร 3105-2001 สายสงอากาศ

5) รปแบบนอรมอล ระดบท 4 (Fourth Normal Form : 4NF) ปญหาทเกดขนทไมสามารถแกไดดวยรปแบบนอรมอล ระดบท 3 และรปแบบนอรมอลของ บอยสและคอดด กคอ ปญหาทเกดจากความสมพนธระหวางแอตทรบวตแบบเชงกลม ซงปญหา ดงกลาวนกอใหเกดความซ าซอนของขอมลไดเชนเดยวกบทพบในรปแบบ นอรมอลทผานมา

ดงนน เราจงใชรปแบบนอรมอล ระดบท 4 (Fourth Normal Form: 4NF) เพอแกปญหาความซ าซอนของขอมลทพบในรเลชน ดงน

นยาม "รเลชนใด ๆ จะมคณสมบตอยในรปแบบนอรมอล ระดบท 4 กตอเมอ

1. รเลชนนนมคณสมบตอยในรปแบบนอรมอล ของบอยสและคอดดแลว 2. รเลชนนนตองไมมการขนตอกนเปนเชงกลม (Multivalued Dependency) หรออาจ กลาวไดวาเปนรเลชนทไมมความสมพนธในการระบคาของแอตทรบวต เปนแบบหลายคา โดยท แอตทรบวตทถกระบคาเหลาน ไมมความสมพนธกน (Independently Multivalued Dependency)"

ตวอยาง เชน ถามรเลชนการลงทะเบยน ทยงไมไดผานการนอรมอลไลเซชน ซงมแอตทรบวต "รหสนกศกษา" เปนคยหลก ดงตารางรางท 5.15

Page 17: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

ตารางท 5.15 รเลชนการลงทะเบยน

รหสนกศกษา รหสวชา จงหวดทเกด 4739010001 3901-1001

3901-2001 กรงเทพ

4739010002 3001-1202 3901-2001 3000-2002

อางทอง

4731050015 3105-2001 ยะลา

จากรเลชนการลงทะเบยน ท าใหอยในรปแบบนอรมอล ระดบท 1 และจะไดวามคยหลก ประกอบดวยแอตทรบวต 3 แอตทรบวต คอ "รหสนกศกษา" "รหสวชา" และ "จงหวดทเกด" ดงน

ตารางท 5.16 รเลชนการลงทะเบยน ท าใหอยในระดบ 1NF

รหสนกศกษา รหสวชา จงหวดทเกด 4739010001 3901-1001 กรงเทพ 4739010001 3901-2001 กรงเทพ 4739010002 3001-1202 อางทอง 4739010002 3901-2001 อางทอง 4739010002 3000-2002 อางทอง 4731050015 3105-2001 ยะลา

จากตารางท 5.16 ท าการพสจนวารเลชนการลงทะเบยน วาอยในรปแบบนอรมอล ระดบใด ดงน

1) ไมมขอมลหลายชดในแอตทรบวตของทเพลเดยวกน (1NF) 2) ไมมแอตทรบวตใดทไมใชคยหลก ขนกบสวนหนงสวนใดของคยหลก (2NF) 3) ทกแอตทรบวตทไมใชคยหลกในรเลชน จะตองไมขนกบแอตทรบวตอน ๆ ทไมใชคยหลก

Page 18: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

(3NF) 4) ทกแอตทรบวตทเปนตวระบคาในรเลชนนน ตองเปนคยหลก (BCNF)

จากตวอยางจะเหนวารเลชนน มคณสมบตอยในรปแบบนอมลของบอยสและคอดดแลว แตยงไมเปนรปแบบนอรมอล ระดบท 4 เนองจาก มการขนตอกนเปนเชงกลม คอ เมอระบคาของ แอตทรบวตของรหสนกศกษาเปน "4739010001" กจะไดกลมของรหสวชาออกมา 2 วชา คอ "3901-1001", "3901-2001" และไดจงหวดทเกดออกมา 1 จงหวด คอ "กรงเทพ" และทนาสงเกต คอ รหสวชา และจงหวดทเกดตางกเปนขอมลทเปนอสระตอกน ซงจดนเองจะท าใหเกดปญหาขน ดงนนการปรบรเลชนใหเปนรปแบบนอรมอล ระดบท 4 จงท าไดโดยการแยกรเลชนเดม ออกจากกน โดยใหในแตละรเลชนมเฉพาะแอตทรบวตทเกยวของกนอยเทานน ดงนนจะสามารถแยกรเลชนการลงทะเบยนไดเปน 1. รเลชนขอมลการลงทะเบยน ประกอบดวย แอตทรบวต "รหสนกศกษา" และ "รหสวชา" โดยทงคประกอบกนเปนคยหลก 2. รเลชนขอมลนกศกษา ประกอบดวย แอตทรบวต "รหสนกศกษา" และ "จงหวดทเกด" โดยทงคประกอบกนเปนคยหลก และสามารถน ามาเขยนเปนรเลชนไดดงน

ตารางท 5.17 รเลชนขอมลการลงทะเบยน

รหสนกศกษา รหสวชา 4739010001 3901-1001 4739010001 3901-2001 4739010002 3001-1202 4739010002 3901-2001 4739010002 3000-2002 4731050015 3105-2001

แลวพสจนวารเลชนการลงทะเบยนวา อยในรปแบบนอรมอล ระดบใด ดงตารางท 5.18

Page 19: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

ตารางท 5.18 รเลชนขอมลนกศกษา

รหสนกศกษา จงหวดทเกด 4739010001 กรงเทพ 4739010002 อางทอง 4731050015 ยะลา

6) รปแบบนอรมอล ระดบท 5 (Fifth Normal Form : 5NF) นยาม "รเลชนใด ๆ จะมคณสมบตอยในรปแบบนอรมอล ระดบท 5 กตอเมอ

1. รเลชนนนมคณสมบตอยในรปแบบนอรมอล ระดบท 4 แลว 2. ตองไมมการขนตอกนเชงรวม (Join Dependency)"

การขนตอกนเชงรวม เปนคณสมบตของการน ารเลชนยอยทเกดจากการแยกรเลชนมารวมกนแลว ไดขอมลเชนเดยวกบรเลชนเดม เชน จากรเลชนขอมลการลงทะเบยน และรเลชน ขอมลนกศกษา ในรปแบบนอรมอล ระดบท 4 ในหวขอทผานมา เมอน ารเลชนทงสอง คอ รเลชน ขอมลการลงทะเบยน และรเลชนขอมลนกศกษามาท าการ Join กน โดยใชคาแอตทรบวต "รหสนกศกษา" แลว จะไดผลเปนรเลชนการลงทะเบยน ท 2 รเลชนนนแยกออกมา

ดงนนจะเหนวารปแบบนอรมอล ระดบท 5 จะใชคณสมบตการของการขนตอกนแบบเชงรวม ในการตรวจสอบโครงสรางของรเลชน ทไดจากการแยกรเลชนใน ระดบท 4 วาโครงสรางทแยกออกมา นนถกตองหรอไม ตวอยาง รเลชนโครงการ มลกษณะดงตารางท 5.19

ตารางท 5.19 รเลชนโครงการ

รหสโครงการ ชอโครงการ จงหวดทเกด 001 อาสาพฒนา ตาก 001 อาสาพฒนา กาญจนบร 002 อาสาพฒนา เพชรบร 001 สอนนองลงโปรแกรม ตาก 002 สอนนองลงโปรแกรม เพชรบร

Page 20: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

จากตารางท 5.19 ยงไมอยในรปแบบนอรมอล ระดบท 4 จงตองแยกยอย ออกเปน 2 รเลชนดงน

ตารางท 5.20 รเลชนโครงการ

รหสโครงการ ชอโครงการ 001 อาสาพฒนา 001 อาสาพฒนา 002 อาสาพฒนา 001 สอนนองลงโปรแกรม 002 สอนนองลงโปรแกรม

ตารางท 5.21 รเลชนจงหวด

รหสโครงการ จงหวดทเกด 001 ตาก 001 กาญจนบร 002 เพชรบร

และเมอตรวจสอบดวยนยามของรปแบบนอรมอล ระดบท 5 โดยการน าทง 2 รเลชนมารวมกน จะไดเปนรเลชนโครงการ 1 ดงน

ตารางท 5.22 รเลชนโครงการ 1

รหสโครงการ ชอโครงการ จงหวดทเกด 001 อาสาพฒนา ตาก 001 อาสาพฒนา กาญจนบร 002 อาสาพฒนา เพชรบร 001 สอนนองลงโปรแกรม ตาก 001 สอนนองลงโปรแกรม กาญจนบร 002 สอนนองลงโปรแกรม เพชรบร

Page 21: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

จากการสงเกตรเลชนโครงการ 1 ทได จากการท าเปนรปแบบนอรมอล ระดบท 5 จะพบวา รเลชน มทเพลเพมขนมาอก 1 ทเพล โดยทเพลทเกนมาน เรยกวา "Spurious Tuple" ซงท าใหรเลชนนไมเปน รปแบบนอรมอล ระดบท 5 ทถกตอง ดงนนอาจตองท าการแยกรเลชนในระดบท 4 ใหม และหากตรวจสอบดวยการท ารปแบบนอรมอล ระดบท 5 แลวไมถกตองเลย ใหถอวาโครงสรางนนมรปแบบนอรมอลของบอยสและคอดด เปนรปแบบนอรมอล ระดบสงสด

5.3 สงทตองค านงในการท านอรมอลไลเซชน

5.3.1 การแยกรเลชนยอยๆ มากเกนไป (Over normalization) จากหวขอทผานมาจะพบวาการท าใหอยในรปแบบนอรมอล กเพอลดปญหาความซ าซอนของขอมล เพอใหการปรบปรงขอมล การเพมขอมล และการลบขอมลสามารถท าไดอยางมประสทธภาพ ซงปกตแลวการท าใหอยในรปแบบนอรมอล ระดบท 3 กเพยงพอแลวส าหรบการแกปญหาทกลาวมา แตในบางครง การท าใหอยในรปแบบนอรมอล ระดบท 3 กไมอาจแกปญหาได อยางเชน ปญหาทเกด จากความสมพนธระหวางแอตทรบวตแบบเชงกลม ดงนนเพอแกปญหาน กจ าเปนตองท าใหอยใน รปแบบนอรมอลของบอยสและบอดด หรอรปแบบนอรมอล ระดบท 4 หรอระดบท 5 ตอไปเพอแกไข ปญหาตาง ๆ ของขอมลทเกดขน แตการทพยายามแยกรเลชนออกเปนหลายรเลชนมากเกนไป กอาจ ท าใหเกดปญหาขนได เชน ปญหาในการคนหาขอมล ซงถามหลาย ๆ รเลชนมาก ระบบฐานขอมล อาจใชเวลาในการคนหาขอมลมากเกนไป เพราะตองเชอมโยงขอมลในหลาย ๆ รเลชนเขาดวยกน ท าใหประสทธภาพในการท างานของฐานขอมลลดลง เปนตน

5.3.2 การดนอรมอลไลเซชน (De Normalization) การดนอรมอลไลเซชน (De Normalization) เปนการออกแบบใหรเลชนใด ๆ มคณสมบต อยในรปแบบนอรมอล ระดบทต ากวากฎเกณฑทก าหนดไว เชน บางครงควรปรบรเลชนให อยในรปแบบนอรมอล ระดบท 4 แตหยดไวเพยงรปแบบนอรมอล ระดบท 3 ทเปนเชนนอาจเปน เพราะวา ผออกแบบตองการใหรเลชนมประสทธภาพในการคนหา และเรยกด และนอกจากน ผออกแบบยงยอมใหมความซ าซอนของขอมลเกดขนได ดงนนในการท าดนอรมอลไลเซชน ทยอมใหมความซ าซอนของขอมลเกดขนน ผออกแบบจงควรระบสาเหต และวธการในการปรบปรง ขอมลในโปรแกรมประยกตนน ๆ ไวดวย เพอปองกนไมให มปญหาขอมลไมถกตอง

Page 22: บทที่ 5 การท าบรรทัดฐานข้อมูล (Normalization)pirun.ku.ac.th/~faastwc/02739422-62/pttx/chapter05 Normalization.pdf5.1.1 ประเภทของฟังก์ชั่นการขึ้นต่อกัน

เกดขน และนอกจากน หากรเลชนนน ใชในการเรยกดขอมลมากกวาการเพม ปรบปรง หรอลบขอมล กอาจใชการดนอรมอลไลเซชนได ถาผออกแบบ คดวา รเลชนลกษณะนจะเพมประสทธภาพ ในการท างานของฐานขอมล และไมมปญหาดานความซ าซอนกนของขอมลเกดขน

สรปบทท 5 ในบทนเปนการน ารเลชนทไดออกแบบเปนฐานขอมลไว มาปรบปรงโดยใชวธการท านอร

มอลไลเซชน เพอปรบเปลยนโครงสรางของรเลชนตาง ๆ ท าใหสามารถแกปญหา ความซ าซอนของขอมลในลกษณะตาง ๆ ไดเชน ปญหาในการปรบปรงขอมล ปญหาใน การลบขอมล และปญหาในการเพมขอมล เปนตน และท าใหรเลชนมโครงสรางทเหมาะสม ในการใชงานตอไป การท านอรมอลไลเซชนจะมอย 6 ระดบดวยกน แตในการใชงาน จรงจะท าใหอยในรปแบบนอรมอล ระดบท 3 หรอรปแบบ BCNF กเพยงพอตอความตองการ ในการใชงานแลว และนอกจากนในการออกแบบฐานขอมลยงตองค านงถงสงตาง ๆ ดงนดวย คอ การแยกรเลชนยอยมากเกนไป และการดนอรมอลไลเซชน