บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

45
!" แผนการสอนประจําบทเรียน รายชื่ออาจารยผูจัดทํา ชุติมณฑน บุญมาก รายละเอียดของเนื ้อหา ตอนที 4.1 แนวคิดเกี่ยวกับรูปแบบที่เปนบรรทัดฐาน เรื ่องที 4.1.1 ความสัมพันธระหวางแอททริบิวตในแตละรีเลชัน เรื ่องที 4.1.2 วัตถุประสงคในการทําใหเปนรูปแบบที่เปนบรรทัดฐาน ตอนที 4.2 การทําใหเปนรูปแบบที่เปนบรรทัดฐาน เรื ่องที 4.2.1 รูปแบบที ่เปนบรรทัดฐานขั ้นที 1 เรื ่องที 4.2.2 รูปแบบที ่เปนบรรทัดฐานขั ้นที 2 เรื ่องที 4.2.3 รูปแบบที ่เปนบรรทัดฐานขั ้นที 3 เรื ่องที 4.2.4 รูปแบบที ่เปนบรรทัดฐานของบอยสและคอดด เรื ่องที 4.2.5 รูปแบบที ่เปนบรรทัดฐานขั ้นที 4 เรื ่องที 4.2.6 รูปแบบที ่เปนบรรทัดฐานขั ้นที 5 เรื ่องที 4.2.7 ขอควรคํานึงในการทําใหเปนรูปแบบที่เปนบรรทัดฐาน แนวคิด 1. การออกแบบเคารางของขอมูลเปนการกําหนดรีเลชันตาง รวมถึงแอททริบิวตในแตละรีเลชัน เพื่อใหไดขอมูลตามที่ผูใชตองการ โดยการกําหนดหรือออกแบบเพื ่อใหไดเคารางขอมูลที ่ดีควร จะเปนการออกแบบที่สามารถลดปญหาที่จะเกิดขึ้นกับฐานขอมูลใหไดมากที่สุด ซึ ่งผู ออกแบบ ควรจะตองทราบความสัมพันธระหวางแอททริบิวตในแตละรีเลชัน และวัตถุประสงคในการทํา ใหเปนรูปแบบที ่เปนบรรทัดฐาน 2. การทําใหเปนรูปแบบที ่เปนบรรทัดฐาน เปนกระบวนการนําเคารางของรีเลชันมาทําใหอยูใน รูปแบบที ่เปนบรรทัดฐาน เพื ่อใหแนใจวาการออกแบบเคารางของรีเลชันเปนการออกแบบที เหมาะสม โดยการทําใหเปนรูปแบบที่เปนบรรทัดฐานจะทําใหลดความซ้ําซอนของขอมูลใน รีเลชันซึ ่งเปนการลดเนื ้อที ่ที ่ใชในการจัดเก็บขอมูล และลดความผิดพลาดในการปรับปรุงขอมูล ไมครบถวน วัตถุประสงค หลังจากศึกษาบทเรียนที่ 4 แลว นักศึกษาสามารถ 1. บอกแนวคิดเกี ่ยวกับรูปแบบที ่เปนบรรทัดฐานได

Transcript of บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

Page 1: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

!"

แผนการสอนประจําบทเรียน

รายชื่ออาจารยผูจัดทํา ชุติมณฑน บุญมาก รายละเอียดของเน้ือหา ตอนท่ี 4.1 แนวคิดเกี่ยวกับรูปแบบที่เปนบรรทัดฐาน

เร่ืองท่ี 4.1.1 ความสัมพันธระหวางแอททริบิวตในแตละรีเลชัน เร่ืองท่ี 4.1.2 วัตถุประสงคในการทําใหเปนรูปแบบที่เปนบรรทัดฐาน

ตอนท่ี 4.2 การทําใหเปนรูปแบบที่เปนบรรทัดฐาน เร่ืองท่ี 4.2.1 รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 1 เร่ืองท่ี 4.2.2 รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 2 เร่ืองท่ี 4.2.3 รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 3 เร่ืองท่ี 4.2.4 รูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดด เร่ืองท่ี 4.2.5 รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 4 เร่ืองท่ี 4.2.6 รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 5 เร่ืองท่ี 4.2.7 ขอควรคํานึงในการทําใหเปนรูปแบบที่เปนบรรทัดฐาน

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

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

วัตถุประสงค หลังจากศึกษาบทเรียนที่ 4 แลว นักศึกษาสามารถ 1. บอกแนวคิดเก่ียวกับรูปแบบท่ีเปนบรรทัดฐานได

Page 2: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

"#

2. จัดทํารูปแบบท่ีเปนบรรทัดฐานได กิจกรรมการเรียนการสอน

กิจกรรมท่ีนักศึกษาตองทําสําหรับการเรียนการสอน ไดแก 1. ศึกษาเอกสารการสอนตอนท่ี 4.1 และตอนที ่4.2 2. ทํากิจกรรมในแบบฝกปฏิบัติบทเรียนที่ 4 3. ทําแบบประเมินผลของบทเรียนที่ 4

สื่อการสอน เอกสารการสอน

1. เอกสารประกอบการสอน ประเมินผล

1. ประเมินผลจากกิจกรรมที่ทํา 2. ประเมินผลจากคําถามทายบทเรียน

Page 3: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

"$

ตอนท่ี 4.1 แนวคิดเกี่ยวกับรูปแบบที่เปนบรรทัดฐาน

หัวเร่ือง เร่ืองท่ี 4.1.1 ความสัมพันธระหวางแอททริบิวตในแตละรีเลชัน เร่ืองท่ี 4.1.2 วัตถุประสงคในการทําใหเปนรูปแบบที่เปนบรรทัดฐาน

แนวคิด 1. แอททริบิวตในแตละรีเลชันอาจมีความสัมพันธกันได ตัวอยางเชน เมื่อทราบคาของแอททริบิวตหนึ่งสามารถทราบคาของแอททริบิวตอื่นของทูเพิลในรีเลชันได ซึ่งความสัมพันธระหวาง แอททริบิวตในแตละรีเลชันอาจจําแนกได 3 ลักษณะ คือ ความสัมพันธระหวางแอททริบิวตแบบฟงกชัน ความสัมพันธระหวางแอททริบิวตแบบหลายคา และความสัมพันธระหวางแอททริบิวตแบบ Join

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

วัตถุประสงค หลังจากที่ศึกษาตอนที่ 4.1 แลว นักศึกษาสามารถ 1. ผูเรียนสามารถบอกความสัมพันธระหวางแอททริบิวตในแตละรีเลชันได 2. ผูเรียนสามารถบอกวัตถุประสงคในการทําใหเปนรูปแบบท่ีเปนบรรทัดฐานได

เรื่องที่ 4.1.1 ความสัมพันธระหวางแอททริบิวตในแตละรีเลชัน

แอททริบิวต (attribute) ในแตละรีเลชัน (relation) อาจมีความสัมพันธกันในลักษณะที่ เมื่อทราบคาของแอททริบิวตหนึ่งจะทําใหสามารถทราบคาของแอททริบิวตอื่น ๆ ในทูเพิล (tuple) เดียวกันของรีเลชันได ซึ่งความสัมพันธระหวางแอททริบิวตในแตละรีเลชันอาจจําแนกได 3 ลักษณะ คือ ความสัมพันธระหวาง แอททริบิวตแบบฟงกชัน (functional dependency) ความสัมพันธระหวางแอททริบิวตแบบหลายคา (multivalued dependency) และความสัมพันธระหวางแอททริบิวตแบบ Join (join dependency)

1. ความสัมพันธระหวางแอททริบิวตแบบฟงกชัน

ความสัมพันธระหวางแอททริบิวตแบบฟงกชัน หรือ FD หมายถึง การที่คาของแอททริบิวตหนึ่งหรือมากกวาหนึ่งแอททริบิวตขึ้นไปที่ประกอบกันสามารถระบุคาของแอททริบิวตอื่น ๆ ในทูเพิลเดียวกันของ รีเลชันน้ันได โดยแอททริบิวตหรือกลุมของแอททริบิวตที่เปนตัวระบุคาของแอททริบิวตอื่น ๆ เรียกวา Determinant และแอททริบิวตอื่น ๆ ที่ถูกระบุคา เรียกวา Dependent

Page 4: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

"%

ความสัมพันธระหวางแอททริบิวตแบบฟงกชันสามารถใชสัญลักษณ ในการสื่อความหมายไดดังน้ี

A B ในแผนภาพความสัมพันธระหวางแอททริบิวตแบบฟงกชัน (functional dependency diagram)

หรือ FD ไดอะแกรมใชสัญลักษณดังน้ี

หมายความวา หากทราบคาของแอททริบิวต A จะสามารถทราบคาของแอททริบิวต B ไดโดย A ซึ่งเรียกวา Determinant อาจเปนแอททริบิวตหนึ่งหรือกลุมของแอททริบิวตที่นํามาประกอบกันก็ได และ B ซึ่งเรียกวา Dependent จะเปนแอททริบิวตอื่น ๆ ในทูเพิลเดียวกันของรีเลชันน้ัน

เพื่อใหเขาใจความสัมพันธระหวางแอททริบิวตแบบฟงกชันดียิ่งขึ้น ในที่นี้ขอนําตัวอยางมาประกอบดังน้ี

• กรณี Determinant และ Dependent มีเพียงหนึ่งแอททริบิวต ตัวอยางเชน รีเลชันอาจารย ที่ปรึกษาประกอบดวย แอททริบิวตรหัสนักศึกษา และชื่ออาจารยที่ปรึกษา โดยมีรายละเอียดดังน้ี

รหัสนักศึกษา ช่ืออาจารยท่ีปรึกษา 41010703 สัมพันธ เย็นสําราญ 41010943 ศิริภัทรา เหมือนมาลัย 41012147 เมธี ปยะคุณ 41012451 ศิริชัย ศรีพรหม 41013327 สัมพันธ เย็นสําราญ 41013780 ศิริภัทรา เหมือนมาลัย ภาพที่ 4.1 รีเลชันอาจารยท่ีปรึกษา

รีเลชันอาจารยที่ปรึกษามีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสนักศึกษา ชื่ออาจารยที่ปรึกษา

เขียน FD ไดอะแกรมไดดังน้ี

รหัสนักศึกษา ช่ืออาจารยท่ีปรึกษา

หมายความวา หากระบุคาของรหัสนักศึกษาคนใดก็จะสามารถทราบชื่ออาจารยที่ปรึกษาของ นักศึกษาคนน้ันได เชน ถาระบุคาของ Determinant หรือ รหัสนักศึกษา คือ 41012451 จะทําใหทราบคาของ Dependent หรือ ชื่ออาจารยที่ปรึกษา คือ ศิริชัย ศรีพรหม ได

ในทางตรงกันขาม หากทราบคาของ Dependent อาจไมสามารถระบุคาของ Determinant ก็ได เชน ถาระบุคาของชื่ออาจารยที่ปรึกษา คือ ศิริภัทรา เหมือนมาลัย จะพบวาคาของรหัสนักศึกษามี 2 คา คือ

Page 5: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

"&

41010943 และ 41013780 เน่ืองจากนักศึกษาท้ังสองคนมีอาจารยท่ีปรึกษาคนเดียวกัน ดังน้ัน จึงกลาวไดวา คาของ Determinant สามารถระบุคาของ Dependent ได แตคาของ Dependent อาจไมสามารถระบุคาของ Determinant ที่ชัดเจนได

หากตองการใหแอททริบิวตชื่ออาจารยที่ปรึกษาเปน Determinant เพื่อใหสามารถระบุคาของ Dependent คือ รหัสนักศึกษา ได จะตองกําหนดใหชื่ออาจารยที่ปรึกษาของนักศึกษาแตละคนไมซ้ํากัน น่ันคือ หากระบุคาของรหัสนักศึกษาคนใดก็จะสามารถทราบชื่ออาจารยที่ปรึกษาของนักศึกษาคนนั้นได และในทางตรงกันขาม หากทราบคาของชื่ออาจารยที่ปรึกษาคนใดก็จะสามารถระบุคาของรหัสนักศึกษาใน การปรึกษาของอาจารยคนน้ันได ซึ่งรูปแบบของความสัมพันธจะเปนดังนี้

รีเลชันอาจารยที่ปรึกษามีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสนักศึกษา ชื่ออาจารยที่ปรึกษา

หรืออาจเขียนไดดังนี้ รหัสนักศึกษา ชื่ออาจารยที่ปรึกษา ชื่ออาจารยที่ปรึกษา รหัสนักศึกษา

เขียน FD ไดอะแกรมไดดังน้ี

รหัสนักศึกษา ช่ืออาจารยท่ีปรึกษา

