Back to Home

DataBase System

Lesson1235679101112131415

Lesson 4 : Normal Form



Lesson Plan
Section No.
Section 1
Section 2
Test
PDF file
PPT File


<<Prev pageCourse MapNext page>>

Print content of this page
Save content of this page

 

วัตถุประสงค์ในการทำให้เป็นรูปแบบที่เป็นบรรทัดฐาน

การทำให้เป็นรูปแบบที่เป็นบรรทัดฐาน (normalization process) เป็นกระบวนการออกแบบฐาน ข้อมูลที่นำเค้าร่างของรีเลชันมาตรวจสอบและแก้ไขปัญหาเกี่ยวกับความซ้ำซ้อนกันของข้อมูล (data anomaly) ซึ่งผลงานดังกล่าวได้รับการคิดค้นและพัฒนาโดย อี.เอฟ.คอดด์ (E.F.Codd) ประมาณปี ค.ศ. 1968

เพื่อให้เข้าใจปัญหาที่เกิดจากความซ้ำซ้อนของข้อมูลได้ชัดเจนยิ่งขึ้น ในที่นี้ขอนำตัวอย่างมาประกอบดังนี้

รหัสนักศึกษา

ชื่อนักศึกษา

รหัสอาจารย์

ชื่ออาจารย์ที่ปรึกษา

รหัสชุดวิชา

ชื่อชุดวิชาที่ลงทะเบียน

หมู่เรียน

หน่วยกิต

41010703

สมชาย พลจันทร์

Q1059

สัมพันธ์ เย็นสำราญ

729101

เศรษฐศาสตร์เบื้องต้น

700

2

41010703

สมชาย พลจันทร์

Q1059

สัมพันธ์ เย็นสำราญ

729111

คณิตศาสตร์และสถิติ

711

3

41010703

สมชาย พลจันทร์

Q1059

สัมพันธ์ เย็นสำราญ

999211

คอมพิวเตอร์เบื้องต้น

713

3

41010943

สุทิศา พินิจไพฑูรย์

Q1011

ศิริภัทรา เหมือนมาลัย

729111

คณิตศาสตร์และสถิติ

712

3

41010943

สุทิศา พินิจไพฑูรย์

Q1011

ศิริภัทรา เหมือนมาลัย

999211

คอมพิวเตอร์เบื้องต้น

711

3

41010943

สุทิศา พินิจไพฑูรย์

Q1011

ศิริภัทรา เหมือนมาลัย

729104

การจัดการการเงิน

700

2

41012147

ณัฐพร ประคองเก็บ

Q1061

เมธี ปิยะคุณ

729111

คณิตศาสตร์และสถิติ

711

3

41012147

ณัฐพร ประคองเก็บ

Q1061

เมธี ปิยะคุณ

999211

คอมพิวเตอร์เบื้องต้น

713

3

41012451

นพดล ทับทิมทอง

Q1035

ศิริชัย ศรีพรหม

729111

คณิตศาสตร์และสถิติ

712

3

41012451

นพดล ทับทิมทอง

Q1035

ศิริชัย ศรีพรหม

999211

คอมพิวเตอร์เบื้องต้น

711

3

41013327

มัทนา พินิจไพฑูรย์

Q1059

สัมพันธ์ เย็นสำราญ

729103

การจัดการการตลาด

700

2

41013780

สมชาย พลจันทร์

Q1011

ศิริภัทรา เหมือนมาลัย

999211

คอมพิวเตอร์เบื้องต้น

712

3

ภาพที่ 4.8 รีเลชันที่มีปัญหาเรื่องความซ้ำซ้อนของข้อมูล

จากข้างต้นจะพบว่า รีเลชันมีข้อมูลซ้ำซ้อนกันจำนวนมาก หากต้องการปรับปรุงข้อมูล (update anomaly) ใด ๆ จะต้องทำซ้ำหลายแห่ง ทำให้สิ้นเปลืองเวลาในการแก้ไขข้อมูล รวมทั้งอาจมีการแก้ไขข้อมูลได้ไม่ครบถ้วนและถูกต้องทุกรายการก็ได้ ตัวอย่างเช่น การแก้ไขชื่อของอาจารย์ที่ปรึกษาจาก ศิริภัทรา เหมือนมาลัย เป็น ณัชชา มาลัย

