Текущий архив: 2006.10.15;
Скачать: CL | DM;
ВнизДерево. Определение принадлежности узлов. Найти похожие ветки
← →
Fay © (2006-08-11 11:33) [40]Зачем T_ID в PK_S ?
← →
Fay © (2006-08-11 11:44) [41]Так?
create table T (
ID int not null,
PARENT_ID int null,
constraint PK_T primary key (ID),
constraint FK_T_SELF foreign key (PARENT_ID) references T (ID)
);
--Вопросы: тоже верно, немного изменю
create table Q (
ID int not null,
T_ID int not null, -- Тема вопроса
constraint PK_Q primary key (ID),
constraint FK_Q_T foreign key (T_ID) references T(ID)
);
-- Билеты - увы! Нет там вопросов. И у нее есть мастер, таблица тестов S
create table S (
ID int not null,
T_ID int not null, -- тема билета!
constraint PK_S primary key (ID),
constraint FK_S_T foreign key (T_ID) references T (ID)
)
--А теперь билеты
create table C (
ID int not null,
S_ID int not null,
constraint PK_C primary key (ID),
constraint FK_C_S foreign key (S_ID) references S (ID)
)
--А теперь внимание, билеты связаны с вопросами отношением многие-многие:
create table CQ (
C_ID int not null,
Q_ID int not null,
constraint PK_CQ primary key (C_ID, Q_ID),
constraint FK_CQ_C foreign key (C_ID) references C (ID),
constraint FK_CQ_Q foreign key (Q_ID) references Q (ID)
)
← →
Fay © (2006-08-11 11:47) [42]В смысле
create table T (
ID int not null,
PARENT_ID int null,
constraint PK_T primary key (ID),
constraint FK_T_SELF foreign key (PARENT_ID) references T (ID)
);
-- Вопросы
create table Q (
ID int not null,
T_ID int not null, -- Тема вопроса
constraint PK_Q primary key (ID),
constraint FK_Q_T foreign key (T_ID) references T(ID)
);
-- Тесты
create table S (
ID int not null,
T_ID int not null, -- Тема теста
constraint PK_S primary key (ID),
constraint FK_S_T foreign key (T_ID) references T (ID)
)
-- Билеты
create table C (
ID int not null,
S_ID int not null,
constraint PK_C primary key (ID),
constraint FK_C_S foreign key (S_ID) references S (ID)
)
-- билеты связаны с вопросами отношением многие-многие:
create table CQ (
C_ID int not null,
Q_ID int not null,
constraint PK_CQ primary key (C_ID, Q_ID),
constraint FK_CQ_C foreign key (C_ID) references C (ID),
constraint FK_CQ_Q foreign key (Q_ID) references Q (ID)
)
← →
Romkin © (2006-08-11 11:53) [43]ДА я понял. И ты тоже? Удовлетворяет в смысле что все влезает. Не удовлетворяет в смысле ограничений, твоя модель дает больше свободы.
← →
Romkin © (2006-08-11 11:55) [44]... и в то же самое время уменьшает возможности при написании собственно приложения. Усложняется оно.
Страницы: 1 2 вся ветка
Текущий архив: 2006.10.15;
Скачать: CL | DM;
Память: 0.53 MB
Время: 0.041 c