|
|
|
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
|
|||
|---|---|---|---|
|
#18+
Пардон. Не что было до изменения, а какая запись менялась. Возможно, что-то связано с массовыми изменениям. Подзабыл детали. Но было такое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 16:50 |
|
||
|
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
|
|||
|---|---|---|---|
|
#18+
vadiminfoКот МатроскинЭто как раз проще разрулить тем, что для элементов связующей таблицы (во всяком случае - для ключевых полей) не определена операция "изменение" - только "добавление" и "удаление". Действительно, что логически понимается под "связь банка и человека изменилась" - слабо понятно. "Связь с одним банком перестала действовать, связь с другим банком - начала действовать" - это да, понятно. С одной стороны в БД всегда как "изменение" присуще. Как там м почему меняются связи в БД зависит от реализации проги. Зачем мне проетировщику БД думать как пишет прогу проггер. Он поменял в проге ид банка и человов массово, а другой части проги ему надо знать в каком каждый был до изменения. У меня есть ID и я легко отвечу на этот вопрос. Мое дело предоставлять требуемую инфу как можно проще, а не говорить ему как программировать. 146% вам с программистом еще аналитика не хватает, чтобы разобрался с требованиями историчности и версионности. В первом приближении можно завести признак неактуальности связи и timestamp. Все равно ну процентов 20 будет неактуальных записей, можно о сохранении дискового пространства не заботиться. Перестать действовать связь может, если нет необходимости хранить закрытые счета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 17:06 |
|
||
|
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
|
|||
|---|---|---|---|
|
#18+
Dogen146% вам с программистом еще аналитика не хватает, чтобы разобрался с требованиями историчности и версионности. . Ни "аналитик", ни "требованиями историчности и версионности." здесь ни при чем. Вопрос о том, есть польза или нет от того, чтобы было просто ответить на вопрос какая запись меняется в ходе "изменения" полей. А то что это запись интерпретируется как связь - просто частный случай. А так без разницы вообще про что таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 18:31 |
|
||
|
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
|
|||
|---|---|---|---|
|
#18+
>таблица многие-ко-многим, 14 апр 15, 07:01 [17510665] >... Можно сделать так: ... Делаю так: (в данном частном случае требуется оперативно закреплять Пользователей за функциональными Приложениями) pk_ПриПол - Guid - Ключ fk_Приложение - Guid fk_Пользователь - Guid ts_ПриПол - timestamp Пара {pk_ПриПол, ts_ПриПол } позволяет эффективно контролировать внесение изменений. При вставке требуется дополнительная операция - проверка уникальности {fk_Приложение,fk_Пользователь } С уважением, Владимир ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2015, 12:50 |
|
||
|
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
|
|||
|---|---|---|---|
|
#18+
vadiminfoНи "аналитик", ни "требованиями историчности и версионности." здесь ни при чем. Вопрос о том, есть польза или нет от того, чтобы было просто ответить на вопрос какая запись меняется в ходе "изменения" полей. А то что это запись интерпретируется как связь - просто частный случай. А так без разницы вообще про что таблица. А в ходе позапрошлого изменения? А как восстановить картину на 23 часа 11 ноября 2014 года? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2015, 16:44 |
|
||
|
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
|
|||
|---|---|---|---|
|
#18+
DogenvadiminfoНи "аналитик", ни "требованиями историчности и версионности." здесь ни при чем. Вопрос о том, есть польза или нет от того, чтобы было просто ответить на вопрос какая запись меняется в ходе "изменения" полей. А то что это запись интерпретируется как связь - просто частный случай. А так без разницы вообще про что таблица. А в ходе позапрошлого изменения? А как восстановить картину на 23 часа 11 ноября 2014 года? Речь шла не про историю изменений в предметной области. Речь шла просто о таблице, которую меняет программа в ходе одной транзакции, например. БД еще в процессе изменения. И может оказаться, что в коде программы после изменения изменяемых полей, нужно найти какие записи менялись, что поменять дугие поля этой таблицы или еще для чего-то. Вот ID может помочь сделать именно это. А если нет ID, то это сделать сложнее. Т.е. он может быть полезен, хотя и не восстановить картину на 23 часа 11 ноября 2014 года. Автомобиль ведь полезен, хотя и не может летать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2015, 17:01 |
|
||
|
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
|
|||
|---|---|---|---|
|
#18+
vadiminfoможет оказаться, что в коде программы после изменения изменяемых полей, нужно найти какие записи менялись, что поменять дугие поля этой таблицы жуть какая :) я вообще придерживаюсь мнения, что достаточно достаточно подробно отразить связи предметной области в структуре БД, чтобы она долго и безбедно существовала и позволяла писать всякий там код без того, чтобы трогать ее самое вот вопрос необходимости суррогатного ПК в таблице, необходимой только для реализации связи m:n, нмв дело вкуса - везде делаем, ну и здесь сделаем; или ни в одной такой таблице не делаем если связь соответствует какой-то сущности, однозначно следует создать суррогатный ПК если в планах репликация между серверами, однозначно следует создать суррогатный ПК (плюс озаботиться пулами значений) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2015, 17:26 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38941778&tid=1540572]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 401ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...