|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как организовать связь многие ко многим
Есть 3 таблицы: Сотрудники, Инструмент и Выдача, нужно связать сотрудников с выдачей(1:м), и инструменты с выдачей(1:м), но связывается только одна или другая таблица. В таблице Выдача есть вторичные ключи для обеих связей.
|
#2
|
|||
|
|||
Цитата:
Если правильно понимаю, то задача стоит как раз связать сотрудниеков и инструменты, кому что выдано. В этом случае тебе нужна таблица Выдача с: - 2мя внешними ключами, один на сотрудников, второй - на инструмент. - Первичный ключ по обоим внешним ключам. Это если не надо отслеживать историю, а только текущее состояние дел. Если надо отслеживать историю, то тут чуть-чуть посложнее. Тогда первичный ключ не нужен, но нужны доп. поля, типа: - дата выдачи, - дата возврата - флаг активности, можно заменить на то, что дата возврата NULL, если инструмент в выдаче сотруднику Еще надо либо триггер на вставку, либо хранимую процедуру, через которую будет делаться вставка, что бы отслеживать корректность вставляемых данных. Я бы еще несколько вьюх наделал, что бы в клиенте упростить запросы, например, инструменты, выданные сотруднику, инструменты, доступные для выдачи, ну и т.п. |
#3
|
|||
|
|||
Вы все правильно поняли в access эти таблицы есть и связаны в таблице Выдача вторичными ключами, вопрос был в другом как эту связь организовать в Delphi
|
#4
|
||||
|
||||
SQL запросы?
например http://www.codinghorror.com/blog/200...sql-joins.html какие поля хотите выводить в программе? Я за здоровый экстрим! Спасибо за "спасибо") |