powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хранение объекта и набора его параметров...
25 сообщений из 42, страница 1 из 2
Хранение объекта и набора его параметров...
    #35016869
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди, подкиньте идею, если не трудно...
Есть в БД запись (документ, проводка, номенклатура и т.п.). Для этой записи определены ряд обязательных параметров. Со временем требуется набор этих параметров расширять... Как лучше реализовать?
1. Все параметры в одной таблице с основной записью.
2. Отдельная таблица для основных записей и отдельная для всех параметров.
3. Отдельная таблица для основных записей плюс таблица с параметрами, где для каждого значения параметра есть отдельная строка вида (запись_ID, параметр_ID, значение)...
4. Свой вариант...
Подскажите, плиз...
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35017313
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу только личное мнение сказать, выбрал бы 3-й вариант, т.к. с точки зрения нормализации наиболее правильно, и удобства внесения новых параметров...
---
Проходя мимо разложенных граблей, ты теряешь драгоценный опыт. (с)
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35017320
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Megabyte, пока тоже пользуюсь третьим вариантом... Но уже возникают трудности...
Дело в том, что количество параметров постоянно растет... Таким образо количество записей в таблице параметров на порядок, а то и больше, чем в таблице основных записей... Это начинает сказываться на производительности....
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35017345
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TORTЭто начинает сказываться на производительности....
Можно сравнить "бонусы" хранения конкретного параметра "методом 1" и "методом 3". Если первый метод становится лучше, и не слишком много в системе надо менять (например, отчеты), то вполне можно перенести его в основную таблицу, если уж приспичило.

По теме - обычно 3-м методом делаю только такие параметры, которые пользователь (в смысле, администратор клиента) может произвольно настраивать по своему усмотрению. Если значения участвуют в бизнес-логике, то 3-й метод не использую.
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35017393
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов TORTЭто начинает сказываться на производительности....
Можно сравнить "бонусы" хранения конкретного параметра "методом 1" и "методом 3". Если первый метод становится лучше, и не слишком много в системе надо менять (например, отчеты), то вполне можно перенести его в основную таблицу, если уж приспичило.

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

Все параметры настраиваются исключительно админитратором сервера. Только их набор постоянно увеличивается (особенности работы организации, так сказать:) )... Поэтому на стадии проектирования было решено использовать все-таки 3 метод...
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35017397
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошло 2 года с момента внедрения и вот теперь видно, что количество записей с такими вот параметрами весьма велико.... Это и усложняет работу...
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35020093
Чендлер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
XML?
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35020332
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чендлер, хм... Думаем над этим вариантом... Интересует доступ к информации в таком случае... Нужно тестировать...
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35020492
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3-й вар. ЕДИНСТВЕННЫЙ из возможных для такой задачи.
Он же и самый гибкий.

XML - не выход. Хранить то можно.....
А как же фильтрация/поиск с применением SQL ?
А отчетность с тем же SQL ? Парсить везде ????
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35020581
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TORTЛюди, подкиньте идею, если не трудно...
Есть в БД запись (документ, проводка, номенклатура и т.п.). Для этой записи определены ряд обязательных параметров. Со временем требуется набор этих параметров расширять... Как лучше реализовать?
1. Все параметры в одной таблице с основной записью.
2. Отдельная таблица для основных записей и отдельная для всех параметров.
3. Отдельная таблица для основных записей плюс таблица с параметрами, где для каждого значения параметра есть отдельная строка вида (запись_ID, параметр_ID, значение)...
4. Свой вариант...
Подскажите, плиз...
Вот здесь я предложил схемку БД, в ней есть табличка Объект и Свойства. Может это то-что вам нужно?
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35020591
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поправка, здесь
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35021601
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страдалецъ, ну это мой третий вариант я так понимаю...
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35021819
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, что так.
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35025785
MySQLCraft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК. Оставим пока в покое рост числа записей в таблице параметров.

Для меня не очевидно другое.

