Фон: Компания имеет более 5000 сотрудников и имеет здания, размещенные в разных городах. 1 Сотрудник может работать в 2 или более таких зданиях в зависимости от дня/проекта. Компания не отслеживает, в какой день кто-то находится в каком здании. У них есть только один лист со всеми данными и данными о сотрудниках. Это местоположение также включает дату начала, с которой дата начала работы сотрудника в этом месте. Это выглядит следующим образом:Устранение отношения «многие ко многим»
EmployeeID | FirstName | LastName | email | BuildingID | Buildinglocation | startdate
1 | John | Gates | [email protected] | 2 | New York | 01-01-2015
1 | John | Gates | [email protected] | 1 | Paris | 01-05-2015
2 | Bill | Jobs | [email protected] | 2 | New York | 01-01-2016
3 | Carl | Davis | [email protected] | 3 | London | 01-11-2015
Мне нужно превратить это в несколько таблиц, чтобы создать хранилище данных. То, о чем я думал, это таблица для employee
и одна для location
. Это, однако, было бы many to many relation
, поэтому я хотел добавить bridge table
.
Вопрос: Где я могу сэкономить startdate
? Должен ли я добавить его в таблицу Bridge? Как я могу заполнить его startdate
в таком случае? Или я должен просто оставить его в location table
, установив связь между employee
и location
соотношением 1-n?
Я бы поместил в таблицу моста, потому что в таблице местоположения каждое место будет существовать только один раз – GuidoG