Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.54 MB
Время: 0.047 c
6-1148201699
Мигель
2006-05-21 12:54
2006.10.15
Как скачать фото с сайта? Контент в виде HTML скачивается


2-1158912708
Ш-К
2006-09-22 12:11
2006.10.15
Локальные объекты


15-1159306510
Axis_of_Evil
2006-09-27 01:35
2006.10.15
Boolean


2-1159206788
dreamse
2006-09-25 21:53
2006.10.15
TBlobStream


1-1156620324
SUN_ALF
2006-08-26 23:25
2006.10.15
Перехват нажатий клавиш в системе.