Back to questions
Junior — Middle
56
Можно ли моделировать и сохранять структуру семейного дерева в реляционной базе данных?
Companies where asked
Hftlabs
Answer from AI
sobes.tech AI
Да, структуру семейного дерева можно моделировать и сохранять в реляционной базе данных. Для этого обычно используют одну из следующих моделей:
- Иерархическая модель (Adjacency List) — каждая запись содержит ссылку на родителя:
CREATE TABLE Person (
Id INT PRIMARY KEY,
Name VARCHAR(100),
ParentId INT NULL,
FOREIGN KEY (ParentId) REFERENCES Person(Id)
);
-
Модель вложенных множеств (Nested Sets) — хранит интервалы для быстрого поиска потомков.
-
Материализованный путь (Materialized Path) — хранит путь от корня до узла в виде строки.
Иерархическая модель проще и чаще используется, но для сложных запросов по дереву могут потребоваться рекурсивные запросы или дополнительные индексы.