การเพิ่มเติมข้อมูล (insert anomaly) ในรีเลชันข้างต้นไม่สามารถทำได้ในทันที เนื่องจากยังไม่มี การกำหนดคีย์หลักของรีเลชัน และหากกำหนดให้รหัสนักศึกษาและรหัสชุดวิชาเป็นคีย์หลักของรีเลชันก็อาจไม่สามารถเพิ่มเติมข้อมูลลงในรีเลชันได้ ตัวอย่างเช่น หากมีการเปิดสอนขุดวิชาใหม่ 729105 การจัดการทรัพยากรมนุษย์ จะไม่สามารถเพิ่มเติมข้อมูลเข้ามาในรีเลชันนี้ได้ เนื่องจากยังไม่ปรากฏข้อมูลการลงทะเบียนของนักศึกษามาก่อน ค่าของรหัสนักศึกษาจึงเป็นค่าว่าง ทำให้ไม่อาจเพิ่มเติมข้อมูลลงในรีเลชันได้ เพราะ แอททริบิวต์ที่เป็นส่วนของคีย์หลักจะมีค่าว่างไม่ได้

นอกจากนี้ การลบข้อมูล (delete anomaly) ออกจากรีเลชันอาจทำให้ข้อมูลที่ต้องการใช้ใน การทำงานหรืออ้างอิงสูญหายไป หากผู้ที่มีรหัสนักศึกษา 41013327 มัทนา พินิจไพฑูรย์ ลาออก ข้อมูลที่เกี่ยวข้องกับนักศึกษาจะถูกลบไปทั้งทูเพิล ดังนั้น ข้อมูลเกี่ยวกับชุดวิชา 729103 การจัดการการตลาด ซึ่งมีเพียงแห่งเดียวในฐานข้อมูลก็จะสูญหายไปด้วย

การที่ต้องมีกระบวนการทำให้เป็นรูปแบบที่เป็นบรรทัดฐาน เนื่องจากขั้นตอนการออกแบบฐาน ข้อมูลในระดับแนวคิดด้วยอี-อาร์โมเดล (E-R model) ทำการวิเคราะห์ความสัมพันธ์ของข้อมูลในระดับ เอ็นทิตีเท่านั้น หากทว่ายังขาดการวิเคราะห์ความสัมพันธ์ระหว่างแอททริบิวต์ในแต่ละรีเลชันจึงจำเป็นต้องมีกระบวนการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานอีกขั้นหนึ่ง เพื่อทำการวิเคราะห์ความสัมพันธ์ของข้อมูลในระดับแอททริบิวต์ของแต่ละรีเลชัน เพื่อให้ความซ้ำซ้อนของข้อมูลในแต่ละรีเลชันลดลง

การทำให้เป็นรูปแบบที่เป็นบรรทัดฐาน เป็นกระบวนการที่เกิดขึ้นในระหว่างการออกแบบฐานข้อมูลเชิงสัมพันธ์ โดยการใช้เทคนิคที่เรียกว่า Decomposition ทำการวิเคราะห์ความสัมพันธ์ระหว่างแอททริบิวต์ในแต่ละรีเลชัน ด้วยการจำแนกรีเลชันที่ได้จากอี-อาร์โมเดล (entity relationship model : E-R model) ซึ่งเป็นเครื่องมือในการออกแบบฐานข้อมูลในระดับแนวคิด ให้เป็นรีเลชันย่อยในโครงสร้างแบบต่าง ๆ ที่เรียกว่า รูปแบบที่เป็นบรรทัดฐาน (normal form) โดยมีขั้นตอนในการจัดทำที่ชัดเจน ทั้งนี้ เพื่อขจัดความซ้ำซ้อนของข้อมูลในแต่ละรีเลชันให้เหลือน้อยที่สุดหรือแทบไม่มีความซ้ำซ้อนหลงเหลืออยู่เลย

การทำให้เป็นรูปแบบที่เป็นบรรทัดฐานเป็นการดำเนินงานตามลำดับอย่างเป็นขั้นตอน เพื่อให้รีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นต่าง ๆ ดังนี้คือ

1. รูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 (First Normal Form : 1NF)

2. รูปแบบที่เป็นบรรทัดฐานขั้นที่ 2 (Second Normal Form : 2NF)

3. รูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 (Third Normal Form : 3NF)

4. รูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์ (Boyce/Codd Normal Form : BCNF)

5. รูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 (Fourth Normal Form : 4NF)

6. รูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 (Fifth Normal Form : 5NF)

ทั้งนี้ รีเลชันจะอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นใดก็ขึ้นอยู่กับคุณสมบัติของรีเลชันในขณะนั้น ตัวอย่างเช่น หากรีเลชันที่ปรึกษามีคุณสมบัติตรงตามรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 ก็ถือว่า รีเลชันนั้นอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 โดยรีเลชันจะยิ่งมีคุณภาพมากขึ้น หากอยู่ในรูปแบบที่เป็นบรรทัดฐาน สูงขึ้น เนื่องจากรีเลชันนั้นจะมีข้อมูลซ้ำซ้อนลดน้อยลงหรือแทบไม่มีความซ้ำซ้อนปรากฏอยู่เลย