• กรณี Determinant มีเพียงหนึ่งแอททริบิวตและ Dependent มีมากกวาหนึ่งแอททริบิวต ตัวอยางเชน รีเลชันนักศึกษาประกอบดวย แอททริบิวตรหัสนักศึกษา ชื่อ นามสกุล และวัน/เดือน/ปเกิด โดยมีรายละเอียดดังน้ี

รหัสนักศึกษา ช่ือ นามสกุล วัน/เดือน/ปเกิด 41010703 สมชาย พลจันทร 18 มิ.ย. 2527 41010943 สุทิศา พินิจไพฑูรย 23 ก.ย. 2526 41012147 ณัฐพร ประคองเก็บ 17 ธ.ค. 2528 41012451 นพดล ทับทิมทอง 3 ก.พ. 2527 41013327 มัทนา พินิจไพฑูรย 23 ก.ย. 2526 41013780 สมชาย พลจันทร 17 ธ.ค. 2528

ภาพที่ 4.2 รีเลชันนักศึกษา รีเลชันนักศึกษามีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้

รหัสนักศึกษา ชื่อ รหัสนักศึกษา นามสกุล รหัสนักศึกษา วัน/เดือน/ปเกิด

หรือ รหัสนักศึกษา ชื่อ, นามสกุล, วัน/เดือน/ปเกิด

Page 6: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

"'

เขียน FD ไดอะแกรมไดดังน้ี

รหัสนักศึกษา ช่ือ นามสกุล วัน/เดือน/ปเกิด

หมายความวา หากระบุรหัสนักศึกษาคนใดก็จะสามารถทราบชื่อ นามสกุล และวัน/เดือน/ปเกิด ของนักศึกษาคนน้ันได เชน ถาระบุคาของ Determinant หรือ รหัสประจําตัว คือ 41012147 จะทําใหทราบคาของ Dependent หรือแอททริบิวตอื่น ๆ ไดดังน้ี

รหัสนักศึกษา ช่ือ นามสกุล วัน/เดือน/ปเกิด 41012147 ณัฐพร ประคองเก็บ 17 ธ.ค. 2528

• กรณี Determinant มีมากกวาหนึ่งแอททริบิวตและ Dependent มีเพียงหนึ่งแอททริบิวต ตัวอยางเชน รีเลชันอาจารยผูสอนประกอบดวย แอททริบิวตรหัสชุดวิชา หมูเรียน และชือ่อาจารยผูสอน โดยมีรายละเอียดดังน้ี

รหัสชุดวิชา หมูเรียน ช่ืออาจารยผูสอน 729101 700 ศิริชัย ศรีพรหม 729111 711 จันทนา พรหมศิร ิ729111 712 สัมพันธ เย็นสําราญ 999211 711 ศิริภัทรา เหมือนมาลัย 999211 712 ศิริชัย ศรีพรหม 999211 713 สุพิมพ ศรีพันธวรสกุล

ภาพที่ 4.3 รีเลชันอาจารยผูสอน รีเลชันอาจารยผูสอนมีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้

รหัสชุดวิชา, หมูเรียน ช่ืออาจารยผูสอน เขียน FD ไดอะแกรมไดดังน้ี

รหัสชุดวิชา หมูเรียน ช่ืออาจารยผูสอน

หมายความวา หากระบุคาของรหัสชุดวิชาและหมูเรียนใดก็จะสามารถทราบชื่ออาจารยผูสอนในรหัสชุดวิชาและหมูเรียนนั้น ๆ ได เชน ถาระบุคาของ Determinant หรือ รหัสชุดวิชา คือ 999211 และหมูเรียน คือ 712 จะทําใหทราบคาของ Dependent หรือ ช่ืออาจารยผูสอน คือ ศิริชัย ศรีพรหม

เมื่อกลาวถึงความสัมพันธระหวางแอททริบิวตมักจะเกี่ยวของกับคีย (key) เน่ืองจากคุณสมบัติของคียหลัก (primary key) คือ แอททริบิวตท่ีมีคาเปนเอกลักษณหรือมีคาไมซํ้าซอนกัน (unique) ทําใหสามารถระบุคาของแอททริบิวตอื่นในทูเพิลหนึ่ง ๆ ได โดยแอททริบิวตที่มีคุณสมบัติเปนคียหลักอาจเปนกลุมของ แอททริบิวตท่ีนํามาประกอบกันเพ่ือใหมีคาเปนเอกลักษณก็ได ซึ่งกลุมของแอททริบิวตดังกลาวเรียกวา คียผสม (composite key)

Page 7: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

"(

จากภาพที่ 4.2 รีเลชันนักศึกษามีเพียงหนึ่งแอททริบิวตที่มีคุณสมบัติเปนคียหลัก คือ รหัสนักศึกษา หากระบุรหัสนักศึกษาคนใดก็จะสามารถทราบชื่อ นามสกุล และวัน/เดือน/ปเกิด ของนักศึกษาคนน้ันได และจากภาพที่ 4.3 รีเลชันอาจารยผูสอนมีกลุมของแอททริบิวตที่ประกอบกันและมีคุณสมบัติเปนคียหลัก คือ รหัสชุดวิชาและหมูเรียน หากระบุคาของรหัสชุดวิชาและหมูเรียนใดก็จะสามารถทราบชื่ออาจารยผูสอนในรหัส ชุดวิชาและหมูเรียนนั้น ๆ ได ดังน้ัน จึงกลาวไดวา คียหลักและคียผสมเปน Determinant ท่ีสามารถระบุคาของแอททริบิวตอื่น ๆ ในทูเพิลเดียวกันของรีเลชันน้ันได

ทั้งนี้ ความสัมพันธระหวางแอททริบิวตแบบฟงกชันสามารถจําแนกได 3 แบบ คือ ความสัมพันธระหวางแอททริบิวตแบบทั้งหมด (fully functional dependency) ความสัมพันธระหวางแอททริบิวตแบบ บางสวน (partial dependency) และความสัมพันธระหวางแอททริบิวตแบบ Transitive (transitive dependency)

1. ความสัมพันธระหวางแอททริบิวตแบบทั้งหมด ความสัมพันธระหวางแอททริบิวตแบบทั้งหมด หมายถึง การที่แอททริบิวตซึ่งเปน

Determinant มีขนาดเล็กท่ีสุด และสามารถระบุคาของแอททริบิวตอื่น ๆ ท่ีเปน Dependent ไดอยางชัดเจน ตัวอยางเชน

• กรณี Determinant มีเพียงหนึ่งแอททริบิวต ตัวอยางเชน รีเลชันนักศึกษาดังภาพท่ี 4.2 ประกอบดวย แอททริบิวตรหัสนักศึกษา ชื่อ นามสกุล และวัน/เดือน/ปเกิด โดยมีแอททริบิวตรหัสนักศึกษาเปนคียหลัก

รีเลชันนักศึกษามีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสนักศึกษา ชื่อ, นามสกุล, วัน/เดือน/ปเกิด

หากทราบคาของ Determinant คือ รหัสนักศึกษาคนใดก็จะสามารถทราบคาของ Dependent หรือแอททริบิวตอื่น ๆ ในทูเพิลเดียวกัน คือ ชื่อ นามสกุล และวัน/เดือน/ปเกิด ของนักศึกษาคนน้ันได ดังน้ัน แอททริบิวตชื่อ นามสกุล และวัน/เดือน/ปเกิด จึงมีความสัมพันธระหวางแอททริบิวตแบบทั้งหมดกับ แอททริบิวตรหัสนักศึกษา

• กรณี Determinant มีมากกวาหนึ่งแอททริบิวต ตัวอยางเชน รีเลชันอาจารยผูสอนดังภาพท่ี 4.3 ประกอบดวย แอททริบิวตรหัสชุดวิชา หมูเรียน และช่ืออาจารยผูสอน โดยมีแอททริบิวตรหัสชุดวิชาและหมูเรียนประกอบกันเปนคียหลัก

รีเลชันอาจารยผูสอนมีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสชุดวิชา, หมูเรียน ช่ืออาจารยผูสอน

หากทราบคาของ Determinant คือ รหัสชุดวิชาและหมูเรียนใดก็จะสามารถทราบคาของ Dependent หรือแอททริบิวตอื่น ๆ ในทูเพิลเดียวกัน คือ ชื่ออาจารยผูสอนในรหัสชุดวิชาและหมูเรียนนั้นได ดังน้ัน แอททริบิวตชื่ออาจารยผูสอนจึงมีความสัมพันธระหวางแอททริบิวตแบบทั้งหมดกับแอททริบิวตรหัส ชุดวิชาและหมูเรียน

Page 8: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

")

2. ความสัมพันธระหวางแอททริบิวตแบบบางสวน ความสัมพันธระหวางแอททริบิวตแบบบางสวน จะเกิดข้ึนไดเม่ือรีเลชันหน่ึง ๆ มีคียหลัก

เปนคียผสม และแอททริบิวตบางสวนของคียหลักสามารถระบุคาของแอททริบิวตอื่น ๆ ในทูเพิลเดียวกันที่ไมใชคียหลัก (non-key attribute) ของรีเลชันได น่ันคือ หากทราบคาใดคาหนึ่งของบางแอททริบิวตที่เปน Determinant ก็จะทําใหทราบคาของแอททริบิวตอื่น ๆ ท่ีเปน Dependent ได

ตัวอยางเชน รีเลชันการลงทะเบียนประกอบดวย แอททริบิวตรหัสนักศึกษา รหัสชุดวิชา ชื่อชุดวิชา และหมูเรียน โดยมีแอททริบิวตรหัสนักศึกษาและรหัสชุดวิชาประกอบกันเปนคียหลัก

รหัสนักศึกษา รหัสชุดวิชา ช่ือชุดวิชา หมูเรียน 41010703 729101 เศรษฐศาสตรเบื้องตน 700 41010703 729111 คณิตศาสตรและสถิต ิ 711 41010703 999211 คอมพิวเตอรเบื้องตน 713 41010943 729111 คณิตศาสตรและสถิต ิ 712 41010943 999211 คอมพิวเตอรเบื้องตน 711 41010943 729104 การจัดการการเงิน 700

ภาพที่ 4.4 รีเลชันการลงทะเบียน รีเลชันการลงทะเบียนมีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้

รหัสนักศึกษา, รหัสชุดวิชา ชื่อชุดวิชา, หมูเรียน รหัสชุดวิชา ชื่อชุดวิชา

เขียน FD ไดอะแกรมไดดังน้ี

รหัสนักศึกษา รหัสชุดวิชา ช่ือชุดวิชา หมูเรียน

รหัสนักศึกษา รหัสชุดวิชา ช่ือชุดวิชา หมูเรียน

จากภาพ รีเลชันการลงทะเบียนมีแอททริบิวตรหัสนักศึกษาและรหัสชุดวิชาประกอบกันเปนคียหลักหรือ Determinant ที่สามารถระบุคาของ Dependent หรือแอททริบิวตอื่น ๆ ในทูเพิลเดียวกัน คือ ชื่อชุดวิชาและหมูเรียน ได ขณะเดียวกัน รีเลชันการลงทะเบียนมีความสัมพันธระหวางแอททริบิวตแบบบางสวนเกิดข้ึน เนื่องจากแอททริบิวตรหัสชุดวิชาซึ่งเปนสวนประกอบหนึ่งของคียหลักสามารถระบุคาของชื่อชุดวิชาซึ่งเปนแอททริบิวตที่ไมใชคียหลักของรีเลชันได ซึ่งความสัมพันธในลักษณะดังกลาวนี้อาจกอใหเกิดปญหาเร่ืองความซํ้าซอนในการปรับปรุงขอมูลได

3. ความสัมพันธระหวางแอททริบิวตแบบ Transitive แมวาแอททริบิวตที่มีคุณสมบัติเปนคียหลักจะสามารถระบุคาของแอททริบิวตอื่น ๆ ในทู

เพิลเดียวกันของรีเลชันได แตทวาในบางรีเลชันที่มีการออกแบบไมเหมาะสม อาจมีแอททริบิวตอื่นที่ไมใชคีย

Page 9: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

"*

หลักแตสามารถระบุคาของแอททริบิวตอื่น ๆ ในทูเพิลเดียวกันของรีเลชันไดเชนกัน ลักษณะของความสัมพันธดังกลาวน้ีเรียกวา ความสัมพันธระหวางแอททริบิวตแบบ Transitive

