![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 05.03.2010
Сообщений: 125
|
![]()
есть таблица с полем с которым должны быть соеденены две таблицы, поставить внешний ключ в этом поле для обоих таблиц(и их соответствующих полей) я так понял НЕЛЬЗЯ, подскажите как в этой ситуации действовать?
пожалейте новичка
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,091
|
![]()
Перепроектировать БД, чтобы такого не требовалось.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 05.03.2010
Сообщений: 125
|
![]()
оказывается можно, просто надо было уникальными во внешних табл поставить поля
пожалейте новичка
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,091
|
![]()
Как это интересно? Мне SQL-синтаксис даже интересен стал, как можно внешний ключ к двум таблицам прикрутить.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 05.03.2010
Сообщений: 125
|
![]()
.....ALTER TABLE AVTORSTVO ADD CONSTRAINT FK_AVTORSTVO_1 FOREIGN KEY (ID_AVT) REFERENCES MEDIADANNIE (AVTORI);
ALTER TABLE AVTORSTVO ADD CONSTRAINT FK_AVTORSTVO_2 FOREIGN KEY (ID_AVT) REFERENCES DOCUMENT (AVTORI);..... делаю, в IB expert сделал на одно поля просто два ключа, я не прав в чем то?
пожалейте новичка
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,091
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 05.03.2010
Сообщений: 125
|
![]()
там просто связь через таблицу авторство с еще одной таблицей сотрудники(связь многие ко многим), в медиаданных и документах инкременируются коды авторства, вставляются в табл АВТОРСТВО и она уже ссылается на сотрудников т е эти ключи только для связи многие ко многим....может как то проще можно?
пожалейте новичка
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,091
|
![]()
Я так понимаю, что в БД есть авторы, которые могут быть как создателями документов, так и медиаданных и причем у каждого документа/медиа может быть несколько авторов?
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 05.03.2010
Сообщений: 125
|
![]()
во во, именно так!
пожалейте новичка
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,091
|
![]()
Тогда логичнее объединить документы и медиаданные через категоризацию или как там она по научному называется.
Авторство +----------------------+ | автор (PK, FK) | | произведение (PK,FK) | +----------------------+ Произведение +----------+ | ИД (PK) | +----------+ | Название | | Тип | +----------+ Документ +-----------+ | ИД (PK,FK) | // ИД произведения +-----------+ | ... | +-----------+ В таблице произведение (название уж более подходящее сами придумайте ![]() И еще: Вы сможете обеспечить уникальность индексов в таблицах "документ" и "медиаданные" или таблица авторство в итоге "поплывёт"? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
«Внешние подпрограммы» | Dr.Caste | Помощь студентам | 0 | 20.12.2009 15:36 |
Паскаль. Подпрограммы (внешние) | Sanek19 | Помощь студентам | 3 | 16.12.2009 15:24 |
Паскаль. Внешние подпрограммы. | HD-boy | Помощь студентам | 2 | 14.12.2009 04:38 |
Вынесение кода во внешние файлы | KorDum | Общие вопросы Delphi | 18 | 03.07.2009 22:47 |