Ваши базовые таблицы данных:
Сотрудники, Команды, Отделы, Полы, Комнаты, Рабочие места, Оборудование.
Тогда вам нужны таблицы поиска для таких вещей, как: Employee_Gender или Room_Size (все, что вам нужно выбрать из фиксированного набора значений).
В зависимости от того, как все устроено, этажи также могут быть лучше использованы в качестве справочной таблицы, если команды назначаются непосредственно комнатам, а не этажам.
Также не следует напрямую связывать комнаты и устройства. Связи через рабочие станции достаточно, если у вас нет устройств, назначенных комнатам, которые не принадлежат какой-либо рабочей станции. Даже тогда я просто создавал бы записи виртуальных рабочих станций, а не делал цикл ссылок на таблицы.
Если возможно (когда-либо) иметь команду с сотрудниками из разных отделов, эта часть также должна быть разной (сотрудники назначаются непосредственно в отделы, а также независимо в команды, а не назначаются в отделы посредством их назначения в команду). ). В этом случае Team также является таблицей поиска, а не таблицей основных данных.