รหัสนักศึกษา ช่ือนักศึกษา รหัสอาจารย ช่ืออาจารยท่ีปรึกษา 41010703 สมชาย พลจันทร Q1059 สัมพันธ เย็นสําราญ 41010943 สุทิศา พินิจไพฑูรย Q1011 ศิริภัทรา เหมือนมาลัย 41012147 ณัฐพร ประคองเก็บ Q1061 เมธี ปยะคุณ 41012451 นพดล ทับทิมทอง Q1035 ศิริชัย ศรีพรหม 41013327 มัทนา พินิจไพฑูรย Q1059 สัมพันธ เย็นสําราญ 41013780 สมชาย พลจันทร Q1011 ศิริภัทรา เหมือนมาลัย

ภาพที่ 4.5 รีเลชันท่ีปรึกษา ตัวอยางเชน รีเลชันท่ีปรึกษาประกอบดวย แอททริบิวตรหัสนักศึกษา ชื่อนักศึกษา รหัส

อาจารย และชื่ออาจารยที่ปรึกษา โดยมีแอททริบิวตรหัสนักศึกษาเปนคียหลัก รีเลชันที่ปรึกษามีความสัมพันธระหวางแอททริบิวตแบบฟงกชัน ดังน้ี

รหัสนักศึกษา ชื่อนักศึกษา, รหัสอาจารย, ชื่ออาจารยที่ปรึกษา รหัสอาจารย ชื่ออาจารยที่ปรึกษา

เขียน FD ไดอะแกรมไดดังน้ี

รหัสนักศึกษา ช่ือนักศึกษา รหัสอาจารย ช่ืออาจารยท่ีปรึกษา

รหัสนักศึกษา ช่ือนักศึกษา รหัสอาจารย ช่ืออาจารยท่ีปรึกษา

จากภาพ รีเลชันที่ปรึกษามีแอททริบิวตรหัสนักศึกษาเปนคียหลักหรือ Determinant ที่สามารถระบุคาของ Dependent หรือแอททริบิวตอื่น ๆ ในทูเพิลเดียวกัน คือ ชื่อนักศึกษา รหัสอาจารย และชื่ออาจารยที่ปรึกษาได ในขณะเดียวกัน รีเลชันที่ปรึกษามีความสัมพันธระหวางแอททริบิวตแบบ Transitive เกิดข้ึน เนื่องจากรหัสอาจารยซึ่งเปนแอททริบิวตที่ไมใชคียหลักสามารถระบุคาของแอททริบิวตอื่นๆ ในทูเพิล เดียวกัน คือ ชื่ออาจารยที่ปรึกษา ได

2. ความสัมพันธระหวางแอททริบิวตแบบหลายคา

ความสัมพันธระหวางแอททริบิวตแบบหลายคา หรือ MVD จะเกิดข้ึนไดเม่ือรีเลชันหน่ึง ๆ ประกอบดวยสามแอททริบิวตขึ้นไป และแอททริบิวตที่เปน Determinant สามารถระบุคาของแอททริบิวตอื่นที่เปน Dependent ไดมากกวาหนึ่งคา หรือ ขอมูลของแอททริบิวตที่เปน Dependent จะเปนกลุมของขอมูล

ความสัมพันธระหวางแอททริบิวตแบบหลายคาสามารถใชสัญลักษณ ในการสื่อความหมาย ไดดังน้ี

Page 10: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

"!

A B A C

หมายความวา หากทราบคาของแอททริบิวต A หนึ่งคาจะสามารถทราบคาของแอททริบิวต B ไดหลายคา และเมื่อทราบคาของแอททริบิวต A หนึ่งคาจะสามารถทราบคาของแอททริบิวต C ไดหลายคา

เพื่อใหเขาใจความสัมพันธระหวางแอททริบิวตแบบหลายคาดียิ่งขึ้น ในที่นี้ขอนําตัวอยางมาประกอบดังน้ี

ตัวอยางเชน รีเลชันการสอน-การปรึกษาประกอบดวย แอททริบิวตรหัสอาจารย รหัสชุดวิชาที่สอน และรหัสนักศึกษาในการปรึกษา โดยมีแอททริบิวตรหัสอาจารย รหัสชุดวิชาที่สอน และรหัสนักศึกษาใน การปรึกษาประกอบกันเปนคียหลัก

รหัสอาจารย รหัสชุดวิชาท่ีสอน รหัสนักศึกษาในการปรึกษา Q1011 999211 41010943 Q1011 999211 41013780 Q1035 729101 41012451 Q1035 729104 41012451 Q1035 999211 41012451 Q1059 729111 41010703 Q1059 729111 41013327 Q1061 729103 41012147

ภาพที่ 4.6 รีเลชันการสอน-การปรึกษา จากภาพ รีเลชันการสอน-การปรึกษามีแอททริบิวตรหัสอาจารย รหัสชุดวิชาที่สอน และรหัส

นักศึกษาในการปรึกษาประกอบกันเปนคียหลัก โดยอาจารยแตละคนจะสอนอยางนอย 1 ชุดวิชา ซึ่งบางคนอาจสอนชุดวิชาเดียวกันก็ได ขณะเดียวกันอาจารยบางคนอาจมีนักศึกษาในการปรึกษาไดมากกวา 1 คน โดยรหัสนักศึกษาในการปรึกษากับรหัสชุดวิชาที่สอนไมมีความสัมพันธกันเลย รีเลชันการสอน-การปรึกษามีความสัมพันธระหวางแอททริบิวตแบบหลายคา ดังน้ี

รหัสอาจารย รหัสชุดวิชาที่สอน รหัสอาจารย รหัสนักศึกษาในการปรึกษา

จากรีเลชัน หมายความวา หากระบุคาของรหัสอาจารยหนึ่งคาก็จะสามารถทราบรหัสชุดวิชาที่สอนไดหลายคา เชน ถาระบุคาของรหัสอาจารย คือ Q1035 จะทําใหทราบคาของรหัสชุดวิชาที่สอน คือ 729101, 729104 และ 999211 และในขณะเดียวกัน หากระบุคาของรหัสอาจารยหนึ่งคาก็จะสามารถทราบรหัสนักศึกษาในการปรึกษาไดหลายคา เชน ถาระบุคาของรหัสอาจารย คือ Q1059 จะทําใหทราบคาของรหัสนักศึกษาในการปรึกษา คือ 41010703 และ 41013327

การท่ีรีเลชันเกิดความสัมพันธในลักษณะดังกลาวน้ีได เนื่องจากมีการนําแอททริบิวตสามแอททริบิวต คือ รหัสอาจารย รหัสชุดวิชาที่สอน และ รหัสนักศึกษาในการปรึกษา มาไวในรีเลชันเดียวกัน โดยแอททริบิวตรหัสอาจารยมีความสัมพันธกับแอททริบิวตรหัสชุดวิชาที่สอนและรหัสนักศึกษาในการปรึกษาเทานั้น

Page 11: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

""

หากทวาแอททริบิวตรหัสชุดวิชาที่สอนและรหัสนักศึกษาในการปรึกษาไมมีความสัมพันธตอกันเลย เมื่อทั้งสามแอททริบิวตมาปรากฏอยูในรีเลชันเดียวกัน จึงทําใหเกิดคาของขอมูลที่ซ้ําซอนกันเปนปญหาตอการปรับปรุง การเพ่ิม หรือการลบขอมูลได

3. ความสัมพันธระหวางแอททริบิวตแบบ Join

ความสัมพันธระหวางแอททริบิวตแบบ Join เปนกฎเกณฑท่ีสําคัญประการหน่ึงในการจําแนกรีเลชัน โดยรีเลชันใด ๆ จะมีความสัมพันธระหวางแอททริบิวตแบบ Join เกิดข้ึนไดก็ตอเม่ือ รีเลชันน้ัน ๆ สามารถจําแนกออกเปนรีเลชันยอยได และเม่ือนํารีเลชันยอยท่ีจําแนกออกมาเหลาน้ันมารวมกันจะตองไดรีเลชันกลับไปเหมือนเดิมเสมอ

ตัวอยางเชน รีเลชันท่ีปรึกษาประกอบดวย แอททริบิวตรหัสนักศึกษา ชื่อนักศึกษา รหัสอาจารย และชื่ออาจารยที่ปรึกษา โดยมีแอททริบิวตรหัสนักศึกษาเปนคียหลัก

Page 12: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$##

ภาพที่ 4.7 ความสัมพันธระหวางแอททริบิวตแบบ Join ของรีเลชันท่ีปรึกษา รีเลชันท่ีปรึกษาสามารถจําแนกเปนรีเลชันยอยได 3 รีเลชัน คือ รีเลชันนักศึกษา รีเลชันอาจารย

ที่ปรึกษา และรีเลชันนักศึกษา-อาจารย • รีเลชันนักศึกษาประกอบดวย แอททริบิวตรหัสนักศึกษา และชื่อนักศึกษา โดยมีแอททริบิวตรหัสนักศึกษาเปนคียหลัก

• รีเลชันอาจารยท่ีปรึกษาประกอบดวย แอททริบิวตรหัสอาจารย และชื่ออาจารยที่ปรึกษา โดยมีแอททริบิวตรหัสอาจารยเปนคียหลัก

Page 13: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$#$

• รีเลชันนักศึกษา-อาจารยประกอบดวย แอททริบิวตรหัสนักศึกษา และรหัสอาจารย โดยมี แอททริบิวตรหัสนักศึกษาเปนคียหลัก

เมื่อนํารีเลชันยอยทั้งสามมารวมกัน จะไดรีเลชันเหมือนรีเลชันท่ีปรึกษาเชนเดิม ดังน้ัน จึงกลาวไดวา รีเลชันที่ปรึกษามีความสัมพันธระหวางแอททริบิวตแบบ Join เน่ืองจาก รีเลชัน

ท่ีปรึกษาสามารถจําแนกออกเปนรีเลชันยอยได และเมื่อนํารีเลชันยอยที่จําแนกออกมาเหลานั้นมารวมกันก็จะไดรีเลชันท่ีปรึกษาเหมือนเดิม

เรื่องที่ 4.1.2 วัตถุประสงคในการทําใหเปนรูปแบบที่เปนบรรทัดฐาน

