Tak, istnieje mnóstwo powodów, dla których może to być lepszy projekt.
Możesz mieć relację dziedziczenie / rozszerzenie, np. Możesz mieć User
tabelę, a następnie Administrator
tabelę, która ma więcej pól. Obie tabele mogą mieć podstawowy klucz identyfikatora użytkownika (a zatem relację 1: 1), ale nie wszyscy użytkownicy będą mieli zapis w Administrator
tabeli. Potrzebowałbyś czegoś podobnego, jeśli wspierasz przepływ pracy, np. ScheduledTask
Stół i CompletedTask
stół.
Możesz mieć lekką tabelę dla często używanych danych, User
a następnie większą tabelę dla szczegółów, których nie potrzebujesz bardzo często UserDetails
. Może to poprawić wydajność, ponieważ będziesz mógł zmieścić więcej rekordów na jednej stronie danych.
Możesz chcieć różnych uprawnień do tabel, np. User
IUserCredentials
Możesz chcieć różnych strategii tworzenia kopii zapasowych i dlatego umieść dwie tabele na różnych partycjach, np. Transaction
ITransactionArchive
Możesz potrzebować więcej kolumn niż jest w stanie obsłużyć w pojedynczej tabeli, np. Jeśli istnieje wiele dużych kolumn tekstowych, które musisz indeksować, a Twoja platforma DB jest ograniczona do stron z danymi 4K lub co chcesz.