powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Непостоянное число справочников с редактируемыми числом и типом полей
92 сообщений из 92, показаны все 4 страниц
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395430
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.

Кто встречался, плиз, поделитесь опытом.

Проблема:

Заказчик хочет, чтобы было различное число справочников, в каждом какие-то поля. Пользователь хочет иметь возможность создавать/редактировать/удалять справочники и поля в них в рантайме. Разумеется, справочники дальше используются в работе и на них появляются ссылки из других таблиц. В справочнике также могут быть поля-ссылки на другие справочники.
Версионность тоже поддерживать надо (но вопрос не о версиях).
Так как это всего лишь справочники, то не обязательно, чтобы эта часть системы очень быстро работала.

Есть два варианта решения:
1. Использовать SQL DDL для создания/изменения таблиц в рантайме. Создавать таблицы, триггеры, ключи, таблицы с историей и т.д.

2. Создать общую структуру для всех справочников - таблица Справочники, таблица Поля, таблица Значения.
Запись в таблице Поля ссылается на Справочник, которому это поле принадлежит, запись в таблице Значения ссылается на Поле, которому принадлежит значение, и на Тип данных, возможно.

Если кто-то использовал это в реальном приложении, поделитесь плиз опытом по поводу производительности, простоты написания и поддержки, простоты использования.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395468
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPooh....Если кто-то использовал это в реальном приложении, поделитесь плиз опытом по поводу производительности, простоты написания и поддержки, простоты использования.

делали похожую весчь...
смысл следующий (в двух словах без конкретики)...
практически в одну таблицу упаковываются знания о связях и полях. связи задают "маршрут" выборки. поля - типы, правила сортировки, спец поля (вычисляемые) и т.п.. на оракле летало без проблем (что лично на меня произвело впечатление - когда без индексов идёт выборка кадра данных с кучей условиями, под несколько кб сам запрос, массивы данных уровня боинга и айбиэм - и всё енто за считанные копейки - респект).

честно говоря это не моё решение (имееться ввиду логика), но очень элегантное... с точки зрения обращений - мона выделить два этапа. Вытаскивание связей и составление сиквол запроса. Ну и вторая фаза - уже подключалась логика накачки сетевого кадра - тут уже сами данные подтягивались, но это уже другая песня.

с уважением
(круглый)
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395551
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 kolobok0:
Спасибо,
значит работет быстро...
kolobok0
делали похожую весчь...
смысл следующий (в двух словах без конкретики)...

А вот можно с конкретикой :) - сколько времени примерно писалось это счастье, как именно формируется запрос, как поддерживаются внешние ссылки на такой справочник, какая именно структура (если это не коммерческая тайна :)) Ведь это существенно усложняет все запросы с использованием справочников.

2 All:
А кто-нибудь создавал/изменял таблицы в рантайме? Поделитесь, плиз.
Как насчет совместимости версий SQL у разных RDBMS? Может, придется реализовывать разные запросы для разных СУБД? Нерадостно это звучит...

Оба подхода имеют свои преимущества и недостатки, и я даже не знаю, что хуже :(. Каково ваше мнение по этому поводу?
Код: plaintext
1.
2.
Best regards,
             vinni.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395564
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPoohОба подхода имеют свои преимущества и недостатки, и я даже не знаю, что хуже :(. Каково ваше мнение по этому поводу?

Используйте ООСУБД.
http://www.membrana.ru/articles/readers/2005/09/02/200800.html
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395615
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin wrote:
> vinniPooh
> Оба подхода имеют свои преимущества и недостатки, и я даже не знаю, что
> хуже :(. Каково ваше мнение по этому поводу?
>
>
> Используйте ООСУБД.
> http://www.membrana.ru/articles/readers/2005/09/02/200800.html
жив, курилка....

была статья Т.Тенцера "База данных - хранилище объектов", искать в
КомпьютерПресс 8,2001

--
-------------------------
There's no silver bullet!
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395622
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 shuklin

Спасибо за свежую мыслю, однако по понятным причинам ООСУБД меня не устраивает. Хотя кто знает... :)
Код: plaintext
1.
2.
Best regards,
             vinni.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395626
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPooh2 kolobok0:
- сколько времени примерно писалось это счастье, как именно формируется запрос, как поддерживаются внешние ссылки на такой справочник, какая именно структура (если это не коммерческая тайна :)) Ведь это существенно усложняет все запросы с использованием справочников........

сразу оговорюсь...
преследовался механизм НЕ в лёт добавлять таблицы и поля. А НЕ переделывать "поисковик" при каких-либо переделках структуры БД. а это немного рядом, я бы сказал...

коммерческая - думаю уже протухла...
но на форуме выкладывать не буду...стучитесь в мыло...
если найду спеку, завтра вышлю... правда постараюсь оставить только суть в русле вашего вопроса...да, она на ангельском... думаю с этим проблем не будет...


с уважением
(круглый)
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395650
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 locky

А что ты сам думаешь про весь этот геморрой? Может, и вправду изнасиловать заказчика и перейти на ООСБД?
Мне важны мнения людей, которые столкнулись с этим на практике.

Как-то я на заре своей программистской юности пытался реализовать наследование в РСУБД, но от этой идеи быстренько отказался - уже очень все было сложно, и время не позволяло. Хороший плюс в пользу ОО. Хотя серебряной пули нет и там ;)
Код: plaintext
1.
2.
Best regards,
             vinni.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395709
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPoohСпасибо за свежую мыслю, однако по понятным причинам ООСУБД меня не устраивает. Хотя кто знает... :)
В таком случае можно посмотреть EAV и LOCNET
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395735
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 shuklin:

thanks.
Примерно такое (EAV/CR) я и хочу сделать, только хочу использовать не по одной таблице для каждого типа, а хранить в одной таблице все типы (в нескольких полях), тем более что у меня только 3 типа, пока.

Судя по всему, этот вариант предпочтительнее, чем SQL DDL.
Код: plaintext
1.
2.
Best regards,
             vinni.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395813
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPoohПримерно такое (EAV/CR) я и хочу сделать, только хочу использовать не по одной таблице для каждого типа, а хранить в одной таблице все типы (в нескольких полях), тем более что у меня только 3 типа, пока.



тогда LOCNET - там внутри пример рабочего проекта для Access можно брать и пользоваться. Вся БД занимает 5 таблиц. Позволяет реализовать практически все.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395822
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPooh wrote:
> 2 locky
>
> А что ты сам думаешь про весь этот геморрой? Может, и вправду
> изнасиловать заказчика и перейти на ООСБД?
> Мне важны мнения людей, которые столкнулись с этим на практике.
>
А чо мне думать? я с таким работаю. Ничо, работать можно. Есть свои
минусы, но куча плюсов.
Правда, у меня реализация другая, но принципы те же.
А ООБД - это к чукотским сказочникам.

--
-------------------------
There's no silver bullet!
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33395928
jikez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно XML использовать, и хранить его в базе, к примеру 9-й оракл это прекрасно умеет
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33396114
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Поделюсь своим опытом по этому вопросу.

В своё время *в 200-ом году) наши заказчики возжелали иметь у себя так называемую систему ведения справочников, т.е. отдельное приложение, которое в отдельной базе ведёт все справочники, которые используются в нескольких десятках учреждений.

Мы пошли по пути, который автор обозначил как SQL DDL.

Вот что из этого получилось (в общих чертах):

Структура справочников:
1. Термин справочник определён как набор объектов (таблиц, триггеров и т.д.), описывающих нечто из предметной области.
2. Внутри справочника выделили несколько типов таблиц:
- линейная таблица справочника - основная таблица справочника
- таблицы дополнительных свойств
- таблицы оглавлений, задающие иерархию для линейной таблицы
- ещё пара типов таблиц...
3. Для линейных таблиц справочников утвердили набор стандартных полей (код, наименование, период действия записи, дата создания записи). Всего таких служебных полей получилось 9 штук. Эти поля есть в каждой линейной таблице, их нельзя удалить и их порядок фиксирован.
4. Кроме служебных полей есть дополнительные поля (начиная с 10-го), которые можно добавлять/удалять по мере необходимости.
5. Среди дополнительных полей могут встречаться поля-ссылки, т.е. поля ссылающиеся на другие справочники.

