Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

primary key


Страницы:   1 2

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 ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо