Bence de burada gereksiz soyutlamalar hiyerarsiyi bozacaktir. Tasarim yaparken once her bir transitive dependency'yi bolup, farkli tablolar haline getirmeye calis. Daha sonra ayirdigin dependencyler arasindaki iliskileri kur. Daha sonradan eklemek istedigin soyutlamalar icin de yeni tablolar olusturup mevcut tablolarla arasindaki iliski turune gore (1-1, 1-many ya da many-many) referanslari ekleyip duruma gore junction tablelari olusturabilirsin. Kisacasi oncelikle her sinif/universite ortaminda mutlaka olmasi gereken mefhumlardan yola cikarak bir hiyerarsi kurup, sonra kendi soyutlamalarini mevcut tablolarla iliskilendirmek daha mantikli.
Database System Concepts - slides Bu linkte, en populer veritabani kitaplarindan birinin orneklerinde kullandigi komple bir universite sisteminin tablo DDL'leri mevcut. Ornek olmasi acisindan inceleyebilirsin.