Порядок работы самой программы:
1. Для хранения описательной информации сформирован набор из примерно 10 служебных таблиц (репозитарий), в которых хранятся данные о полных наименованиях объектов, списки полей (с дополнительными свойствами) и ещё много чего, что понадобилось для нормальной работы.
2. Рядовым действием системы является создания нового объекта (справочника, оглавления, поля, ...), а это значит, что выполняются соотвествующие DDL-команды (CREATE TABLE, ALTER TABLE, CREATE TRIGGER, ...). Соотвественно для таблиц есть интерфейс добавления/удаления полей/индексов/связей.
3. Для просмотра справочников испольется многооконный интерфейс и обычные гриды. Для редактирования записей приходится для каждой таблицы строить свою форму в виде a'la property editor в Delphi/C#/...

вот такая основная идея - будут вопросы, отвечу

с уважением,
Дмитрий Жучков
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33396551
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эххх!
Когда-то (88г?) я все это делал на Clipper. (Создание, объединение (join, union), ведение, фильтрация, индексация, выборка с подсуммировкой, автокалк поля (со ссылками на другие таблицы), триггеры для ведения связанных таблиц, генертор отчетов (на базе индексов),..) - называлась "генератор задач". Линейные задачи типа касса, банк и т.д получались за час.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33396753
ecv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ecv
Гость
Элементарно, Ватсон !
таб1:
имя справочника
ид объекта
таб2:
ид (из таб1)
имя поля
значения поля (varchar2(32000))
дата изменений

еще надо добавить иерархич классификацию всего этого хоз-ва

на оракле летает, запросы тривиальные
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33396890
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dimkas

Спасибо за описание

Не мог бы ты распространиться о скорости написания, работы и усилиях, необходимых для поддержки всего этого?
Что было особенно неприятно делать, какие подводные камни, что при таком подходе радовало?
Насколько я понимаю, при создании нового справочника модифицируются (добавление внешних ключей) также и те таблицы, которые ссылаются на этот справочник - для поддержания целостности?
На какой базе это работало?
Так как у меня конкретная СУБД не определена, то боюсь, что могут возникнуть проблемы с мигрированием.

2 ecv

Благодарю тебя, о божественный гуру

Просвети меня, сокровищница знаний, по поводу достоинств и недостатков метода, и как поддерживается ссылочная целостность и версионность при этом подходе?

P.S. Рекомендую прочитать топик.
Код: plaintext
1.
2.
Best regards,
             vinni.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33397526
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единая структура справочников это когда хорошо, а когда и не очень.
Я сделал единый механизм построения простых форм.
http://www.sql.ru/forum/actualthread.aspx?tid=202235
http://www.sql.ru/forum/actualthread.aspx?tid=209398
Таблицы создаются программистом на сервере. Затем пишуться запросы и описания-метаданные к ним. Справочник может быть сколь угодно сложным: с лукап-полями, шапка/строки, дерево, БЛОБы, сложные фильтры, автосуммы, drilldown. Все конфигурируется без единой строчки кода в приложении. Там же определена безопасность: кому мона а кому немона.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33397563
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единая структура справочников это когда хорошо, а когда и не очень. Иногда могут понадобиться исключения.
Я сделал единый механизм построения простых форм.
http://www.sql.ru/forum/actualthread.aspx?tid=202235
http://www.sql.ru/forum/actualthread.aspx?tid=209398
Таблицы создаются программистом на сервере. Затем пишуться запросы и описания-метаданные к ним. Справочник может быть сколь угодно сложным: с лукап-полями, шапка/строки, дерево, БЛОБы, сложные фильтры, автосуммы, drilldown, цветовыделение, печать/экспорт. Все конфигурируется без единой строчки кода в приложении. Там же определена безопасность: кому мона а кому немона.
ИМХО, идеально для создания произвольных справочников и не только их. Можно при желании ввести версионность.
Всё примерно 3-4тыс. строк кода. Delphi+MSSQL
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33397697
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vinniPooh2 Dimkas
Не мог бы ты распространиться о скорости написания, работы и усилиях, необходимых для поддержки всего этого?

скорость написания - первая версия была написана за полгода в одиночку, но с первого раза ни работоспособность, ни функциональность заказчика не устроили и пришлось ещё месяца 3 дописывать/переписывать. А для достижения текущего результата понадобилось примерно 5 человеко лет ;)
т.к. сейчас и СУБД другая, и функций сильно больше...
vinniPooh
Что было особенно неприятно делать, какие подводные камни, что при таком подходе радовало?

Особо неприятно то что структура таблиц меняется на ходу,
когда раньше жили на MS SQL Server'е, то DDL-операции можно было включить в транзакцию и в случае чего откатить, сейчас живём на Oracle и приходится думать как сделать аккуратнее ибо откатить DLL уже нельзя...
Подводных камней особых не вспомню, хотя конечно были трудности...
Что порадовало - тоже особенно ничего не припомню :) работа как работа...
vinniPooh
Насколько я понимаю, при создании нового справочника модифицируются (добавление внешних ключей) также и те таблицы, которые ссылаются на этот справочник - для поддержания целостности?

При создании нового справочника на него ещё никто не ссылается, ведь его только что не существовало :). Вопрос надо уточнить...
vinniPooh
На какой базе это работало?

Сначала работало на MS SQL 97, потом MS SQL 2000, потом переехали на Oracle 8.1.7 и FireBird 1.5, сейчас качуем в сторону Oracle 10.2 и FireBird 2.0
vinniPooh
Так как у меня конкретная СУБД не определена, то боюсь, что могут возникнуть проблемы с мигрированием.

не понял, какие проблемы? мигрированием чего и куда?
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33397762
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 LSV

Это все конечно круто, но я пишу на java, а потом, как-то все это громоздко выглядит.
И речь идет о том, чтобы не писать запросы для каждого справочника в явном виде, а спрятать это от программиста. Если я правильно тебя понял.

Расскажи плиз по-подробнее, я вообще не работал с Delphi и скорее всего, чего-то недопонял
Код: plaintext
1.
2.
Best regards,
             vinni.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33397804
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimkas
vinniPooh
Насколько я понимаю, при создании нового справочника модифицируются (добавление внешних ключей) также и те таблицы, которые ссылаются на этот справочник - для поддержания целостности?
При создании нового справочника на него ещё никто не ссылается, ведь его только что не существовало :). Вопрос надо уточнить...
После того, как справочник создан, на него могут ссылаться другие таблицы. Прописывали ли вы явно в других таблицах внешние ключи на этот справочник? Или целостность поддерживалась каким-то другим образом?
Dimkas
vinniPooh
Так как у меня конкретная СУБД не определена, то боюсь, что могут возникнуть проблемы с мигрированием.

не понял, какие проблемы? мигрированием чего и куда?
Посколько синтаксис SQL DDL может, к сожалению, быть различным для разных СУБД, а у меня целевая СУБД не определена или может меняться (пути кастомера неисповедимы), теоретически могут возникнуть проблемы с переходом с одной базы на другую.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33397837
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vinniPooh После того, как справочник создан, на него могут ссылаться другие таблицы. Прописывали ли вы явно в других таблицах внешние ключи на этот справочник? Или целостность поддерживалась каким-то другим образом?

