Dużo zależy od tego, jakie są te „inne” szczegóły. To częste i interesujące pytanie, na które na pierwszy rzut oka nie ma „twardej i szybkiej” odpowiedzi. Ale jeśli pomyślimy o problemie bardziej abstrakcyjnie, o rzeczywistej relacji między atrybutami („szczegółami”) jakiejkolwiek konkretnej rzeczy, którą chcesz przedstawić, możemy znaleźć pewną jasność.
W swoim pytaniu stwierdzasz, że znajomi mają „minimalne” i „inne” dane. Zamiast klasyfikować te szczegóły jako „minimalne” lub „inne”, sklasyfikujmy je według tego, czy jakikolwiek indywidualny („atomowy”) szczegół może być w pełni określony przez to, co czyni przyjaciela wyjątkowym.
Przypuszczam, że istnieje jakiś klucz podstawowy (PK), taki jak FriendID, adres e-mail czy coś takiego. Biorąc pod uwagę ten unikalny identyfikator, zadaj sobie pytanie:„Jeśli otrzymam dokładnie jeden FriendID (lub adres e-mail lub cokolwiek, którego używasz jako PK), jakich szczegółów tego znajomego jestem absolutnie pewien? Np. biorąc FriendID=2112, absolutnie znam imię, nazwisko i datę urodzenia tego przyjaciela, ale nie absolutnie znać numer telefonu tego przyjaciela, ponieważ jest ich więcej niż jeden.
Zgrupuj w jednej tabeli wszystkie szczegóły, które jednoznacznie znasz, biorąc pod uwagę PK. Umieść szczegóły, dla których potrzebujesz więcej danych (np. „dom” lub „praca” w przypadku numerów telefonów) w tabelach „dziecko”, z powrotem z kluczem obcym do tabeli „rodzic” na PK. (Uwaga:jest bardzo prawdopodobne, że PK tabeli podrzędnej będzie złożony, to znaczy złożony z PK tabeli nadrzędnej i czynnika różnicującego (takiego jak „dom” lub „praca” w tym przykładzie).Klucze złożone dla wielu stron relacji 1-M są bardzo dobre.)
Maniacy baz danych nazywają tę dekompozycję na podstawie zależności funkcjonalnych .