การทําใหเปนรูปแบบท่ีเปนบรรทัดฐาน (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 การจดัการทรัพยากรมนุษย จะไมสามารถเพิ่มเติมขอมูลเขามาในรีเลชันนี้ได เนื่องจากยังไมปรากฏขอมูลการลงทะเบียน

Page 14: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$#%

ของนักศึกษามากอน คาของรหัสนักศึกษาจึงเปนคาวาง ทําใหไมอาจเพิ่มเติมขอมูลลงในรีเลชันได เพราะ แอททริบิวตที่เปนสวนของคียหลักจะมีคาวางไมได

นอกจากน้ี การลบขอมูล (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 เสมอไป ทั้งนี้ ขึ้นอยูกับคุณสมบัติของรีเลชันวาอยูในรูปแบบที่เปนบรรทัดฐานข้ันใด ก็ใหเร่ิมดําเนินการทําใหเปนรูปแบบท่ีเปนบรรทัดฐานจากข้ันน้ันเปนตนไป โดยจะไป

Page 15: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$#&

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

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

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

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

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

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

Page 16: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$#'

ตอนท่ี 4.2 การทําใหเปนรูปแบบท่ีเปนบรรทัดฐาน

หัวเร่ือง เร่ืองท่ี 4.2.1 รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 1 เร่ืองท่ี 4.2.2 รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 2 เร่ืองท่ี 4.2.3 รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 3 เร่ืองท่ี 4.2.4 รูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดด เร่ืองท่ี 4.2.5 รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 4 เร่ืองท่ี 4.2.6 รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 5 เร่ืองท่ี 4.2.7 ขอควรคํานึงในการทําใหเปนรูปแบบที่เปนบรรทัดฐาน

แนวคิด 1. รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 1 คือ ทุกแอททริบิวตในแตละทูเพิลมีคาของขอมูลเพียงคาเดียว 2. รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 2 คือ รีเลชันน้ันตองมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐาน ขั้นที่ 1 แลว และทุกแอททริบิวตที่ไมใชคียหลักตองมีความสัมพันธระหวางแอททริบิวตแบบฟงกชันกับคียหลักหรือแอททริบิวตที่ประกอบกันเปนคียหลัก ซึ่งความสัมพันธดังกลาวเปนความสัมพันธระหวางแอททริบิวตแบบทั้งหมด หรืออีกนัยหน่ึง รีเลชันนั้นตองไมมีความสัมพันธระหวางแอททริบิวตแบบบางสวนเกิดขึ้น

3. รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 3 คือ รีเลชันน้ันตองมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานขั้นที่ 2 แลว และทุกแอททริบิวตที่ไมใชคียหลักไมมีคุณสมบัติในการกําหนดคาของแอททริบิวตอื่นที่ไมใชคียหลัก หรืออีกนัยหน่ึง รีเลชันนั้นตองไมมีความสัมพันธระหวางแอททริบิวตแบบ Transitive เกิดข้ึน

4. รูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดด คือ ทุกแอททริบิวตที่เปนตัวระบุคา หรือ Determinant ในรีเลชันนั้นตองเปนคียคูแขง และไมมีแอททริบิวตใดในรีเลชันที่สามารถระบุคาของแอททริบิวตที่เปนคียหลักหรือสวนใดสวนหนึ่งของแอททริบิวตที่ประกอบกันเปนคียหลักได

5. รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 4 คือ รีเลชันน้ันตองมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดดแลว และไมมีความสัมพันธระหวางแอททริบิวตแบบหลายคา

6. รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 5 คือ รีเลชันนั้นตองมีความสัมพันธระหวางแอททริบิวตแบบ Join โดยรีเลชันยอย ๆ ที่จําแนกออกมาตองมีคียคูแขงของรีเลชันเดิมอยูดวยเสมอ

7. ขอควรคํานึงในการทําใหเปนรูปแบบที่เปนบรรทัดฐาน คือ การแตกรีเลชันมากเกินไปทําใหมีผลกระทบตอประสิทธิภาพในการทํางานของฐานขอมูล และการ Denormalization อาจทําใหเกิดปญหาความซ้ําซอนของขอมูล

Page 17: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$#(

วัตถุประสงค หลังจากศึกษาตอนที่ 4.2 แลว นักศึกษาสามารถ 1. บอกรูปแบบท่ีเปนบรรทัดฐานในแตละข้ันได 2. บอกขอควรคํานึงในการทําใหเปนรูปแบบท่ีเปนบรรทัดฐานได

เรื่องที่ 4.2.1 รูปแบบที่เปนบรรทัดฐานขั้นที่ 1

รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 1 (First Normal Form : 1NF) เปนข้ันตอนแรกสุดในการจัดทํา รีเลชันใหเปนรูปแบบท่ีเปนบรรทัดฐาน

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

ทูเพิลมีคาของขอมูลเพียงคาเดียว 2. ข้ันตอนการจัดทํารีเลชันใหเปนรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 1 เพื่อแสดงใหเห็นถึงการจัดทํารีเลชันใหเปนรูปแบบที่เปนบรรทัดฐานขั้นที่ 1 ในที่นี้ขอนําตัวอยาง

รีเลชันซ่ึงไมอยูในรูปแบบท่ีเปนบรรทัดฐานมาประกอบดังน้ี รีเลชันการลงทะเบียนประกอบดวย แอททริบิวตรหัสนักศึกษา ชื่อนักศึกษา รหัสอาจารย ชือ่อาจารย

ที่ปรึกษา รหัสชุดวิชา ชื่อชุดวิชาที่ลงทะเบียน หมูเรียน และหนวยกิต

รหัสนักศึกษา ช่ือนักศึกษา รหัสอาจารย ช่ืออาจารยท่ีปรึกษา รหัสชุดวิชา ช่ือชุดวิชาท่ีลงทะเบียน หมูเรียน หนวยกิต 41010703 สมชาย พลจันทร Q1059 สัมพันธ เย็นสําราญ 729101 เศรษฐศาสตรเบื้องตน 700 2 729111 คณิตศาสตรและสถิต ิ 711 3 999211 คอมพิวเตอรเบื้องตน 713 3 41010943 สุทิศา พินิจไพฑูรย Q1011 ศิริภัทรา เหมือนมาลัย 729111 คณิตศาสตรและสถิต ิ 712 3 999211 คอมพิวเตอรเบื้องตน 711 3 729104 การจัดการการเงิน 700 2 41012147 ณัฐพร ประคองเก็บ Q1061 เมธี ปยะคุณ 729111 คณิตศาสตรและสถิต ิ 711 3 999211 คอมพิวเตอรเบื้องตน 713 3 41012451 นพดล ทับทิมทอง Q1035 ศิริชัย ศรีพรหม 729111 คณิตศาสตรและสถิต ิ 712 3 999211 คอมพิวเตอรเบื้องตน 711 3 41013327 มัทนา พินิจไพฑูรย Q1059 สัมพันธ เย็นสําราญ 729103 การจัดการการตลาด 700 2 41013780 สมชาย พลจันทร Q1011 ศิริภัทรา เหมือนมาลัย 999211 คอมพิวเตอรเบื้องตน 712 3

ภาพที่ 4.9 รีเลชันการลงทะเบียน จากรีเลชันขางตนจะพบวา นักศึกษาบางคนอาจมีชื่อ-สกุลเหมือนกัน หรือมีอาจารยที่ปรึกษาคน

เดียวกัน หรือลงทะเบียนเรียนชุดวิชาเดียวกันและหมูเรียนเดียวกันก็ได ซ่ึงนักศึกษาแตละคนสามารถลงทะเบียนเรียนไดมากกวาหนึ่งชุดวิชา โดยบางชุดวิชาอาจเปดสอนมากกวาหนึ่งหมูเรียนก็ได

Page 18: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$#)

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

รหัสนักศึกษา ช่ือนักศึกษา รหัสอาจารย ช่ืออาจารยท่ีปรึกษา รหัสชุดวิชา ช่ือชุดวิชาท่ีลงทะเบียน หมูเรียน หนวยกิต 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.10 รีเลชันการลงทะเบียนเม่ือมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 1 ผลจากการใสรหัสนักศึกษาและช่ือนักศึกษาลงไปในทุกรหัสชุดวิชาท่ีนักศึกษาลงทะเบียนเรียน

ขางตน ทําใหคียหลักของรีเลชันการลงทะเบียนประกอบดวย แอททริบิวตรหัสนักศึกษาและรหัสชุดวิชา หากทวาแมจะกําหนดใหแอททริบิวตรหัสนักศึกษาและรหัสชุดวิชาเปนคียหลักของรีเลชันนี้แลว แต

ปญหาความซ้ําซอนของขอมูลในรีเลชันก็ยังปรากฏอยูดังนี้คือ 1. การปรับปรุงขอมูล (update anomaly) ใด ๆ จะตองทําซ้ําหลายแหง ทําใหส้ินเปลืองเวลา รวม

ทั้งอาจทําการแกไขขอมูลไดไมครบถวนและถูกตองทุกรายการก็ได ตัวอยางเชน การแกไขชื่อนักศึกษาจาก สมชาย พลจันทร เปน ศุภลักษณ พลจันทร

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

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

Page 19: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$#*

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

เรื่องที่ 4.2.2 รูปแบบที่เปนบรรทัดฐานขั้นที่ 2

รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 2 (Second Normal Form : 2NF) เปนขั้นตอนถัดมาจากการจัดทํา รีเลชันใหอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 1 ซึ่งเปนขั้นตอนที่ยังไมมีการวิเคราะหความสัมพันธระหวาง แอททริบิวต

การจัดทํารีเลชันใหมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 2 จะเปนการตรวจสอบเพ่ือแกไขปญหาความซ้ําซอนของขอมูลที่ปรากฏในรีเลชันที่มีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 1 โดยใหความสําคัญในเรื่องของคียหลักและความสัมพันธระหวางแอททริบิวตแบบฟงกชัน โดยเฉพาะอยางยิ่ง ความสัมพันธระหวางแอททริบิวตแบบทั้งหมด

1. คุณสมบัติของรูปแบบที่เปนบรรทัดฐานขั้นที่ 2 รีเลชันใด ๆ จะมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 2 ก็ตอเมือ่ 1. รีเลชันน้ันมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 1 แลว 2.ทุกแอททริบิวตที่ไมใชคียหลักตองมีความสัมพันธระหวางแอททริบิวตแบบฟงกชันกับคียหลักหรือ

แอททริบิวตที่ประกอบกันเปนคียหลัก ซึ่งความสัมพันธดังกลาวเปนความสัมพันธระหวางแอททริบิวตแบบทั้งหมด (FULLY FUNCTIONAL DEPENDENCY) หรืออีกนัยหนึ่งรีเลชันนั้นตองไมมีความสัมพันธระหวาง แอททริบิวตแบบบางสวนเกิดขึ้น

2. ข้ันตอนการจัดทํารีเลชันใหเปนรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 2 เพื่อแสดงใหเห็นถึงการจัดทํารีเลชันใหเปนรูปแบบที่เปนบรรทัดฐานขั้นที่ 2 ในที่นี้ขอนําตัวอยาง

รีเลชันจากเร่ืองท่ี 4.2.1 มาประกอบดังน้ี

รหัสนักศึกษา ช่ือนักศึกษา รหัสอาจารย ช่ืออาจารยท่ีปรึกษา รหัสชุดวิชา ช่ือชุดวิชาท่ีลงทะเบียน หมูเรียน หนวยกิต 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

Page 20: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$#!

ภาพที่ 4.11 รีเลชันการลงทะเบียน รีเลชันการลงทะเบียนประกอบดวย แอททริบิวตรหัสนักศึกษา ชื่อนักศึกษา รหัสอาจารย ชือ่อาจารย

ที่ปรึกษา รหัสชุดวิชา ชื่อชุดวิชาที่ลงทะเบียน หมูเรียน และหนวยกิต โดยมีแอททริบิวตรหัสนักศึกษาและรหัสชุดวิชาประกอบกันเปนคียหลัก

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

สวนการตรวจสอบรีเลชันการลงทะเบียนวา ทุกแอททริบิวตที่ไมไดเปนคียหลักมีความสัมพันธระหวางแอททริบิวตแบบฟงกชันกับคียหลักหรือแอททริบิวตที่ประกอบกันเปนคียหลัก โดยความสัมพันธ ดังกลาวเปนความสัมพันธระหวางแอททริบิวตแบบทั้งหมดหรือไม

จากการตรวจสอบพบวา คียหลักหรือ Determinant ของรีเลชันการลงทะเบียนประกอบดวย แอททริบิวตรหัสนักศึกษาและรหัสชุดวิชา สวนแอททริบิวตอ่ืนในรีเลชันการลงทะเบียนท่ีไมไดเปนคียหลัก คือ ชื่อนักศึกษา รหัสอาจารย ชื่ออาจารยที่ปรึกษา ชื่อชุดวิชาที่ลงทะเบียน หมูเรียน และหนวยกิต

รีเลชันการลงทะเบียนมีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสนักศึกษา, รหัสชุดวิชา → ชื่อนักศึกษา, รหัสอาจารย, ชื่ออาจารยที่ปรึกษา,ชื่อ

ชุดวิชาที่ลงทะเบียน, หมูเรียน, หนวยกิต รหัสนักศึกษา → ชื่อนักศึกษา, รหัสอาจารย, ชื่ออาจารยที่ปรึกษา รหัสชุดวิชา → ชื่อชุดวิชาที่ลงทะเบียน, หนวยกิต

เขียน FD ไดอะแกรมไดดังน้ี รหัสนักศึกษา ช่ือนักศึกษา รหัสอาจารย ช่ืออาจารยท่ีปรึกษา รหัสชุดวิชา ช่ือชุดวิชาท่ีลงทะเบียน หมูเรียน หนวยกิต

รหัสนักศึกษา ช่ือนักศึกษา รหัสอาจารย ช่ืออาจารยท่ีปรึกษา รหัสชุดวิชา ช่ือชุดวิชาท่ีลงทะเบียน หมูเรียน หนวยกิต

รหัสนักศึกษา ช่ือนักศึกษา รหัสอาจารย ช่ืออาจารยท่ีปรึกษา รหัสชุดวิชา ช่ือชุดวิชาท่ีลงทะเบียน หมูเรียน หนวยกิต

จากภาพ รีเลชันการลงทะเบียนมีแอททริบิวตรหัสนักศึกษาและรหัสชุดวิชาประกอบกันเปนคียหลัก

หรือ Determinant ที่สามารถระบุคาของ Dependent หรือแอททริบิวตอื่น ๆ ในทูเพิลเดียวกัน คือ ชื่อ นักศึกษา รหัสอาจารย ชื่ออาจารยที่ปรึกษา ชื่อชุดวิชาที่ลงทะเบียน หมูเรียน และหนวยกิตได

ขณะเดียวกัน รีเลชันการลงทะเบียนมีความสัมพันธระหวางแอททริบิวตแบบบางสวนเกิดขึ้น เน่ืองจากแอททริบิวตรหัสนักศึกษาซ่ึงเปนสวนประกอบหน่ึงของคียหลักสามารถระบุคาของ DEPENDENT หรือแอททริบิวตอื่นที่ไมไดเปนคียหลัก คือ ชื่อนักศึกษา รหัสอาจารย และชื่ออาจารยที่ปรึกษาได นอกจากน้ี

Page 21: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$#"

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

ภาพที่ 4.12 การจําแนกรีเลชันการลงทะเบียน เพื่อขจัดปญหาความสัมพันธระหวางแอททริบิวตแบบบางสวนที่เกิดขึ้น จึงตองทําการจําแนกรีเลชัน

การลงทะเบียนออกเปน 3 รีเลชันยอย ดวยการนําแอททริบิวตที่เปนตัวระบุคาของแอททริบิวตอื่น และ แอททริบิวตหรือกลุมของแอททริบิวตที่ถูกระบุคาแยกออกเปนรีเลชันใหม โดยคํานึงถึงหลักการของ

Page 22: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$$#

ความสัมพันธระหวางแอททริบิวตแบบ JOIN น่ันคือ รีเลชันใด ๆ สามารถจําแนกออกเปนรีเลชันยอยได และเม่ือนํารีเลชันยอยท่ีจําแนกออกมาเหลาน้ันมารวมกันจะตองไดรีเลชันกลับไปเหมือนเดิมเสมอ

ดังน้ัน รีเลชันการลงทะเบียนจงึจําแนกเปน 3 รีเลชันยอย คือ รีเลชันขอมูลนักศึกษา รีเลชันชุดวิชา และรีเลชันขอมูลลงทะเบียน

- รีเลชันขอมูลนักศึกษาประกอบดวย แอททริบิวตรหัสนักศึกษา ชื่อนักศึกษา รหัสอาจารย และชื่ออาจารยที่ปรึกษา โดยมีแอททริบิวตรหัสนักศึกษาเปนคียหลัก

- รีเลชันชุดวิชาประกอบดวย แอททริบิวตรหัสชุดวิชา ชื่อชุดวิชาที่ลงทะเบียน และหนวยกิตโดยมีแอททริบิวตรหัสชุดวิชาเปนคียหลัก

- รีเลชันขอมูลลงทะเบียนประกอบดวย แอททริบิวตรหัสนักศึกษา รหัสชุดวิชา และหมูเรียน โดยมีแอททริบิวตรหัสนักศึกษาและรหัสชุดวิชาประกอบกันเปนคียหลัก

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

1. การปรับปรุงขอมูลใด ๆ จะตองทําซ้ําหลายแหง ทําใหส้ินเปลืองเวลา รวมทั้งอาจทําการแกไขขอมูลไดไมครบถวนและถูกตองทุกรายการ ตัวอยางเชน การแกไขชื่ออาจารยที่ปรึกษาในรีเลชันขอมูล นักศึกษาจาก ศิริภัทรา เหมือนมาลัย เปน สุรพล ประดิษฐทัศนีย

2. การเพิ่มเติมขอมูลอาจไมสามารถทําได ตัวอยางเชน ในรีเลชันขอมูลนักศึกษา หากตองการเพ่ิมขอมูลอาจารยที่ปรึกษาใหม Q1073 ณัชชา มาลัย จะไมสามารถเพิ่มเติมขอมูลได เนื่องจากยังไมปรากฏ ขอมูลของนักศึกษาในการปรึกษามากอน คาของรหัสนักศึกษาจึงเปนคาวาง ทําใหไมอาจเพิ่มเติมขอมูลลงในรีเลชันได เพราะแอททริบิวตที่เปนสวนของคียหลักจะมีคาวางไมได

3. การลบขอมูลออกจากรีเลชันอาจทําใหขอมูลบางสวนสูญหายไปจากฐานขอมูล ตัวอยางเชน หากผูที่มีรหัสนักศึกษา 41012451 นพดล ทับทิมทอง ลาออก ขอมูลที่เกี่ยวของกับนักศึกษาจะถูกลบไปทั้ง ทูเพิล ดังน้ัน ขอมูลเกี่ยวกับอาจารยที่ปรึกษา Q1035 ศิริชัย ศรีพรหม ซึ่งมีเพียงแหงเดียวในฐานขอมูลก็จะสูญหายไปดวย ซึ่งปญหาลักษณะนี้ของรีเลชันเนื่องจากการมีแอททริบิวตจํานวนมากเกินไป และแอททริบิวตที่ยังไมจําเปนตองใชงานมาผูกติดอยูกับแอททริบิวตที่ตองการใชงาน

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

เรื่องที่ 4.2.3 รูปแบบที่เปนบรรทัดฐานขั้นที่ 3

แมวารีเลชันใด ๆ จะมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 2 แลว ก็อาจก็ยังมีปญหาที่เกิดจากความซ้ําซอนของขอมูลในรีเลชันอยูอีก ดังน้ัน รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 3 (Third Normal Form : 3NF) จึงเปนขั้นตอนถัดมาในการแกไขปญหาความซ้ําซอนของขอมูลที่พบในรีเลชันที่มีคุณสมบัติอยูใน

Page 23: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$$$

รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 2 ซึ่งในขั้นตอนนี้จะใหความสําคัญกับความสัมพันธระหวางแอททริบิวตแบบ Transitive

1. คุณสมบัติของรูปแบบที่เปนบรรทัดฐานขั้นที่ 3

รีเลชันใด ๆ จะมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 3 ก็ตอเมือ่ 1. รีเลชันน้ันมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 2 แลว 2.ทุกแอททริบิวตที่ไมใชคียหลักไมมีคุณสมบัติในการกําหนดคาของแอททริบิวตอื่นที่ไมใช

คียหลัก หรืออีกนัยหนึ่งรีเลชันนั้นตองไมมีความสัมพันธระหวางแอททริบิวตแบบ TRANSITIVE เกิดข้ึน

2. ขั้นตอนการจัดทํารีเลชันใหเปนรูปแบบที่เปนบรรทัดฐานขั้นที่ 3

เพื่อแสดงใหเห็นถึงการจัดทํารีเลชันใหเปนรูปแบบที่เปนบรรทัดฐานขั้นที่ 3 ในที่นี้ขอนําตัวอยาง รีเลชันจากเร่ืองท่ี 4.2.2 มาประกอบดังน้ี

ภาพที่ 4.13 รีเลชันขอมูลนักศึกษา รีเลชันขอมูลลงทะเบียน และรีเลชันชุดวิชา - รีเลชันขอมูลนักศึกษาประกอบดวย แอททริบิวตรหัสนักศึกษา ชื่อนักศึกษา รหัสอาจารย และชื่อ

อาจารยที่ปรึกษา โดยมีแอททริบิวตรหัสนักศึกษาเปนคียหลัก - รีเลชันขอมูลลงทะเบียนประกอบดวย แอททริบิวตรหัสนักศึกษา รหัสชุดวิชา และหมูเรียน โดยมี

แอททริบิวตรหัสนักศึกษาและรหัสชุดวิชาประกอบกันเปนคียหลัก - รีเลชันชุดวิชาประกอบดวย แอททริบิวตรหัสชุดวิชา ชื่อชุดวิชาที่ลงทะเบียน และหนวยกิตโดยมีแอ

ททริบิวตรหัสชุดวิชาเปนคียหลัก

Page 24: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$$%

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

รีเลชันขอมูลนักศึกษามีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสนักศึกษา → ชื่อนักศึกษา, รหัสอาจารย, ชื่ออาจารยที่ปรึกษา

รีเลชันขอมูลลงทะเบียนมีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสนักศึกษา, รหัสชุดวิชา → หมูเรียน

รีเลชันชุดวิชามีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสชุดวิชา → ชื่อชุดวิชาที่ลงทะเบียน, หนวยกิต

สวนการตรวจสอบท้ัง 3 รีเลชันวา ทุกแอททริบิวตที่ไมใชคียหลักมีคุณสมบัติในการกําหนดคาของแอททริบิวตอื่นที่ไมใชคียหลัก หรืออีกนัยหนึ่งทั้ง 3 รีเลชันมีความสัมพันธระหวางแอททริบิวตแบบ Transitive เกิดขึ้นหรือไม

จากการตรวจสอบรีเลชันขอมูลนักศึกษาพบวา คียหลักหรือ Determinant ของรีเลชันขอมูล นักศึกษามีเพียงหนึ่งแอททริบิวต คือ รหัสนักศึกษา และแอททริบิวตอื่นในรีเลชันขอมูลนักศึกษาที่ไมไดเปนคียหลัก คือ ชื่อนักศึกษา รหัสอาจารย และชื่ออาจารยที่ปรึกษา

รีเลชันขอมูลนักศึกษามีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสนักศึกษา → ชื่อนักศึกษา, รหัสอาจารย, ชื่ออาจารยที่ปรึกษา รหัสอาจารย → ชื่ออาจารยที่ปรึกษา

เขียน FD ไดอะแกรมไดดังน้ี

รหัสนักศึกษา ช่ือนักศึกษา รหัสอาจารย ช่ืออาจารยท่ีปรึกษา

รหัสนักศึกษา ช่ือนักศึกษา รหัสอาจารย ช่ืออาจารยท่ีปรึกษา

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

Page 25: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$$&

เพื่อขจัดปญหาความสัมพันธระหวางแอททริบิวตแบบ TRANSITIVE ที่เกิดขึ้น จึงตองทําการจําแนก ขอมลูนักศึกษาออกเปน 2 รีเลชันยอย ดวยการนําแอททริบิวตที่เปนตัวระบุคาของแอททริบิวตอื่นและ แอททริบิวตหรือกลุมของแอททริบิวตที่ถูกระบุคาแยกออกเปนรีเลชันใหม โดยคํานึงถึงหลักการของ ความสัมพันธระหวางแอททริบิวตแบบ JOIN

ดังน้ัน รีเลชันขอมูลนักศึกษาจึงจําแนกไดเปน 2 รีเลชันยอย คือ รีเลชันอาจารยท่ีปรึกษา และ รีเลชันนักศึกษา

- รีเลชันอาจารยท่ีปรึกษาประกอบดวย แอททริบิวตรหัสอาจารย และชื่ออาจารยที่ปรึกษา โดยมีแอททริบิวตรหัสอาจารยเปนคียหลัก

- รีเลชันนักศึกษาประกอบดวย แอททริบิวตรหัสนักศึกษา ชื่อนักศึกษา และรหัสอาจารย โดยมีแอททริบิวตรหัสนักศึกษาเปนคียหลัก

ภาพที่ 4.14 การจําแนกรีเลชันขอมูลนักศึกษา สวนการตรวจสอบรีเลชันขอมูลลงทะเบียนวา ทุกแอททริบิวตที่ไมใชคียหลักมีคุณสมบัติในการ

กําหนดคาของแอททริบิวตอื่นที่ไมใชคียหลัก หรืออีกนัยหนึ่งรีเลชันขอมูลลงทะเบียนมีความสัมพันธระหวางแอททริบิวตแบบ Transitive เกิดข้ึน หรือไม

จากการตรวจสอบพบวา คียหลักหรือ Determinant ของรีเลชันขอมูลลงทะเบียนประกอบดวย แอททริบิวตรหัสนักศึกษาและรหัสชุดวิชา สวนแอททริบิวตอื่นในรีเลชันขอมูลลงทะเบียนที่ไมไดเปนคียหลัก คือ หมูเรียน

Page 26: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$$'

รีเลชันขอมูลลงทะเบียนมีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสนักศึกษา, รหัสชุดวิชา → หมูเรียน

เขียน FD ไดอะแกรมไดดังน้ี

รหัสนักศึกษา รหัสชุดวิชา หมูเรียน

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

สวนการตรวจสอบรีเลชันชดุวิชาวา ทุกแอททริบิวตที่ไมใชคียหลักมีคุณสมบัติในการกําหนดคาของแอททริบิวตอื่นที่ไมใชคียหลัก หรืออีกนัยหนึ่งรีเลชันชุดวิชามีความสัมพันธระหวางแอททริบิวตแบบ Transitive เกิดข้ึน หรือไม

จากการตรวจสอบพบวา คียหลักหรือ Determinant ของรีเลชันชุดวิชามีเพียงหนึ่งแอททริบิวต คือ รหัสชุดวิชา และแอททริบิวตอื่นในรีเลชันชุดวิชาที่ไมไดเปนคียหลัก คือ ชื่อชุดวิชาที่ลงทะเบียน และหนวยกิต

รีเลชันชุดวิชามีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสชุดวิชา → ชื่อชุดวิชาที่ลงทะเบียน, หนวยกิต ชื่อชุดวิชาที่ลงทะเบียน → หนวยกิต

เขียน FD ไดอะแกรมไดดังน้ี

รหัสชุดวิชา ช่ือชุดวิชาท่ีลงทะเบียน หนวยกิต

รหัสชุดวิชา ช่ือชุดวิชาท่ีลงทะเบียน หนวยกิต

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

เพื่อขจัดปญหาความสัมพันธระหวางแอททริบิวตแบบ TRANSITIVE ที่เกิดขึ้น จึงตองทําการจําแนกรีเลชันชดุวิชาออกเปน 2 รีเลชันยอย ดวยการนําแอททริบิวตที่เปนตัวระบุคาของแอททริบิวตอื่น และแอททริบิวตหรือกลุมของแอททริบิวตที่ถูกระบุคาแยกออกเปนรีเลชันใหม โดยคํานึงถึงหลักการของความสัมพันธระหวางแอททริบิวตแบบ JOIN

Page 27: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$$(

ดังน้ัน รีเลชันชุดวิชาจึงจําแนกไดเปน 2 รีเลชันยอย คือ รีเลชันรหัส-ชื่อชุดวิชา และ รีเลชันชุดวิชา-หนวยกิต

- รีเลชันรหัส-ชื่อชุดวิชา ประกอบดวย แอททริบิวตรหัสชุดวิชา และชื่อชุดวิชาที่ลงทะเบียนโดยมีแอททริบิวตรหัสชุดวิชา เปนคียหลัก

- รีเลชันชื่อชุดวิชา-หนวยกิต ประกอบดวย แอททริบิวตชื่อชุดวิชาที่ลงทะเบียน และหนวยกิต โดยมีแอททริบิวตชื่อชุดวิชาที่ลงทะเบียนเปนคียหลัก

ภาพที่ 4.15 การจําแนกรีเลชันชุดวิชา แมวาจะจัดทํารีเลชันชุดวิชาใหอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 3 ซึ่งเปนรูปแบบที่ขจัดความซ้ํา

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

จากกรณีขางตนจะเห็นวา การเพิ่มชื่อชุดวิชาฯ ใหมและหนวยกิตจะทําไมได หากไมมีการระบุรหัสชุดวิชา ทั้งนี้ เน่ืองจากรีเลชันรหัส-ชื่อชุดวิชาและรีเลชันชื่อชุดวิชา-หนวยกิตเปนรีเลชันที่ไมมีความเปนอิสระตอกัน เนื่องจากแอททริบิวตรหัสชุดวิชาและชื่อชุดวิชาฯ ตางก็สามารถกําหนดคาของหนวยกิตไดเชนกัน ปญหาดังกลาวนี้จึงเปนปญหาที่เกิดจากการแตกรีเลชันมากเกินความจําเปน

ดังน้ัน จากกรณีดังกลาวขางตน ผูออกแบบฐานขอมูลจึงไมจําเปนตองทําการจําแนกรีเลชันชุดวิชาออกเปนรีเลชันรหัส-ชื่อชุดวิชา และ รีเลชันชุดวิชา-หนวยกิต รวมทั้งอาจกลาวไดวา รีเลชันชุดวิชามีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 3 แลว

Page 28: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$$)

เรื่องที่ 4.2.4 รูปแบบที่เปนบรรทัดฐานของบอยสและคอดด

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

ดังน้ัน รูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดด (Boyce/Codd Normal Form : BCNF) เปน รูปแบบที่ขยายขอบเขตมาจากรูปแบบที่เปนบรรทัดฐานขั้นที่ 3 เพื่อใหการแกไขปญหาความซ้ําซอนของ ขอมูลที่พบในรีเลชันมีความชัดเจนและรัดกุมยิ่งขึ้น

1. คุณสมบัติของรูปแบบที่เปนบรรทัดฐานของบอยสและคอดด

รีเลชันใด ๆ ท่ีไมมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดด คือ 1. รีเลชันใด ๆ ที่มีคียคูแขง (CANDIDATE KEY) ตั้งแต 2 ตัวขึ้นไป 2. คียคูแขงนั้นเปนคียผสม ซึ่งมีแอททริบิวตบางสวนรวมกัน หรือกลาวอีกนัยหน่ึง รีเลชันใด ๆ จะมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดด

ก็ตอเมือ่ 1. ทุกแอททริบิวตที่เปนตัวระบุคา หรือ DETERMINANT ในรีเลชันนั้นตองเปนคียคูแขง 2. ไมมีแอททริบิวตใดในรีเลชันที่สามารถระบุคาของแอททริบิวตที่เปนคียหลัก หรือสวนใดสวนหน่ึง

ของแอททริบิวตที่ประกอบกันเปนคียหลักได หมายเหตุ 1. นิยามคุณสมบัติของรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดดไมระบุวา รีเลชันน้ันจะตองมี

คุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 3 ดวย 2. โดยทั่วไปมักพบวา รีเลชันที่มีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานของบอยสและคอดดจะมี

คุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 3 ดวย และสําหรับรีเลชันที่มีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานข้ันท่ี 3 มักมีนอยมากที่ไมมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานของบอยสและคอดด

2. ขั้นตอนการจัดทํารีเลชันใหเปนรูปแบบที่เปนบรรทัดฐานของบอยสและคอดด

เพ่ือแสดงใหเห็นถึงการจัดทํารีเลชันใหเปนรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดด ในที่นี้ขอนําตัวอยางรีเลชันมาประกอบดังน้ี

1. รีเลชันที่ไมมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานของบอยสและคอดด รหัสนักศึกษา เลขทีใ่บลงทะเบียน รหัสชุดวิชา หมูเรียน

41010703 205 729101 700 41010703 205 729111 711

Page 29: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$$*

41010703 205 999211 713 41010943 1368 729111 712 41010943 1368 999211 711 41010943 1368 729104 700 41012147 1684 729111 711 41012147 1684 999211 713 41012451 236 729111 712 41012451 236 999211 711 41013327 186 729103 700 41013780 123 999211 712

ภาพที่ 4.16 รีเลชันท่ีไมมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดด จากรีเลชันขางตน นักศึกษาแตละคนจะมีใบลงทะเบียนเพียงหนึ่งใบ ดังน้ัน เลขที่ใบลงทะเบียนของ

นักศึกษาแตละคนจึงไมซ้ํากัน และแตละใบลงทะเบียนของนักศึกษาสามารถลงทะเบียนเรียนไดมากกวาหนึ่งชุดวิชา

รีเลชันขางตนจึงมีความสัมพันธระหวางแอททริบิวตแบบฟงกชันดังนี้ รหัสนักศึกษา, รหัสชุดวิชา → เลขที่ใบลงทะเบียน, หมูเรียน เลขที่ใบลงทะเบียน, รหัสชุดวิชา → รหัสนักศึกษา, หมูเรียน รหัสนักศึกษา ↔ เลขที่ใบลงทะเบียน

เขียน FD ไดอะแกรมไดดังน้ี

รหัสนักศึกษา เลขทีใ่บลงทะเบียน รหัสชุดวิชา หมูเรียน

ใบลและคือ

รหัส

1

ภาพที่

รหัสนักศึกษา เลขทีใ่บลงทะเบียน รหัสชุดวิชา หมูเรียน 2

ภาพที่

รหัสนักศึกษา เลขทีใ่บลงทะเบียน รหัสชุดวิชา หมูเรียน 3

ภาพที่ จากภาพที่ 1 หมายความวา หากระบุคาของรหัสนักศึกษาและรหัสชุดวิชาจะสามารถทราบเลขที่

งทะเบียนและหมูเรียนได ตัวอยางเชน ถาระบุคาของ Determinant หรือ รหัสนักศึกษา คือ 41010703 รหัสชุดวิชา คือ 999211 จะทําใหทราบคาของ Dependent หรือ เลขที่ใบลงทะเบียนคือ 205 และหมูเรียน 713

จากภาพที่ 2 หมายความวา หากระบุคาของเลขที่ใบลงทะเบียนและรหัสชุดวิชาจะสามารถทราบนักศึกษาและหมูเรียนได ตัวอยางเชน ถาระบุคาของ Determinant หรือ เลขที่ใบลงทะเบียน คือ 236 และ

Page 30: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$$!

รหัสชุดวิชา คือ 729111 จะทําใหทราบคาของ Dependent หรือ รหัสนักศึกษา คือ 41012451 และหมูเรียน คือ 712

จากภาพที่ 3 หมายความวา หากระบุคาของรหัสนักศึกษาคนใดจะสามารถทราบเลขที่ใบลงทะเบียนของนักศึกษาคนน้ันได เชน ถาระบุคาของรหัสนักศึกษา คือ 41010703 จะทําใหทราบเลขที่ใบลงทะเบียนของนักศึกษา คือ 205 และในทางตรงกันขาม หากระบุคาของเลขที่ใบลงทะเบียนใดจะสามารถทราบรหัสของ นักศึกษาคนน้ันได เชน ถาเลขที่ใบลงทะเบียน คือ 236 จะ ทําใหทราบคารหัสนักศึกษา คือ 41012451

รีเลชันขางตนน้ีเปนรีเลชันท่ีไมมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดด เน่ืองจากมีคุณสมบัติดังนี้คือ

1. รีเลชันขางตนเปนรีเลชันที่มีคียคูแขงมากกวา 2 ตัวขึ้นไป คือ - คียคูแขงตัวที่ 1 ประกอบดวยแอททริบิวตรหัสนักศึกษา และรหัสชุดวิชา - คียคูแขงตัวที่ 2 ประกอบดวยแอททริบิวตเลขที่ใบลงทะเบียนและรหัสชุดวิชา - คียคูแขงตัวที่ 3 คือ แอททริบิวตรหัสนักศึกษา - คียคูแขงตัวที่ 4 คือ แอททริบิวตเลขที่ใบลงทะเบียน

2.รีเลชันขางตนเปนรีเลชันท่ีมีคียคูแขงเปนคียผสม ซึ่งมีแอททริบิวตบางสวนรวมกัน หากพิจารณาจากขอ 1 จะพบวา ในรีเลชันขางตน คียคูแขงที่เปนคียผสม คือ คียคูแขงตัวที่ 1 และ

คียคูแขงตัวที่ 2 ซึ่งคียคูแขงทั้ง 2 ตัว มีแอททริบิวตรวมกัน 1 แอททริบิวต คือ แอททริบิวตรหัสชุดวิชา

2. การทําใหรีเลชันมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานของบอยสและคอดด

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

นอกจากน้ี รีเลชันขางตนยังประกอบดวยขอมูลท่ีซํ้าซอนกัน ซ่ึงจะทําใหเกิดความผิดพลาดไดงายเม่ือทําการเพ่ิม ลบ หรือปรับปรุงขอมูลอีกดวย ตัวอยางเชน การแกไขเลขที่ใบลงทะเบียนจาก 205 เปน 520 หรือการแกไขรหัสนักศึกษาจาก 41010703 เปน 41014077 จะตองทําซ้ําหลายแหง ทําใหส้ินเปลืองเวลา รวมทั้งอาจทําการแกไขขอมูลไดไมครบถวนและถูกตองทุกรายการก็ได

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

Page 31: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$$"

ดังน้ัน รีเลชันขางตนจึงสามารถจําแนกเปนรีเลชันยอยได 2 แบบ คือ

แบบที่หนึ่ง

- รีเลชันรหัสนักศึกษา-รหัสชุดวิชา ประกอบดวย แอททริบิวตรหัสนักศึกษา รหัสชุดวิชา และ หมูเรียน โดยมีแอททริบิวตรหัสนักศึกษาและรหัสชุดวิชา เปนคียหลัก

- รีเลชันรหัสนักศึกษา-เลขที่ใบลงทะเบียน ประกอบดวย แอททริบิวตรหัสนักศึกษา และเลขที ่ ใบลงทะเบียน โดยมีแอททริบิวตรหัสนักศึกษาเปนคียหลัก

Page 32: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$%#

ภาพที่ 4.17 การจําแนกรีเลชันฯ แบบที่ 1

แบบที่สอง

- รีเลชันเลขที่ใบลงทะเบียน-รหัสชุดวิชา ประกอบดวย แอททริบิวตเลขที่ใบลงทะเบียนรหัส ชุดวิชา และหมูเรียน โดยมีแอททริบิวตเลขที่ใบลงทะเบียนและรหัสชุดวิชา เปนคียหลัก

Page 33: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$%$

- รีเลชันรหัสนักศึกษา-เลขที่ใบลงทะเบียน ประกอบดวย แอททริบิวตรหัสนักศึกษา และเลขที ่ ใบลงทะเบียน โดยมีแอททริบิวตรหัสนักศึกษาเปนคียหลัก

ภาพที่ 4.18 การจําแนกรีเลชันฯ แบบที่ 2

Page 34: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$%%

เรื่องที่ 4.2.5 รูปแบบที่เปนบรรทัดฐานขั้นที่ 4

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

ดังน้ัน รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 4 (Fourth Normal Form : 4NF) จึงเปนขั้นตอนถัดมาในการแกไขปญหาความซ้ําซอนของขอมูลที่พบในรีเลชัน ซึ่งในขั้นตอนนี้จะใหความสําคัญกับรีเลชันที่ประกอบดวยแอททริบิวตอยางนอยสามแอททริบิวต และมีความสัมพันธระหวางแอททริบิวตแบบหลายคา

1. คุณสมบัติของรูปแบบที่เปนบรรทัดฐานขั้นที่ 4

รีเลชันใด ๆ จะมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 4 ก็ตอเมือ่ 1. รีเลชันน้ันมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดดแลว 2. รีเลชันนั้นตองเปนรีเลชันที่ไมมีความสัมพันธระหวางแอททริบิวตแบบหลายคา

2. ขั้นตอนการจัดทํารีเลชันใหเปนรูปแบบที่เปนบรรทัดฐานขั้นที่ 4

เพื่อแสดงใหเห็นถึงการจัดทํารีเลชันใหเปนรูปแบบที่เปนบรรทัดฐานขั้นที่ 4 ในที่นี้ขอนําตัวอยางรีเลชันมาประกอบดังน้ี

รีเลชันการสอน-การปรึกษาประกอบดวย 3 แอททริบิวต คือ แอททริบิวตรหัสอาจารย รหัสชุดวิชา ท่ีสอน และรหัสนักศึกษาในการปรึกษา โดยมีรายละเอียดดังน้ี

รหัสอาจารย รหัสชุดวิชาท่ีสอน รหัสนักศึกษาในการปรึกษา Q1011 999211 41010943 Q1011 999211 41013780 Q1035 729101 41012451 Q1035 729104 41012451 Q1035 999211 41012451 Q1059 729111 41010703 Q1059 729111 41013327 Q1061 729103 41012147

ภาพที่ 4.19 รีเลชันการสอน-การปรึกษา รีเลชันการสอน-การปรึกษามีแอททริบิวตรหัสอาจารย รหัสชุดวิชาที่สอน และรหัสนัก

ศึกษาในการปรึกษาประกอบกันเปนคียหลัก อาจารยแตละคนจะสอนอยางนอย 1 ชุดวิชา โดยบางคนอาจสอนชุดวิชาเดียวกันก็ได อาจารยบางคนอาจมีนักศึกษาในการปรึกษาไดมากกวา 1 คน

Page 35: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$%&

รหัสนักศึกษาในการปรึกษากับรหัสชุดวิชาที่สอนไมมีความสัมพันธกันเลย จากรีเลชันการสอน-การปรึกษาจะพบวา เกิดปญหาความซํ้าซอนของขอมูลในรีเลชันดังน้ีคือ 1. การปรับปรุงขอมูลใด ๆ จะตองทําซ้ําหลายแหง ทําใหส้ินเปลืองเวลา รวมทั้งอาจทําการแกไขขอ

มูลไดไมครบถวนและถูกตองทุกรายการก็ได ตัวอยางเชน การแกไขรหัสอาจารยจาก Q1035 เปน Q1073 2. การเพิ่มเติมขอมูลในรีเลชันไมสามารถทําได ตัวอยางเชน หากรหัสอาจารย Q1061 ตองการเพ่ิม

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

3. การลบขอมูลออกจากรีเลชันอาจทําใหขอมูลบางสวนสูญหายไปจากฐานขอมูล ตัวอยางเชน หากรหัสนักศึกษาในการปรึกษา คือ 41012147 ลาออก ขอมูลที่เกี่ยวของจะถูกลบไปทั้งทูเพิล ดังน้ัน ขอมูลรหัสชุดวิชา 729103 และรหัสอาจารย Q1061 ซึ่งมีเพียงแหงเดียวในฐานขอมูลก็จะสูญหายไปดวย

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

จากการตรวจสอบพบวา รีเลชันการสอน-การปรึกษามีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดดแลว เน่ืองจาก

รีเลชันการสอน-การปรึกษามีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 1 แลว เนื่องจากทุกแอททริบิวตในแตละทูเพิลมีคาของขอมูลเพียงคาเดียว

รีเลชันการสอน-การปรึกษามีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 2 แลว เน่ืองจากทุกแอททริบิวตในรีเลชันการสอน-การปรึกษาเปนคียผสมท่ีมีคุณสมบัติเปนคียหลัก ดังน้ัน จึงไมมีความสัมพันธระหวางแอททริบิวตแบบบางสวนเกิดขึ้น

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

รีเลชันการสอน-การปรึกษามีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดดแลว เน่ืองจากทุกแอททริบิวตในรีเลชันการสอน-การปรึกษาเปนคียผสมท่ีมีคุณสมบัติเปนคียหลัก ดังน้ัน จึงไมม ี แอททริบิวตใดในรีเลชันที่สามารถระบุคาของแอททริบิวตที่เปนคียหลัก หรือสวนใดสวนหนึ่งของแอททริบิวตที่ประกอบกันเปนคียหลักได

ลําดับถัดมา คือ การตรวจสอบรีเลชันการสอน-การปรึกษาวาเปนรีเลชันที่มีความสัมพันธระหวาง แอททริบิวตแบบหลายคาหรือไม

จากการตรวจสอบพบวา รีเลชันการสอน-การปรึกษามีความสัมพันธระหวางแอททริบิวตแบบหลายคา ดังน้ี

รหัสอาจารย รหัสชุดวิชาที่สอน

Page 36: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$%'

รหัสอาจารย รหัสนักศึกษาในการปรึกษา หมายความวา หากระบุคาของรหัสอาจารยหนึ่งคาก็จะสามารถทราบรหัสชุดวิชาที่สอนไดหลายคา

เชน ถาระบุคาของรหัสอาจารย คือ Q1035 จะทําใหทราบคาของรหัสชุดวิชาที่สอน คือ 729101, 729104 และ 999211 และในขณะเดียวกัน หากระบุคาของรหัสอาจารยหนึ่งคาก็จะสามารถทราบรหัสนักศึกษาใน การปรึกษาไดหลายคา เชน ถาระบุคาของรหัสอาจารย คือ Q1059 จะทําใหทราบคาของรหัสนักศึกษาใน การปรึกษา คือ 41010703 และ 41013327

ดังนั้นจึงกลาวไดวา รีเลชันการสอน-การปรึกษาไมมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 4

ภาพที่ 4.20 การจําแนกรีเลชันการสอน-การปรึกษา การท่ีรีเลชันการสอน-การปรึกษาเกิดความสัมพันธระหวางแอททริบิวตแบบหลายคา เนื่องจากม ี

การนําแอททริบิวตสามแอททริบิวต คือ รหัสอาจารย รหัสชุดวิชาที่สอน และ รหัสนักศึกษาในการปรึกษา มาไวในรีเลชันเดียวกัน โดยแอททริบิวตรหัสอาจารยมีความสัมพันธกับแอททริบิวตรหัสชุดวิชาที่สอนและรหัส นักศึกษาในการปรึกษาเทาน้ัน หากทวาแอททริบิวตรหัสชุดวิชาที่สอนและรหัสนักศึกษาในการปรึกษาไมมีความสัมพันธตอกันเลย เมื่อทั้งสามแอททริบิวตมาปรากฏอยูในรีเลชันเดียวกัน จึงทําใหเกิดคาของขอมูลที่ ซํ้าซอนสงผลใหเกิดปญหาในการปรับปรุง การเพ่ิม หรือการลบ ขอมูลได

Page 37: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$%(

ดังน้ัน เพื่อขจัดปญหาความสัมพันธระหวางแอททริบิวตแบบหลายคาที่เกิดขึ้น จึงตองทําการจําแนกรีเลชันการสอน-การปรึกษาออกเปน 2 รีเลชันยอย คือ รีเลชันรหัสอาจารย-รหัสชุดวิชา และรีเลชันรหัสอาจารย-รหัสนักศึกษา

รีเลชันรหัสอาจารย-รหัสชุดวิชา ประกอบดวย แอททริบิวตรหัสอาจารย และรหัสชุดวิชาท่ีสอน โดยมีแอททริบิวตรหัสอาจารย เปนคียหลัก

รีเลชันรหัสอาจารย-รหัสนักศึกษา ประกอบดวย แอททริบิวตรหัสอาจารย และรหัสนักศึกษาในการปรึกษา โดยมีแอททริบิวตรหัสอาจารย เปนคียหลัก

ทั้งนี้จากที่กลาวมาขางตนอาจสรุปไดวา ความสัมพันธระหวางแอททริบิวตแบบฟงกชันเปนลักษณะเฉพาะอยางหนึ่งของความสัมพันธระหวางแอททริบิวตแบบหลายคา หากทวาในความสัมพันธระหวาง แอททริบิวตแบบฟงกชัน คียหลักหรือ Determinant หนึ่งคาสามารถระบุคาของ Dependent หรือแอททริบิวตอ่ืนๆ ไดเพียงคาเดียวเทาน้ัน ขณะที่ความสัมพันธระหวางแอททริบิวตแบบหลายคาคียหลักหรือ Determinant หนึ่งคาสามารถระบุคาของ Dependent หรือแอททริบิวตอื่น ๆ ไดหลายคา

เรื่องที่ 4.2.6 รูปแบบที่เปนบรรทัดฐานขั้นที่ 5

ในกระบวนการทําใหเปนรูปแบบที่เปนบรรทัดฐานตั้งแตขั้นที่ 1 มาจนถึงขั้นที่ 4 จะพบวา เพ่ือแกไขปญหาความซ้ําซอนของขอมูลที่ปรากฏในรีเลชัน มักจะทําการจําแนกรีเลชันออกเปนรีเลชันยอย (projection) ซึ่งจะทําใหไดรีเลชันใหมอยางนอย 2 รีเลชันยอย และในทุกคร้ังของการจําแนกรีเลชันออกเปนรีเลชันยอย ส่ิงสําคัญที่ควรคํานึงถึงเสมอ คือ เมือ่ทําการจําแนกรีเลชันออกเปนรีเลชันยอยแลว หากนํารีเลชันยอยที่ถูกจําแนกมารวมกันจะตองไดรีเลชันกลับไปเหมือนเชนเดิมเสมอ น่ันคือ จะตองไมมีขอมูลทูเพิลใดเกินมาจาก รีเลชันเดิม (no spurious tuple) หรือไมมีขอมูลทูเพิลใดสูญหายไปจากรีเลชันเดิม

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

ดังน้ัน รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 5 (Fifth Normal Form : 5NF) จึงเปนขั้นตอนสุดทายในกระบวนการทําใหเปนรูปแบบท่ีเปนบรรทัดฐาน ซึ่งเปนการแกไขปญหาความซ้ําซอนของขอมูลที่ ปรากฏในรีเลชัน หากรีเลชันใดมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 5 แลวก็แทบจะรับรองไดวา ขอมูลในรีเลชันนั้นมีความถูกตองและสมบูรณ จนแทบจะไมมีปญหาความซํ้าซอนของขอมูลหลงเหลืออยู

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

Page 38: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$%)

1. คุณสมบัติของรูปแบบที่เปนบรรทัดฐานขั้นที่ 5

รีเลชันใด ๆ จะมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 5 หรือ Projection-Join Normal Form (PJ/NF) ก็ตอเมือ่

1. รีเลชันน้ัน ๆ มีความสัมพันธระหวางแอททริบิวตแบบ Join และรีเลชันยอย ๆ ที่จําแนกออกมาตองมีคียคูแขงของรีเลชันเดิมอยูดวยเสมอ หรือ

2. รีเลชันน้ัน ๆ ไมมีความสัมพันธระหวางแอททริบิวตแบบ Join

2. ขั้นตอนการจัดทํารีเลชันใหเปนรูปแบบที่เปนบรรทัดฐานขั้นที่ 5

เพื่อแสดงใหเห็นถึงการจัดทํารีเลชันใหเปนรูปแบบที่เปนบรรทัดฐานขั้นที่ 5 ในที่นี้ขอนํา ตัวอยางรีเลชันมาประกอบดังน้ี

- รีเลชันนักศึกษาประกอบดวย แอททริบิวตชื่อนักศึกษา ชื่ออาจารยที่ปรึกษา และวิชาเอก โดยมีแอททริบิวตชื่อนักศึกษา ชื่ออาจารยที่ปรึกษา และวิชาเอก ประกอบกันเปนคียหลัก

ช่ือนักศึกษา ช่ืออาจารยท่ีปรึกษา วิชาเอก สมชาย พลจันทร สัมพันธ เย็นสําราญ สถิติ สุทิศา พินิจไพฑูรย ศิริภัทรา เหมือนมาลัย คณิตศาสตร ณัฐพร ประคองเก็บ เมธี ปยะคุณ สถิติ นพดล ทับทิมทอง ศิริชัย ศรีพรหม คณิตศาสตร มัทนา พินิจไพฑูรย สัมพันธ เย็นสําราญ สถิติ สมชาย พลจันทร ศิริภัทรา เหมือนมาลัย คณิตศาสตร

ภาพที่ 4.21 รีเลชันนักศึกษา จากภาพจะพบวา เกิดปญหาความซํ้าซอนของขอมูลในรีเลชันดังน้ีคือ การปรับปรุงขอมูลใด ๆ จะ

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

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

จากการตรวจสอบพบวา รีเลชันนักศึกษามีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 4 แลว เน่ืองจาก

1. รีเลชันนักศึกษามีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 1 แลว เนื่องจากทุกแอททริบิวตในแตละทูเพิลมีคาของขอมูลเพียงคาเดียว

Page 39: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$%*

2. รีเลชันนักศึกษามีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 2 แลว เนื่องจากทุกแอททริบิวตในรีเลชันนักศึกษาเปนคียผสมท่ีมีคุณสมบัติเปนคียหลัก ดังน้ัน จึงไมมีความสัมพันธระหวาง แอททริบิวตแบบบางสวนเกิดข้ึน

3. รีเลชันนักศึกษามีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 3 แลว เน่ืองจากในรีเลชัน นักศึกษาไมมีแอททริบิวตอื่นที่ไมใชคียหลัก ดังน้ัน จึงไมมีความสัมพันธระหวางแอททริบิวตแบบ Transitive เกิดขึ้น

4. รีเลชันนักศึกษามีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดดแลว เนื่องจากทุกแอททริบิวตในรีเลชันนักศึกษาเปนคียผสมที่มีคุณสมบัติเปนคียหลัก ดังน้ัน จึงไมมีแอททริบิวตใดในรีเลชันที่สามารถระบุคาของแอททริบิวตที่เปนคียหลัก หรือสวนใดสวนหนึ่งของแอททริบิวตที่ประกอบกันเปนคียหลักได

5.รีเลชันนักศึกษามีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 4 แลว เน่ืองจากรีเลชัน นักศึกษาเปนรีเลชันท่ีมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดดแลว และไมมีความสัมพันธระหวางแอททริบิวตแบบหลายคา

ลําดับถัดมา คือ การตรวจสอบวา รีเลชันนักศึกษามีความสัมพันธระหวางแอททริบิวตแบบ Join โดยรีเลชันยอย ๆ ที่จําแนกออกมามีคียคูแขงของรีเลชันเดิมอยูดวยเสมอ หรือไม

จากการตรวจสอบพบวา รีเลชันนักศึกษาสามารถจําแนกได 3 รีเลชันยอย คือ รีเลชันท่ี 1 รีเลชันท่ี 2 และรีเลชันท่ี 3

- รีเลชันท่ี 1 ประกอบดวยแอททริบิวตชื่อนักศึกษา และชื่ออาจารยที่ปรึกษา โดยมีแอททริบิวตชื่อนักศึกษา และชื่ออาจารยที่ปรึกษา ประกอบกันเปนคียหลัก

- รีเลชันท่ี 2 ประกอบดวยแอททริบิวตชื่ออาจารยที่ปรึกษา และวิชาเอก โดยมีแอททริบิวตชื่ออาจารยที่ปรึกษา และวิชาเอก ประกอบกันเปนคียหลัก

- รีเลชันท่ี 3 ประกอบดวยแอททริบิวตชื่อนักศึกษา และวิชาเอก โดยมีแอททริบิวตชื่อนักศึกษา และวิชาเอก ประกอบกันเปนคียหลัก

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

Page 40: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$%!

ภาพที่ 4.22 ความสัมพันธระหวางแอททริบิวตแบบ Join ของรีเลชันนักศึกษา เพื่อแสดงใหเห็นถึงการจัดทํารีเลชันใหเปนรูปแบบที่เปนบรรทัดฐานขั้นที่ 5 ที่ชัดเจนยิ่งขึ้น ในที่นี้ขอ

นําตัวอยางรีเลชันมาประกอบอีกลักษณะหน่ึงดังน้ี รีเลชันการสอนประกอบดวย แอททริบิวตรหัสชุดวิชา หมูเรียน และช่ืออาจารยผูสอน โดยมี แอททริบิวตรหัสชุดวิชา หมูเรียน และช่ืออาจารยผูสอน ประกอบกันเปนคียหลัก

Page 41: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$%"

รหัสชุดวิชา หมูเรียน ช่ืออาจารยผูสอน

729101 700 ศิริชัย ศรีพรหม 729111 711 จันทนา พรหมศิร ิ729111 712 ศิริชัย ศรีพรหม 729211 700 ศิริภัทรา เหมือนมาลัย 729211 700 ศิริชัย ศรีพรหม

ภาพที่ 4.23 รีเลชันการสอน จากภาพจะพบวา เกิดปญหาความซํ้าซอนของขอมูลในรีเลชันดังน้ีคือ การลบขอมูลออกจากรีเลชัน

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

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

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

1. รีเลชันการสอนมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 1 แลว เนื่องจากทุกแอททริบิวตในแตละทูเพิลมีคาของขอมูลเพียงคาเดียว

2. รีเลชันการสอนมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 2 แลว เนื่องจากทุกแอททริบิวตในรีเลชันการสอนเปนคียผสมท่ีมีคุณสมบัติเปนคียหลัก ดังน้ัน จึงไมมีความสัมพันธระหวางแอททริบิวตแบบบางสวนเกิดข้ึน

3. รีเลชันการสอนมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 3 แลว เน่ืองจากในรีเลชัน การสอนไมมีแอททริบิวตอื่นที่ไมใชคียหลัก ดังน้ัน จึงไมมีความสัมพันธระหวางแอททริบิวตแบบ Transitive เกิดขึ้น

4. รีเลชันการสอนมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดดแลว เนื่องจากทุกแอททริบิวตในรีเลชันการสอนเปนคียผสมท่ีมีคุณสมบัติเปนคียหลัก ดังน้ัน จึงไมมีแอททริบิวตใดในรีเลชันที่สามารถระบุคาของแอททริบิวตที่เปนคียหลัก หรือสวนใดสวนหนึ่งของแอททริบิวตที่ประกอบกันเปน คียหลักได

5. รีเลชันการสอนมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 4 แลว เน่ืองจากรีเลชันการสอนเปนรีเลชันท่ีมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดดแลว และไมมีความสัมพันธระหวางแอททริบิวตแบบหลายคา

ลําดับถัดมา คือ การตรวจสอบวา รีเลชันการสอนมีความสัมพันธระหวางแอททริบิวตแบบ Join โดยรีเลชันยอย ๆ ที่จําแนกออกมามีคียคูแขงของรีเลชันเดิมอยูดวยเสมอ หรือไม

Page 42: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$&#

จากการตรวจสอบพบวา รีเลชันการสอนสามารถจําแนกได 3 รีเลชันยอย คือ รีเลชันท่ี 1 รีเลชันท่ี 2 และรีเลชันท่ี 3

- รีเลชันท่ี 1 ประกอบดวยแอททริบิวตรหัสชุดวิชา และหมูเรียน โดยมีแอททริบิวตรหัสชุดวิชา และหมูเรียน ประกอบกันเปนคียหลัก

- รีเลชันท่ี 2 ประกอบดวยแอททริบิวตหมูเรียน และช่ืออาจารยผูสอน โดยมีแอททริบิวตหมูเรียน และช่ืออาจารยผูสอน ประกอบกันเปนคียหลัก

- รีเลชันท่ี 3 ประกอบดวยแอททริบิวตรหัสชุดวิชา และช่ืออาจารยผูสอน โดยมีแอททริบิวตรหัสชุดวิชา และช่ืออาจารยผูสอน ประกอบกันเปนคียหลัก

ภาพที่ 4.24 ความสัมพันธระหวางแอททริบิวตแบบ Join ของรีเลชันการสอน เมื่อนํารีเลชันยอยทั้งสามมาเชื่อมโยงกันจะพบวา มีทูเพิลที่เกินมาจากรีเลชันเดิมหนึ่งทูเพิล เรียกวา

Spurious Tuple

Page 43: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$&$

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

ทั้งนี้โดยทั่วไปในทางปฏิบัติพบวา หากรีเลชันใดมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานขั้นที่ 3 หรือรูปแบบท่ีเปนบรรทัดฐานของบอยสและคอดดแลว เมื่อทําการตรวจสอบรีเลชันจะพบวา รีเลชันน้ันมักมีคุณสมบัติอยูในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 5 ดวย หากทวายกเวนในกรณีที่ รีเลชันนั้นมีปญหาที่เกิดจากความสัมพันธระหวางแอททริบิวตแบบหลายคาปรากฏอยู จะตองดําเนินการใหรีเลชันนั้นมีคุณสมบัติอยูใน รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 4 เสียกอน ดังน้ัน การทําใหรีเลชันมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐาน จะไปส้ินสุดในรูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 5 เสมอ ดังน้ัน อาจสรุปไดวา ความสัมพันธระหวางแอททริบิวตแบบ Join มีคุณสมบัติครอบคลุมกวาความสัมพันธระหวางแอททริบิวตแบบฟงกชันและความสัมพันธระหวางแอททริบิวตแบบหลายคา

เรื่องที่ 4.2.7 ขอควรคํานึงในการทําใหเปนรูปแบบที่เปนบรรทัดฐาน

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

เน่ืองจากการทําใหเปนรูปแบบท่ีเปนบรรทัดฐานเปนเทคนิคในการตรวจสอบและวิเคราะหความสัมพันธระหวางแอททริบิวตภายในรีเลชันนั้น โดยไมอาจทําการตรวจสอบความสัมพันธระหวางแอททริบิวตที่อยูตางรีเลชันได ดังน้ัน ส่ิงท่ีควรคํานึงในการทําใหเปนรูปแบบท่ีเปนบรรทัดฐาน คือ การจําแนกรีเลชันยอยมากเกินไป (Overnormalization) และการ Denormalizatuion

1. การจําแนกรีเลชันยอยมากเกินไป

การจาํแนกรีเลชันยอยมากเกินไป หมายถึง การจําแนกรีเลชันออกเปนรีเลชันยอยมากเกินกวา ความจําเปน

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

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

Page 44: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$&%

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

Determinant รวมกันเพียงหนึ่งแอททริบิวต คือ แอททริบิวตรหัสนักศึกษา และมีแอททริบิวตอื่น ๆ ที่ไมใชคียหลักหรือ Dependent เพียงหนึ่งแอททริบิวต การจําแนกรีเลชันนักศึกษาออกเปนรีเลชันยอยจึงกลาวไดวา เปนการจําแนกรีเลชันยอยที่มากเกินกวาความจําเปน เพราะในการคนหาขอมูลตองเสียเวลามากข้ึนเพ่ือทํา การเชื่อมโยงขอมูลจากหลายรีเลชันยอยเขาดวยกัน

ภาพที่ 4.25 ตัวอยางการจาํแนกรีเลชันยอยมากเกินไป

2. การ Denormalization

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

การ Denormalization หมายถึง การที่รีเลชันใด ๆ ถูกออกแบบใหมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานข้ันตํ่ากวากฎเกณฑท่ีกําหนดไว ตัวอยางเชน รีเลชันนั้นควรถูกออกแบบใหมีคุณสมบัติอยูใน รูปแบบท่ีเปนบรรทัดฐานข้ันท่ี 3 แตผูออกแบบฐานขอมูลกําหนดใหรีเลชันนั้นมีคุณสมบัติอยูในรูปแบบที่เปนบรรทัดฐานข้ันท่ี 2 เทาน้ัน

Page 45: บทที่ 4 รูปแบบที่เป็นบรรทัดฐาน(Normal Form)

$&&

ตัวอยางเชน การรวมแอททริบิวตรหัสวิชาเอกจากรีเลชันที่อยูนักศึกษาและแอททริบิวตชื่อวิชาเอกจากรีเลชันวิชาเอก ไวเปนแอททริบิวตหนึ่งในรีเลชันนักศึกษาโดยใหชื่อวา แอททริบิวตวิชาเอก แทนที่จะทําการจําแนกเปนรีเลชันวิชาเอกเพ่ือระบุถึงรหัสวิชาเอกและช่ือวิชาเอก ทั้งนี้ เนื่องจากมีจํานวนรหัสวิชาเอกไมมากนัก คือ มี 2 รหัสวิชาเอกเทาน้ัน เปนตน

ภาพที่ 4.26 ตัวอยางการ Denormalization เน่ืองจากการ Denormalization อาจกอใหเกิดปญหาในเรื่องที่เกี่ยวของกับความซ้ําซอนของขอมูล

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