Да, внешние ключи прописываются при добавлении в справочник поля, ссылающегося на другой справочник.
Периодически администратор системы выполняет так называемую проверку целостности - проверяются все первичные и внешние ключи, наличие и правильность триггеров и т.д.
vinniPooh Посколько синтаксис SQL DDL может, к сожалению, быть различным для разных СУБД, а у меня целевая СУБД не определена или может меняться (пути кастомера неисповедимы), теоретически могут возникнуть проблемы с переходом с одной базы на другую.
теперь понял :) у нас система работает на двух разных базах (Oracle и FireBird).
естественно, что для них запросы строятся разные. для этого введён промежуточный программный слой, которому приложение сообщает что надо сделать, а он уже делает... вобщем то всё как обычно...
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33397876
ecv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ecv
Гость
vinniPooh
Просвети меня, сокровищница знаний, по поводу достоинств и недостатков метода, и как поддерживается ссылочная целостность и версионность при этом подходе?

P.S. Рекомендую прочитать топик.

достоинства известны
недостаток - не покатит большой объем > 100000 объектов в одном спр
триггера или прикладнуха - за все надо платить
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33397982
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimkas
Да, внешние ключи прописываются при добавлении в справочник поля, ссылающегося на другой справочник.
Периодически администратор системы выполняет так называемую проверку целостности - проверяются все первичные и внешние ключи, наличие и правильность триггеров и т.д.

А когда на вновь созданный справочник должна ссылаться таблица с данными, она как-то модифицируется?
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33398013
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ecv wrote:
> достоинства известны
> недостаток - не покатит большой объем > 100000 объектов в одном спр
> триггера или прикладнуха - за все надо платить
даа? У меня max > 500000 - нормально усё... правда, пришлось работать
напильником, это да. пока руку набил....

--
-------------------------
There's no silver bullet!
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33398368
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И речь идет о том, чтобы не писать запросы для каждого справочника в явном виде, а спрятать это от программиста. Если я правильно тебя понял.А кто будет конфигурировать справочники ? Юзеры ?
Конфигурацией системы должны заниматься специалисты. Иначе - бардак. У меня SQL-запрос писать нужно. Это единственное, что есть от программирования и это по силам даже начинающему программисту-студенту. И это пожалуй единственный спопоб сделать и просто и эффективно.
Сделать мощный визард и исключить SQL в явном виде во первых сложно, и во вторых снизит эффективность работы с данными. Будет очередная 1С
Речь идёт не только о справочниках. Указанная технология УНИВЕРСАЛЬНА и позволяет отображать любую списочную и древоподобную информацию в т.ч. и с посторонних таблиц (соседних баз).
Справочник с единой структурой и интерфейсом менее универсален, хотя и является неплохим решением. Кстати, у меня он тоже есть, хотя упрощённый
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33398421
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSV И речь идет о том, чтобы не писать запросы для каждого справочника в явном виде, а спрятать это от программиста. Если я правильно тебя понял.А кто будет конфигурировать справочники ? Юзеры ?
Конфигурацией системы должны заниматься специалисты. Иначе - бардак. У меня SQL-запрос писать нужно. Это единственное, что есть от программирования и это по силам даже начинающему программисту-студенту. И это пожалуй единственный спопоб сделать и просто и эффективно.
Сделать мощный визард и исключить SQL в явном виде во первых сложно, и во вторых снизит эффективность работы с данными. Будет очередная 1С
Речь идёт не только о справочниках. Указанная технология УНИВЕРСАЛЬНА и позволяет отображать любую списочную и древоподобную информацию в т.ч. и с посторонних таблиц (соседних баз).
Справочник с единой структурой и интерфейсом менее универсален, хотя и является неплохим решением. Кстати, у меня он тоже есть, хотя упрощённый
Именно юзеры (по требованиям :) ). Юзеры особо выдресированные, которые имеют звание админа, скорее всего. Они могут создать/удалить справочник, добавить/удалить/изменить поле, не говоря уже о самих значениях.
Система у меня такая. Конечно, будут какие-то предопределенные справочники.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33398889
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vinniPoohА когда на вновь созданный справочник должна ссылаться таблица с данными, она как-то модифицируется?
во-первых для этого в таблице с данными должно быть соотвествующее поле.
если оно есть, то на него накладывается внешний ключ на справочник,
если его нет, то оно добавляется и см. п.1.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33399205
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для эффективной работы всё равно нужно знать и базовый SQL и РСУБД.
Всё равно система оперирует запросами, а не какими-то модными объектными подходами. Если юзеры офигенно продвинутые, то что им мешает освоить базовый SQL ? Визард для создания таблиц/процедур/предстаалений можно заваять. Вот только зачем ? Всё уже изобретено. Аналогично и с конструкторами запросов.
Навигационный подход к данным, как практикуется в dBase/1C/Navision и т.п. считаю безнадёжно устаревшим, хотя он обеспечивает независимость от СУБД.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33399456
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSVДля эффективной работы всё равно нужно знать и базовый SQL и РСУБД.
Всё равно система оперирует запросами, а не какими-то модными объектными подходами. Если юзеры офигенно продвинутые, то что им мешает освоить базовый SQL ? Визард для создания таблиц/процедур/предстаалений можно заваять. Вот только зачем ? Всё уже изобретено. Аналогично и с конструкторами запросов.
Навигационный подход к данным, как практикуется в dBase/1C/Navision и т.п. считаю безнадёжно устаревшим, хотя он обеспечивает независимость от СУБД.
Так-то оно так, но у меня в спецификации явно прописано: пользователи могут создавать справочники. Тут уж ничего не попишешь.
Вот я и думаю.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33399623
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> но у меня в спецификации явно прописано: пользователи могут создавать справочники

Если справочники простые, то для этого можно придумать древоподобную таблицу, где узлы это новые справочники. Корнем справочника есть некий узел дерева (можно где-то его объявить). Справочник может быть либо плоским либо древовидным. Хотя с произвольным набором полей будет посложнее.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33400041
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPooh
Есть два варианта решения:
1. Использовать SQL DDL для создания/изменения таблиц в рантайме. Создавать таблицы, триггеры, ключи, таблицы с историей и т.д.

Использовался этот подход. Правда пользователи не имеют доступ к изменению справочников, это делали программисты и администраторв готовых систем. Вкратце, добавлялся новый тип справочника (документа) в репозиторий, описывались параметры (поля) справочника (тип, наименование, значения по умолчанию и пр). Описывались связи между полями.

Потом нажималась кнопка, которая создавала таблицы, поля, компилила автоматом процедуры по внесению, изменению, просмотру справочника. Триггера и связи БД не использовались. Вся логика зашивалась в процедуры.

При компиляции определялась целевая БД и синтаксис процедур генерился в зависимости от синтаксиса SQL диалекта.

Оказалась достаточно удобная схема позволяющая разрабатывать и внедрять продукты достаточно быстро. Но в отличии от подхода с одной универсальной таблицей проще синтаксис для отчетов и выше производительность.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33400174
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Estets vinniPooh
Есть два варианта решения:
1. Использовать SQL DDL для создания/изменения таблиц в рантайме. Создавать таблицы, триггеры, ключи, таблицы с историей и т.д.

Использовался этот подход. Правда пользователи не имеют доступ к изменению справочников, это делали программисты и администраторв готовых систем. Вкратце, добавлялся новый тип справочника (документа) в репозиторий, описывались параметры (поля) справочника (тип, наименование, значения по умолчанию и пр). Описывались связи между полями.

Потом нажималась кнопка, которая создавала таблицы, поля, компилила автоматом процедуры по внесению, изменению, просмотру справочника. Триггера и связи БД не использовались. Вся логика зашивалась в процедуры.

При компиляции определялась целевая БД и синтаксис процедур генерился в зависимости от синтаксиса SQL диалекта.

Оказалась достаточно удобная схема позволяющая разрабатывать и внедрять продукты достаточно быстро. Но в отличии от подхода с одной универсальной таблицей проще синтаксис для отчетов и выше производительность.

