Я пытаюсь создать таблицу, например, которая состоит из этой структуры:
<Comments>
id(PK, int) comment_id(FK, int) body(text)
1 null "This is a comment"
2 1 "This is a nested comment"
3 2 "This is a nested nested comment"
Приведенный выше пример представляет преимущества использования таблиц с самоссылкой, которые я хочу устранить на определенном уровне.
Комментарий id: 3
ссылается на comment_id=2
комментарий, а id=2
ссылается comment_id=1
.
Я хочу ограничить эту вложенную ссылку одним уровнем с возможностьюдобавить конкретное ограничение, которое проверяет и устанавливает значение, равное первому уровню гнезда.
Чтобы сделать его более понятным, id=3
в этой точке вместо ссылки comment_id=2
должен ссылаться на comment_id=1
и выглядят так:
<Comments>
id(PK, int) comment_id(FK, int) body(text)
1 null "This is a comment"
2 1 "This is a nested comment"
3 1 "This is a nested nested comment"
Я хочу, чтобы бэкэнд был как можно менее занят при обработке таких ситуаций, и просто предоставив ссылку на comment_id=2
в моем запросе на создание, я бы хотел, чтобыавтоматически указывает на id=2
ссылку comment_id=1
вместо comment_id=2
Кроме меня, я использую Sequelize в NodeJS и могу ограничивать данныев серверных маршрутах я хотел бы понять, как этого можно добиться с помощью sql (или sequelize), чтобы сохранить целостность потока данных линейным.