Я разрабатываю систему управления контактами и сталкиваюсь с интересной проблемой, связанной с последовательным моделированием географических местоположений. Я хотел бы иметь возможность записывать местоположения, связанные с конкретным человеком (почтовый адрес (адреса) для работы, школы, дома и т. Д.). Я думал создать таблицу локалей, такую как:Моделирование географических местоположений в реляционной базе данных
Locales (ID, LocationName, ParentID), где автономные местоположения (например, страны, например, США) являются родителями самих себя. Таким образом, я могу иметь произвольно глубокое гнездование «политических единиц» (СТРАНА> ГОСУДАРСТВО> ГОРОД или СТРАНА> ГОСУДАРСТВО> ГОРОД> УНИВЕРСИТЕТ). Некоторые запросы обязательно потребуют рекурсии.
Я был бы признателен за любые другие рекомендации или советы по поводу предсказуемых проблем, с которыми я, вероятно, столкнусь с такой схемой.
Вы должны определенно использовать значение null для родительских (корневых) элементов уровня, а не делать их родителями сами. Старайтесь не вводить данные, если это не имеет смысла. – Dr8k 2008-09-30 05:06:26