Так, є багато причин, чому це може бути кращий дизайн.
У вас можуть бути відносини успадкування / розширення, наприклад, у вас може бути User
таблиця, а потім Administrator
таблиця, яка містить більше полів. Обидві таблиці можуть мати первинний ключ User ID (і тому вони мають відношення 1: 1), але не всі користувачі матимуть запис у Administrator
таблиці. Вам знадобиться щось подібне, якщо ви підтримуєте робочий процес, наприклад ScheduledTask
таблицю та CompletedTask
стіл.
Ви можете мати полегшену таблицю для часто використовуваних даних, User
а потім більшу таблицю для деталей, які вам не дуже потрібні UserDetails
. Це може підвищити продуктивність, оскільки ви зможете помістити більше записів на одну сторінку даних.
Ви можете вимагати різних дозволів до таблиць, наприклад, User
таUserCredentials
Ви можете захотіти різних стратегій резервного копіювання, і тому розмістіть дві таблиці на різних розділах, наприклад, Transaction
таTransactionArchive
Вам може знадобитися більше стовпців, ніж може бути підтримано в одній таблиці, наприклад, якщо є велика кількість великих текстових стовпців, які потрібно мати змогу проіндексувати, а ваша платформа БД обмежена сторінками даних 4K або що-то вам більше.