Соотношение между автомобилем и местоположением таково: для каждого автомобиля есть ровно два местоположения (от и до), а для каждого местоположения - 0..n автомобилей.
Вы должны: составить таблицу автомобилей с полями: LocationFromи LocationTo каждый внешний ключ к таблице место, которое имеет LocationId и LocationName (вы можете иметь только тот, что спорно)
Почему вам не нужно третью таблицу: соединение не многие ко многим - это два.ко многим.
Когда вы имеете истинное отношение ко многим ко многим, таблицы не могут определить, какая запись в одной записи соответствует какой записи в другой, и, следовательно, необходимость в третьей таблице (попробуйте ... например, еслиВы должны были сохранить все местоположения каждого автомобиля - это было бы отношением многих ко многим, потому что теперь автомобиль связан с 0..n местоположениями, а местоположение связано с 0..n автомобилями. Теперь, как бы вы былив состоянии сказать, какая запись автомобиля связана с каким местоположением (у вас может быть n столбцов для этого, но это неразумно, поэтому вам нужна другая таблица)) anyhoЗдесь у вас есть только две колонки в машине, которые связаны с местоположением «напрямую».
Добавлено:
Так что вам также нужна история ... В этом случае вам действительно нужна дополнительная таблица.
Я бы добавил столбец в свой оригиналрешение, так что теперь таблица car имеет столбцы:
Id, FromLocation, ToLocation, LocationHistoryId
FromLocation и ToLocation остается прежним, LocationHistoryId - это внешний ключ таблицы LocationHistory, который имеет следующие столбцы:
CarId, LocationId
Где ключ является составным ключом, который включает оба поля (и, очевидно, LocationId указывает на таблицу Location)