powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Связь многие-ко-многим...
9 сообщений из 9, страница 1 из 1
Связь многие-ко-многим...
    #32180059
Bee_Coff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, please!
База "Путевой лист".
Таблица1. Путевые листы(ID, DRIVER,...) Таблица2. Водители(ID, NAME,...) Таблица3. Экипаж(ID, Путевые_листы_ID, Водители_ID) Таблица Путевые_листы и таблица Водители связаны с таблицей Экипаж один-ко-многим. При заполнении таблицы Путевые_листы пользователь может выбрать одного или двух водителей, как сделать на сервере так, чтобы пользователь не мог выбрать одного водителя дважды для одного путевого листа? И еще, нужен ли в таблице Экипаж первичный ключ? Если его убрать, то при занесении в один путевой лист двух одинаковых водителей запись создается, но в дальнейшем при попытке удаления выдает сообщение:"Cannot delete record! There is at least one record with same fields values!". И дальше: "Invalid token. Dynamic SQL Error. SQL error code = -104. Unexpected end of command."
Делаю базу на IBExpert, сервер IB6.
...
Рейтинг: 0 / 0
Связь многие-ко-многим...
    #32180065
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почитай про триггеры и самый извращенный контроль целостности для тебя станет доступен...

да, можно за одним и про проектирование БД почитать :)
...
Рейтинг: 0 / 0
Связь многие-ко-многим...
    #32180525
Bee_Coff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to StarWind:
Спасибо, почитаю.

to All:

А помочь кто-нибудь сможет?
...
Рейтинг: 0 / 0
Связь многие-ко-многим...
    #32180539
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перед вставкой записи нужно проверить существует ли запись примерно так :

Код: plaintext
1.
 ... NOT IN (SELECT ID FROM TABLE WHERE ... поля которые проверяются должны быть оригинальные  ...)
...
Рейтинг: 0 / 0
Связь многие-ко-многим...
    #32180549
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да сделай ты составной ПК на код водителя и код путевого листа и не морочь голову.
...
Рейтинг: 0 / 0
Связь многие-ко-многим...
    #32180594
Привет!

Контроль целостности на триггерах - это нежизнеспособная идея в многопользовательской среде, так как триггеры выполняются в контексте транзакций.
Правильная идея - с составным ключлм.

WBR,
Alexey
...
Рейтинг: 0 / 0
Связь многие-ко-многим...
    #32180797
Bee_Coff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Gold, to Алексей Ковязин, to Dnico
Спасибо за помощь, попробую составной PrimaryKey, что получилось сообщу... :-)

to Gold
Спасибо за помощь (вопрос про запись действий пользователя) сделал триггеры на все события - теперь лог ведется идеальный.

to Алексей Ковязин
По интернету книгу (на books.ru) заказал "Мир InterBase" 2-е издание. Не Вы ли автор?
...
Рейтинг: 0 / 0
Связь многие-ко-многим...
    #32180897
Bee_Coff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Gold
Спасибо огромное! Все работает, отдельный ключ теперь ни к чему, составной ключ в этом случае отлично работает! Есть же великие на свете - помогут начинающему, а могли бы и шашкой... ;-)
...
Рейтинг: 0 / 0
Связь многие-ко-многим...
    #32182163
Фотография Bol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблицы д.б. такими
T_LIST (
N_LIST...,
N_DRIVER1...,
N_DRIVER2...,
.........
)

T_DRIVER (
N_DRIVER...,
NAME...,
.........
)

T_CREW (
N_CREW...,
N_LIST...,
.........
)
А в таблице путевых листов делаешь CHEK (N_DRIVER1 <> N_DRIVER2).....
Даю рекомендацию - никогда не делай первичный ключ по составляющим предметной области ибо!!! предметная область, которую описывают таблицы, имеет свойство у человечества видоизменяться!!!

Enjoy
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Связь многие-ко-многим...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]