Ya, ada banyak alasan mengapa ini mungkin desain yang lebih baik.
Anda mungkin memiliki hubungan warisan / ekstensi, misalnya Anda mungkin memiliki User
tabel dan kemudian Administrator
tabel yang memiliki lebih banyak bidang. Kedua tabel mungkin memiliki kunci utama ID Pengguna (dan karena itu memiliki hubungan 1: 1) tetapi tidak semua pengguna akan memiliki catatan dalam Administrator
tabel. Anda akan membutuhkan sesuatu yang serupa jika Anda mendukung alur kerja, misalnya ScheduledTask
tabel dan CompletedTask
tabel.
Anda mungkin ingin memiliki tabel yang ringan untuk data yang umum digunakan User
dan kemudian tabel yang lebih besar untuk detail yang tidak terlalu sering Anda butuhkan UserDetails
. Ini dapat meningkatkan kinerja karena Anda dapat memasukkan lebih banyak catatan ke dalam satu halaman data.
Anda mungkin ingin izin yang berbeda ke tabel, misalnya User
danUserCredentials
Anda mungkin menginginkan strategi cadangan yang berbeda dan oleh karena itu letakkan dua tabel di partisi yang berbeda, misalnya Transaction
danTransactionArchive
Anda mungkin memerlukan lebih banyak kolom daripada yang dapat didukung dalam satu tabel, misalnya jika ada banyak kolom teks besar yang harus Anda indeks dan platform DB Anda terbatas pada halaman data 4K atau apa pun yang Anda miliki.