Очень интересно.
А сколько времени разрабатывалась система?
Могла ли структура таблицы изменятся после создаиня в рантайме?
Были ли проблемы с откатом изменений таблиц?
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33400787
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблем с откатом не может не быть. При откате меняется часть логики и она может не соответствовать общей инф. модели.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33400892
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оправдала себя на практике система справочников, принятая в БАС .

Все справочники в одной таблице. В общем, все они содержат относительно не много записей, поэтому эта таблица не растет на столько, что бы заметно было при выборках данных.
Огромное преимущество - не засоряется база данных мелкими таблицами. Например, только в одной Зарплате более сотни разных справочников.
Другое преимущество - элементарное добавление новых справочников в живой работающей системе, без остановки, без возни с исходными текстами и последующей перегенерации системы.
Третье преимущество - программисты сопровождения должны выучить одну таблицу и правила работы с ней - это происходит за полчаса.
Следующее - для ввода в данных в справочники и для выбора из них значений используется одна и та же функция - упрощение самой системы.

Вот так выглядит настройка справочника:
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33400935
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PVP
Огромное преимущество - не засоряется база данных мелкими таблицами. Например, только в одной Зарплате более сотни разных справочников.
Другое преимущество - элементарное добавление новых справочников в живой работающей системе, без остановки, без возни с исходными текстами и последующей перегенерации системы.
Третье преимущество - программисты сопровождения должны выучить одну таблицу и правила работы с ней - это происходит за полчаса.
Следующее - для ввода в данных в справочники и для выбора из них значений используется одна и та же функция - упрощение самой системы.


Одно из решений, которое я, возможно, буду использовать - это статичная структура таблиц. Сейчас я предполагаю использование 5-ти таблиц. (Справочник, Запись, Поле, Значение, Тип).
Если я понимаю, твоя таблица хранит деревья. Справочник является корнем дерева, поля - его ветвями, значения - листвой. Так ли это?
Не возникает ли проблем с проходом по всему дереву (справочнику) для выбора небольшого количества полей?
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33400939
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PVP
Огромное преимущество - не засоряется база данных мелкими таблицами. Например, только в одной Зарплате более сотни разных справочников.
Другое преимущество - элементарное добавление новых справочников в живой работающей системе, без остановки, без возни с исходными текстами и последующей перегенерации системы.
Третье преимущество - программисты сопровождения должны выучить одну таблицу и правила работы с ней - это происходит за полчаса.
Следующее - для ввода в данных в справочники и для выбора из них значений используется одна и та же функция - упрощение самой системы.

Расскажи плиз как устроена твоя таблица.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33400952
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPoohОдно из решений, которое я, возможно, буду использовать - это статичная структура таблиц. Сейчас я предполагаю использование 5-ти таблиц. (Справочник, Запись, Поле, Значение, Тип).На мой взгляд, это перебор в статичности. В БАС таблица, содержащая данные, условно статическая. Т.е. во время работы она статическая. При настройке, если в какой либо справочник добавляется такое поле, которого еще нет ни в одном справочнике, то структура таблицы меняется системными средствами - в нее добавляется новое поле. Есть некоторая избыточность. Но это не страшно, так как в общем объеме базы данных эта таблица пренебрежительно мала.

vinniPoohЕсли я понимаю, твоя таблица хранит деревья. Справочник является корнем дерева, поля - его ветвями, значения - листвой. Так ли это?
Да обычная таблица. Нужны деревья, помещай поля "Код вершины" и "Код источника" и работай с деревьями. А вообще, в самом начале разработки была допущена ошибка постановки, и работа с деревьями вынесена в отдельный модуль. Хотя ничего не мешает работать с древовидными справочниками в одщей системе.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33400958
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPoohРасскажи плиз как устроена твоя таблица.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33400960
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибся. Предыдущий рисунок под руку попался.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33400963
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица SSprLst - список спраовочников.
SSprGrup - друвовидная структура справочников
SSprVar - имена полей, входящих в справочник с их свойствами.
SSprData - данные всех справочников. До поля Pr_Str_Table - поля системные. За этим полем - набираются динамически при настройке по мере включения в них разных параметров.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33400967
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Остальные таблицы общие для всей системы. Они используются для управления структурой других рабочих таблиц. Их еще несколько - операции, лицевые счета, и еще пара, которые уже практически не используются.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33401030
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PVPОстальные таблицы общие для всей системы. Они используются для управления структурой других рабочих таблиц. Их еще несколько - операции, лицевые счета, и еще пара, которые уже практически не используются.

Примерно так я это и представлял. Но мне бы не хотелось связываться с модификацией таблицы и потом - с избыточностью полей. Я предпочитаю внести еще один уровень - таблицу Значение, которая ссылается на таблицу Поле. Это избавляет от избыточности, но усложняет запросы.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33401042
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPoohНо мне бы не хотелось связываться с модификацией таблицы и потом - с избыточностью полей. Я предпочитаю внести еще один уровень - таблицу Значение, которая ссылается на таблицу Поле. Это избавляет от избыточности, но усложняет запросы.Усложнение запросов - это еще пол беды. А вот увеличение времени выборки данных - это уже савсем беда.

На счет избыточности. Допустим она равна 100%. Это приведет к тому, что таблица со справочными данными будет, грубо говоря, в два раза больше по объему. Вопрос - как увеличится размер все базы данных в целом? Ответ - он не изменится. Т.к. в серьезной работающей системе Вы будете оценивать размер до 1 ГБ. Вряд ли, точнее.

К тому, же на практике, если работать аккуратно с полями, то избыточность на самом деле не большая. Одно и то же поле, например K01, в может использоваться в разных справочниках и при этом иметь совершенно различный смылс.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33401043
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PVPУсложнение запросов - это еще пол беды. А вот увеличение времени выборки данных - это уже савсем беда. А может и не пол беды, а больше. Если делать программу для продажи, то сложные запросы отобьют охоту у внедренцев работать с такой системой.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33402716
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PVPВсе справочники в одной таблице. В общем, все они содержат относительно не много записей, поэтому эта таблица не растет на столько, что бы заметно было при выборках данных.
доводилось сталкиваться с таким подходом и есть замечания:
1. Как быть с внешними ключами? Если в большой таблице есть записи из нескольких справочников, то как на уровне СУБД ограничить ввод в таблицу данных значений из конкретного справочника? Можно конечно ставить диапазон, но будут проблемы с добавлением значений. Можно во внешний ключ ввести ещё дополнительное поле, но тоже как-то имхо некрасиво.
2. Засорение базы сотней мелких таблиц - это конечно плохо, но есть и плюс - все таблицы имеют свои собственные имена и их можно предсказать при переносе между системами. А в Вашем подходе какое имя будет у справочника если Вы его передадите в стороннюю систему?

Вобщем то оба эти замечания скорее религиозные (эмоциональные) чем технические и речь идёт о некой абстрактной красоте системы, но лично мне кажется, что красоту можно считать косвенным показателем качества
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33402723
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PVP PVPУсложнение запросов - это еще пол беды. А вот увеличение времени выборки данных - это уже савсем беда. А может и не пол беды, а больше. Если делать программу для продажи, то сложные запросы отобьют охоту у внедренцев работать с такой системой.
Справочники, по идее, не сильно затормозят работу системы, ведь обращения к ним происходят достаточно редко, а отчеты по ним вообще не строятся.
Насчет внедренцев - это скорее у программистов охота отобъется, так как они будут упрятывать запросы так, что их нигде не будет видно.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33402868
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPooh
Очень интересно.
А сколько времени разрабатывалась система?
Могла ли структура таблицы изменятся после создаиня в рантайме?
Были ли проблемы с откатом изменений таблиц?
Так называемое "Ядро документооборота" включающее собственно сам документооборот, модуль счетов-проводок и разработка тонкого клиента потребовал где-то 2 человеко-года.

Что значит "изменятся после создания" если администратор удалил поле в таблице, или сменил его тип и не отразил изменение в репозитории, то он сам себе "злобный буратино" хранимые процедуры по работе с этим документом не скомпилятся или будут некорректно работать.