แม้ว่าการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานจะมีขั้นตอนที่แน่นอนตามลำดับ แต่ก็ไม่จำเป็นต้อง เริ่มต้นจากรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 เสมอไป ทั้งนี้ ขึ้นอยู่กับคุณสมบัติของรีเลชันว่าอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นใด ก็ให้เริ่มดำเนินการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานจากขั้นนั้นเป็นต้นไป โดยจะไปยุติที่รูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 เสมอ เนื่องจากรีเลชันที่อยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 จะ ไม่ปรากฏความซ้ำซ้อนของข้อมูลหลงเหลืออยู่แล้ว

หากขาดกระบวนการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานผู้ออกแบบฐานข้อมูลอาจต้องใช้ ประสบการณ์ในการวิเคราะห์ความสัมพันธ์ระหว่างแอททริบิวต์ในแต่ละรีเลชัน เพื่อให้ความซ้ำซ้อนของข้อมูลในแต่ละรีเลชันลดลง โดยขาดหลักการที่เป็นระบบและขั้นตอนที่ชัดเจน ซึ่งการลองผิดลองถูกในการออกแบบ ดังกล่าวอาจทำให้เกิดผลกระทบต่อการทำงานภายในองค์กรได้ รวมทั้งยังขาดมาตรฐานในการประเมิน การออกแบบอีกด้วย

การทำให้เป็นรูปแบบที่เป็นบรรทัดฐานจึงมีประโยชน์อย่างยิ่งต่อการออกแบบฐานข้อมูล หากผู้ออกแบบฐานข้อมูลทำตามขั้นตอนที่กำหนดย่อมจะได้ฐานข้อมูลที่ถูกต้องและมีโครงสร้างที่ดี ทำให้มีข้อมูลซ้ำซ้อนกันน้อยมากหรือแทบไม่มีเลย ซึ่งจะไม่ทำให้เกิดปัญหาหากต้องการปรับปรุง เพิ่มเติม หรือลบข้อมูลในแต่ละรีเลชัน

ดังนั้น วัตถุประสงค์หลักของการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานก็คือ การลดความซ้ำซ้อนของข้อมูลที่จัดเก็บในแต่ละรีเลชัน ซึ่งผลจากการลดความซ้ำซ้อนของข้อมูลดังกล่าว ทำให้เกิดประโยชน์ในเรื่องต่าง ๆ ดังนี้คือ

    1. ทำให้ประหยัดเนื้อที่ในการจัดเก็บข้อมูลได้
    2. ทำให้ลดปัญหาข้อมูลขาดความถูกต้องสมบูรณ์ (data integrity) ทั้งนี้ เนื่องจากการจัดเก็บ ข้อมูลที่ไม่ซ้ำซ้อนกันในแต่ละรีเลชัน ทำให้การแก้ไขข้อมูลสามารถทำได้โดยสะดวก หากต้องการแก้ไขข้อมูลก็จะดำเนินการกับทูเพิลนั้น ๆ เพียงครั้งเดียว ไม่ต้องเสียเวลาในการแก้ไขข้อมูลหลายแห่ง โอกาสที่จะเกิดความผิดพลาดจากการแก้ไขข้อมูลไม่ครบถ้วนหรือไม่สอดคล้องกันก็จะไม่เกิดขึ้น
    3. ทำให้ลดปัญหาที่เกิดจากการปรับปรุง เพิ่มเติม และลบข้อมูล เช่น ในการปรับปรุงข้อมูลอาจเกิดปัญหาการแก้ไขข้อมูลไม่ครบถ้วนทุกที่ หรือข้อมูลที่แก้ไขไม่สอดคล้องกัน หรือในการเพิ่มเติมข้อมูลอาจต้องดำเนินการกับข้อมูลที่เกี่ยวข้องกันซ้ำ ๆ หลายทูเพิล ทำให้เกิดความผิดพลาดได้ง่าย นอกจากนี้ ใน การลบข้อมูลอาจทำให้ข้อมูลบางส่วนที่จำเป็นต้องใช้เพื่อการอ้างอิงสูญหายไปจากฐานข้อมูลได้
 

 

Last Updated: 12/13/2001 11:22:24 AM
© โครงการเครือข่ายสารสนเทศเพื่อพัฒนาการศึกษา ทบวงมหาวิทยาลัย