DeltaDIM
Новичок
"Наследование" в БД
Доброго времени суток!
Появилась необходимость реализовать подобие "наследовательности" в записях БД.
Постараюсь пояснить на примере таблицы:
id | name | type | parent_id
1 | name1---- | 1 | 0
2 | name2---- | 3 | 0
3 | name2.1---| -1 | 2
4 | name2.1.1 | -1 | 3
5 | name5---- | 3 | 0
6 | name6---- | 2 | 0
7 | name7---- | 1 | 0
8 | name7.1-- | -1 | 7
9 | name9---- | 1 | 0
id - уникальный код, name - имя, parent_id - id-код родителя, type - некий тип.
у нас здесь построена некая иерархия. поле type может принимать значения 1,2 или 3. В случае если type равняется -1, значение берется с родительской записи.
По примеру записи с id 3, 4 меют type = 3, id 8 type = 1.
Собственно вся проблема в том, можно ли через sql запросы сразу разрешать все наследуемые значения (например для отсекания ненужных типов where type != 3). Возможно использование какой-либо рекурсии, или вообще какие существуют методы для реализации подобного наследования?
Заранее спасибо.
Доброго времени суток!
Появилась необходимость реализовать подобие "наследовательности" в записях БД.
Постараюсь пояснить на примере таблицы:
id | name | type | parent_id
1 | name1---- | 1 | 0
2 | name2---- | 3 | 0
3 | name2.1---| -1 | 2
4 | name2.1.1 | -1 | 3
5 | name5---- | 3 | 0
6 | name6---- | 2 | 0
7 | name7---- | 1 | 0
8 | name7.1-- | -1 | 7
9 | name9---- | 1 | 0
id - уникальный код, name - имя, parent_id - id-код родителя, type - некий тип.
у нас здесь построена некая иерархия. поле type может принимать значения 1,2 или 3. В случае если type равняется -1, значение берется с родительской записи.
По примеру записи с id 3, 4 меют type = 3, id 8 type = 1.
Собственно вся проблема в том, можно ли через sql запросы сразу разрешать все наследуемые значения (например для отсекания ненужных типов where type != 3). Возможно использование какой-либо рекурсии, или вообще какие существуют методы для реализации подобного наследования?
Заранее спасибо.