Я предполагаю:
- у вас есть схема с именем "Задачи" в базе данных в SQL Server
- у вас есть таблица (скажем, AllTasks), в которой хранится информация о задаче
- вы хотели бы иметь поле с именем blockby, которое указывает, какая существующая задача блокирует текущую задачу
Вот мое предложение столбцов и пример того, как будут выглядеть данные:
TaskID TaskName TaskDescription ..... TaskBlockedBy
------ -------- --------------- -------------
1 Eat Eat food <NULL>
2 Drink Drink, um, water <NULL>
3 Sleep Ah, peace! <NULL>
4 Wake Up Crap 3
Задача пробуждения в строке 4 заблокирована задачей ожидания в строке 3.
Поля таблицы будут иметь тип данных:
TaskID int (identity/autonumber)
TaskName nvarchar(50) not null
TaskDescription nvarchar(200) not null
TaskBlockedBy int
Если ожидается несколько существующихЗадачи, блокирующие задачу, разбейте таблицу на 2 таблицы: AllTasks и BlockedTasks.Таблица AllTasks больше не будет иметь поля TaskBlockedBy, а BlockedTasks и его данные будут выглядеть следующим образом:
BlockID TaskID BlockedBy
------- ------- ----------
1 4 3
2 4 2
Это указывает на то, что задача Wake Up была заблокирована сном и что пользователь выпил перед сном.
НТН