powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / какой вариант связывающей таблицы многие-ко-многим предпочтительнее
8 сообщений из 33, страница 2 из 2
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
    #38940834
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон. Не что было до изменения, а какая запись менялась. Возможно, что-то связано с массовыми изменениям. Подзабыл детали. Но было такое.
...
Рейтинг: 0 / 0
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
    #38940861
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoКот МатроскинЭто как раз проще разрулить тем, что для элементов связующей таблицы (во всяком случае - для ключевых полей) не определена операция "изменение" - только "добавление" и "удаление". Действительно, что логически понимается под "связь банка и человека изменилась" - слабо понятно. "Связь с одним банком перестала действовать, связь с другим банком - начала действовать" - это да, понятно.
С одной стороны в БД всегда как "изменение" присуще. Как там м почему меняются связи в БД зависит от реализации проги. Зачем мне проетировщику БД думать как пишет прогу проггер. Он поменял в проге ид банка и человов массово, а другой части проги ему надо знать в каком каждый был до изменения. У меня есть ID и я легко отвечу на этот вопрос. Мое дело предоставлять требуемую инфу как можно проще, а не говорить ему как программировать.
146% вам с программистом еще аналитика не хватает, чтобы разобрался с требованиями историчности и версионности.

В первом приближении можно завести признак неактуальности связи и timestamp.

Все равно ну процентов 20 будет неактуальных записей, можно о сохранении дискового пространства не заботиться.

Перестать действовать связь может, если нет необходимости хранить закрытые счета.
...
Рейтинг: 0 / 0
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
    #38940959
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dogen146% вам с программистом еще аналитика не хватает, чтобы разобрался с требованиями историчности и версионности.

.
Ни "аналитик", ни "требованиями историчности и версионности." здесь ни при чем.
Вопрос о том, есть польза или нет от того, чтобы было просто ответить на вопрос какая запись меняется в ходе "изменения" полей. А то что это запись интерпретируется как связь - просто частный случай. А так без разницы вообще про что таблица.
...
Рейтинг: 0 / 0
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
    #38941504
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>таблица многие-ко-многим, 14 апр 15, 07:01 [17510665]
>... Можно сделать так: ...

Делаю так: (в данном частном случае требуется оперативно закреплять Пользователей за функциональными Приложениями)
pk_ПриПол - Guid - Ключ
fk_Приложение - Guid
fk_Пользователь - Guid
ts_ПриПол - timestamp

Пара {pk_ПриПол, ts_ПриПол } позволяет эффективно контролировать внесение изменений.
При вставке требуется дополнительная операция - проверка уникальности {fk_Приложение,fk_Пользователь }

С уважением,
Владимир
...
Рейтинг: 0 / 0
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
    #38941778
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoНи "аналитик", ни "требованиями историчности и версионности." здесь ни при чем.
Вопрос о том, есть польза или нет от того, чтобы было просто ответить на вопрос какая запись меняется в ходе "изменения" полей. А то что это запись интерпретируется как связь - просто частный случай. А так без разницы вообще про что таблица.
А в ходе позапрошлого изменения? А как восстановить картину на 23 часа 11 ноября 2014 года?
...
Рейтинг: 0 / 0
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
    #38941806
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DogenvadiminfoНи "аналитик", ни "требованиями историчности и версионности." здесь ни при чем.
Вопрос о том, есть польза или нет от того, чтобы было просто ответить на вопрос какая запись меняется в ходе "изменения" полей. А то что это запись интерпретируется как связь - просто частный случай. А так без разницы вообще про что таблица.
А в ходе позапрошлого изменения? А как восстановить картину на 23 часа 11 ноября 2014 года?
Речь шла не про историю изменений в предметной области.
Речь шла просто о таблице, которую меняет программа в ходе одной транзакции, например. БД еще в процессе изменения. И может оказаться, что в коде программы после изменения изменяемых полей, нужно найти какие записи менялись, что поменять дугие поля этой таблицы или еще для чего-то. Вот ID может помочь сделать именно это. А если нет ID, то это сделать сложнее.

Т.е. он может быть полезен, хотя и не восстановить картину на 23 часа 11 ноября 2014 года. Автомобиль ведь полезен, хотя и не может летать?
...
Рейтинг: 0 / 0
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
    #38941826
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoможет оказаться, что в коде программы после изменения изменяемых полей, нужно найти какие записи менялись, что поменять дугие поля этой таблицы
жуть какая :)

я вообще придерживаюсь мнения, что достаточно достаточно подробно отразить связи предметной области в структуре БД, чтобы она долго и безбедно существовала и позволяла писать всякий там код без того, чтобы трогать ее самое

вот вопрос необходимости суррогатного ПК в таблице, необходимой только для реализации связи m:n, нмв дело вкуса - везде делаем, ну и здесь сделаем; или ни в одной такой таблице не делаем

если связь соответствует какой-то сущности, однозначно следует создать суррогатный ПК

если в планах репликация между серверами, однозначно следует создать суррогатный ПК (плюс озаботиться пулами значений)
...
Рейтинг: 0 / 0
какой вариант связывающей таблицы многие-ко-многим предпочтительнее
    #38941860
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dogenжуть какая :)
)
Ну вот так. Был такой случай на практике. Потому, чтобы не думать ставлю всегда ID, во все таблы. Кроме того, стиль одинаковый в этом плане.
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / какой вариант связывающей таблицы многие-ко-многим предпочтительнее
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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