Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.52 MB
Время: 0.043 c
2-1159270594
Ezorcist
2006-09-26 15:36
2006.10.15
Создание вкладокв TPageControl "по образцу".


2-1159371848
Helpsic
2006-09-27 19:44
2006.10.15
Матрицы


15-1158834648
kroner
2006-09-21 14:30
2006.10.15
Работа с большими числами


10-1124082080
safo
2005-08-15 09:01
2006.10.15
Проблема с файлом Excel


15-1157525572
Kerk
2006-09-06 10:52
2006.10.15
Нижегородцы, АУ!




   Наверх