1) Что такое "параметр" в данном случае?
2) Что такое "значение" параметра и что в это поле можно записать?
3) Что такое основная запись, на которую ссылаются записи из таблицы параметров?
4) По какому Принципу организуются сами основные записи?
5) На каком основании этот Принцип выбран, как основной?
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35025816
MySQLCraft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО. База на XML будет в разы тормознее любого из трех способов на одном и том же количесстве хранимых объектов. параметров, значений.
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35025964
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все зависит от механизма работы СУБД с XML-данными... Но мне также кажется, что это метод не самый лучший...
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35025981
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MySQLCraft
1. Параметр - есть некое расширенное свойство объекта, причем не для всех объектов оно может быть определено.
2. В поле "Значение параметра" теоретически может содержаться любая информация... Поэтому предполагается, что это строка....
3. Основная запись - это набор полей необходимый и обязательный для всех объектов, которые хранятся в данной таблице.
4. Не понял... По-конкретнее вопрос, если можно...
5. .....
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35026628
MySQLCraft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TORTMySQLCraft
1. Параметр - есть некое расширенное свойство объекта, причем не для всех объектов оно может быть определено.
2. В поле "Значение параметра" теоретически может содержаться любая информация... Поэтому предполагается, что это строка....
3. Основная запись - это набор полей необходимый и обязательный для всех объектов, которые хранятся в данной таблице.
4. Не понял... По-конкретнее вопрос, если можно...
5. .....

1) В данной постановке, является ли "отношение" расширенным свойством = параметром?
Для каких объектов параметры не могут быть определены?
2) Строка годится, как вариант.
3) Почему набор полей основной таблицы является необходимым и обязательным? Какие конкретно поля обязательны и чем они отличаются от параметров? Приведите пример реализации, ибо в предельном случае основная запись содержит только одно поле ID, оно же Primary Key.
4) Имеется ли отношение между записями в основной таблице или это линейный список?
5) Если отношение имеется, то почему оно содержится в основной таблице, чем оно особенно? см.п.1

И еще вопрос.
Мы говорим об объектах. Что понимается под объектом? Класс или экземпляр класса?
Как в данных таблицах различаются эти сущности?
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35027055
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MySQLCraft

1) В данной постановке, является ли "отношение" расширенным свойством = параметром?
Для каких объектов параметры не могут быть определены?
2) Строка годится, как вариант.
3) Почему набор полей основной таблицы является необходимым и обязательным? Какие конкретно поля обязательны и чем они отличаются от параметров? Приведите пример реализации, ибо в предельном случае основная запись содержит только одно поле ID, оно же Primary Key.
4) Имеется ли отношение между записями в основной таблице или это линейный список?
5) Если отношение имеется, то почему оно содержится в основной таблице, чем оно особенно? см.п.1

И еще вопрос.
Мы говорим об объектах. Что понимается под объектом? Класс или экземпляр класса?
Как в данных таблицах различаются эти сущности?

Объекты в моем случае - это экземпляры классов... По Вашей терминологии "различных классов, имеющих в конечном счете общего родителя". Есть набор атрибутов(параметров, в моей терминологии "расширенных параметров"), набор которых уникален в пределах класса. Более того, он изменяем в дальнейшем... Плюс, на мой взгляд важное дополнение, изменяем относительно просто и часто....
В основной записи содержаться "линейные" записи.
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35027245
MySQLCraft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TORT
Объекты в моем случае - это экземпляры классов... По Вашей терминологии "различных классов, имеющих в конечном счете общего родителя". Есть набор атрибутов(параметров, в моей терминологии "расширенных параметров"), набор которых уникален в пределах класса. Более того, он изменяем в дальнейшем... В основной записи содержаться "линейные" записи.

Как я понял
- в основной таблице просто список идентификаторов экземпляров классов, плюс еще какие то поля.
- в таблице параметров, значения параметров этих экземпляров классов

А где описание самих классов и списков их параметров(свойств), где описание иерархии класов до этого самого родителя?
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35027283
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Складывается впечатление, что вы пытаетесь реализовать объектную модель БД. Но ведь для этого лучше использовать инструмент соответствующий, например Postgree.
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35027603
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один из возможных вариантов решения - использовать сервер LDAP. Эта служба, разработанная для доступа к каталогам может быть эффективно использована для хранения нерегулярной информации. Есть свободные LDAP - сервера. Говорят, что работаю достаточно быстро (хотя не поддерживают транзакций).
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35028322
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что чаще запрос, который выбирает значения параметров для группы документов или выбор/модификация параметров конкретного документа?
Если второе - интересна пропорция.
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35029082
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drev, чаще запрос к группе объектов + выбор 2-3 параметров для этих объектов... Тут проблема, кмк, в том, что при увеличении кол-ва типов параметров, размер таблицы с ними растет очень быстро.... Вот в этом для меня проблема этого подхода...
...
Рейтинг: 0 / 0
Хранение объекта и набора его параметров...
    #35029146
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TORTdrev, чаще запрос к группе объектов + выбор 2-3 параметров для этих объектов... Тут проблема, кмк, в том, что при увеличении кол-ва типов параметров, размер таблицы с ними растет очень быстро.... Вот в этом для меня проблема этого подхода...

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


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