![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
primary key
gentos © (2007-08-06 15:25:00)Здрасте мастерам. Есть следующая ситуация. Имеется 2 таблички.
В одной табличке 2 кея. В другой есть полеIDDOCUMENTBODY NUMBER NOT nullпишу следующееCONSTRAINT FK_IDDOCUMENTBODY FOREIGN KEY (IDDOCUMENTBODY) REFERENCES WDS$DOCUMENTBODY (ID)ругается и это не страно, как можно с одной таблички получить доступ к другой табличке , если у этой другой таблички 2 праймари кей вот, ниже представлени эти самый 2 мои табличкиREATE TABLE WDS$Documentsи вторая
(
ID NUMBER NOT NULL,
IDUSER NUMBER NOT NULL,
IDDOCUMENTTYPE NUMBER NOT null,
IDDOCUMENTBODY NUMBER NOT null,
COMM VARCHAR2(1000),
USERS VARCHAR2(100) NOT NULL,
TIME DATE NOT NULL,
CONSTRAINT PK_WDS$Documents PRIMARY KEY (ID),
CONSTRAINT FK_IDUSER FOREIGN KEY (IDUSER) REFERENCES WDS$USERS(ID),
CONSTRAINT FK_IDDOCUMENTTYPE FOREIGN KEY (IDDOCUMENTTYPE) REFERENCES WDS$DOCUMENTTYPE(ID),
CONSTRAINT FK_IDDOCUMENTBODY FOREIGN KEY (IDDOCUMENTBODY) REFERENCES WDS$DOCUMENTBODY (ID)
);CREATE TABLE WDS$DocumentBody
(
ID NUMBER NOT NULL,
LVL NUMBER NOT NULL,
PICTURE BLOB NOT NULL,
CONSTRAINT PK_WDS$DocumentBody PRIMARY KEY (ID,LVL)
)
Anatoly Podgoretsky (2007-08-06 15:57:00) [21]> gentos (06.08.2007 15:25:00) [0]
Не может быть двух первичных ключей. Он потому и называется первичный.
Sergey13 (2007-08-06 15:52:00) [22]> [3] gentos (06.08.07 15:46)
Если я не запутался в твоих IDDOCUMENTBODY , то ты кажется перепутал что на что должно ссылаться. Не первая на вторую, а наборот.
Bel (2007-08-06 15:50:00) [23]> а у меня там будет следующее ид = 1лвл = 1 означает 1 страничка первого документа
Дык, тогда ты не с той стороны вторичный ключ делаешь. Главной таблицей должна быть Документ, а подчиненной - тело документа.
gentos (2007-08-06 15:46:00) [24]а у меня там будет следующее
ид = 1
лвл = 1
означает 1 страничка первого документа
1
2
означает 2 страничка 1 документа
.
.
.
n
m
означает m страничка n-го документа
документа же может состоять из нескольких страничек , вот и так приходится делать
Sergey13 (2007-08-06 15:31:00) [25]> [0] gentos (06.08.07 15:25)
> В одной табличке 2 кея
Не два, а составной из двух полей. Это разные вещи. Зачем кстати там 2 поля? Почему не просто ИД?
gentos (2007-08-06 15:28:00) [26]может unique key ?