SQL Server отношение многих ко многим - PullRequest
1 голос
/ 25 августа 2011

У меня проблема взаимоотношений «многие ко многим»:

Факты:

  • В префектуре много муниципалитетов.
    Муниципалитет принадлежит к одной префектуре.
    (отношение один-к-одному)
  • В префектуре много городов.
    Город принадлежит одному муниципалитету.
    (отношение один-к-одному)
    Сейчас
  • Муниципалитет может иметь один или несколько городов.
  • Город может иметь один или несколько муниципалитетов.
    То есть муниципалитеты и города имеют отношение многие ко многим.

Я подумываю о создании таблицы соединений tblMunicipalityCity для обслуживания отношений «многие ко многим»:

                                      [tblMunicipalityCity]    
[tblPrefecture] PrefectureID       ->  PrefectureID      
[tblMunicipality] MunicipalityID  ->  MunicipalityID  
[tblCity] CityID                  ->  CityID  

Считаете ли вы, что это хорошее решение?

Заранее спасибо за помощь.
Corbex

Ответы [ 3 ]

1 голос
/ 25 августа 2011

Да, вам нужна четвертая таблица, которая представляет отношение «многие ко многим» между городами и муниципалитетами.
Эта таблица всегда состоит из PK обеих таблиц, к которым вы хотите присоединиться, плюс, в конечном итоге, некоторых дополнительных свойств.характерные для этих отношений.
http://en.wikipedia.org/wiki/Relational_model

0 голосов
/ 25 августа 2011

извлекает два идентификатора, которые превращают отношения "многие ко многим" между городами и муниципалитетами, в отдельную составную таблицу, где оба внешних ключа становятся первичным ключом

0 голосов
/ 25 августа 2011

Juste создает таблицу соединения с municipality_id и city_id, которые составляют первичный ключ, вот и все.

...