ใช่มีหลายสาเหตุที่ทำให้การออกแบบดีกว่านี้
คุณอาจมีความสัมพันธ์ที่สืบทอด / นามสกุลเช่นคุณอาจมีUser
ตารางแล้วAdministrator
ตารางที่มีเขตข้อมูลเพิ่มเติม ตารางทั้งสองอาจมีคีย์หลักของ ID ผู้ใช้ (และดังนั้นจึงมีความสัมพันธ์แบบ 1: 1) แต่ผู้ใช้บางรายอาจไม่มีระเบียนในAdministrator
ตาราง คุณจะต้องมีสิ่งที่คล้ายกันถ้าคุณสนับสนุนเวิร์กโฟลว์เช่นScheduledTask
โต๊ะและCompletedTask
โต๊ะ
คุณอาจต้องการตารางที่มีน้ำหนักเบาสำหรับข้อมูลที่ใช้กันทั่วไปUser
และจากนั้นตารางที่ใหญ่กว่าสำหรับรายละเอียดที่คุณไม่ต้องการบ่อยUserDetails
นัก สิ่งนี้สามารถปรับปรุงประสิทธิภาพได้เนื่องจากคุณจะสามารถเพิ่มระเบียนให้มากขึ้นในหน้าข้อมูลเดียว
คุณอาจต้องการสิทธิ์ต่าง ๆ ในตารางเช่นUser
และUserCredentials
คุณอาจต้องการกลยุทธ์การสำรองข้อมูลที่แตกต่างกันและดังนั้นจึงวางสองตารางลงในพาร์ติชันที่แตกต่างกันเช่นTransaction
และTransactionArchive
คุณอาจต้องการคอลัมน์มากกว่าที่จะได้รับการสนับสนุนในตารางเดียวเช่นหากมีคอลัมน์ข้อความขนาดใหญ่จำนวนมากที่คุณต้องสามารถจัดทำดัชนีและแพลตฟอร์ม DB ของคุณถูก จำกัด ไว้ที่หน้าข้อมูล 4K หรือ whathaveyou