Przykładowo mam bazę klientów (ludzie - osoba fizyczna)
- KlientID
- Nazwisko
- Imie
- PESEL
- Płeć
- Data utworzenia
I tu rodzi się problem. Każdy człowiek może zmienić nazwisko, imię, płeć chyba też itp itd. PESEL niby pozostaje, ale nie każdy musi go mieć - bo np. klient jest Nigeryjczykiem mieszkającym w Angoli i pracującym w Zanzibarze.
Chciałbym mieć listę klientów przechowującą również historię ewentualnych zmian ich danych. Jak najlepiej się do tego zabrać?
Wymyśliłem coś takiego:
Tabela klient - zawiera tylko KlientID i niezmienne dane (data urodzenia itp)
Tabela dane klientów - zawiera KlientID, pozostałe dane + czas zmiany + opis zmiany
W tym układzie mam jedną zbiorczą tabelę z której po KlientID wybieram potrzebne dane
Inny pomysł:
Tabela klient - zawiera tylko KlientID
Tabela Klient ID - zawiera wszelkie potrzebne dane + czas zmiany + opis zmiany.
W tym przypadku dodanie jakiejś kolumny powoduje konieczność dłubania w tysiącach tabel klientów?
Jak to najlepiej zorganizować, aby miało ręce i nogi, było wydajne i zachowywało się zgodnie z oczekiwaniami?
M
/// całkowicie i zupełnie początkujący ///