witam

chcialbym zrobic baze w ktorej zapisywane bylyby dane osob i firm z pewnych grup zawodowych
np pielegniarki, lekarze, zaklady medyczne.

zrobilem tabele:

uzytkownik (podstawowe dane do korzystania z serwisu jak np login haslo mail oraz inne wspolne dla wszystkich grup dane)
pielegniarka (dane ktorych nie ma lekarz ani zaklad)
lekarz (dane ktorych nie ma pielegrniarka ani zaklad)
zaklad (dane ktorych nie ma lekarz ani pielegniarka)
osoba (dane personalne jak imie nazwisko ulica miejscowosc)
firma (dane firmy jak np nazwa, nip)


wspolna kolumna dla wszystkich tabel jest u_id

chcialbym teraz pobrac dane lekarza ktory jest zarejestrowany jako osoba
  1. SELECT * FROM lekarz AS l
  2. INNER JOIN uzytkownik AS u ON(u.u_id= l.u_id)
  3. LEFT JOIN osoba AS o (o.u_id = u.u_id)
  4. LEFT JOIN firma AS f ON (f.u_id = u.u_id)


lekarz ten jest osoba, wiec wszystkie kolumny z tabeli firma beda null bo nie ma tam zadnego wpisu, ale ja tego napoczatku nie wiem, jak dolaczyc te 2 tabele osoba i firma tak zeby nie laczylo jezeli nie ma tam rekorduz danym u_id?
tabele zrobilem w InnoDB jednak nie za bardzo wiem jak tego sie uzywa i czy moze mi to w czyms pomoc w tym lub innym przypadku.
wogole to nie wiem czy dobrze ta baze zaprojektowalem.