ฉันกำลังสนทนากับผู้ออกแบบฐานข้อมูลคนอื่นเกี่ยวกับการทำให้เป็นมาตรฐาน ในตัวอย่างนี้เรามีตาราง GameTitles และแต่ละระเบียนต้องมีปีที่เกมวางจำหน่าย เขาบอกว่า 2NF มอบอำนาจให้ทุกอย่างต้องเป็นมาตรฐานดังนั้นเพื่อให้เป็นไปตามข้อกำหนดฟิลด์ปีควรแยกออกเป็นตาราง ReleaseYears ด้วยคีย์หลักของตัวเองที่อ้างอิงโดยตาราง GameTitles ฉันบอกว่ามันควรจะยังคงเป็นเขตข้อมูลในตาราง GameTitles เอง
อาร์กิวเมนต์ของฉันคือว่าปีเป็นเพียงตัวเลขที่ไม่ใช่แบบดั้งเดิมที่คงที่โดยธรรมชาติ (เช่น 2011 จะเป็น 2011) เนื่องจากสิ่งนี้มันทำหน้าที่เป็นตัวระบุของตัวเองและไม่จำเป็นต้องอ้างอิงเพราะมันคือสิ่งที่มันเป็น สิ่งนี้ยังแนะนำการบำรุงรักษาเพิ่มเติมเนื่องจากคุณต้องเพิ่มปีใหม่ลงในตารางเพื่ออ้างอิง หากคุณเติมตารางด้วยช่วงเวลาที่ยาวนานเป็นระยะเวลานานคุณจะมีบันทึกพิเศษที่อาจไม่มีการอ้างอิงถึงพวกเขาเลย สิ่งนี้ยังเพิ่มขนาดฐานข้อมูลเนื่องจากตอนนี้คุณมีตารางเพิ่มเติมบันทึกค่าใช้จ่ายและคีย์หลักเพิ่มเติมสำหรับปีนั้น ๆ หากคุณให้ปีเป็นเขตข้อมูลในตาราง GameTitles คุณจะกำจัดการบำรุงรักษาและค่าใช้จ่ายเพิ่มเติมทั้งหมดนี้
คิดเกี่ยวกับเรื่องนี้?
แก้ไข:หมายถึงการโพสต์สิ่งนี้บน StackOverflow ใครสามารถลงคะแนนเพื่อลบหรือตั้งค่าสถานะนี้เพื่อความสนใจได้