|
|
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
С ораклом знаком очень неочень, поэтому возникают часто вопросы, вот например как сейчас.. (в поиске не нашел, хотя может плохо искал) вот есть такая база. между таблицами "договор" и "пользователи" - связь один ко многим, между таблицами "пользователи" и "сертификаты" тоже связь один ко многим. Таблицу "пользователи" я создал, там получился составной первичный ключ (id_user,id_dogovora) при этом id_dogovora еще и внешний ключ. верно я рассуждаю? не могу создать таблицу "certs". как я понимаю что там первичный ключ будет состоять аж из 3х значений. но пока даже такой запрос выдает ошибку. Create table Certs (ID_cert number(3) primary key, ID_USER number(4), constraint ID_User foreign key (ID_USER) references POLZOVATELI (ID_USER)); Error starting at line 1 in command: Create table Certs (ID_cert number(3) primary key, ID_USER number(4), constraint ID_User foreign key (ID_USER) references POLZOVATELI (ID_USER)) Error at Command Line:2 Column:84 Error report: SQL Error: ORA-02270: no matching unique or primary key for this column-list 02270. 00000 - "no matching unique or primary key for this column-list" *Cause: A REFERENCES clause in a CREATE/ALTER TABLE statement gives a column-list for which there is no matching unique or primary key constraint in the referenced table. *Action: Find the correct column names using the ALL_CONS_COLUMNS catalog view так я и не понял в чем ошибка и что надо сделать.. помогите полностью создать таблицу "certs", пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 02:14 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Вам черным по белому пишут создайте уникальность на таблице POLZOVATELI поле D_USER ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 02:49 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
SERG1257, ну а как же то что в таблице Polzovateli ID_user и ID_dogovora - это составной первичный ключ? или я что то неправильно понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 07:34 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Boatsman1488SERG1257, ну а как же то что в таблице Polzovateli ID_user и ID_dogovora - это составной первичный ключ? или я что то неправильно понимаю? Совершено верно - составной и ссылаться соответственно составом нужно =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 08:32 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Светлый_Дайвер, можно поподробнее как в данном случае ссылаться составом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 09:18 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Вот запрос на создание таблицы Create table Polzovateli (ID_User number(4), ID_dogovora number(3), primary key (ID_User, ID_dogovora), constraint ID_dogovora foreign key (ID_dogovora) references Dogovor (ID_dogovora), Last_name varchar2(15), First_name varchar2(10), Mid_name varchar2(15), Dolzhnost varchar2(30), Email varchar2(30)); создалась таблица с составным PK теперь надо таблицу Certs привязать к таблице Polzovateli. Исходя из того что мне выдал ЕрВин, при связи один ко многим, в таблице Certs будет PK состоять из ID_certs, ID_User, ID_dogovora. А связать не получается.. помогите, пожалуйста, разобраться что к чему! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 09:28 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Boatsman1488, а зачем в таблице пользователей составной первичный ключ? Для чего именно составной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 09:43 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Boatsman1488Вот запрос на создание таблицы Create table Polzovateli (ID_User number(4), ID_dogovora number(3), primary key (ID_User, ID_dogovora), constraint ID_dogovora foreign key (ID_dogovora) references Dogovor (ID_dogovora), Last_name varchar2(15), First_name varchar2(10), Mid_name varchar2(15), Dolzhnost varchar2(30), Email varchar2(30)); создалась таблица с составным PK теперь надо таблицу Certs привязать к таблице Polzovateli. Исходя из того что мне выдал ЕрВин, при связи один ко многим, в таблице Certs будет PK состоять из ID_certs, ID_User, ID_dogovora. А связать не получается.. помогите, пожалуйста, разобраться что к чему! Отличие между PK и FK понимаем? Я не знаю зачем тебе составной первичный ключ на сертификатах, но скажу как привязать к Родителю (Пользователь) его Детей (много Сертификатов): Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 09:54 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Павел Воронцов, связь между таблицей договоры и пользователи один ко многим. то есть в одном договоре может быть несколько пользователей. В ЕрВине получается что id_user и id_dogovor - составной первичный ключ. разве не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 10:02 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Boatsman1488Павел Воронцов, связь между таблицей договоры и пользователи один ко многим. то есть в одном договоре может быть несколько пользователей. В ЕрВине получается что id_user и id_dogovor - составной первичный ключ. разве не так? А может быть такое что у одного пользователя несколько договоров?=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 10:07 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Светлый_ДайверBoatsman1488Павел Воронцов, связь между таблицей договоры и пользователи один ко многим. то есть в одном договоре может быть несколько пользователей. В ЕрВине получается что id_user и id_dogovor - составной первичный ключ. разве не так? А может быть такое что у одного пользователя несколько договоров?=) Как бы твой первичный составной ключ на это намекает, только нормализацию делать нужно. Короче, рисуй все заново и не делай составных ключей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 10:12 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Светлый_ДайверА может быть такое что у одного пользователя несколько договоров?=) омг... вообще да.. получается что ID_dogovora просто как FK будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 10:16 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Boatsman1488Светлый_ДайверА может быть такое что у одного пользователя несколько договоров?=) омг... вообще да.. получается что ID_dogovora просто как FK будет? Ага, даже у тебя он уже есть. А в таблице Cert вообще ID_dogovora не нужен. Нужен только пользователь. Та и нужен ли при текущих раскладах первичный ключ вообще на Сертификатах я тож не уверен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 10:23 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
получается вообще вот такая схема бд в ервине в сертификатах связь один ко многим, у пользователя может быть много сертификатов, но у сертификата только один пользователь все правильно получается по схеме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 10:54 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Говорили балакали сiли тай заплакали (с) Опять таки зачем составной первичный ключ на Cert? Там PK вообще не нужен. Уникальный индекс - возможно, а первичный ключ на какой ляд, а? А так всё нарядно - по-студенчески =)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 11:15 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Светлый_Дайвер, а как тогда? сертификат определяется как по уникальному коду и принадлежит только одному пользователю... запутался уже.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 11:33 |
|
||
|
Проблема с созданием таблицы
|
|||
|---|---|---|---|
|
#18+
Еще раз: На Cert PK не нужно. А так у тебя на последней схеме уже есть FK по User_Id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 13:37 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37165036&tid=1542261]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
188ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 515ms |

| 0 / 0 |