Откатов как таковых нет ;) соответственно нет и проблем с ними, если администратор удалил параметр документа, то это отразится на ХП, но физически поле в таблице останется.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33402903
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
стоит пожалуй более конкретно написать что не нравится в этом подходе,
а точнее попробую указать на несостоятельность преимуществ
PVP
Огромное преимущество - не засоряется база данных мелкими таблицами.
Например, только в одной Зарплате более сотни разных справочников.

в чём трудность хранения в базе 100-150 дополнительных таблиц, если не считать затрат на придумывание имён для этих таблиц? с именами конечно есть проблемы, но они достаточно легко разруливаются системными соглашениями.
PVP
Другое преимущество - элементарное добавление новых справочников в живой работающей системе, без остановки, без возни с исходными текстами и последующей перегенерации системы.

если в ТЗ на систему сразу стоит ограничение типа "должна быть возможность добавления новых справочников и создания документов, имеющих ссылки на эти справочники", то все перечисленные трудности не зависят от выбранного подхода. Выполнение одного CREATE TABLE никак не проблемнее чем INSERT INTO bigtable... и будет "возня с исходными текстами" или нет тоже лежит целиком на совести разработчика.
PVP
Третье преимущество - программисты сопровождения должны выучить одну таблицу и правила работы с ней - это происходит за полчаса.

... не только выучить одну таблицу, но и запомнить какие значения имеют одни и те же поля для разных справочников. А вот это уже никак не полчаса для "более сотни справочников". При наличии большого количества мелких таблиц с _одинковой_ общей частью на их освоение тоже уйдёт полчаса. А вот нестандартные дополнительные поля придётся учить и там и там.
PVP
Следующее - для ввода в данных в справочники и для выбора из них значений используется одна и та же функция - упрощение самой системы.

Вот тут поподробнее, пожалуйста - как функция ввода может совпадать с функцией выбора?! Вероятно имеется в виду некая функция пользовательского интерфейса, но это тоже детали...

Вобщем итоговое ИМХО - трудности, связанные с неоднозначностью интерпретации значения из большого мега-справочника, а именно ответ на вопрос "Какому под-справочнику принадлежит значение с кодом ХХХХ?", на мой взгляд перевешивают призрачные приимущества, которые указаны в качестве плюсов данного подхода.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33402919
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vinniPooh Справочники, по идее, не сильно затормозят работу системы, ведь обращения к ним происходят достаточно редко, а отчеты по ним вообще не строятся.
Здрасьте! 8-о Как это обращения к справочникам происходят достаточно редко?!
А заполнение полей документов? А показ этих документов?
Рекомендую считать, что количество обращений к справочникам равно
количеству обращений к документам умноженному на количество справочников в документе...
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33403215
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimkas vinniPooh Справочники, по идее, не сильно затормозят работу системы, ведь обращения к ним происходят достаточно редко, а отчеты по ним вообще не строятся.
Здрасьте! 8-о Как это обращения к справочникам происходят достаточно редко?!
А заполнение полей документов? А показ этих документов?
Рекомендую считать, что количество обращений к справочникам равно
количеству обращений к документам умноженному на количество справочников в документе...
Верно...
Но все равно, скорость здесь не настолько падает, чтобы это было критичным и могло послужить в пользу подхода с использованием SQL DDL.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33403316
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot vinniPoohНо все равно, скорость здесь не настолько падает, чтобы это было критичным и могло послужить в пользу подхода с использованием SQL DDL.[/quot]
попробую дать информацию к размышлению
пример из здравоохранения:
Демографический справочник ~40 000 записей
Справочник городов и улиц ~15 000 записей
Справочник диагнозов ~ 13 000 записей
Справочник медицинских услуг ~ 5800 записей
Классификатор медицинского оборудования ~ 3800 записей

Справочник должностей – 379 записей
Справочник специальностей – 175 записей
Справочник видов лицензируемых услуг – 59 записей
Справочник зон и территорий – 14 записей

Внимание, вопрос – по какому из этих справочников наиболее часто строятся аналитические отчёты, подаваемые на стол (монитор) руководителю? минута пошла…

А теперь правильный ответ – высокое начальство оперирует сильно сгруппированными данными и для него наибольший интерес представляет самый маленький справочник.
А потому для увеличения скорости выборки и группировки Вам придётся в ближайшее время формировать временные таблицы, являющиеся физическим представлением конкретных справочников.

Конечно некоторые системы не подразумевают аналитической обработки собираемых данных, но уверяю, что все руководители ей подразумевают :)
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33403688
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Демографический справочник ~40 000 записей
> Классификатор медицинского оборудования ~ 3800 записей

Вы уверены, что это _справочники_?
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33403736
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> Демографический справочник ~40 000 записей
> Классификатор медицинского оборудования ~ 3800 записей
Вы уверены, что это _справочники_?
насчёт демографического - нет :)
а вот второй - совершенно точно...

встречный вопрос - список уникальных клиентов компании это справочник или нет? что-то мне подсказывает что таки справочник. а значит в любой системе массового обслуживания такой справочник может легко перевалить через указанные 40 тысяч. чего стоит,например, 12 млн. клиентов МТС - и ведь их обрабатывают...

вывод - справочники бывают разные и надо смотреть на конкретные нужды.
я только хотел предостеречь от сваливания разнородной информации в одну таблицу - плюсы сомнительны, а основной минус - противоречие базовой идее реляционных СУБД.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33403823
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> а вот второй - совершенно точно...

Полагаю, Вы ошибаетесь.

> встречный вопрос - список уникальных клиентов компании это справочник
> или нет?

Нет. Это список клиентов компании.

> вывод - справочники бывают разные

;) Конечно, разные. Но по сути (не по структуре, конечно) все справочники одинаковы. И назначение у них - одинаковое.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33403867
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> а вот второй - совершенно точно...

Полагаю, Вы ошибаетесь.

> встречный вопрос - список уникальных клиентов компании это справочник
> или нет?

Нет. Это список клиентов компании.

> вывод - справочники бывают разные

;) Конечно, разные. Но по сути (не по структуре, конечно) все справочники одинаковы. И назначение у них - одинаковое.
с таком случае, пожалуйста, озвучьте Ваше определение термина "справочник"
когда я говорил о справочниках имелось ввиду "представление полного набора уникальных значений некоторого признака предметной области, включающее (код, наименование, период действия)"
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33403892
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
продолжение...

так что, как говорится, сверим часы :)

кстати рахождения в терминологии меня тоже порой смущают и если кто-то приведёт достойный вариант определения для терминов "справочник", "классификатор" то буду очень признателен.

заодно надо согласовать порядок использования справочников.
свой вариант - справочники используются для упорядочения списка значений признака путём указания краткого и однозначно читаемого кода вместо ввода (ручного) текстового значения. соотвественно уменьшаются затраты на хранение данных (код как правило короче наименования) и повышается достоверность.

в такой терминологии "список клиентов компании" вполне укладывается в понятие справочника.

с уважением,
Дмитрий Жучков
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33403964
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> представление полного набора уникальных значений некоторого признака
> предметной области, включающее (код, наименование, период действия)

...полного набора (как правило стандартизованных) относительно редко изменяемых значений. Что, куда и по каким правилам включается - не суть.

> справочники используются для упорядочения списка значений признака
> путём указания краткого и однозначно читаемого кода вместо ввода
> (ручного) текстового значения.

Да, но это побочное свойство.

> соотвественно уменьшаются затраты на хранение данных (код как правило
> короче наименования)

Тоже побочное.

> и повышается достоверность

Да, это одно из основных свойств. Плюс интероперабельность.

> в такой терминологии "список клиентов компании" вполне укладывается
> в понятие справочника.

