การทำให้เป็นมาตรฐานถูกนำมาใช้จริงในโลกแห่งความเป็นจริง ... และหวังว่าคุณจะรู้ว่า 3NF เป็นเพียงหนึ่งในสามของ ... ตอนนี้ 8 คืออะไร? แต่ 3NF ควรเป็นเป้าหมายที่ง่าย
อย่างไรก็ตาม ... ฉันอยากจะบอกว่าไม่มีเครื่องมือเช่นนั้น
การทำให้เป็นมาตรฐานในทางเทคนิคเป็นคุณลักษณะของแต่ละตาราง ภายในฐานข้อมูลที่กำหนดตารางที่ต่างกันอาจมีระดับการทำให้เป็นมาตรฐานที่แตกต่างกัน
แต่ละตารางแสดงข้อเท็จจริง ... ข้อเท็จจริงเกี่ยวกับอินสแตนซ์ของสิ่งบางอย่าง (บุคคลบัญชีคำสั่งการจัดส่งรายการที่ตั้ง) รวมถึงบางครั้งกุญแจต่างประเทศที่นำคุณไปสู่ข้อเท็จจริงประเภทอื่นเกี่ยวกับสิ่งนั้น
การทำให้เป็นมาตรฐานนั้นเกี่ยวข้องกับการแสดงข้อเท็จจริงอย่างแม่นยำและมีประสิทธิภาพในตารางรวมถึงความสามารถในการออกแบบของตารางเพื่อป้องกันรูปแบบข้อมูลที่คลุมเครือและซ้ำซ้อน
ดังนั้นต้องมีความเข้าใจในข้อเท็จจริงที่แท้จริง ... ซึ่งอยู่นอกขอบเขตของเครื่องมืออัตโนมัติ
Q: Is a table with { student, subject, instructor } in 3NF?
A: What are students, subjects and instructors?
ในโลกที่ผู้สอนทุกคนสอนทุกวิชาและนักเรียนแต่ละคนสามารถรวมกันได้ แต่ไม่เกินหนึ่งวิชาในแต่ละวิชาจากผู้สอนแต่ละคนตารางนี้อาจกล่าวได้ว่าเป็น 3NF ในโลกแห่งความเป็นจริงการอ้างสิทธิ์ 3NF สำหรับตารางนี้นั้นไร้สาระ
เพื่อให้เข้าใจว่าไม่ได้อยู่ใน 3NF จำเป็นต้องมีความเข้าใจในลักษณะของข้อเท็จจริงที่เป็นตัวแทน ในความเป็นจริงของเราตารางนี้จะไม่เป็น 3NF เนื่องจาก (ด้วยเหตุผลอื่น ๆ ) วิชาและผู้สอนมีความสัมพันธ์กันในรูปแบบที่ไม่มีอะไรเกี่ยวข้องกับนักเรียน หากเรามีหลักสูตรที่อาจารย์ผู้สอนสอนวิชาที่เก็บไว้ที่อื่นในฐานข้อมูลของเราทำไมเราจะคัดลอกค่าทั้งสองที่นี่แทนที่จะเป็นกุญแจต่างประเทศจากตารางอื่น ๆ ที่ระบุว่านักเรียนได้ลงทะเบียนสำหรับหลักสูตรหรือไม่ หากผู้สอนถูกแทนที่เราจะต้องเปลี่ยนหลายระเบียนในหลาย ๆ ที่
ยิ่งฐานข้อมูลถูกทำให้เป็นมาตรฐานมากเท่าไรก็ยิ่งมีความสอดคล้องกันมากขึ้นกับโลกแห่งความเป็นจริงและกับตัวมันเองและยิ่งยากขึ้นสำหรับข้อเท็จจริงของฐานข้อมูลที่จะไม่จริงโดยไม่ตั้งใจ การออกแบบฐานข้อมูลเป็นศิลปะ แต่มันก็เป็นวิทยาศาสตร์อย่างแน่นอนเช่นกัน
แม้ว่าฉันจะไม่เห็นทุกสิ่งที่เขาเขียนแบบตาต่อตาฉันก็จะแนะนำหนังสือของ Chris Date, การออกแบบฐานข้อมูลและทฤษฎีเชิงสัมพันธ์: ฟอร์มปกติและ All That Jazzซึ่งมีรายละเอียดที่น่าตื่นเต้นเกี่ยวกับทฤษฎีพื้นฐานของโมเดลเชิงสัมพันธ์