Классика баз данных - статьи

       

Простейшая иерархия


В качестве примера, возьмем часть схемы подразделений на предприятии:

A1
B1B2
C1C2C3

где А1 - подразделение верхнего уровня (возможно, не единственное на этом уровне),
В1 и В2 - входят в А1,
С1 - входит в В1, С2 и С3 - входят в В2.

Можно легко создать таблицу, которая содержит информацию об этих подразделениях (здесь идалее - синтаксис MS SQL):

create table Departments ( Id int not null identity primary key, Parent int not null references Departments(Id), Name varchar(32) not null )

Поле Parent является ссылкой на Id (первичный ключ) вышестоящего уровня в иерархии. В данном случае оно указывает, в какое подразделение входит каждый отдел.



Departments
Id Parent Name
1 0 A1
2 1 B1
3 1 B2
4 2 C1
5 3 C2
6 3 C3



Содержание раздела