|
|
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
_модguest_20040621 Задача тривиальнейшая: контекстно-зависимый справочник. А можно уточнить - что это такое ? Тогда и решение будет.Не знаете, что это такое ??? Бывает.... :) Если упрощенно, то: Это когда на список допустимых значений накладывается некий фильтр в завис. от свойств главной сущности. Пример ? Дык был же уже. Цвет автомобиля. В завис. от марки набор возможных цветов или даже их оригинальных названий (ментол, графит, молочный, асфальт, белая ночь и т.п.). Даже красный корпоративный цвет кока-колы имеет специальное название (н-р для рекламистов). зы: Усложнить задачу КЗС можно до бесконечности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2014, 11:38 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
LSV_модпропущено... А можно уточнить - что это такое ? Тогда и решение будет.Не знаете, что это такое ??? Бывает.... :) Если упрощенно, то: Это когда на список допустимых значений накладывается некий фильтр в завис. от свойств главной сущности. Пример ? Дык был же уже. Цвет автомобиля. В завис. от марки набор возможных цветов или даже их оригинальных названий (ментол, графит, молочный, асфальт, белая ночь и т.п.). Даже красный корпоративный цвет кока-колы имеет специальное название (н-р для рекламистов). Ну а чего тут сложного-то? (я, кстати, при словосочетании "контекстно зависимый справочник" совсем другую вещь представил - значение атрибута "цвет", которое в одном отчете выводится как "серый N21", в другом - "светлый", в третьем "Белая ночь"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2014, 11:54 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
LSVЕсли упрощенно, то: Это когда на список допустимых значений накладывается некий фильтр в завис. от свойств главной сущности. Примитивный фильтр на уровне UI. Придумайте что-нибудь поинтереснее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2014, 12:07 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин(я, кстати, при словосочетании "контекстно зависимый справочник" совсем другую вещь представил - значение атрибута "цвет", которое в одном отчете выводится как "серый N21", в другом - "светлый", в третьем "Белая ночь"). Контекстно зависимые сисонимы. Посложнее будет, но тоже решаемо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2014, 12:10 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
> Ну а чего тут сложного-то? Ничего. Громоздко несколько. Но в данном случае интерес представляет не реализация, а требования к справочникам, которые она предполагает. У каждой сущности - от стандартов до состава контекста - свой жизненный цикл. > значение атрибута "цвет", которое в одном отчете выводится как "серый N21", в другом - "светлый", в третьем "Белая ночь" Соответствия - связанная задача. Хороший, кстати, пример: "светлый" нельзя корректно сопоставить значению цвета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2014, 12:20 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Хороший, кстати, пример: "светлый" нельзя корректно сопоставить значению цвета. Конечно. Если все значения-синонимы соспоставляются 1:1, то задача тривиальна - оператор ставит любой из синонимов, а система дальше разбирается, что где показывать. А вот если нет - то проблема даже не в структуре таблиц, а в организации удобного заполнения этого поля для оператора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2014, 12:51 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
> Конечно Дело не только в этом. Диапазоны, сегменты - понятно. Светлый - может быть характеристика, например, пива, - здесь цвет как таковой роли не играет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2014, 13:16 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
Тока что разбирался с кодом запроса, использующего метОду единого справочника. Ужас. Запрос работает дико медленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 14:38 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
Жертва единого справочника.Тока что разбирался с кодом запроса, использующего метОду единого справочника. Ужас. Запрос работает дико медленно. А я, третьего дня, по дороге на работу накрутил какую-то радиостанцию, так там такая музыка была, что мне вообще не понравилось. Аж настроение на целый день испортилось. Случаем не знаете композитора этой гадости? Код запроса в студию, а то может статься, что жертва не Вы , а ни в чём не повинный справочник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2014, 18:18 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
GoffmanSgt.Pepperпропущено... А заказчика интересуют собственные интересы... Что из ЭТОГО следует?... Как минимум, что у разработчика зачастую нет интереса создавать для заказчика качественное и масштабируемое решение, и в этом смысле становится понятным его стремление увеличить скорость разработки за счет отступления от классических правил построения БД.В который раз прошу Вас озвучить отступление от классических правил РМД. Эдвард Кодд сказал, что связи реализуются только через FK?.. Если он такого не говорил, то "скорость разработки", "качественное и масштабируемое" решение или финансовые дивиденды участников сделки следует рассматривать в плоскости целесообразности, удобства и т.д., но, возможно, существующие в рамках парадигмы РМД ... Вы, как я понимаю, готовы доказать в случае объединенного справочника конфликт с моделью (с моделью!)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2014, 22:31 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
GoffmanВ теории РБД нет так же понятия атомарный и объединенный справочник, но это почему то вас не смущает. Понятие "ссылочное поле" я использовал намеренно, т.к. в круг обсуждаемых систем входят системы c FK и без FK.С чего это должно меня смущать, если назови его хоть объединенным, хоть совмещенным, хоть атомарным, он м.б. реализован отношением в контексте РМД?... А в Ваших "связях" и "ссылках" есть некие допущения, которые сужают РМД (уж не знаю - по недомыслию или упертости). У Вас зацикленность на FK... FK - это вырожденная "связь" (или "ссылка" или как еще ни назовите)... В общем случае для "связи" или "ссылки" FK является необходимым условием, но недостаточным, если "связь" или "ссылка" реализована классически, через отношения. GoffmanНу например, у нас есть каталог обуви, и нам понадобилось добавить классификацию по цвету. Что нам нужно сделать? 1. создать классификатор цветов (неважно в отдельной таблице или в объединенном справочнике) 2. создать в "таблице обуви" атрибут "цвет" - который будет ссылаться на классификатор "цвет" 3. создать в UI контрол, который будет обслуживать атрибут "цвет обуви"Вдумайтесь еще раз , что п.2 в общем случае с точки зрения РМД - совсем не обязательный, а как следствие и п.3... ps Вас не смущает, что даже такие радикалы, как guest_XXXXX, не оспаривают соответствия РМД, а утверждают, что так проектируют только долбо^ебы?... И я с этим утверждением в общем согласен - у этого подхода есть очень ограниченная область применения, но я возражаю, что: - он требует "патчей", изменения схемы и внедрения... - его не следует применять никогда... Даже такой касатка проектирования жизни ртом как guest_XXXXX сознался, что подход м.б. применим для "переходных процессов", которые впоследствии следует реализовывать классическим образом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2014, 23:07 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. Это типа как УЖЕ ЕДИНОЖДЫ запрограммировано производителем... Далее Маша начинает юзать все это дело с клиента: Код: sql 1. 2. 3. 4. Потом она говорит - Петя, ты админ или мать тебя?.. Мне сказали, что ты добавишь континенты, а я их должна привязать к этим долбанным странам!.. Вот служебка... Петя: да без проблем! Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Маша говорит - Отлично! И выполняет: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Ну типа так же с цементом и валютой... На каком этапе требуется накат патчей?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2014, 01:25 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
Извините, ошибся в атрибутах, следует читать так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2014, 08:45 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
Sgt.PepperВ который раз прошу Вас озвучить отступление от классических правил РМД. Не хотелось бы объяснять очевидные вещи. Раз вы упомянули Кодда, то классический подход можно выразить через правило№0 Sgt.PepperЭдвард Кодд сказал, что связи реализуются только через FK?.. А разве в современных СУБД есть еще какие-нибудь реализации связи? озвучьте если не трудно. Sgt.PepperЕсли он такого не говорил, то "скорость разработки", "качественное и масштабируемое" решение или финансовые дивиденды участников сделки следует рассматривать в плоскости целесообразности, удобства и т.д., но, возможно, существующие в рамках парадигмы РМД ... Если решение менее качественно, оно остается менее качественным независимо от финансовых дивидендов участников сделки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2014, 11:27 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
Sgt.PepperА в Ваших "связях" и "ссылках" есть некие допущения, которые сужают РМД Не понимаю, почему чем вам так не угодило слово "ссылка". Вам надеюсь знакомо понятие "ссылочная целостность"? Какое слово лежит в основе? Sgt.Pepper(уж не знаю - по недомыслию или упертости). Знакомо, все кто рассуждают не так как мы, либо недоумки либо упертые бараны )) Sgt.PepperУ Вас зацикленность на FK... Это все равно что сказать строителю: У Вас зацикленность на железобетоне... GoffmanFK - это вырожденная "связь" (или "ссылка" или как еще ни назовите)... В общем случае для "связи" или "ссылки" FK является необходимым условием, но недостаточным, если "связь" или "ссылка" реализована классически, через отношения. Здесь я не очень понял, что вы имеете в виду, если не трудно - поясните, лучше с примером. Sgt.Pepperточки зрения РМД - совсем не обязательный, а как следствие и п.3... Ну и что, делать то его все равно надо, я пытаюсь представить проблему вывода справочника в целом. Sgt.PepperВас не смущает, что даже такие радикалы, как guest_XXXXX, не оспаривают соответствия РМД, а утверждают, что так проектируют только долбо^ебы?... И я с этим утверждением в общем согласен - у этого подхода есть очень ограниченная область применения, но я возражаю, что: - он требует "патчей", изменения схемы и внедрения... - его не следует применять никогда... Ну раз вы в целом с guest_XXXXX согласны, значит не такой уж он и радикал, как вы говорите. Что касается изменения схемы, то выходим на второй круг, как вы сможете добавить специфическое поле в отдельно взятом справочнике, не выводя его из "объединенного справочника"? А вывод справочника в отдельную таблицу - это и есть изменение схемы. Про "его не следует применять никогда..." - в общем то этого никто здесь и не утверждал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2014, 11:58 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
GoffmanSgt.PepperВ который раз прошу Вас озвучить отступление от классических правил РМД. Не хотелось бы объяснять очевидные вещи. Раз вы упомянули Кодда, то классический подход можно выразить через правило№0 Можно полюбопытствовать, какое нарушение правила, гласящего "реляционная СУБД должна быть способна полностью управлять базой данных, используя связи между данными" допускает подход, в котором данные разных (нескольких) справочников могут храниться в одной таблице? К дизайну физической модели данных это правило не относится. Точно так же оно не относится даже к логической модели данных (с множеством справочников). Перевод логической модели в схему для физического хранения вполне допускает объединение в одной физической таблице нескольких логических сущностей - в данном конкретном случае отдельных атомарных справочников. Если запретить возможность хранения атомарных справочников в одной таблице, разделять "условно ФИО" для мужчин и женщин тоже будем в разные (отдельные!) таблицы?! Смысл, кстати, сугубо тот же самый, что и для "атомарного" справочника... Теперь просто представьте себе кошмар, если пойти по пути Фэйсбука, где, типа, вообще больше 50 "полов" хотят начать использовать, и данные по каждому, типа, "полу" хранятся в разных (и полностью идентичных по структуре) таблицах... Может, все же стоит согласиться, что использование некоторого дескриминатора (разделителя) вполне справляется с этой задачей? Для "условно ФИО" это признак пола, кстати... Кстати... :) Надеюсь, перед постингом этой ссылки Вы прочитали абзац, находящийся непосредственно перед списком правил, которые были предложены в далекой середине 1980-х: В действительности правила столь строги, что все популярные т. н. "реляционные" СУБД не соответствуют многим критериям.Практически, есть только одна причина, по которой (любое) правило не соблюдается - это правило в реальном мире плохо соответствует связаным с ним ожиданиям... GoffmanSgt.PepperЕсли он такого не говорил, то "скорость разработки", "качественное и масштабируемое" решение или финансовые дивиденды участников сделки следует рассматривать в плоскости целесообразности, удобства и т.д., но, возможно, существующие в рамках парадигмы РМД ... Если решение менее качественно, оно остается менее качественным независимо от финансовых дивидендов участников сделки.Вам что больше импонирует - правила, рекомендации или догма? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2014, 13:33 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
GoffmanSgt.PepperЭдвард Кодд сказал, что связи реализуются только через FK?.. А разве в современных СУБД есть еще какие-нибудь реализации связи? озвучьте если не трудно. )) нелепости... Ключи относятся к ограничениям целостности, а не к связям между типами сущностей... В "современных СУБД" (точнее, СХОД - системах хранения и обработки данных, предназначенных для программистов) связи в принципе не поддерживаются. Они моделируются с помощью элементов структуры (отношений) и ОЦ (ключей). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2014, 18:47 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
Goffman Если решение менее качественно, оно остается менее качественным независимо от финансовых дивидендов участников сделки. Угу, т.е. такой параметр как "соотношение цена/качество" Вам не известен. Да и по поводу темы, на протяжении 10 страниц, нигде не определились критерии "качественно - не качественно" по этому вопросу. Поскольку Вы утверждаете, что решение менее качественно, то критерии качества в студию. Только критерии не умозрительные, типа "я так никогда не делаю, поэтому это отстой!", а вполне проверяемые, типа как для автомобилей: Kia = 106 поломки на 100 машин - это качественная машина, а BMW = 114 поломок - остается менее качественной независимо от финансовых дивидендов участников сделки. По поводу Кодда: где в его 13-ти правилах указано, что нужно заколотить парадное и ходить через чёрный ход для каждого справочника требуется создавать отдельную таблицу? Скорее против Вашей точки зрения работает правило №9: Правила .... правило 9: Логическая независимость данных (Logical Data Independence): Представление данных в приложении не должно зависеть от структуры реляционных таблиц . Если в процессе нормализации одна реляционная таблица разделяется на две, представление должно обеспечить объединение этих данных, чтобы изменение структуры реляционных таблиц не сказывалось на работе приложений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2014, 20:57 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
zeon11Скорее против Вашей точки зрения работает правило №9: Правила .... правило 9: Логическая независимость данных (Logical Data Independence): Представление данных в приложении не должно зависеть от структуры реляционных таблиц . Если в процессе нормализации одна реляционная таблица разделяется на две, представление должно обеспечить объединение этих данных, чтобы изменение структуры реляционных таблиц не сказывалось на работе приложений. Иначе говоря, модель представления данных не должна зависеть от логической модели данных))) То есть, под вопрос ставится даже вынужденная структура "модель верхнего уровня + маппинг по всем трем аспектам МД + модель нижнего уровня (РМД)". Это одна из ключевых проблем, делающая применение РМД бесполезным практически для всех прикладных задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2014, 21:59 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
zeon11Поскольку Вы утверждаете, что решение менее качественно, то критерии качества в студию. Ну, возможно, имелось виду большее соответствие структуры БД предметной области. Возможно, это упростит восприятие схемы, декларативные ОЦ и какие-то запросы. zeon11 По поводу Кодда: где в его 13-ти правилах указано, что нужно заколотить парадное и ходить через чёрный ход для каждого справочника требуется создавать отдельную таблицу? Скорее всего, эти правила - все же требования к РСУБД, а не РМД. И потому как бы там про то, чтобы СУБД претендующие на Р, позволяли использовать все достоинства РМД, т.е. не компрометировали ее. В частности, zeon11Скорее против Вашей точки зрения работает правило №9: работает против точек зрения, производителей РСУБД, допускающих отсутствие представлений в их продукте, но возможности присутствия буквы “Р”. Есть у нас приложение и БД. Мы решили сменить имя поля, сделать в реляционной схеме декомпозицию таблиц. Если приложение видит представления, а схему, то код приложений трогать не придется, только изменить приложения. В частности, это преимущество РМД, над ООМД, в которых типа нет представлений. А никак ни разных конкретных РМД, так обе могут юзать это достоинство, если только разработчик РСУБД это обеспечил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2014, 08:58 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
опечатка: "Если приложение видит представления, а схему, то код приложений трогать не придется, только изменить приложения. " следует читать: "Если приложение видит представления, а не таблицы, то код приложений трогать не придется, только изменить представления. " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2014, 15:40 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
vadiminfoЕсли приложение видит представления, а не таблицы, то код приложений трогать не придется, только изменить представления. 1) Приложение "видит" совсем другую структуру, имеет дело с другими ОЦ и написано на другом языке. Поскольку не легко разработать и повторно применять архитектуру "модель верхнего уровня + маппинг по всем трем аспектам МД + модель нижнего уровня (РМД)" то - перманентное программирование. И это (обеспечение программистов работой на всю жизнь) вполне можно отнести к достоинствам реляционной технологии. 2) Код, например, умножающий A на B, конечно не придется трогать после, например, удаления B из таблицы и из представления, если "разработчик РСУБД это обеспечил". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2014, 22:08 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
Бредятина... не легко разработать и повторно применять архитектуру "модель верхнего уровня + маппинг по всем трем аспектам МД + модель нижнего уровня (РМД)" ... Надо думать, что ЧАЛОвскую ахинею "не легко разработать" и тем более "повторно применять". К счастью, в этом нет нужды: эпоха РМД а дворе. В МУМПСы и устаревшие идеи 60-х в прошлом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2014, 22:38 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
vadiminfoБредятина... не легко разработать и повторно применять архитектуру "модель верхнего уровня + маппинг по всем трем аспектам МД + модель нижнего уровня (РМД)" ... Надо думать, что ЧАЛОвскую ахинею "не легко разработать" и тем более "повторно применять". К счастью, в этом нет нужды: эпоха РМД а дворе. В МУМПСы и устаревшие идеи 60-х в прошлом. ))) Уточню: 1) Приложение "видит" совсем другую структуру, имеет дело с другими ОЦ и написано на другом языке. Поскольку не легко разработать и повторно применять архитектуру "модель верхнего уровня + маппинг по всем трем аспектам МД + модель нижнего уровня (РМД)" то - перманентное программирование. И это (обеспечение программистов работой на всю жизнь) вполне можно отнести к достоинствам реляционной технологии. 2) Код, например, умножающий A на B, конечно не придется трогать после, например, удаления B из таблицы и из представления, если "разработчик РСУБД это обеспечил". Вы допускаете серьезные ошибки, когда пишете что-то про БД) И когда я Вам на них указываю, обижаетесь, и начинаете писать не по существу) Нечего сказать по существу, так не пишите здесь сообщения... Разумеется эпоха РМД на дворе, и я это ясно подтвердил))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2014, 23:02 |
|
||
|
Проектирование атомарных справочников...
|
|||
|---|---|---|---|
|
#18+
Бредятина Разумеется эпоха РМД на дворе, и я это ясно подтвердил Наконец-то до Вас дошло это через 30 лет. МУМПС здесь подбрасывали вместо РМД. Мешочки, Дореляционную ОМД, объектный нафигатор. Смешно просто вспоминать. Теперь, надеюсь, взялись за ум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2014, 23:36 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38563749&tid=1540946]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
133ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 465ms |

| 0 / 0 |

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