私は、データを可変深度で継承し、特定のデータの子孫を返す必要があるプロジェクトに取り組んでいます。私は地理的な地域で働いているので、私は "地域"のテーブルを持っていることを考えていたし、 "北米"から "ブロンクス"のような個々の近隣までのすべてを持っています。だから、「北米」の誰かの種類ならば、彼らはまた、「ブロンクス」の結果を受けなければならない「ブロンクスは、」私は計画していた私のDBに関係 North America->United States->New York(State)->New York(City)->Bronx
MySQLでの可変深度継承のモデル化
による「北米」の子孫であるので、リージョン間の親/子関係を指定するテーブルを使用して、自身へのRegionテーブル・リンクを戻します。ここに私が提案しようとしているものの例があります:
何か助けていただければ幸いです!
私は2つのテーブルのアプローチが好きです。しかし、 'In_Region.ID'カラムは必要ありません。主キーは '(ParentRegionID、ChildRegionID)'として設定できます。 –
あなたのモデルは隣接リストと呼ばれます。階層的なデータを格納するための他のモデルもあります。この質問も参照してください:[どの階層モデルを使うべきですか?隣接、列挙型?](http://stackoverflow.com/questions/4831154/which-hierarchical-model-should-i-use-adjacency-nested-or-enumerated) –
And this article:[階層データの管理MySQLで](http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/) –