Нет. По целому ряду причин.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33404033
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с терминологией вроде всё нормально, плюс-минус акценты и детали...
guest_20040621>> в такой терминологии "список клиентов компании" вполне укладывается
> в понятие справочника.
Нет. По целому ряду причин.
темнишь, парниша :)
хотелось бы всё таки хотя бы основные из этих причин узнать.

у меня самого запросто может быть несколько однобокое представление о справочниках. во-первых, систему ведения справочников доводилось писать, а вот систем с активным использованием справочников как то не довелось :)
во-вторых, часто общаюсь с хранилищами данных и в них есть чёткая паралель между справочником и тем что в терминологии OLAP называется "измерение". соотвественно у меня легко укладывается в голове вот такое рассуждение от обратного -
"список клиентов - измерение => список клиентов - справочник" :)
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33404068
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> а вот второй - совершенно точно...
Полагаю, Вы ошибаетесь.

вот краткая выдержка из "Классификатора медицинского оборудования"
чем не справочник? :)
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33404085
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> хотелось бы всё таки хотя бы основные из этих причин узнать.

Часто изменяемый не стандартизованный список. Произвольное (любое, заранее неизвестное) количество признаков. Как правило, значения - не атомарны. Невозможна или затруднена интероперабельность.

> часто общаюсь с хранилищами данных и в них есть чёткая паралель между
> справочником и тем что в терминологии OLAP называется "измерение"

Imho ничего общего.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33404106
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> вот краткая выдержка из "Классификатора медицинского оборудования"
> чем не справочник?

Это не справочник. Это каша из классификатора и классифицируемых сущностей.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33404125
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimkas[quot vinniPoohНо все равно, скорость здесь не настолько падает, чтобы это было критичным и могло послужить в пользу подхода с использованием SQL DDL.
попробую дать информацию к размышлению
пример из здравоохранения:
Демографический справочник ~40 000 записей
Справочник городов и улиц ~15 000 записей
Справочник диагнозов ~ 13 000 записей
Справочник медицинских услуг ~ 5800 записей
Классификатор медицинского оборудования ~ 3800 записей

Справочник должностей – 379 записей
Справочник специальностей – 175 записей
Справочник видов лицензируемых услуг – 59 записей
Справочник зон и территорий – 14 записей

Внимание, вопрос – по какому из этих справочников наиболее часто строятся аналитические отчёты, подаваемые на стол (монитор) руководителю? минута пошла…

А теперь правильный ответ – высокое начальство оперирует сильно сгруппированными данными и для него наибольший интерес представляет самый маленький справочник.
А потому для увеличения скорости выборки и группировки Вам придётся в ближайшее время формировать временные таблицы, являющиеся физическим представлением конкретных справочников.

Конечно некоторые системы не подразумевают аналитической обработки собираемых данных, но уверяю, что все руководители ей подразумевают :)[/quot]

Подобная система справочников добавляет 1-2 join'а в запросы. Не думаю, что это сильно навредит, ведь запросы для отчетов достаточно сложные всегда. Конечно, надо чем-то платить за простоту и скорость разработки. Если добавить в таблицы некоторую избыточность, то можно снизить число join'ов. А так как я предполагаю выполнять все операции с БД только через отдельную библиотеку, то думаю, что проблем из-за такой избыточности не появится.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33404757
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621Часто изменяемый не стандартизованный список. Произвольное (любое, заранее неизвестное) количество признаков. Как правило, значения - не атомарны. Невозможна или затруднена интероперабельность.

1. Что значит часто изменяемый? Часто это как? Любой справочник рано или поздно изменяется. Даже справочник полов человека за последние 50 лет вырос в 2 раза :). Вопрос частоты изменения - это субъективный вопрос, тут важно определиться с чем сравниваем эту частоту. Имхо, сравнивать надо с объёмами регистрируемых с помощью справочника данных. Если справочник меняется раз в минуту (как например список абонентов крупного сотового оператора), а за эту минуту происходит 100 000 звонков, то нельзя сказать что справочник слишком часто меняется. Тоже самое касается и других справочников - если на одно изменение справочника, приходится на 3-5 порядков больше зарегистрированных событий, то значит справочник меняется медленно. Другое дело, что для человеческого восприятия одно изменение в минуту - это конечно слишком быстро :)
2. Количество и состав базовых признаков клиента компании известно с самого начала. А то что какой-то признак может появиться по ходу жизни - это ещё не повод вычёркивать таблицу из справочников, в любом справочнике может добавить признак.
3. Значение чего не атомарны? Строк? Одна строка - один клиент. Ячеек? Ячейки на совести разработчика.
4. "Невозможно или затруднена интероперабельность" - почему? В рамках одной большой компании единый список клиентов, с утверждённой структурой, весьма даже облегчает взаимопонимание между подразделениями.
guest_20040621
> часто общаюсь с хранилищами данных и в них есть чёткая паралель между
> справочником и тем что в терминологии OLAP называется "измерение"
Imho ничего общего.
а вот тут, пожалуйста, приведите пару примеров когда измерение не состоит из "полного набора (как правило стандартизованных) относительно редко изменяемых значений"?
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33404758
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621>Это не справочник. Это каша из классификатора и классифицируемых сущностей.
вот тут согласен - есть недоработки :)
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33404765
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vinniPoohПодобная система справочников добавляет 1-2 join'а в запросы. Не думаю, что это сильно навредит, ведь запросы для отчетов достаточно сложные всегда. Конечно, надо чем-то платить за простоту и скорость разработки. Если добавить в таблицы некоторую избыточность, то можно снизить число join'ов. А так как я предполагаю выполнять все операции с БД только через отдельную библиотеку, то думаю, что проблем из-за такой избыточности не появится.
вобщем то как Вы понимаете, мне отговаривать и убеждать особо то и не надо :) тем более что от Красноярска до Минска достаточно далеко даже если вы там систему управления ракетами пишите :)
я только хочу сказать, что для задач аналитической обработки лучше разделить справочники по отдельным таблицам, чем сливать их в одну большую. и ещё имейте в виду, что даже если задач анализа данных сейчас нет, то они обязательно появятся через год-два так как это неуклонное эволюционное развитие любых систем обработки информации :)
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405004
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Даже справочник полов человека за последние 50 лет вырос в 2 раза :).

Вы ошибаетесь. Биологических видов человека не прибавилось и не убавилось.

> Вопрос частоты изменения - это субъективный вопрос

Частота изменений - это одно из условий. Не обязательное. Не самое важное.

> Количество и состав базовых признаков клиента компании известно
> с самого начала.

;) Ага. Вы читали о проекте национального регистра?

> А то что какой-то признак может появиться по ходу жизни - это ещё
> не повод вычёркивать таблицу из справочников

Это означает только то, что у Вас хм... отличное от моего понимание справочников и их применения.

> в любом справочнике может добавить признак.

;) Ну и как Вы себе представляете добавление признака (не языкового эквивалента) для, например, единиц изменения? Валют? Стран? Стандартов?

> "Невозможно или затруднена интероперабельность" - почему?

ОК, если совсем просто: у некой лавки два относительно независимых филиала. Независимых в том смысле, что эти филиалы регистрируют клиентов самостоятельно. Я утверждаю, что в общем случае при условии регистрации филиалами одних и тех же клиентов Вы не получите полностью идентичные списки.

> а вот тут, пожалуйста, приведите пару примеров когда измерение не состоит
> из "полного набора (как правило стандартизованных) относительно редко
> изменяемых значений"?

;)) Список клиентов - это измерение. Но - не справочник.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405068
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621>Вы ошибаетесь. Биологических видов человека не прибавилось и не убавилось.

Биологических видов - нет. А вот промежуточные и переходные полы появились только с операциями по смене пола.

guest_20040621
;) Ага. Вы читали о проекте национального регистра?

нет, а есть по близости ссылка?
guest_20040621
Это означает только то, что у Вас хм... отличное от моего понимание справочников и их применения.

