Использование одной таблицы позволит вам иметь более глубокую вложенную иерархию.Например:
title
comment
comment2
comment_to_comment
comment3
comment_to_comment2
comment_to_comment3
Так что это дополнительная возможность, которая не существует при настройке таблицы 2.
«Я бы сделал это, только если вам нужна эта возможность», потому что запросы будутбыть более сложным.Также было бы полезно добавить столбец (root_id) в такую таблицу, чтобы указать узел с заголовком для комментариев с уровнем вложенности больше 1.
Вы также можете использовать одну таблицу для данных и однутаблица для родительской / дочерней иерархии (это всего лишь пример, вам может потребоваться настроить синтаксис).
create table element (
id serial not null primary key,
data integer not null
);
create table heirarchy (
id serial not null primary key,
id_root integer not null references element(id),
id_parent integer not null references element(id),
id_child integer not null references element(id)
);
insert into element (data) values (100);
insert into element (data) values (101);
insert into element (data) values (102);
insert into element (data) values (103);
insert into element (data) values (104);
insert into element (data) values (105);
insert into element (data) values (106);
insert into element (data) values (107);
insert into element (data) values (108);
select id, data from element;
1 |100
2 |101
3 |102
4 |103
5 |104
6 |105
7 |106
8 |107
9 |108
insert into heirarchy (id_root, id_parent, id_child) values (3, 3, 4);
insert into heirarchy (id_root, id_parent, id_child) values (3, 3, 5);
insert into heirarchy (id_root, id_parent, id_child) values (3, 4, 1);
insert into heirarchy (id_root, id_parent, id_child) values (3, 4, 2);
insert into heirarchy (id_root, id_parent, id_child) values (3, 1, 9);
insert into heirarchy (id_root, id_parent, id_child) values (6, 6, 7);
insert into heirarchy (id_root, id_parent, id_child) values (6, 6, 8);
Подобные вещи не являются тривиальными, и вы также можете настроить триггеры для предотвращения циклических связей.