ในกระบวนการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานตั้งแต่ขั้นที่ 1 มาจนถึงขั้นที่ 4 จะพบว่า เพื่อแก้ไขปัญหาความซ้ำซ้อนของข้อมูลที่ปรากฏในรีเลชัน มักจะทำการจำแนกรีเลชันออกเป็นรีเลชันย่อย (projection) ซึ่งจะทำให้ได้รีเลชันใหม่อย่างน้อย 2 รีเลชันย่อย และในทุกครั้งของการจำแนกรีเลชันออกเป็นรีเลชันย่อย สิ่งสำคัญที่ควรคำนึงถึงเสมอ คือ เมื่อทำการจำแนกรีเลชันออกเป็นรีเลชันย่อยแล้ว หากนำรีเลชันย่อยที่ถูกจำแนกมารวมกันจะต้องได้รีเลชันกลับไปเหมือนเช่นเดิมเสมอ นั่นคือ จะต้องไม่มีข้อมูลทูเพิลใดเกินมาจาก รีเลชันเดิม (no spurious tuple) หรือไม่มีข้อมูลทูเพิลใดสูญหายไปจากรีเลชันเดิม
โดยทั่วไป กระบวนการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานมักทำจนกระทั่งรีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 ซึ่งหากยังพบปัญหาความซ้ำซ้อนของข้อมูลหลงเหลืออยู่อีกจึงดำเนินการทำให้รีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์ หรือรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 ซึ่งมักพบได้น้อยมาก จากนั้นจึงทำการตรวจสอบคุณสมบัติของรีเลชันอีกครั้งด้วยการจัดทำให้เป็นรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 เพื่อให้เกิดความมั่นใจว่า รีเลชันมีปัญหาความซ้ำซ้อนของข้อมูลหลงเหลืออยู่น้อยมากหรือแทบจะไม่ปรากฏอยู่เลย
ดังนั้น รูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 (Fifth Normal Form : 5NF) จึงเป็นขั้นตอนสุดท้ายในกระบวนการทำให้เป็นรูปแบบที่เป็นบรรทัดฐาน ซึ่งเป็นการแก้ไขปัญหาความซ้ำซ้อนของข้อมูลที่ ปรากฏในรีเลชัน หากรีเลชันใดมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้วก็แทบจะรับรองได้ว่า ข้อมูลในรีเลชันนั้นมีความถูกต้องและสมบูรณ์ จนแทบจะไม่มีปัญหาความซ้ำซ้อนของข้อมูลหลงเหลืออยู่
ทั้งนี้ นิยามคุณสมบัติของรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 จะมีขอบเขตครอบคลุมคุณสมบัติของรูปแบบที่เป็นบรรทัดฐานที่ต่ำกว่าทั้งหมด โดยไม่ระบุว่า รีเลชันนั้นจะต้องมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 หรือรูปแบบที่เป็นบรรทัดฐานขั้นที่ต่ำกว่า
รีเลชันใด ๆ จะมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 หรือ Projection-Join Normal Form (PJ/NF) ก็ต่อเมื่อ
1. รีเลชันนั้น ๆ มีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Join และรีเลชันย่อย ๆ ที่จำแนกออกมาต้องมีคีย์คู่แข่งของรีเลชันเดิมอยู่ด้วยเสมอ หรือ
2. รีเลชันนั้น ๆ ไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Join
เพื่อแสดงให้เห็นถึงการจัดทำรีเลชันให้เป็นรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 ในที่นี้ขอนำ ตัวอย่างรีเลชันมาประกอบดังนี้
- รีเลชันนักศึกษาประกอบด้วย แอททริบิวต์ชื่อนักศึกษา ชื่ออาจารย์ที่ปรึกษา และวิชาเอก โดยมีแอททริบิวต์ชื่อนักศึกษา ชื่ออาจารย์ที่ปรึกษา และวิชาเอก ประกอบกันเป็นคีย์หลัก
ชื่อนักศึกษา |
ชื่ออาจารย์ที่ปรึกษา |
วิชาเอก |
สมชาย พลจันทร์ |
สัมพันธ์ เย็นสำราญ |
สถิติ |
สุทิศา พินิจไพฑูรย์ |
ศิริภัทรา เหมือนมาลัย |
คณิตศาสตร์ |
ณัฐพร ประคองเก็บ |
เมธี ปิยะคุณ |
สถิติ |
นพดล ทับทิมทอง |
ศิริชัย ศรีพรหม |
คณิตศาสตร์ |
มัทนา พินิจไพฑูรย์ |
สัมพันธ์ เย็นสำราญ |
สถิติ |
สมชาย พลจันทร์ |
ศิริภัทรา เหมือนมาลัย |
คณิตศาสตร์ |
จากภาพจะพบว่า เกิดปัญหาความซ้ำซ้อนของข้อมูลในรีเลชันดังนี้คือ การปรับปรุงข้อมูลใด ๆ จะต้องทำซ้ำหลายแห่ง ทำให้สิ้นเปลืองเวลา รวมทั้งอาจทำการแก้ไขข้อมูลได้ไม่ครบถ้วนและถูกต้องทุกรายการก็ได้ ตัวอย่างเช่น การแก้ไขข้อมูลชื่ออาจารย์ที่ปรึกษาจาก สัมพันธ์ เย็นสำราญ เป็น จันทนา พรหมศิริ นอกจากนี้ การลบข้อมูลออกจากรีเลชันอาจทำให้ข้อมูลบางส่วนสูญหายไปจากฐานข้อมูล ตัวอย่างเช่น หากนักศึกษาชื่อ นภดล ทับทิมทอง ลาออก ข้อมูลที่เกี่ยวข้องจะถูกลบไปทั้งทูเพิล ดังนั้น ข้อมูลชื่ออาจารย์ ที่ปรึกษา ศิริชัย ศรีพรหม ซึ่งมีเพียงแห่งเดียวในฐานข้อมูลก็จะสูญหายไปด้วย
เพื่อขจัดปัญหาความซ้ำซ้อนของข้อมูลที่เกิดขึ้นในรีเลชันจึงต้องจัดทำรีเลชันให้เป็นรูปแบบที่เป็นบรรทัดฐาน โดยลำดับแรก คือ การตรวจสอบรีเลชันนักศึกษาว่า มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานใดก่อนที่จะทำให้เป็นรูปแบบที่เป็นบรรทัดฐานในขั้นต่อไป
จากการตรวจสอบพบว่า รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 แล้ว เนื่องจาก
1. รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 แล้ว เนื่องจากทุกแอททริบิวต์ในแต่ละทูเพิลมีค่าของข้อมูลเพียงค่าเดียว
2. รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 2 แล้ว เนื่องจากทุกแอททริบิวต์ในรีเลชันนักศึกษาเป็นคีย์ผสมที่มีคุณสมบัติเป็นคีย์หลัก ดังนั้น จึงไม่มีความสัมพันธ์ระหว่าง แอททริบิวต์แบบบางส่วนเกิดขึ้น
3. รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 แล้ว เนื่องจากในรีเลชัน นักศึกษาไม่มีแอททริบิวต์อื่นที่ไม่ใช่คีย์หลัก ดังนั้น จึงไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Transitive เกิดขึ้น
4. รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์แล้ว เนื่องจากทุกแอททริบิวต์ในรีเลชันนักศึกษาเป็นคีย์ผสมที่มีคุณสมบัติเป็นคีย์หลัก ดังนั้น จึงไม่มีแอททริบิวต์ใดในรีเลชันที่สามารถระบุค่าของแอททริบิวต์ที่เป็นคีย์หลัก หรือส่วนใดส่วนหนึ่งของแอททริบิวต์ที่ประกอบกันเป็นคีย์หลักได้
5.รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 แล้ว เนื่องจากรีเลชัน นักศึกษาเป็นรีเลชันที่มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์แล้ว และไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบหลายค่า
ลำดับถัดมา คือ การตรวจสอบว่า รีเลชันนักศึกษามีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Join โดยรีเลชันย่อย ๆ ที่จำแนกออกมามีคีย์คู่แข่งของรีเลชันเดิมอยู่ด้วยเสมอ หรือไม่
จากการตรวจสอบพบว่า รีเลชันนักศึกษาสามารถจำแนกได้ 3 รีเลชันย่อย คือ รีเลชันที่ 1 รีเลชันที่ 2 และรีเลชันที่ 3
- รีเลชันที่ 1 ประกอบด้วยแอททริบิวต์ชื่อนักศึกษา และชื่ออาจารย์ที่ปรึกษา โดยมีแอททริบิวต์ชื่อนักศึกษา และชื่ออาจารย์ที่ปรึกษา ประกอบกันเป็นคีย์หลัก
- รีเลชันที่ 2 ประกอบด้วยแอททริบิวต์ชื่ออาจารย์ที่ปรึกษา และวิชาเอก โดยมีแอททริบิวต์ชื่ออาจารย์ที่ปรึกษา และวิชาเอก ประกอบกันเป็นคีย์หลัก
- รีเลชันที่ 3 ประกอบด้วยแอททริบิวต์ชื่อนักศึกษา และวิชาเอก โดยมีแอททริบิวต์ชื่อนักศึกษา และวิชาเอก ประกอบกันเป็นคีย์หลัก
เมื่อนำรีเลชันย่อยทั้งสามมาเชื่อมโยงกันจะพบว่า มีข้อมูลเหมือนในรีเลชันเดิม จึงกล่าวได้ว่า รีเลชันย่อยทั้งสามมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว
เพื่อแสดงให้เห็นถึงการจัดทำรีเลชันให้เป็นรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 ที่ชัดเจนยิ่งขึ้น ในที่นี้ขอนำตัวอย่างรีเลชันมาประกอบอีกลักษณะหนึ่งดังนี้
- รีเลชันการสอนประกอบด้วย แอททริบิวต์รหัสชุดวิชา หมู่เรียน และชื่ออาจารย์ผู้สอน โดยมี แอททริบิวต์รหัสชุดวิชา หมู่เรียน และชื่ออาจารย์ผู้สอน ประกอบกันเป็นคีย์หลัก
รหัสชุดวิชา |
หมู่เรียน |
ชื่ออาจารย์ผู้สอน |
729101 |
700 |
ศิริชัย ศรีพรหม |
729111 |
711 |
จันทนา พรหมศิริ |
729111 |
712 |
ศิริชัย ศรีพรหม |
729211 |
700 |
ศิริภัทรา เหมือนมาลัย |
729211 |
700 |
ศิริชัย ศรีพรหม |
จากภาพจะพบว่า เกิดปัญหาความซ้ำซ้อนของข้อมูลในรีเลชันดังนี้คือ การลบข้อมูลออกจากรีเลชันอาจทำให้ข้อมูลบางส่วนสูญหายไปจากฐานข้อมูล ตัวอย่างเช่น หากปิดการสอนรหัสชุดวิชา 729101 หมู่ 700 ข้อมูลที่เกี่ยวข้องจะถูกลบไปทั้งทูเพิล ดังนั้น ข้อมูลชื่ออาจารย์ผู้สอน ศิริชัย ศรีพรหม ซึ่งมีเพียงแห่งเดียวในฐานข้อมูลก็จะสูญหายไปด้วย
เพื่อขจัดปัญหาความซ้ำซ้อนของข้อมูลที่เกิดขึ้นในรีเลชันจึงต้องจัดทำรีเลชันให้เป็นรูปแบบที่เป็นบรรทัดฐาน โดยลำดับแรก คือ การตรวจสอบรีเลชันการสอนว่า มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานใดก่อนที่จะทำให้เป็นรูปแบบที่เป็นบรรทัดฐานในขั้นต่อไป
จากการตรวจสอบพบว่า รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 แล้ว เนื่องจาก
1. รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 แล้ว เนื่องจากทุกแอททริบิวต์ในแต่ละทูเพิลมีค่าของข้อมูลเพียงค่าเดียว
2. รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 2 แล้ว เนื่องจากทุกแอททริบิวต์ในรีเลชันการสอนเป็นคีย์ผสมที่มีคุณสมบัติเป็นคีย์หลัก ดังนั้น จึงไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบบางส่วนเกิดขึ้น
3. รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 แล้ว เนื่องจากในรีเลชัน การสอนไม่มีแอททริบิวต์อื่นที่ไม่ใช่คีย์หลัก ดังนั้น จึงไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Transitive เกิดขึ้น
4. รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์แล้ว เนื่องจากทุกแอททริบิวต์ในรีเลชันการสอนเป็นคีย์ผสมที่มีคุณสมบัติเป็นคีย์หลัก ดังนั้น จึงไม่มีแอททริบิวต์ใดในรีเลชันที่สามารถระบุค่าของแอททริบิวต์ที่เป็นคีย์หลัก หรือส่วนใดส่วนหนึ่งของแอททริบิวต์ที่ประกอบกันเป็น คีย์หลักได้
5. รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 แล้ว เนื่องจากรีเลชันการสอนเป็นรีเลชันที่มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์แล้ว และไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบหลายค่า
ลำดับถัดมา คือ การตรวจสอบว่า รีเลชันการสอนมีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Join โดยรีเลชันย่อย ๆ ที่จำแนกออกมามีคีย์คู่แข่งของรีเลชันเดิมอยู่ด้วยเสมอ หรือไม่
จากการตรวจสอบพบว่า รีเลชันการสอนสามารถจำแนกได้ 3 รีเลชันย่อย คือ รีเลชันที่ 1 รีเลชันที่ 2 และรีเลชันที่ 3
- รีเลชันที่ 1 ประกอบด้วยแอททริบิวต์รหัสชุดวิชา และหมู่เรียน โดยมีแอททริบิวต์รหัสชุดวิชา และหมู่เรียน ประกอบกันเป็นคีย์หลัก
- รีเลชันที่ 2 ประกอบด้วยแอททริบิวต์หมู่เรียน และชื่ออาจารย์ผู้สอน โดยมีแอททริบิวต์หมู่เรียน และชื่ออาจารย์ผู้สอน ประกอบกันเป็นคีย์หลัก
- รีเลชันที่ 3 ประกอบด้วยแอททริบิวต์รหัสชุดวิชา และชื่ออาจารย์ผู้สอน โดยมีแอททริบิวต์รหัสชุดวิชา และชื่ออาจารย์ผู้สอน ประกอบกันเป็นคีย์หลัก
เมื่อนำรีเลชันย่อยทั้งสามมาเชื่อมโยงกันจะพบว่า มีทูเพิลที่เกินมาจากรีเลชันเดิมหนึ่งทูเพิล เรียกว่า Spurious Tuple
ดังนั้นอาจกล่าวได้ว่า ในการทำรีเลชันให้มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 เมื่อทำการจำแนกรีเลชันออกมาและเชื่อมโยงรีเลชันย่อยทั้งหมดเข้าด้วยกันแล้ว หากพบว่า มีข้อมูลที่แตกต่างไปจากรีเลชันเดิมก็ไม่ควรจำแนกรีเลชันนั้นออกมา โดยให้ถือว่า รีเลชันเดิมนั้นมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว
ทั้งนี้โดยทั่วไปในทางปฏิบัติพบว่า หากรีเลชันใดมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 หรือรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์แล้ว เมื่อทำการตรวจสอบรีเลชันจะพบว่า รีเลชันนั้นมักมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 ด้วย หากทว่ายกเว้นในกรณีที่ รีเลชันนั้นมีปัญหาที่เกิดจากความสัมพันธ์ระหว่างแอททริบิวต์แบบหลายค่าปรากฏอยู่ จะต้องดำเนินการให้รีเลชันนั้นมีคุณสมบัติอยู่ใน รูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 เสียก่อน ดังนั้น การทำให้รีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐาน จะไปสิ้นสุดในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 เสมอ ดังนั้น อาจสรุปได้ว่า ความสัมพันธ์ระหว่างแอททริบิวต์แบบ Join มีคุณสมบัติครอบคลุมกว่าความสัมพันธ์ระหว่างแอททริบิวต์แบบฟังก์ชันและความสัมพันธ์ระหว่างแอททริบิวต์แบบหลายค่า