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