ага, есть такое :)
guest_20040621
;) Ну и как Вы себе представляете добавление признака (не языкового эквивалента) для, например, единиц изменения? Валют? Стран? Стандартов?

встречный вопрос - а какие признаки уже есть у единиц измерения? ;)
например, в вашем справочнике единиц измерения есть такие признаки как
- родительская единица (литр для декалитра, грамм для тонны),
- коэффициент отношения с родительской единицей (10 и 10^6 соотвественно)?
если нет, то их можно добавить в виде отдельных полей, а если есть, то можно сначала удалить и считать что так и было ;)
guest_20040621
ОК, если совсем просто: у некой лавки два относительно независимых филиала. Независимых в том смысле, что эти филиалы регистрируют клиентов самостоятельно. Я утверждаю, что в общем случае при условии регистрации филиалами одних и тех же клиентов Вы не получите полностью идентичные списки.

а если у этих филиалов нет процедуры согласования списка клиентов, то кто поручится что у них есть процедура согласования справочников, а? :)
guest_20040621
;)) Список клиентов - это измерение. Но - не справочник.

ладно, пора закрывать увлекательную беседу - у нас просто разные представления о справочниках :)
и пока жизнь не сталкивает вплотную можно их не согласовывать, а когда/если столкнёт - тогда и продолжим...
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405069
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
> "Невозможно или затруднена интероперабельность" - почему?

ОК, если совсем просто: у некой лавки два относительно независимых филиала. Независимых в том смысле, что эти филиалы регистрируют клиентов самостоятельно. Я утверждаю, что в общем случае при условии регистрации филиалами одних и тех же клиентов Вы не получите полностью идентичные списки.

Я бы не стал утверждать, что добавленные валюты во всех филиалах будут идентичны. То же касается любых справочников, для которых есть возможность редактирования/добавления новых значений.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405124
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читал вашу беседу. Возник вопрос: а есть ли вообще польза от выделения понятия "справочник"?
Помнится, у кто-то здесь спросил, как по-английски "справочник", и никто внятно не ответил
(были варианты lookup table, dimension), при том, что английский - признанный язык общения
программистов.
--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405201
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> А вот промежуточные и переходные полы появились только с операциями
> по смене пола.

И очень хорошо. Вот и регистрируйте их как результат операции по смене пола. Не вижу проблем.

> нет, а есть по близости ссылка?

Нет, к сожалению. Поищите на сайте ГД - вроде на прошлой неделе (или около того) приняли законопроект.

> встречный вопрос - а какие признаки уже есть у единиц измерения? ;)

Имя, идентификатор.

> например, в вашем справочнике единиц измерения есть такие признаки как
> родительская единица
> коэффициент отношения с родительской единицей

Нет, конечно. Отношения и соответствия - другая песня с другой структурой данных.

> кто поручится что у них есть процедура согласования справочников, а? :)

К сожалению, я не смог донести до Вас то, что хотел. ОК, давайте попробуем по-другому. В xml есть понятие namespace. Представьте, что Вы при проектировании структуры данных также используете некое пространство имен. Так вот структура данных может определять справочник, если Вы можете использовать для ее описания стандартное документированное пространство имен (на самом деле не всегда, но ближе аналогии я не нашел).

> есть ли вообще польза от выделения понятия "справочник"

Конечно. Методы работы со справочниками существенно отличаются от методов работы с данными другого рода.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405218
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
> есть ли вообще польза от выделения понятия "справочник"

Конечно. Методы работы со справочниками существенно отличаются от методов работы с данными
другого рода.

Как-то не очень аргументированно.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405265
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Как-то не очень аргументированно.

Мне эта разница (структурная, техническая, организационная) очевидна. Если Вы ее не видите - почему меня это должно беспокоить?
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405346
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>при том, что английский - признанный язык общения
программистов.

При увеличении количества таких топиков признанным языком общения программистов станет индийский.

Шютка.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405392
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[guest_20040621]
> Как-то не очень аргументированно.

Мне эта разница (структурная, техническая, организационная) очевидна. Если Вы ее не видите -
почему меня это должно беспокоить?
[/quot]

Просто потому что Вы взялись отвечать на вопрос. Я ответа у Вас лично не требовал. Если
нечего сказать кроме "патаму шта", то и не надо отвечать. И слова "мне эта разница очевидна"
в сочетании с guest_20040621 (или другим подобным безымянным ником) особенно неубедительны.
В любом случае спасибо за ответ.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405507
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Просто потому что Вы взялись отвечать на вопрос.

Дружище, чтение мануалов (книг, учебников etc) вслух (или воспроизведение их любым другим способом) - за деньги. Если Вам недосуг самостоятельно ознакомиться с базовыми понятиями проектирования баз данных, наймите репетитора. Ы?
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405523
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Iskander68
guest_20040621
> Как-то не очень аргументированно.

Мне эта разница (структурная, техническая, организационная) очевидна. Если Вы ее не видите -
почему меня это должно беспокоить?


Просто потому что Вы взялись отвечать на вопрос. Я ответа у Вас лично не требовал. Если
нечего сказать кроме "патаму шта", то и не надо отвечать. И слова "мне эта разница очевидна"
в сочетании с guest_20040621 (или другим подобным безымянным ником) особенно неубедительны.
В любом случае спасибо за ответ.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.3

Я совершенно согласен с Iskander68 в критике гостя, который не аргументирует свои положения, взявшись отвечать на вопрос.
В то же время я согласен с гостем в том, что список клиентов и список, например, областей, - это разные вещи. Первое - это таблица с данными, которая предполагает частое изменение, редактирование, она завязана на бизнесс-логике, а второе - нечто, изменяющееся далеко не так часто (согласись, ведь области добавляются или исчезают достаточно редко). Критерием постоянства данных и минимальной связанности их с бизенсс-процессами я и пользуюсь для отличения таблиц с данными от справочников.
В то же время этот спор является довольно-таки терминологическим, так как и то, и то представляют собой таблицы в БД, и соглашение о наименовании некоторых таблиц справочниками является относительным. Более того, при в разных приложениях одна и та же сущность может быть или справочником, или таблицей с данными.
Отсылаю далее к первоисточникам (проектирование БД), которые указать не могу.

Предлагаю справочником в текущем топике называть то, что редко изменяется и слабо связано с бизнесс-процессами.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405705
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> например, в вашем справочнике единиц измерения есть такие признаки как
> родительская единица
> коэффициент отношения с родительской единицей
Нет, конечно. Отношения и соответствия - другая песня с другой структурой данных.

Конечно есть определённый смысл в том, чтобы все справочники ограничить минимально простой структурой (код, наименование-на-родном-языке, наименование-на-иностранном-языке), но тогда для любого дополнительного признака элемента придётся делать дополнительную таблицу. А что изменится от того будет ли у нас одна таблица в справочнике или их будет две (три, ...)? Ведь для любой нетрививальной обработки справочника придётся дергать дополнительную таблицу - смысл?
guest_20040621
К сожалению, я не смог донести до Вас то, что хотел. ОК, давайте попробуем по-другому. В xml есть понятие namespace. Представьте, что Вы при проектировании структуры данных также используете некое пространство имен. Так вот структура данных может определять справочник, если Вы можете использовать для ее описания стандартное документированное пространство имен (на самом деле не всегда, но ближе аналогии я не нашел).

guest_20040621
> есть ли вообще польза от выделения понятия "справочник"
Конечно. Методы работы со справочниками существенно отличаются от методов работы с данными другого рода.
тут соглашусь
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405710
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
> Просто потому что Вы взялись отвечать на вопрос.

Дружище, чтение мануалов (книг, учебников etc) вслух (или воспроизведение их любым другим
способом) - за деньги. Если Вам недосуг самостоятельно ознакомиться с базовыми понятиями
проектирования баз данных, наймите репетитора. Ы?


