|
|
|
Связь многие-ко-многим...
|
|||
|---|---|---|---|
|
#18+
Помогите, 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 02:30 |
|
||
|
Связь многие-ко-многим...
|
|||
|---|---|---|---|
|
#18+
почитай про триггеры и самый извращенный контроль целостности для тебя станет доступен... да, можно за одним и про проектирование БД почитать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 04:28 |
|
||
|
Связь многие-ко-многим...
|
|||
|---|---|---|---|
|
#18+
to StarWind: Спасибо, почитаю. to All: А помочь кто-нибудь сможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 13:52 |
|
||
|
Связь многие-ко-многим...
|
|||
|---|---|---|---|
|
#18+
Перед вставкой записи нужно проверить существует ли запись примерно так : Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 14:02 |
|
||
|
Связь многие-ко-многим...
|
|||
|---|---|---|---|
|
#18+
Да сделай ты составной ПК на код водителя и код путевого листа и не морочь голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 14:09 |
|
||
|
Связь многие-ко-многим...
|
|||
|---|---|---|---|
|
#18+
Привет! Контроль целостности на триггерах - это нежизнеспособная идея в многопользовательской среде, так как триггеры выполняются в контексте транзакций. Правильная идея - с составным ключлм. WBR, Alexey ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 14:45 |
|
||
|
Связь многие-ко-многим...
|
|||
|---|---|---|---|
|
#18+
to Gold, to Алексей Ковязин, to Dnico Спасибо за помощь, попробую составной PrimaryKey, что получилось сообщу... :-) to Gold Спасибо за помощь (вопрос про запись действий пользователя) сделал триггеры на все события - теперь лог ведется идеальный. to Алексей Ковязин По интернету книгу (на books.ru) заказал "Мир InterBase" 2-е издание. Не Вы ли автор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 18:20 |
|
||
|
Связь многие-ко-многим...
|
|||
|---|---|---|---|
|
#18+
to Gold Спасибо огромное! Все работает, отдельный ключ теперь ни к чему, составной ключ в этом случае отлично работает! Есть же великие на свете - помогут начинающему, а могли бы и шашкой... ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 22:37 |
|
||
|
Связь многие-ко-многим...
|
|||
|---|---|---|---|
|
#18+
Таблицы д.б. такими 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2003, 08:07 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32180525&tid=1580385]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 277ms |
| total: | 519ms |

| 0 / 0 |
