|
Exists по двум или более таблицам
|
|||
---|---|---|---|
#18+
KreatorXXIГаджимурадов Рустам> Денормализацию modul_id в дефекты для данной задачи не советую. Как раз, ИМХО, это реальный путь. Потому что может быть много разных условий (были ли вообще ВД, есть ли незакрытые и ещё масса признаков, которые пишутся в defect). Не факт, что будет всё востребовано, но вдруг. Может и загоняемся. Хотелось сразу в комбобоксе отсечь "бездефектные" изделия. По мне лучше тогда пусть отображаются все, при выборе "бездефектных" просто не будет конкретики и всё. Чем выдумывать не совсем логичные схемы.Исходя из вышеописанного тобой, ИМХО, тебе нужна отдельная таблица неустраненных дефектов: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
В триггере ДО удаления/обновления/добавления таблицы defect лочить запись таблицы defects_count с нужным идентификатором module_id, а в триггере ПОСЛЕ удаления/обновления/добавления эту запись обновлять - уменьшать/увеличивать на единицу, соответственно. Еще раз в сутки, во время обслуживания БД, запускать хранимую процедуру, проверяющую целостность - вычисляющую реальное количество дефектов для каждого module_id по таблице defect, сравнивающую со значением в таблице defects_count и, при расхождении, исправляющую это значение. Как-то так... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2017, 11:52 |
|
Exists по двум или более таблицам
|
|||
---|---|---|---|
#18+
kdv> Здесь можно так же сделать. Какой ужас... Нет, здесь не надо так делать. :) И modul_id, и has_defects на порядок лучше. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2017, 11:57 |
|
Exists по двум или более таблицам
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, почему ужас-то? вполне себе полезное дублирование. Никаких многопользовательских конфликтов, и целостность вполне триггерами обеспечивается. Правда, у автора структура не совсем такая. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2017, 12:06 |
|
Exists по двум или более таблицам
|
|||
---|---|---|---|
#18+
Вы знаете почему меня больше устраивает внедрение в defect доп. полей? У нас есть ещё подобная таблица, подвязанная к umass, с другой структурой и для других целей. И с ней такой же будет вопрос (пока не поднялся). В принципе не исключаю ещё подобных вопросов с другими таблицами. Подобное производство так работает. Структуру данных особо не поменяешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2017, 12:44 |
|
Exists по двум или более таблицам
|
|||
---|---|---|---|
#18+
KreatorXXI> Вы знаете почему меня больше устраивает внедрение в defect доп. полей? KreatorXXI> У нас есть ещё подобная таблица, подвязанная к umass, с другой структурой KreatorXXI> и для других целей. И с ней такой же будет вопрос (пока не поднялся). Ну будет их две, три - не тридцать же. Считать надо не количество таблиц, а количество... "признаков". Вот в данном случае "имеет дефекты" является признаком (при чем не изделия, а паспорта - это, видимо его модификация). Для понимания можно воспринимать/называть признак не как "дефективный", а как "протестированный и готовый к ..." > Подобное производство так работает. Структуру данных особо не поменяешь. Но именно структуру вы и собираетесь менять. :) Думать надо в первую очередь с т.з. бизнес-логики, а не БД и пр. технологических тонкостей. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2017, 13:12 |
|
Exists по двум или более таблицам
|
|||
---|---|---|---|
#18+
> делать в таблице изделий признак (поле) "has defects" > (или "defective", как больше нравится), который будет > проставляться (видимо по визе ОТК) в true/false. Щас подумал, вспоминая схему работы ОТК - он ведь тоже в вашей системе работает - наверняка, сама эта виза является документом и имеет кучу атрибутов (дата, проверяющие etc), а список дефектов - лишь приложение к ней. Вот по этому документу вы и могли бы как раз получить список изделий с дефектами. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2017, 13:16 |
|
Exists по двум или более таблицам
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, "Визы" мастера и ОТК хранятся как раз в umass. Вот к этой таблице и подвязываем. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2017, 15:38 |
|
Exists по двум или более таблицам
|
|||
---|---|---|---|
#18+
Вроде как в umass хранились некие операции (не понял, что это). Но в любом случае, механизм тот же - если ОТК в своей визе сказал "проверил, дефектов нет" - соотв. признак и надо проставлять для конкретного паспорта (или группы, если виза групповая). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2017, 17:34 |
|
|
start [/forum/topic.php?fid=40&msg=39523360&tid=1561418]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
138ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 253ms |
0 / 0 |