Любезнейший! Оставьте высокомерный тон для тех, для кого Вы являетесь авторитетом. По-моему
я уже сказал "спасибо". Видимо, я выразился недостаточно понятно. Я имел в виду, что более в
Ваших ответах (равно как и непрошенных советах и тем паче услугах не нуждаюсь). Надеюсь, что
сейчас я более ясно выразился.

--
Regards
Alexander Artamonov



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405723
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinniPoohВ то же время я согласен с гостем в том, что список клиентов и список,
например, областей, - это разные вещи...


Винни, я вообще не спорил по поводу того, является ли список клиентов справочником. Вопрос
был, почему нужно выделять понятие "справочник", т.е. что это дает в практическом плане. Я
проштудировал 3 учебника по БД. Ни в одном из них я не нашел термина "справочник" (не говоря
уже о его определении). Видимо, плохо искал.

--
Regards
Alexander Artamonov


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405731
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Конечно есть определённый смысл в том, чтобы все справочники ограничить
> минимально простой структурой

Структура каждого справочника может быть уникальной, дело не в этом. Удобно и для проектирования, и для эксплуатации выделить несколько функционально типовых элементарных структур: справочники, классификаторы, конфиги и пр.

> А что изменится от того будет ли у нас одна таблица в справочнике или их
> будет две (три, ...)?

Хм... Вас на философию потянуло? ;) Действительно, какая разница, использовать соглашения и стандарты или нет? ;) На самом деле разница тривиальна: в одном случае жизненный цикл продукта будет короче и его функциональные возможности будут меньше.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405740
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати заметить: казалось бы, классификаторы встречаются в каждой базе данных. Между тем, ни разу не видел ни одного удобного, логичного, правильного классификатора (я имею в виду структуру).
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405775
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vinniPoohБолее того, в разных приложениях одна и та же сущность может быть или справочником, или таблицей с данными.

подписываюсь :)
vinniPoohПредлагаю справочником в текущем топике называть то, что редко изменяется и слабо связано с бизнесс-процессами.
тоже согласен, процентов на 95 :)
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405830
Dimkas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Iskander68 Я проштудировал 3 учебника по БД. Ни в одном из них я не нашел термина "справочник" (не говоря
уже о его определении). Видимо, плохо искал.
можете не искать - нет такого в теории БД :)
справочник - это разновидность таблицы, для которой в рамках данной системы определены дополнительные ограничения на структуру и способы обработки.
guest_20040621
Хм... Вас на философию потянуло? ;) Действительно, какая разница, использовать соглашения и стандарты или нет? ;) На самом деле разница тривиальна: в одном случае жизненный цикл продукта будет короче и его функциональные возможности будут меньше.
это как раз был мой вопрос - почему не добавить в справочник ЕИ дополнительные поля соотношений? Вы ответили, что это совсем другая история и для этого нужны доп. таблицы. Вот я и спрашивают - зачем нужны доп. таблицы когда всё это можно уложить в сам справочник?
guest_20040621Кстати заметить: казалось бы, классификаторы встречаются в каждой базе данных. Между тем, ни разу не видел ни одного удобного, логичного, правильного классификатора (я имею в виду структуру).
вот тут да-а-а! почему то всё что встречается в природе имеет шибко загадочную структуру...

кстати вопрос ко всем - чем отличаются справочник и классификатор?

я в своих работах их считаю синонимами, а может есть варианты?
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405905
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> зачем нужны доп. таблицы когда всё это можно уложить в сам справочник?

Затем, чтобы получить нормальную структуру данных. "Нормальную" - в смысле по крайней мере 3НФ.

> кстати вопрос ко всем - чем отличаются справочник и классификатор?

Встречный вопрос: а чем они похожи?
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33405923
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimkas

можете не искать - нет такого в теории БД :)

Т.е. получается, что теоретики БД просмотрели ситуацию
guest_20040621Методы работы со справочниками существенно отличаются от методов работы
с данными другого рода.

Dimkasсправочник - это разновидность таблицы, для которой в рамках данной системы
определены дополнительные ограничения на структуру и способы обработки.

ИМХО определение, которое конкретики по теме не добавляет.


--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33406044
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Iskander68

Dimkas

можете не искать - нет такого в теории БД :)

Т.е. получается, что теоретики БД просмотрели ситуацию

На то они и теоретики, чтобы в практику не лезть. А этот так называемый справочник - явление, которое на практике только появляется и используется. Теории БД все равно, для чего таблица используется, а программисту нет.
Поправьте меня, если я не прав.
Iskander68
guest_20040621Методы работы со справочниками существенно отличаются от методов работы
с данными другого рода.

Dimkasсправочник - это разновидность таблицы, для которой в рамках данной системы
определены дополнительные ограничения на структуру и способы обработки.

ИМХО определение, которое конкретики по теме не добавляет.

С теоретический точки зрения только запутывает, но на практике мы определяем отдельные (в случае java) классы или их структуру для работы со справочниками. Эта структура отличается простотой операций (добавить/удалить/изменить/выбрать) с бд, в отличие от бизнесс-логики (провести платежный документ...).
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33406071
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> зачем нужны доп. таблицы когда всё это можно уложить в сам справочник?

Затем, чтобы получить нормальную структуру данных. "Нормальную" - в смысле по крайней мере 3НФ.

> кстати вопрос ко всем - чем отличаются справочник и классификатор?

Встречный вопрос: а чем они похожи?
Кстати, насчет НФ - они в общем случае хорошее явление, но иногда введение некоторой избыточности в разы облегчает программисту жизнь и в десятки раз - производительность системы. А если к бд обращаются только с помощью своей библиотеки или предусматривают средства для поддержания этой избыточности в актуальном состоянии, то проблем с целостноть данных не возникает.
Но в общем случае 3НФ - оптимальный вариант.

Кстати, я тоже с трудом улавливаю разницу между справочником и классификатором. Насколько я понимаю, классификатор - это особый вид справочника.
Прошу помнить о том, что эта терминология в каждом проекте значит немного (или даже очень много) свое.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33406072
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спорить бессмысленно. Оба понятия - синонимы. А различия могут варьироваться от Афтара к Афтару.
Да и выделение этого понятия в чёткий термин тоже даёт мало пользы, т.к. неизменность данных понятие для справочника неоднозначное
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33406136
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Кстати, насчет НФ - они в общем случае хорошее явление, но иногда введение
> некоторой избыточности в разы облегчает программисту жизнь и в десятки раз -
> производительность системы.

Вы неправильно представляете себе значимость компонентов ПО. Иерархия: общая архитектура ПО, соглашения и стандарты, структура данных, далее - все остальное. И абсолютно неважно, что, где и кому удобнее.

Как правило, разговорами о производительности маскируется кривизна рук.

> Насколько я понимаю, классификатор - это особый вид справочника.

Нет. Назначение классификатора - группировка классифицируемых сущностей. О назначении справочника говорилось выше.
...
Рейтинг: 0 / 0
Непостоянное число справочников с редактируемыми числом и типом полей
    #33406231
vinniPooh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> Кстати, насчет НФ - они в общем случае хорошее явление, но иногда введение
> некоторой избыточности в разы облегчает программисту жизнь и в десятки раз -
> производительность системы.

Вы неправильно представляете себе значимость компонентов ПО. Иерархия: общая архитектура ПО, соглашения и стандарты, структура данных, далее - все остальное. И абсолютно неважно, что, где и кому удобнее.

Как правило, разговорами о производительности маскируется кривизна рук.

> Насколько я понимаю, классификатор - это особый вид справочника.

Нет. Назначение классификатора - группировка классифицируемых сущностей. О назначении справочника говорилось выше.
Кстати, многие опытные разработчики согласны со мной насчет НФ.

Более-менее ясно, что такое классификатор. Возможно, в твоем приложении эта разница принципиальна.
...
Рейтинг: 0 / 0
92 сообщений из 92, показаны все 4 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Непостоянное число справочников с редактируемыми числом и типом полей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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