Witam wszystkich

Mam do wykonania projekt bazy danych biura nieruchomości w mysql. Wstępnie zaprojektowałem strukturę tablic wraz z relacjami link podaje poniżej....
Mój problem wygląda następująco....W jaki sposób przy wykorzystaniu jednej tabeli zawierającej dane osobowe utworzyć relację do tabeli karta_oferty aby odróżnić trzy typy użytkowników (bo kluczy obcych bedzie pewnie wiecej ) jednocześnie wyodrębiając użytkownika grupy klienci na klienta kupującego(który możne wyrazić swoja opinie na temat oferty, posiada tez swoje indywidualne wymagania)i sprzedającego( jako właściciela nieruchomosci). kolejna grupa to pracownicy gdzie mamy usera agent przypisanego do biura oraz admina ....coś w tym stylu
1.karta_Oferta- opinia klienta (kupującego)+(wymagania),
2.karta_Oferta-własność (sprzedający),
3.karta_Oferta- prowadzona przez Agenta( z biura),
4.karta_Oferta- utworzona przez użytkownika…
5.karta_Oferta- zaakceptowana przez Agenta ( z biura),
6.karta_Oferta- ostatnio zmodyfikowana przez Agenta ( z biura),
na ile jest to wykonalne i poprawne...?
na ile jest to wykonalne i poprawne...?

Chciałem jak najbardziej zminimalizować bazę ale wydaje mi się ze trochę namieszałem. Proszę o podpowiedzi i opinie:))))) piszcie