88
หนว่ ยที่ 6 การจดั ระบบข้อมลู ในรูปแบบบรรทัดฐาน
หนว่ ยท่ี
การจดั ระบบขอ้ มูลในรปู แบบบรรทดั ฐาน
ZZZ สาระการเรยี นรู้
1. การจัดระบบขอ้ มูลในรูปแบบบรรทัดฐาน
2. วัตถปุ ระสงค์ของการจัดระบบข้อมลู ในรูปแบบบรรทัดฐาน
3. กระบวนการปรับบรรทดั ฐาน
4. รปู แบบบรรทดั ฐาน (Normal Form)
ZZZ จดุ ประสงค์การเรยี นรู้
จดุ ประสงคท์ วั่ ไป
1. เพื่อใหน้ กั ศึกษาไดร้ ้แู ละเขา้ ใจเกย่ี วกบั การจดั ระบบขอ้ มูลในรปู แบบบรรทัดฐาน
ได้ถกู ต้อง
2. เพอ่ื ใหน้ ักศึกษาไดร้ แู้ ละเขา้ ใจเกย่ี วกับวตั ถุประสงค์ของการจัดระบบข้อมูลในรูปแบบ
บรรทดั ฐานได้ถกู ตอ้ ง
3. เพอ่ื ให้นักศกึ ษาได้รูแ้ ละเข้าใจเกย่ี วกบั กระบวนการปรบั บรรทัดฐานได้ถกู ตอ้ ง
4. เพ่อื ให้นักศึกษาได้รแู้ ละเข้าใจเก่ยี วกับรูปแบบบรรทัดฐาน (Normal Form) ไดถ้ กู ตอ้ ง
จดุ ประสงคเ์ ชงิ พฤติกรรม
1. นักศึกษาสามารถบอกความหมายของการจดั ระบบข้อมลู ในรูปแบบบรรทดั ฐานได้
2. นกั ศกึ ษาสามารถบอกวตั ถุประสงคข์ องการจัดระบบขอ้ มลู ในรูปแบบ
บรรทัดฐานได้
3. นกั ศึกษาสามารถบอกประโยชนข์ องการปรับบรรทดั ฐานได้
4. นักศกึ ษาสามารถอธบิ ายกระบวนการปรบั บรรทดั ฐานได้
5. นักศึกษาสามารถบอกคณุ สมบตั ขิ องรูปแบบบรรทัดฐานระดับตา่ งๆ ได้
6. นกั ศกึ ษาสามารถจัดระบบขอ้ มลู ให้อยใู่ นรปู แบบบรรทัดฐานได้
3204-2005 ระบบฐานขอ้ มูล
89
หนว่ ยที่ 6 การจัดระบบข้อมูลในรูปแบบบรรทดั ฐาน
ZZZ กิจกรรมการเรยี นการสอน
.
1. ครใู หน้ ักศึกษาทาํ แบบทดสอบกอ่ นเรียน
2. ครอู ธบิ ายการจัดระบบขอ้ มลู ในรูปแบบบรรทดั ฐาน
3. ครอู ธิบายวัตถุประสงค์ของการจัดระบบขอ้ มูลในรูปแบบบรรทัดฐาน
4. ครอู ธิบายกระบวนการปรับบรรทดั ฐาน
5. ครอู ธบิ ายรูปแบบบรรทัดฐาน (Normal Form)
6. ครูให้นกั ศึกษาสอบถามและครูตอบขอ้ ซักถาม
7. ครใู หน้ ักศึกษาทําแบบฝกึ หัดทา้ ยหน่วยและแบบทดสอบหลังเรียน
8. ครูให้นักศึกษาร่วมกนั ตรวจแบบฝึกหดั ทา้ ยหนว่ ยและแบบทดสอบก่อนเรียน
และหลงั เรยี น
9. ครูเปรียบเทยี บคะแนนแบบทดสอบก่อนเรียนและหลังเรยี นเพ่ือใช้เปน็ ขอ้ มูลในการ
ปรับปรุงการเรียนการสอนในครั้งต่อไป
ZZZ ส่อื การเรยี นการสอน
1. แผนการจัดการเรียนรู้
2. ตัวอยา่ งระบบงานจริง
3. สื่อ Power Point
4. แหล่งอนิ เทอร์เน็ตสําหรับศกึ ษาเพิ่มเตมิ http://www.payom.bctsakon.com
ZZZ การประเมนิ ผล
1. ประเมนิ ผลจากแบบทดสอบหลงั เรยี น
2. ประเมนิ ผลจากการปฏบิ ัตติ ามตวั อยา่ งระบบงานจริง
3. ประเมินผลจากความต้งั ใจ และความสนใจในการเรยี น
3204-2005 ระบบฐานขอ้ มลู
90
หน่วยที่ 6 การจดั ระบบขอ้ มลู ในรปู แบบบรรทัดฐาน
การจดั ระบบขอ้ มลู ในรปู แบบ
บรรทัดฐาน
ก า ร เ ก็ บ ร ว บ ร ว ม ข้ อ มู ล ที่ ไ ด้ จ า ก ก า ร ศึ ก ษ า ข อ ง ร ะ บ บ ง า น เ ดิ ม จ ะ อ ยู่ ใ น รู ป แ บ บ ข อ ง
เอกสารรายงานต่างๆ ซ่ึงจะมีรูปแบบท่ีซับซ้อนเน่ืองจากมีการเก็บรายละเอียดของข้อมูลทุกอย่างไว้
ด้วยกันหมด ทฤษฏีหนึ่งท่ีผู้ออกแบบฐานข้อมูลจะต้องนํามาใช้ในการแปลงข้อมูลท่ีอยู่ในรูปแบบที่
ซับซ้อนให้อยู่ในรูปแบบท่ีง่ายต่อการนําไปใช้งานและก่อให้เกิดปัญหาน้อยที่สุด ได้แก่ ทฤษฏีเกี่ยวกับ
เร่ือง “กระบวนการนอร์มัลไลซ์” หรือ กระบวนการจัดระบบข้อมูลในรูปแบบบรรทัดฐาน ซึ่งเป็น
เคร่ืองมือท่ีช่วยในการออกแบบฐานข้อมูลแบบเชิงสัมพันธ์ การออกแบบจะต้องผ่านกระบวนการ
จัดระบบข้อมูลในรูปแบบบรรทัดฐาน เพ่ือขจัดกลุ่มข้อมูลท่ีซ้ํากันในรีเลช่ันออกไป และสร้างรีเลชั่น
รปู แบบใหมซ่ ึง่ จะเปน็ การแตกรีเลชน่ั ออกเป็นรีเลชั่นยอ่ ยหลายรเี ลชัน่ เพอื่ แก้ไขปัญหาการซ้ําซอ้ นของ
ข้อมูล จัดการกับข้อมูลได้ง่าย สามารถเพิ่ม ลบ และเปลี่ยนแปลงข้อมูลได้โดยไม่ก่อให้เกิดปัญหา
ฐานขอ้ มูลท่ีดตี อ้ งสามารถจัดการขอ้ มูลได้อยา่ งมปี ระสทิ ธภิ าพ
ในหน่วยที่ 6 น้ีจะกล่าวถึงความหมายของรูปแบบบรรทัดฐาน วัตถุประสงค์ของการจัดระบบ
ข้อมูลในรูปแบบบรรทัดฐาน กระบวนการปรับบรรทัดฐาน และรูปแบบบรรทัดฐาน ซ่ึงมีรายละเอียด
ดังน้ี
1. การจดั ระบบขอ้ มูลในรปู แบบบรรทัดฐาน (Normalization)
มีผใู้ ห้ความหมายของการจัดระบบข้อมูลในรูปแบบบรรทดั ฐานไว้หลายความหมาย ดังน้ี
พุธษดี ศิริแสงตระกูล (2539:63) ให้ความหมายว่า นอร์มัลไลเซชั่น คือ เป็นวิธีการที่ใช้
วิเคราะห์และจัดโครงสร้างของฐานข้อมูลใหม่ โดยพยายามลดความซํ้าซ้อนของโครงสร้างฐานข้อมูล
เพ่ือให้ได้โครงสร้างท่ีมีเสถียรภาพ ซ่ึงวิธีการทําคือจะปรับโครงสร้างของฐานข้อมูลให้อยู่ในรูปนอร์มัล
ระดบั ต่างๆ ไดแ้ ก่ 1NF 2NF 3NF BCNF 4NF และ 5NF
กิตติ ภักดีวัฒนะกุล และจําลอง ครูอุตสาหะ (2544:133) ให้ความหมายว่า Normalization
คือ เป็นวิธีการท่ีใช้ในการตรวจสอบ และแก้ไขปัญหาทางด้านความซ้ําซ้อนของข้อมูล โดยการ
ดําเนินการให้ข้อมูลในแต่ละรีเลชั่นอยู่ในรูปท่ีเป็นหน่วยที่เล็กที่สุดท่ีไม่สามารถแตกออกเป็นหน่วย
ย่อยๆ ได้อีก โดยยังคงความสัมพันธ์ระหว่างข้อมูลในรีเลชั่นต่างๆ ไว้ตามหลักการที่กําหนดไว้ใน
Relational Model
ศิริลักษณ์ โรจนกิจอํานวย (2542:137) ให้ความหมายว่า Normalization คือ เป็น
กระบวนการที่ใช้ในการทดสอบการออกแบบรีเลชั่นตามเกณฑ์ของข้ันตอนต่างๆ ในการทําให้เป็น
บรรทัดฐาน เป็นการพิจารณาว่าคีย์หลักหรือคีย์คู่แข่งสามารถระบุค่าของ แอททริบิวต์อื่นๆ ของทู
เพิลหนึ่งในรีเลชั่นได้ เพ่ือให้เค้าร่างของรีเลชั่นที่เหมาะสมและไม่มีปัญหา ซ่ึงช่วยลดความซ้ําซ้อนใน
3204-2005 ระบบฐานขอ้ มลู
91
หนว่ ยที่ 6 การจัดระบบข้อมลู ในรปู แบบบรรทดั ฐาน
ฐานข้อมูลอนั จะเปน็ ผลใหล้ ดเนอ้ื ที่ในการจดั เกบ็ ฐานขอ้ มูล และทําให้ขอ้ มูลมคี วามตรงกัน รวมถึงไม่มี
ปญั หาในการจัดดาํ เนินการขอ้ มูล เช่น การเพิม่ การลบ หรอื ปรับปรุงขอ้ มลู
ฐิติศักดิ์ รื่นฤทธิ์ และธาริน สิทธิธรรมชารี (2550:10) ให้ความหมายว่า Normalization คือ
เป็นทฤษฎีที่ใช้ในการทําให้เอนทิตี้ และแอททริบิวต์ที่ได้ออกแบบไว้ถูกจัดกลุ่มเป็นตารางที่มี
ความสมั พนั ธก์ ัน
จากความหมายดังกล่าวสรุปได้ว่า การ Normalization หรือ Normal Form (NF) คือ เป็น
การแยกตารางเพ่ือลดความซ้ําซ้อนของข้อมูล ทําให้มีประสิทธิภาพ จัดการได้ง่าย สามารถลบ เพิ่ม
และเปลี่ยนแปลงข้อมูลได้โดยไมก่ ่อใหเ้ กดิ ปัญหา
2. วัตถปุ ระสงคข์ องการจดั ระบบข้อมูลในรปู แบบบรรทัดฐาน
วตั ถปุ ระสงค์ของการทํารีเลชัน่ ให้อยใู่ นรปู แบบบรรทัดฐาน มีดงั นี้
2.1 เพื่อลดเน้อื ทีใ่ นการจัดเกบ็ ขอ้ มูล
การทําให้เป็นบรรทัดฐานเป็นการลดความซํ้าซ้อนของข้อมูลในรีเลช่ัน ซ่ึงทําให้ลดเนื้อท่ี
ในการจัดเกบ็ ข้อมลู ได้
2.2 เพอื่ ลดปัญหาทข่ี อ้ มลู ไมถ่ กู ต้อง
เน่ืองจากข้อมูลในรีเลชั่นหนึ่งจะมีข้อมูลไม่ซ้ํากัน เม่ือมีการปรับปรุงข้อมูลก็จะปรับปรุง
ทูเพิลน้ันๆ คร้ังเดียว ไม่ต้องปรับปรุงหลายแห่ง โอกาสท่ีจะเกิดความผิดพลาดในการปรับปรุงไม่
ครบถว้ นกจ็ ะไมเ่ กดิ ขนึ้
2.3 เปน็ การลดปญั หาทเี่ กิดจากการเพ่มิ ปรบั ปรงุ และลบขอ้ มลู
ช่วยแก้ปัญหาที่อาจจะเกิดขึ้นจากการปรับปรุงข้อมูลไม่ครบ หรือข้อมูลหายไปจาก
ฐานขอ้ มลู หรอื การเพมิ่ ขอ้ มูล
3. กระบวนการปรับบรรทดั ฐาน (The Normalization Process)
กระบวนการปรับบรรทัดฐาน เป็นกระบวนการท่ีใช้ในการกระจายรีเลช่ันท่ีมีโครงสร้างซับซ้อน
ออกเป็นรีเลช่ันย่อยๆ ที่มีโครงสร้างท่ีง่าย ซ่ึงจะช่วยทําให้ไม่มีข้อมูลที่ซํ้าซ้อน และอยู่ในรูปแบบ
บรรทดั ฐาน (Normal Form) ทส่ี ามารถนาํ ไปใชง้ าน และไมก่ ่อให้เกิดปญั หาใดๆ ได้
3.1 ประโยชนข์ องการปรับบรรทดั ฐาน
1) การปรับบรรทัดฐานเป็นเคร่ืองมือท่ีช่วยในการออกแบบฐานข้อมูลเชิงสัมพันธ์ให้อยู่
ในรูปแบบทเี่ ปน็ บรรทัดฐาน
2) ทําให้ทราบว่ารีเลช่ันที่ถูกออกแบบมานั้น อยู่ในรูปแบบบรรทัดฐานหรือไม่ และจะ
ก่อให้เกดิ ปัญหาอะไรบ้าง และมวี ธิ แี กไ้ ขปัญหานัน้ อย่างไร
3204-2005 ระบบฐานขอ้ มลู
92
หนว่ ยท่ี 6 การจดั ระบบข้อมูลในรปู แบบบรรทัดฐาน
3) เมื่อทําการปรับบรรทัดฐานรีเลช่ันท่ีมีปัญหาแล้ว รับประกันได้ว่ารีเลช่ันน้ันจะไม่มี
ปัญหาอกี หรอื ถา้ มกี ็จะมีน้อยลง
3.2 โครงสร้างกระบวนการปรับบรรทัดฐาน
จากรูปแบบของรีเลช่ันท่ียังไม่ผ่านการปรับบรรทัดฐาน การจะทําให้เป็นรีเลชั่นที่อยู่ใน
รูปแบบบรรทดั ฐาน โดยผา่ นกระบวนการปรับบรรทัดฐาน จะมีกระบวนการต่างๆ อยู่ 5 ระดับ ได้แก่
การปรับรีเลช่ันให้อยู่ในรูปแบบบรรทัดฐานระดับท่ี 1 ระดับท่ี 2 ระดับที่ 3 รูปแบบบรรทัดฐานของ
บอยส์คอดด์ และรูปแบบบรรทัดฐานระดับท่ี 4 แต่ละระดับจะมีวัตถุประสงค์ในการแก้ปัญหาของ
รีเลช่ันท่ีแตกต่างกันออกไป ถ้ารีเลช่ันมีการผ่านกระบวนการปรับบรรทัดฐานในระดับท่ีสูงข้ึน ก็จะมี
รูปแบบที่เป็นบรรทัดฐานมากขึ้น ปัญหาต่างๆ ท่ีจะเกิดขึ้นก็ลดน้อยลง ซ่ึงโดยท่ัวไปแล้วในการ
ออกแบบฐานข้อมูลในเชิงธุรกิจ ซ่ึงรูปแบบการปรับบรรทัดฐานระดับท่ี 3 จะเป็นที่ต้องการมากที่สุด
แสดงดังรูปที่ 6.1
รายงานจาก
ผู้ใช้
รีเลช่นั ท่ีมีรปู แบบไมเ่ ป็นบรรทดั ฐาน
(UnNormalized relation)
รปู แบบบรรทดั ฐาน
ระดบั ที่ 1 (1 NF)
รูปแบบบรรทดั ฐาน
ระดับท่ี 2 (2 NF)
รูปแบบบรรทดั ฐาน
ระดับที่ 3 (3 NF)
รปู ท่ี 6.1 แสดงกระบวนการปรับบรรทดั ฐาน 3 ระดบั ของรีเลชนั่
(สมจิตร อาจอนิ ทร์ และงามนิจ อาจอินทร,์ 2540 : 86)
3204-2005 ระบบฐานขอ้ มูล
93
หน่วยที่ 6 การจัดระบบข้อมลู ในรูปแบบบรรทดั ฐาน
4. รูปแบบบรรทดั ฐาน (Normal Form)
รูปแบบบรรทัดฐาน (Normal Form) ถูกคิดค้นโดย อี.เอฟ.คอดด์ (E.F.Codd) การจัดระบบ
ข้อมูลในรูปแบบบรรทัดฐานเป็นวิธีออกแบบฐานข้อมูลแบบหนึ่ง โดยทําการแยกตารางซ่ึงเป็นตาราง
ที่เก็บข้อมูลทุกอย่างอยู่ในตารางเดียวกัน การจัดระบบข้อมูลในรูปแบบบรรทัดฐาน เป็นการ
ดาํ เนนิ งานอยา่ งเป็นลาํ ดบั ท่กี าํ หนดไว้เป็นขัน้ ตอน ตามปญั หาท่เี กดิ ขน้ึ ในขนั้ ตอนตา่ งๆ ดังน้ี
4.1 รูปแบบบรรทดั ฐานระดบั ท่ี 1 (First Normal Form: 1NF)
4.2 รปู แบบบรรทดั ฐานระดบั ที่ 2 (Second Normal Form: 2 NF)
4.3 รูปแบบบรรทดั ฐานระดบั ท่ี 3 (Third Normal Form: 3NF)
4.4 รูปแบบบรรทดั ฐานบอยส-์ คอดด์ (Boyce-Codd Normal Form: BCNF)
4.5 รปู แบบบรรทดั ฐานระดบั ท่ี 4 (Fourth Normal Form: 4NF)
4.6 รูปแบบบรรทดั ฐานระดบั ท่ี 5 (Fifth Normal Form: 5NF)
การนอร์มัลไลซ์เป็นวิธีการท่ีลดความซํ้าซ้อน โดยมีรูปของ Normal Form ถึง 5 ระดับโดย
Codd เป็นผู้คิด Normal Form ระดับท่ี1 ถึงระดับที่3 (1NF–3NF) ต่อมา Fekin เป็นผู้คิด Normal
Form ระดับที่4 โดยระหว่าง 3NF และ 4NF มีช่องว่างเกิดข้ึนจึงต้องมี BCNF (Boyce/Codd Form)
ข้ึน
ในแต่ละข้ันตอนของการทํารูปแบบบรรทัดฐาน จะมีการระบุรูปแบบของโครงสร้างข้อมูล
เรียกว่า Normal Form ซ่ึงโครงสร้างนี้สามารถแก้ไขปัญหาที่เกิดขึ้นในโครงสร้างข้อมูลของขั้นตอน
ก่อนหน้านั้นได้ นั่นคือ การทํารูปแบบบรรทัดฐานแต่ละข้ันตอนต้องอาศัยผลที่ได้จากการจัดระบบ
ขอ้ มูลในรูปแบบบรรทดั ฐานในข้นั ตอนกอ่ นหน้า มาปรับปรุงเพื่อให้มีโครงสร้างเป็นไปตามโครงสร้างท่ี
กําหนดไว้ในข้นั ตอนนั้นๆ
หากการออกแบบข้อมูลมีปัญหาในการจัดดําเนินการข้อมูล การทําให้ข้อมูลอยู่ในรูปแบบ
บรรทัดฐาน (Normal Form) จะทําการแยกรีเลช่ันเดิมเป็นรีเลช่ันย่อย โดยการแยกรีเลชั่นจะต้อง
คงไว้ซ่งึ คุณสมบตั ิ 2 ประการ คอื
ประการท่ี 1 ต้องไม่มีข้อมูลท่ีไม่เหมือนเดิมเกิดขึ้น หรือมีข้อมูลใหม่ท่ีเกิดขึ้นจากการเชื่อมโยง
ขอ้ มลู
ประการที่ 2 หากมีการแยกรีเลชั่นย่อย ยังคงรักษาไว้ซึ่งข้อกําหนดเดิมไว้ให้ได้มากที่สุดและ
เป็นประโยชน์ต่อการใช้งาน
4.1 รูปแบบบรรทดั ฐานระดบั ที่ 1 (First Normal Form : 1NF)
รูปแบบบรรทัดฐานระดับท่ี 1 เป็นการปรับบรรทัดฐานระดับแรกสุด จะเป็นกระบวน
การในการปรบั ตารางข้อมลู ของผูใ้ ชง้ านให้อยใู่ นรปู แบบบรรทดั ฐานระดบั ท่ี 1 ซึ่งรีเลชัน่ ใดๆ จะอยู่ใน
รูปแบบบรรทัดฐานระดับท่ี 1 ก็ต่อเม่ือ ค่าของแอททริบิวต์ต่างๆ ในแต่ละทูเพิลจะต้องมีค่าของข้อมูล
เพียงคา่ เดยี ว
3204-2005 ระบบฐานขอ้ มลู
94
หนว่ ยที่ 6 การจดั ระบบข้อมลู ในรูปแบบบรรทดั ฐาน
นิยาม
รีเลชนั่ ท่ีอยู่ในรปู แบบบรรทดั ฐานระดับที่ 1 ก็ต่อเมือ่ รเี ลชน่ั น้ันไมม่ ีกลมุ่ ขอ้ มูลซ้าํ
(Repeating Group)
หลกั การแปลงเปน็ 1NF
1. หากพบว่ามกี ลมุ่ ข้อมูลซํ้า ใหแ้ ยกข้อมูลออกให้เปน็ เอกเทศเป็นแต่ละทเู พิล
2. กาํ หนดคีย์หลกั ให้กบั รีเลชนั่
โครงสร้างตารางการส่ังสินค้าของร้านขายเคร่ืองใช้ไฟฟ้าท่ียังไม่ทําการจัดระบบข้อมูลใน
รูปแบบบรรทัดฐาน แสดงดังตารางที่ 6.1
ตารางท่ี 6.1 แสดงแสดงรเี ลชั่นทอี่ ยู่ในรูปแบบไมเ่ ป็นบรรทัดฐาน
การสงั่ สินคา้ วนั ทส่ี ง่ั รหัสสนิ คา้ จาํ นวนท่สี งั่
02/02/55 55111 8
รหสั การสง่ั 02/02/55 55112 1
55489 55113 1
55490 55114 4
55115 2
55491 04/03/55 55111 2
55492 04/03/55 55112 4
55493 05/03/55 55113 1
55114 2
55494 05/03/55
55495 05/03/55
จากตารางท่ี 6.1 โครงสรา้ งตารางยงั ไม่อย่ใู นรูปแบบบรรทดั ฐานขั้นใดเลย เนอ่ื งจากยังมี
กลุ่มข้อมูลซํ้า (Repeating Group) สามารถทําให้เป็นบรรทัดฐานข้ันท่ี 1 โดยการกําจัดกลุ่มข้อมูลซ้ํา
ได้ด้วยการใสข่ ้อมูลใหค้ รบถ้วนในชอ่ งทม่ี ขี อ้ มลู ว่าง พรอ้ มทงั้ กาํ หนดคียห์ ลัก แสดงดังตารางท่ี 6.2
3204-2005 ระบบฐานขอ้ มูล
95
หนว่ ยที่ 6 การจดั ระบบข้อมลู ในรูปแบบบรรทัดฐาน
ตารางท่ี 6.2 แสดงการจัดระบบข้อมูลในรปู แบบบรรทดั ฐานระดบั ท่ี 1 (1 NF)
การสั่งสนิ คา้ วันทสี่ ั่ง รหัสสินค้า จํานวนท่ีสงั่
รหสั การสัง่ 02/02/55 55111 8
02/02/55 55112 1
55489 02/02/55 55113 1
55490 04/03/55 55114 4
55490 04/03/55 55115 2
55491 05/03/55 55111 2
55492 05/03/55 55112 4
55493 05/03/55 55113 1
55493 05/03/55 55114 2
55494
55495
4.2 รปู แบบบรรทดั ฐานระดบั ท่ี 2 (Second Normal Form : 2NF)
รีเลช่ันใดๆ จะอยู่ในรูปแบบบรรทัดฐานระดับท่ี 2 ก็ต่อเม่ือ รีเลชั่นนั้นๆ อยู่ในรูปแบบ
บรรทดั ฐานระดบั ท่ี 1 และแอททริบวิ ต์ทุกตัวทไ่ี มไ่ ด้เปน็ คีย์หลัก จะต้องมีความสัมพันธ์ระหว่างค่าของ
แอททริบวิ ตแ์ บบฟังกช์ ัน่ กับคีย์หลัก (Fully Functional Dependency) ตัวอย่างรีเลช่ัน ผู้ผลิต (รหัส
ผู้ผลิต, ชื่อผู้ผลิต, จังหวัด) จะเห็นว่าเมื่อทราบค่าแอททริบิวต์รหัสผู้ผลิตจะสามารถทราบค่าของ
แอททริบิวตต์ วั อ่นื ๆ ได้อย่างสมบูรณ์
นยิ าม
รีเลชั่นที่อยใู่ นรูปแบบบรรทดั ฐานขน้ั ที่ 2 กต็ ่อเมอ่ื
1. รเี ลชน่ั น้ันต้องอยู่ในรูปแบบบรรทัดฐานขน้ั ท่ี 1 และ
2. ไม่มีแอททริบวิ ตท์ ีม่ กี ารข้นึ ต่อบางสว่ นของคีย์หลัก (Partial Dependency)
หลักการแปลงเปน็ 2NF
1. หากมีรเี ลช่นั ใดทม่ี แี อททริบิวตม์ ีการขึ้นตอ่ กันกับบางส่วนของคีย์หลัก ให้ตัด
แอททริบิวต์ดงั กลา่ วออกไปไว้ในรีเลชั่นใหม่ และในรเี ลชนั่ เดมิ ใหค้ งแอททริบิวต์
ทีข่ ึน้ กบั ทุกสว่ นของคยี ์หลกั ไว้
2. สรา้ งรเี ลชนั่ ใหม่ โดยดงึ แอททรบิ วิ ต์ทีข่ ึน้ กบั บางส่วนของคยี ห์ ลัก และกาํ หนดคีย์
หลกั ของรเี ลชน่ั จากแอททรบิ ิวต์ท่ีเปน็ สว่ นประกอบของรีเลชนั่ ที่แอททรบิ ิวตเ์ หลา่ น้ี
มีฟังกช์ ัน่ การขึ้นตอ่ กนั
3204-2005 ระบบฐานขอ้ มลู
96
หน่วยที่ 6 การจดั ระบบขอ้ มลู ในรูปแบบบรรทัดฐาน
ตารางที่ 6.3 แสดงรเี ลช่นั อยู่ในรปู แบบบรรทดั ฐานระดับที่ 1 (1 NF)
การสงั่ สินค้า วันท่ีสัง่ รหสั สนิ คา้ ช่อื สินค้า จาํ นวนท่สี ่ัง ราคาสนิ คา้
รหัสการส่ัง 02/02/55 55111 เตารดี 11 280
55489 02/02/55 55112 เตา 1 8000
55490 02/02/55 55113 เครอื่ งซักผา้ 1 8000
55490 04/03/55 55114 เครอ่ื งดดู ฝนุ่ 4 3500
55491 04/03/55 55115 โทรทศั น์ 2 4400
55492 05/03/55 55111 เตารดี 4 280
55493 05/03/55 55112 เตา 1 8500
55493 05/03/55 55113 เครือ่ งซักผา้ 2 8000
55494 05/03/55 55114 เครอ่ื งดดู ฝ่นุ 2 3500
55495
จากตารางท่ี 6.3 พบว่าได้เกิดความซํ้าซ้อน เมื่อมีการสั่งซื้อสินค้าชนิดเดียวกันขึ้น เช่น มีการ
สั่งซื้อสินค้า 55112 ซ้ํากันในแถวท่ี 2 และ 7 เกิดความซํ้าซ้อนทําให้เปลืองเน้ือท่ี และยังทําให้เกิด
ปัญหา ซึ่งสามารถแบง่ ลกั ษณะของปญั หาออกเปน็ 4 ประเภท ไดแ้ ก่
1) การแกไ้ ขขอ้ มลู หากมกี ารเปล่ยี นแปลงช่อื สนิ ค้าจากเตาเป็นเตาไมโครเวฟ เราต้องแก้ไข
ในทกุ ๆ เรคอรด์ ทมี่ รี ายการเตา ซง่ึ การแกไ้ ขอาจไม่ครอบคลุมทกุ เรคอรด์
2) ความขัดแยง้ ของข้อมูล เชน่ ถา้ มกี ารแกไ้ ขรหสั สินคา้ และช่อื สนิ ค้า กต็ ้องแก้ไขราคา
สนิ คา้ ด้วย เพอื่ ให้ราคาสนิ คา้ ชนดิ เดยี วกนั เท่ากนั เช่น แถวท่ี 2 ราคาสินค้า 8,000 บาท ในขณะท่แี ถว
ที่ 7 มรี าคาสินคา้ 8,500 บาท
3) การเพม่ิ เติมข้อมลู หากบรษิ ทั เกิดตัดสนิ ใจนาํ สินค้าชนิดใหม่เขา้ มาขาย เช่น ทวี ี จะต้อง
รอให้มีการสัง่ ซื้อจากลูกคา้ เสยี ก่อน จึงจะมรี ายการของสนิ ค้าใหม่เกิดข้ึน ซึ่งผิดหลักการคา้
4) การลบข้อมูล หากมีลกู ค้ายกเลิกการสัง่ รหสั การส่ัง 55489 ซึง่ มผี ลให้ตอ้ งลบขอ้ มูลใน
แถวที่ 1 ออกไปจากตาราง ทาํ ใหร้ ะบบสูญเสียขอ้ มูลของสนิ ค้าเตารีดไปด้วย
ทําให้เราตอ้ งทาํ การจดั ขอ้ มูลในรปู แบบบรรทดั ฐานระดบั ที่ 2 โดยการสรา้ งตาราง (รีเลชัน่ )
ขึ้นมาใหม่ เพ่อื แกป้ ัญหาทีเ่ กดิ ขน้ึ กบั 1NF
การสง่ั สินค้า (รหสั การส่งั , วนั ทสี่ งั่ สนิ คา้ )
สินค้า (รหัสสนิ ค้า, ชื่อสนิ ค้า, ราคา)
บัญชีการส่ัง (รหสั การสัง่ , รหัสสนิ คา้ , จาํ นวนที่ส่งั )
ซึ่งเราอาจจะต้ังชื่อตาราง (รีเลชั่น) ทั้ง 3 นี้ว่า การสั่งสินค้า สินค้า และบัญชีการส่ัง แสดงดัง
ตารางท่ี 6.4 ตารางท่ี 6.5 และตารางที่ 6.6
3204-2005 ระบบฐานขอ้ มูล
97
หน่วยที่ 6 การจดั ระบบขอ้ มลู ในรูปแบบบรรทัดฐาน
ตารางท่ี 6.4 แสดงตารางการสงั่ สนิ คา้ ทอ่ี ยใู่ นรปู แบบบรรทัดฐานระดบั ท่ี 2
การสง่ั สนิ คา้
รหสั การส่งั วันทส่ี งั่ สนิ คา้
55489 02/02/55
55490 02/02/55
55491 04/03/55
55492 04/03/55
55493 05/03/55
55494 05/03/55
55495 05/03/55
ตารางที่ 6.5 แสดงตารางสินคา้ ทอ่ี ยใู่ นรูปแบบบรรทดั ฐานระดับที่ 2
สินคา้
รหสั สนิ คา้ ชอ่ื สินค้า ราคาสนิ คา้
55111 เตารีด 280
55112 เตา 8000
55113 เคร่อื งซกั ผา้ 8000
55114 เครื่องดดู ฝนุ่ 3500
55115 โทรทศั น์ 4400
55116 ตเู้ ย็น 280
55117 พัดลม 8500
55118 หลอดไฟ 8000
55119 วิทยุ 3500
3204-2005 ระบบฐานขอ้ มลู
98
หน่วยที่ 6 การจดั ระบบข้อมูลในรูปแบบบรรทดั ฐาน
ตารางที่ 6.6 แสดงตารางบัญชกี ารสง่ั ทอี่ ยู่ในรปู แบบบรรทัดฐานระดับที่ 2
บญั ชีการสง่ั รหสั สนิ ค้า จาํ นวนท่ีสัง่
รหัสการสงั่ 55111 11
55489 55112 1
55490 55113 1
55490 55114 4
55491 55115 2
55492 55111 4
55493 55112 1
55493 55113 2
55494 55117 2
55495
จากตารางที่ 6.6 พบว่าการแกไ้ ขขอ้ มลู ที่เคยเปน็ ปัญหาอยจู่ ะไม่เกิดข้ึนแล้ว เช่น การเปล่ียนชื่อ
ของ 55112 จากเตาเป็นไมโครเวฟก็จะทําในตารางสินค้าเพียงแถวเดียว ซ่ึงไม่ทําให้เกิดความขัดแย้ง
ข้ึน ส่วนกรณีของการส่ังเตารีด ซ่ึงมีรหัส 55489 เราก็เพียงแต่ลบข้อมูลแถวแรกออกจากตารางบัญชี
การส่งั ซ่งึ จะไม่กระทบกระเทอื นขอ้ มลู เกีย่ วกบั 55111 เพราะยงั เกบ็ อยใู่ นตารางสินค้าในรูปเดิม ไม่มี
การเปล่ียนแปลง
4.3 รูปแบบบรรทดั ฐานระดบั ที่ 3 (Third Normal Form : 3NF)
รีเลช่ันใดๆ จะอยใู่ นรปู แบบบรรทัดฐานระดบั ที่ 3 ก็ตอ่ เมื่อ รเี ลช่นั น้นั ๆ อยใู่ นรูปแบบ
บรรทดั ฐานระดบั ที่ 2 และแอททรบิ วิ ต์ที่ไมไ่ ดเ้ ปน็ คยี ห์ ลักไมม่ ีคณุ สมบัติในการกาํ หนดค่าของ
แอททริบวิ ตอ์ น่ื ท่ีไม่ใช่คีย์หลกั (Transitive Dependency) แสดงดังตารางท่ี 6.7
นิยาม
รเี ลชน่ั ทอี่ ยู่ในรปู แบบบรรทดั ฐานขนั้ ที่ 3 ก็ต่อเมอ่ื
1. รเี ลชั่นนั้นต้องอย่ใู นรูปแบบบรรทดั ฐานขน้ั ท่ี 2 และ
2. ไมม่ แี อททรบิ ิวต์ทไ่ี มใ่ ชค่ ยี ห์ ลกั สามารถระบุคา่ แอททรบิ ิวต์ท่ไี ม่ใชค่ ยี ห์ ลกั
อนื่ ได้ (Transitive Dependency)
หลักการแปลงใหเ้ ป็น 3NF
1. หากในรีเลช่นั มีการขึ้นต่อกันแบบทรานซิทฟี ใหต้ ดั เอาแอททรบิ วิ ตท์ ่ีขนึ้ ตอ่ กัน
แบบทรานซิทฟี ออกไปสร้างรเี ลช่นั ใหม่
3204-2005 ระบบฐานขอ้ มูล
99
หน่วยที่ 6 การจดั ระบบข้อมูลในรูปแบบบรรทัดฐาน
2. สร้างรเี ลชั่นใหม่ โดยนําเอาแอททรบิ วิ ต์ทขี่ น้ึ ตอ่ กนั แบบทรานซทิ ฟี จากรเี ลชน่ั เดมิ มา
และกาํ หนดคียห์ ลกั โดยเลอื กเอาแอททริบวิ ต์ทส่ี ามารถกําหนดค่าของแอททรบิ วิ ต์
อนื่ ๆ ได้
3. ในรีเลช่ันเดมิ ให้คงแอททริบิวตท์ ี่สามารถเลอื กค่าแอททรบิ ิวต์ทไี่ ม่ใชค่ ยี ห์ ลกั ไวเ้ ปน็
คยี ์นอก (Foreign key) เพอ่ื ใช้ในการเช่อื มโยงกบั รีเลช่นั ใหม่
ตารางที่ 6.7 แสดงรีเลชนั่ ลูกค้าที่มรี ูปแบบบรรทัดฐานระดบั ที่ 2 (2NF)
ลกู คา้
รหสั ลูกคา้ ช่อื ลูกคา้ ทอี่ ยู่ รหสั พนกั งาน ช่ือพนักงานขาย
55124 เฉลยี ว 18 สุขสวสั ด์ิ 553 ธนา
55256 ผุสดี 21 สขุ มุ วิท 9 556 มณรี ัตน์
55311 ยงยทุ ธ์ 25/4 รามอินทรา 29 557 ประจวบ
55315 พิชัย 105 ลาดพรา้ ว 97 556 มณีรัตน์
55405 นนั ทวนั 25 ลาดพร้าว 130 557 ประจวบ
55412 ประเดิม 179 สาธุประดิษฐ์ 553 ธนา
55522 มณี 58 เจริญกรุง 557 ประจวบ
55587 วชั รี 46 วทิ ยุ 556 มณีรตั น์
55622 มณี 567 พหลโยธนิ 18 553 ธนา
จากตารางที่ 6.7 มีคีย์ประกอบด้วยแอททริบิวต์เพียงตัวเดียวคือ รหัสลูกค้า ก็ยังมีปัญหาเกิด
ขึ้นกับข้อมูลถ้าเราเพ่ิมเติมข้อมูลของพนักงานขายเข้าไป การซํ้าซ้อนในส่วนของพนักงานขายเกิดขึ้น
ปญั หาในการแกไ้ ขขอ้ มลู ก็จะเกิดข้นึ ตามมาเหมอื นเดมิ เช่น
1) การแก้ไขข้อมลู ถา้ มีการแกไ้ ขขอ้ มลู เก่ยี วกบั พนกั งานขาย เชน่ พนักงานขายหมายเลข
557 ทาํ การเปลี่ยนชื่อจาก ประจวบ เปน็ ประจกั ษ์ จะยังผลให้ตอ้ งทาํ การแก้ไขหลายแหง่
2) ความขัดแย้งของขอ้ มลู ผลสบื เนื่องมาจากการแกไ้ ขข้อมลู ที่ปรากฏหลายแหง่ อาจจะทํา
การแกไ้ ขไม่ครบทุกแหง่ ซง่ึ เป็นต้นเหตุให้ขอ้ มูลแตล่ ะแหง่ มคี า่ ไมต่ รงกัน
3) การเพมิ่ เติมขอ้ มลู ถ้าบรษิ ทั รบั พนักงานขายเข้ามาใหมย่ กตวั อยา่ ง ช่อื สมศรี ซึ่งไดร้ ับ
รหสั หมายเลข 555 เราไม่สามารถเพ่ิมขอ้ มลู ของสมศรีเขา้ ไปในระบบได้ เน่อื งจากสมศรียงั ไม่มีลกู ค้า
4) การลบขอ้ มูล ถา้ เราเกดิ ลบข้อมูลเกยี่ วกับลกู ค้าของพนกั งานขายหมายเลข 557 ออก
จากระบบ ก็จะยงั ผลให้ข้อมลู ของพนกั งานขายคนนจ้ี ะหายไปดว้ ยทง้ั ๆ ทเี่ ขายงั คงทาํ งานอยใู่ นบรษิ ทั
จากตารางท่ี 6.7 การกาํ จัดข้อมูลทีเ่ กิดข้ึนจากทรานซีทีฟดีเพนเดนซี โดยการแยกข้อมลู ชื่อ
พนักงานขายจากรีเลขนั่ ลูกคา้ ทเ่ี ปน็ ทรานซที ีฟดีเพนเดนซอี อกมาสร้างเป็นรเี ลชั่นใหม่ ใหค้ ง
แอททรบิ ิวตร์ หสั พนกั งานขายทีจ่ ะทาํ หน้าท่ีเป็นคยี น์ อก (Foreign Key) ไว้ในรีเลช่ันเดมิ โดยตัง้ ช่อื
รเี ลชัน่ ใหม่นี้วา่ พนกั งานขาย กําหนดให้รหัสพนกั งานขายเปน็ คียห์ ลัก ซึ่งจะทาํ ให้ไดผ้ ลลพั ธด์ ังนี้
3204-2005 ระบบฐานขอ้ มูล
100
หนว่ ยท่ี 6 การจดั ระบบข้อมลู ในรปู แบบบรรทดั ฐาน
ลกู คา้ (รหัสลูกคา้ , ช่อื ลกู คา้ , ทอ่ี ยู่, รหสั พนกั งานขาย)
พนักงานขาย (รหัสพนกั งานขาย, ชอ่ื พนักงานขาย)
การจัดเก็บข้อมูล ดังแสดงในตารางท่ี 6.7 จะเห็นได้ว่าข้อมูลเก่ียวกับพนักงานขาย ถูกแยก
ออกมาอยู่คนละรีเลช่ันจึงไม่เกิดความซํ้าซ้อนแต่อย่างใดทําให้การเพิ่มเติมข้อมูลของพนักงานขายคน
ใหม่สามารถกระทําได้โดยไม่ต้องมีลูกค้าเนื่องจากข้อมูลถูกจัดเก็บแยกรีเลช่ันกัน นอกจากนั้นปัญหา
ในการลบข้อมูลของลูกค้าก็จะไม่เกิดข้ึนอีกต่อไป เพราะกระทําเฉพาะรีเลชั่นลูกค้าเท่าน้ัน แสดงดัง
ตารางที่ 6.8 และตารางที่ 6.9
ตารางที่ 6.8 แสดงรเี ลชนั่ ลกู ค้าและรเี ลชน่ั พนกั งานขายทีม่ ีรูปแบบบรรทดั ฐานระดับท่ี 3 (3NF)
ลกู คา้
รหัสลกู คา้ ชอ่ื ลูกคา้ ทอี่ ยู่ รหสั พนกั งานขาย
55124 เฉลยี ว 18 สขุ สวัสดิ์ 553
55256 ผุสดี 21 สุขุมวทิ 9 556
55311 ยงยทุ ธ์ 25/4 รามอนิ ทรา 29 557
55315 พิชัย 105 ลาดพรา้ ว 97 556
55405 นนั ทวัน 25 ลาดพร้าว 130 557
55412 ประเดิม 179 สาธปุ ระดิษฐ์ 553
55522 มณี 58 เจริญกรุง 557
55587 วชั รี 46 วิทยุ 556
55622 มณี 576 พหลโยธนิ 18 553
พนกั งานขาย
รหสั พนกั งานขาย ชือ่ พนกั งานขาย
553 ธนา
556 มณีรตั น์
557 ประจวบ
3204-2005 ระบบฐานขอ้ มูล
101
หนว่ ยที่ 6 การจัดระบบข้อมูลในรูปแบบบรรทดั ฐาน
4.4 รูปแบบบรรทดั ฐานของบอยส์และคอดด์ (Boyce/Codd Normal Form : BCNF)
รีเลชั่นหน่ึงๆ จะอยู่ในรูปแบบบรรทัดฐานของบอยส์และคอดด์ก็ต่อเมื่อรีเลชั่นนั้นๆ อยู่
ในรูปแบบบรรทัดฐานระดับท่ี 3 และไม่มีแอททริบิวต์อ่ืนในรีเลชั่นท่ีสามารถระบุค่าของแอททริบิวต์ที่
เป็นคยี ห์ ลกั หรือสว่ นหนงึ่ ส่วนใดของคยี ห์ ลักในกรณีท่ีคยี ห์ ลักเปน็ คยี ผ์ สม แสดงดงั ตารางที่ 6.9
ตารางท่ี 6.9 แสดงตวั อยา่ งการจัดระบบข้อมลู ในรปู แบบบรรทัดฐานของบอยส์และคอดด์
ลกู คา้
รหสั ลกู ค้า รหัสประจาํ ตวั ผเู้ สียภาษี ช่ือลูกคา้ ท่ีอยู่
555401 390029801874 นายสุข กลา้ ดี 450 อ.เมือง จ.สกลนคร
555509 493002918340 นางมัทนา เป็นไทย 40/2 อ.พังโคน จ.สกลนคร
556577 398700100908 น.ส.กวีณา กริน 64 อ.สว่าง จ.สกลนคร
554590 760012002301 นายสมิต ธรรมสโร 2/45 อ.เมือง จ.สกลนคร
สามารถเขยี นความสัมพันธ์ไดด้ ังนี้
รหัสประจาํ ตัวผเู้ สยี ภาษี ช่ือลกู คา้ ทอี่ ยู่
390029801874 นายสุข กล้าดี 450 อ.เมอื ง จ.สกลนคร
493002918340 นางมัทนา เป็นไทย 40/2 อ.พงั โคน จ.สกลนคร
398700100908 น.ส.กวณี า กรนิ 64 อ.สว่าง จ.สกลนคร
760012002301 นายสมติ ธรรมสโร 2/45 อ.เมือง จ.สกลนคร
รหสั ลูกค้า ช่อื ลูกคา้ ท่อี ยู่
555401 นายสขุ กลา้ ดี 450 อ.เมอื ง จ.สกลนคร
555509 นางมทั นา เปน็ ไทย 40/2 อ.พงั โคน จ.สกลนคร
556577 น.ส.กวีณา กรนิ 64 อ.สว่าง จ.สกลนคร
554590 นายสมติ ธรรมสโร 2/45 อ.เมือง จ.สกลนคร
รหัสลูกค้า รหัสประจาํ ตวั ผูเ้ สยี ภาษี
555401 390029801874
555509 493002918340
556577 398700100908
554590 760012002301
3204-2005 ระบบฐานขอ้ มูล
102
หนว่ ยท่ี 6 การจัดระบบข้อมูลในรปู แบบบรรทดั ฐาน
4.5 รูปแบบบรรทดั ฐานระดบั ที่ 4 (Fourth Normal Form : 4NF)
รเี ลชัน่ หน่งึ ๆ จะอยู่ในรปู แบบบรรทดั ฐานระดบั ท่ี 4 ก็ต่อเมื่อ รีเลชนั่ นน้ั ๆ อย่ใู นรปู แบบ
BCNF และเปน็ รีเลช่นั ท่ไี ม่มคี วามสมั พนั ธใ์ นการระบุคา่ ของแอททรบิ ิวต์แบบหลายคา่ โดยที่
แอททรบิ ิวต์ทถ่ี ูกระบุค่าหลายค่าเหล่าน้ไี มม่ คี วามสมั พนั ธก์ นั
รเี ลชน่ั ท่อี ยู่ในรูปแบบ BCNF จะอยใู่ นรูปแบบบรรทดั ฐานระดับท่ี 3 แต่รเี ลช่ันทอ่ี ยู่ใน
รปู แบบบรรทดั ฐานระดับที่ 3 ไม่จําเป็นจะต้องอย่ใู นรปู แบบ BCNF ดงั น้ันรีเลช่นั ที่ควรตอ้ งผา่ นการทาํ
ใหอ้ ยู่ในรปู แบบ BCNF จะตอ้ งมลี ักษณะทร่ี เี ลชนั่ น้นั มีคียค์ ูแ่ ข่งหลายตัว โดยคยี ์คแู่ ข่งเหล่าน้นั เปน็ คีย์
ผสมและมีความซ้าํ ซ้อนกัน
ตวั อย่าง สินคา้ ชนดิ หน่งึ มีผ้ผู ลิตหลายบรษิ ทั ผผู้ ลติ แตล่ ะบริษทั มโี ครงการผลิตหลาย
โครงการ และมโี รงงานตงั้ อยู่หลายจังหวดั แสดงดังตารางท่ี 6.10
ตารางที่ 6.10 แสดงการปรบั ใหเ้ ป็น 1NF โดยใหท้ กุ แอททริบิวต์ประกอบกนั เป็นคียห์ ลกั
ผผู้ ลิต ผู้ผลติ
รหสั รหัส จังหวดั ทตี่ ้ัง รหัส รหสั จงั หวดั ท่ีต้งั
ผู้ผลติ โครงการท่ี โรงงาน ผู้ผลติ โครงการที่ โรงงาน
ส่งั ผลิต สัง่ ผลิต
S1 PJ001 กรงุ เทพฯ S1 PJ001 กรงุ เทพฯ
PJ001 สมทุ รปราการ S1 PJ001 สมุทรปราการ
PJ002 กรงุ เทพฯ S1 PJ002 กรงุ เทพฯ
PJ002 สมุทรปราการ S1 PJ002 สมุทรปราการ
S2 PJ003 ระยอง S2 PJ003 ระยอง
PJ003 ชลบรุ ี S2 PJ003 ชลบุรี
PJ004 ระยอง S2 PJ004 ระยอง
PJ004 ชลบุรี S2 PJ004 ชลบุรี
PJ005 ระยอง S2 PJ005 ระยอง
PJ005 ชลบุรี S2 PJ005 ชลบรุ ี
จากตารางท่ี 6.10 รีเลช่ันผู้ผลิตประกอบด้วยรหัสผู้ผลิต ซ่ึงมีความสัมพันธ์แบบหนึ่งต่อกลุ่มกับ
แอททริบิวต์ รหัสโครงการท่ีส่ังผลิต และจังหวัดที่ตั้งโรงงาน รีเลช่ันผู้ผลิตจะอยู่ในรูปแบบ BCNF เม่ือ
มีแอททริบิวต์ทุกแอททริบิวต์ประกอบกันเป็นคีย์หลัก แต่แอททริบิวต์รหัสโครงการที่ส่ังผลิตไม่มี
ความสัมพันธ์กับจังหวัดท่ีตั้งโรงงานแต่มาอยู่ในรีเลชั่นเดียวกันจึงก่อให้เกิดความซ้ําซ้อนของข้อมูล
เกิดข้ึน เพราะจังหวัดที่ต้ังโรงงานอยู่ในรีเลชั่นที่ซ้ํากัน ดังนั้นรีเลชั่นนี้จึงมีปัญหาแฝงอยู่แม้ว่ารีเลชั่น
ผผู้ ลติ จะอยู่ในรูปแบบของ BCNF โดยมแี อททรบิ วิ ตท์ ุกแอททริบิวตป์ ระกอบกันเป็นคยี ห์ ลกั ก็ตาม
3204-2005 ระบบฐานขอ้ มูล
103
หนว่ ยที่ 6 การจดั ระบบข้อมลู ในรูปแบบบรรทดั ฐาน
ปัญหาความผิดพลาดท่ีเกิดขึ้นจากการเพิ่ม ลบ หรือปรับปรุงข้อมูลในรีเลช่ันผู้ผลิต มีโอกาส
เกิดข้ึน เช่น หากผู้ผลิตรหัส S2 ย้ายโรงงานท่ีต้ังอยู่ในจังหวัดระยองไปอยู่จังหวัดอ่ืน ต้องทําการแก้ไข
ข้อมูลหลายทูเพิล หรือความผิดพลาดท่ีเกิดจากการเพ่ิมข้อมูลอาจจะทําไม่ได้ เช่น การเก็บข้อมูล
ชื่อจังหวัดท่ีต้ังโรงงานของผู้ผลิตรายใหม่ท่ียังไม่เคยได้รับงานโครงการใดเลยจะทําไม่ได้ เป็นต้น
การแกไ้ ขปญั หาทําไดโ้ ดยการแตกรีเลชั่น ผู้ผลติ ออกเป็นสองรีเลชั่น แสดงดงั ตารางท่ี 6.11
โครงการผลติ (รหัสผผู้ ลติ , รหัสโครงการทส่ี ง่ั ผลติ )
โรงงานผลติ (รหสั ผู้ผลิต, จงั หวดั ที่ต้ังโรงงาน)
ตารางที่ 6.11 แสดงตวั อยา่ งการจดั ระบบข้อมลู ในรปู แบบบรรทดั ฐานระดับท่ี 4
โครงการผลติ
รหัสผ้ผู ลติ รหัสโครงการทสี่ ัง่ ผลิต
S1 PJ001
S1 PJ002
S2 PJ003
S2 PJ004
S2 PJ005
โรงงานผลิต
รหัสผู้ผลิต รหัสโครงการท่สี ัง่ ผลติ
S1 กรุงเทพฯ
S1 สมุทรปราการ
S2 ระยอง
S2 ชลบรุ ี
4.6 รูปแบบบรรทดั ฐานระดบั ท่ี 5 (Fifth Normal Form : 5NF)
รเี ลชน่ั หนึง่ ๆ จะอยใู่ นรูปแบบบรรทัดฐานระดบั ท่ี 5 หรือที่เรยี กว่า Project-Join
Normal Form (PJ/NF) ก็ต่อเม่อื รเี ลชน่ั น้นั อยู่ในรปู แบบบรรทัดฐานระดับที่ 4 และไมม่ ี Symmetric
Constraint กล่าวคือหากมกี ารแตกรีเลชั่นออกเปน็ รีเลชนั่ ย่อย (Projection) และเมื่อทําการเชื่อมโยง
รเี ลชั่นยอ่ ยทงั้ หมด (Join) จะไมก่ ่อใหเ้ กดิ ข้อมูลใหม่ทไ่ี มเ่ หมือนรีเลช่นั เดมิ (Squrious Tuple)
ตัวอย่าง รีเลชั่นผู้ผลิต ประกอบด้วยแอททริบิวต์ ชื่อผู้ผลิต ชื่อสินค้า และชื่อโครงการ
โดยมแี อททริบวิ ตท์ ัง้ สามเป็นคีย์หลัก แสดงดงั ตารางท่ี 6.12
3204-2005 ระบบฐานขอ้ มูล
104
หน่วยท่ี 6 การจดั ระบบข้อมลู ในรูปแบบบรรทัดฐาน
ตารางท่ี 6.12 แสดงรเี ลช่ันผูผ้ ลติ ท่ีอยใู่ นรูปแบบบรรทดั ฐานระดับที่ 4
ผผู้ ลติ ช่อื สนิ ค้า ชอื่ โครงการ
ชอ่ื ผ้ผู ลิต ปากกา PJ2
โตะ๊ PJ1
เสรี ปากกา PJ1
เสรี ปากกา PJ1
พนิดา
เสรี
จากตารางท่ี 6.12 รีเลชั่นผู้ผลิตที่อยู่ในรูปแบบบรรทัดฐานระดับท่ี 4 ด้วยการให้แอททริบิวต์
ทั้งสามประกอบกันเป็นคีย์หลัก แต่ยังมีปัญหาในการปรับปรุงแก้ไขข้อมูล เช่น หากต้องการลบข้อมูล
ของทูเพิลท่ี 3 (พนิดา, ปากกา, PJ1) ข้อมูลของชื่อผู้ผลิต คือ พนิดาจะหายไปจากฐานข้อมูลหรือหาก
มีการเปล่ียนชอื่ สินคา้ ก็ต้องทาํ การปรบั ปรุงขอ้ มลู หลายทูเพลิ เป็นต้น
เพ่ือหลีกเลี่ยงปัญหาดังกล่าว จึงทําการแยกรีเลชั่น ผู้ผลิต เป็นสามรีเลช่ันย่อย โดยแต่ละ
รเี ลช่ันย่อยจะประกอบดว้ ยแอททรบิ วิ ตแ์ ต่ละคู่เป็นคีย์หลัก แสดงดงั ตารางที่ 6.13
ตารางท่ี 6.13 แสดงตวั อยา่ งการจดั ระบบข้อมลู ในรปู แบบบรรทัดฐานระดบั ท่ี 5
การผลติ สินค้าทผ่ี ลติ โครงการผลิต
ชือ่ ผผู้ ลิต ช่ือสนิ คา้ ช่อื สนิ คา้ ชือ่ โครงการ ชื่อโครงการ ชอื่ ผู้ผลติ
เสรี ปากกา ปากกา PJ2 PJ2 เสรี
เสรี โต๊ะ โตะ๊ PJ1 PJ1 เสรี
พนดิ า ปากกา ปากกา PJ1 PJ1 พนิดา
ผผู้ ลติ
ช่อื ผู้ผลิต ชือ่ สนิ คา้ ช่ือโครงการ
เสรี ปากกา PJ2
เสรี โต๊ะ PJ1
พนดิ า ปากกา PJ1
เสรี ปากกา PJ1
จากตารางที่ 6.13 เมอ่ื แตกรีเลชัน่ ผผู้ ลติ ออกเปน็ รีเลชัน่ การผลิต สนิ คา้ ทผ่ี ลติ และโครงการ
ผลิต หากนํารีเลชนั่ ท้ังสามมาเชอ่ื มโยงกนั (JOIN) จะมีข้อมลู เหมอื นในรเี ลชน่ั เดิม (Symmetric
Constraint) คือ ไม่มลี กั ษณะของทูเพิลท่เี กนิ มาซ่งึ เรยี กวา่ Spurious Tuple
3204-2005 ระบบฐานขอ้ มลู
105
หนว่ ยท่ี 6 การจัดระบบขอ้ มลู ในรูปแบบบรรทัดฐาน
ประเดน็ ทีค่ วรคํานึงถึงในการทาํ ให้เป็นรปู แบบบรรทัดฐาน คอื การแตกรเี ลช่นั มากเกินไป
(Over normalization)
วัตถุประสงค์หน่ึงของการทําให้เป็นรูปแบบบรรทัดฐาน คือ เพ่ือลดปัญหาในด้านความซํ้าซ้อน
ของข้อมูล และลดปัญหาในเรื่องการเพิ่ม การปรับปรุง หรือลบข้อมูล โดยท่ัวไปแล้วการออกแบบใน
ระดับแนวคดิ ผู้ออกแบบจะพยายามวเิ คราะหร์ ีเลชั่นให้อยูใ่ นรปู แบบระดับท่ี3 แต่ถ้ามีกรณีของปัญหา
ท่ีจําเป็นต้องทําต่อไปถึงรูปแบบบรรทัดฐานของบอยส์และคอดด์ หรือระดับท่ี 4 หรือระดับที่ 5
(ซึ่งเกิดข้ึนน้อยมากในทางปฏิบัติ) แต่อย่าพยายามแตกรีเลช่ันให้มากเกินความจําเป็น (Over
normalization) เพราะการแตกรีเลชั่นออกเป็นรีเลช่ันย่อยมากเกินไป มีผลต่อประสิทธิภาพในการ
ทาํ งานของฐานขอ้ มูลนนั้ ๆ เช่น ในการคน้ หาขอ้ มูลจะใชเ้ วลามากเกินไป เป็นต้น
ZZZ สรปุ
กระบวนการนอร์มัลไลซ์น้ีมีความสําคัญต่อการออกแบบระบบฐานข้อมูลมาก ฐานข้อมูลที่ดีที่
สามารถจัดการข้อมูลได้อย่างมีประสิทธิภาพน้ัน จะต้องถูกออกแบบโดยผ่านกระบวนการนอร์มัลไลซ์
มากอ่ นเสมอ การจดั ระบบขอ้ มูลในรปู แบบบรรทดั ฐาน เปน็ เครื่องมอื ท่ีช่วยในการออกแบบฐานข้อมูล
เชิงสมั พันธ์ มีวตั ถปุ ระสงคเ์ พื่อลดพนื้ ทใ่ี นการจัดเกบ็ ข้อมลู ลดปัญหาทีเ่ กิดจากการเพ่ิม ปรับปรุง และ
ลบข้อมูล ดังน้ันรีเลช่ันท่ีมีกลุ่มข้อมูลซ้ํานี้จําเป็นจะต้องนํามาผ่านกระบวนการนอร์มัลไลซ์ เพื่อขจัด
กลมุ่ ข้อมลู ซาํ้ ออกไป และสร้างรเี ลชั่นรูปแบบใหมซ่ ่ึงอาจจะมีการแตกรีเลชนั่ ออกเปน็ รเี ลชนั่ ยอ่ ยหลาย
รเี ลช่นั เพอ่ื จดั รเี ลชัน่ เหล่านั้นใหอ้ ยใู่ นรูปแบบที่งา่ ยต่อการใช้งาน และการจัดการขอ้ มูลภายใน
รูปแบบบรรทัดฐาน (Normal Form) มีการดําเนินงานเป็นลําดับที่กําหนดไว้เป็นข้ันตอนตาม
ปญั หาท่ีเกิดข้ึนดังน้ี รูปแบบบรรทัดฐานระดับท่ี 1(1NF) รูปแบบบรรทัดฐานระดับท่ี 2 (2NF) รูปแบบ
บรรทัดฐานระดับท่ี 3 (3NF) รูปแบบบรรทัดฐานบอยส์-คอดด์ (BCNF) รูปแบบบรรทัดฐานระดับท่ี 4
(4NF) และรูปแบบบรรทดั ฐานระดับท่ี 5(5NF) รีเลชน่ั ท่ีไมน่ อรม์ ลั หรอื เปน็ รเี ลชั่นท่ียงั ไม่ผ่านการนอร์
มัลไลซ์ ถ้าจะทําให้รีเลช่ันน้ันเป็นรีเลชั่นอยู่ในรูปแบบที่เรียกว่าแบบนอร์มัล (Normal Form) น้ัน
จะต้องจดั ระบบข้อมูลให้อยใู่ นรปู แบบบรรทัดฐานระดบั ที่ 3 (3NF)
3204-2005 ระบบฐานขอ้ มูล
106
หน่วยท่ี 6 การจัดระบบขอ้ มลู ในรูปแบบบรรทัดฐาน
แบบฝกึ หัดทา้ ยหนว่ ยที่ 6
คําสัง่ ใหน้ ักศกึ ษาตอบคําถามตอ่ ไปนี้ (ใหเ้ ขยี นคําตอบลงในสมุด)
1. จงบอกความหมายของการจดั ระบบขอ้ มลู ในรปู แบบบรรทดั ฐาน
..................................................................................................................................................
2. บอกวัตถปุ ระสงค์ของการจดั ระบบขอ้ มูลในรูปแบบบรรทดั ฐาน
………………………………………………………………………………………………………………………………….
3. จงบอกประโยชน์ของการปรับบรรทัดฐาน
…………………………………………………………………………………………………………………………………
4. จงอธบิ ายกระบวนการปรบั บรรทดั ฐาน
………………………………………………………………………………………………………………………………….
5. จงบอกการจัดระบบขอ้ มลู ในรูปแบบบรรทดั ฐานมกี ่ีขน้ั ตอน มีข้ันตอนอะไรบา้ ง
…………………………………………………………………………………………………………………………………
6. จากรเี ลชัน่ คนงานขา้ งลา่ งนี้ ใหจ้ ัดระบบข้อมลู ใหอ้ ยใู่ นรูปแบบบรรทดั ฐาน
คนงาน
รหสั ชอ่ื สกลุ ความชาํ นาญ เงิน รหสั ท่ีอยูส่ ถานที่ รหัสผู้ ช่ือผู้
คนงาน เดือน สถานท่ี ก่อสรา้ ง ควบคุม ควบคมุ
55215 นายกฤษ สมพร งานปูน 24500 551 หมูบ่ า้ นสกล 5511 สมบัติ
552 หมบู่ ้านราชธานี
55090 นายมนูญ สกุ ใส งานโครงสร้าง 12000 553 สกลเมอื งทอง 5545 สรพงษ์
551 หมูบ่ ้านสกล
552 หมบู่ า้ นราชธานี
55273 นายนิด มณี งานไฟฟ้า 14500 552 หม่บู า้ นราชธานี 5532 ชาตชิ าย
55500 นายสมพล สีเนยี น งานประปา 16000 554 อาคารหอสมุด 5521 วีระชยั
55192 นายเอก จามร งานไม้ 9000 552 หมบู่ ้านราชธานี 5598 ศักดา
551 หมู่บ้านสกล
555 หมูบ่ ้านสกลนคร
3204-2005 ระบบฐานขอ้ มลู
107
หน่วยที่ 6 การจัดระบบข้อมลู ในรปู แบบบรรทัดฐาน
จากตัวอยา่ งรเี ลช่ันคนงานข้างตน้ ใหน้ ักศกึ ษาตอบคําถามข้อท่ี 6.1 – 6.4
6.1 ให้จัดระบบขอ้ มลู ในรูปแบบบรรทัดฐานระดับที่ 1 และบอกคณุ สมบัติของรูปแบบบรรทัด
ฐานระดบั ท่ี 1
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
6.2 ให้จดั ระบบขอ้ มูลในรูปแบบบรรทดั ฐานระดับที่ 2 และบอกคณุ สมบตั ขิ องรูปแบบบรรทัด
ฐานระดับที่ 2
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
6.3 ใหจ้ ดั ระบบข้อมูลในรปู แบบบรรทัดฐานระดับที่ 3 และบอกคุณสมบัตขิ องรปู แบบบรรทดั
ฐานระดับท่ี 3
…………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
6.4 ใหส้ รปุ ผลของการจัดระบบขอ้ มูลในรูปแบบบรรทดั ฐาน หลังจากท่ไี ดจ้ ัดระบบข้อมูลใน
รปู แบบบรรทดั ฐานให้อยูใ่ นรปู ของ 1NF 2NF และ 3NF ทเี่ สร็จเรียบร้อยแลว้
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………
3204-2005 ระบบฐานขอ้ มูล