|
Хранение произвольного кол-ва параметров
|
|||
---|---|---|---|
#18+
2 Jinn Собственно подошли к тому, с чего надо было начинать. Без достаточно полной постановки задачи , мы в этом топике можем лишь обмениваться мнениями, которые лучше или хуже для разных по спицифике требований. Все способы хороши! :) Наша задача дать спрашивающему максимум материала, из которого только он один (обладая адекватной информацией о требованиях) сможет выбрать наиболее подходящий вариант, или не выбрать ни одного, но наши посты дают достаточно пищи для размышлений. Не в порядке спора а истины ради: :) Думать нужно не только о том как хранить, но и о том как добыть В моей схеме предполагается хранить некую мета-информацию о таблицах аттрибутов. Так что этот вопрос тоже легко решается. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2003, 18:28 |
|
Хранение произвольного кол-ва параметров
|
|||
---|---|---|---|
#18+
Во, в правильном направлении разговор пошёл. :) А то полезли в дебри. И вообще, если ему не нужен анализ всех этих параметров у объектов, а лишь возможность пользователю что-то такое сохранить, чтобы потом, вызвав объект, посмотреть, то можно вообще всё хранить в текстовом виде. Тогда вся структура упрощается до одной вторичной таблицы, где хранится ID объекта, название параметра и его значение. А уж что там пользователь себе сохранит - дело пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2003, 21:14 |
|
Хранение произвольного кол-ва параметров
|
|||
---|---|---|---|
#18+
Jinn: Check и Constrains нужно использовать только тогда, когда это очень критично. Как и внешнии ключи. Все это тормозит работу сервера БД. Лучше, по возможности, обходится без них. Вы это серьёзно?! Если да, то у меня вопрос - а где Вы учились проектировать БД (тема форума)? Ну нельзя же быть настолько безграмотным в самом деле.. Вопрос производительности относится к проектированию опосредованно. Проектировать БД нужно, исходя из принципов построения баз данных (реляционная теория, нормальные формы). А если конкретная СУБД конкретного производителя настолько слаба, что на её работу влияют те самые принципы, на которых она ДОЛЖНА БЫТЬ построена, то лучше выкинуть такую систему. Либо отказаться от принципов, но скрепя сердце и полностью отдавая себе отчёт в том, ЧТО Вы делаете. Я не экстремист вроде Дейта или Паскаля, но наличие таких высказываний в форумах наводит на мысль, что они правы. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 15:32 |
|
Хранение произвольного кол-ва параметров
|
|||
---|---|---|---|
#18+
Павел Воронцов Ну нельзя же быть настолько безграмотным в самом деле.. Вопрос производительности относится к проектированию опосредованно. Проектировать БД нужно, исходя из принципов построения баз данных (реляционная теория, нормальные формы). Вы, сударь, похоже невнимательно читаете мои посты. Написано было "КРИТИЧНО". Проектировать базы нужно не "исходя из принципов построения", а исходя из требований заказчика с использованием упомянутых принципов. При этом надо помнить пословицу: "Научи дурака Богу молиться - он себе весь лоб расшибет". А если конкретная СУБД конкретного производителя настолько слаба, что на её работу влияют те самые принципы, на которых она ДОЛЖНА БЫТЬ построена, то лучше выкинуть такую систему. Гхм. Это ты перед заказчиком можешь выеживаться. И объяснять ему что выбранная им система никуда не годится, и он должен купить новую, более производительную, по той простой причине, что ты не сможешь спроектировать в соответствии с теорией. Бывает, конечно, что заказчик хочет на грош пятаков наменять. Но бывают и случаи, когда нужно привязывать разрабатываемую систему к уже работающей. Еще бывают случаи, когда дорог каждый тик процессора. Для примера: сбор и обработка информации с системы датчиков в реальном режиме времени. В этом случае foreing key только тормозит, как и check. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2003, 20:02 |
|
Хранение произвольного кол-ва параметров
|
|||
---|---|---|---|
#18+
Jinn - Ну извините, погорячился. Про объяснять заказчику я и сам всё знаю, и про критичность в некоторых случаях каждого тика процессора тоже. Перечитал Ваш пост и понял, что меня покоробило. Я бы сказал совсем не так - "Check и Constrains НЕ нужно использовать только тогда, когда это очень критично". В этом наше различие, только и всего. ) Ещё раз извините, если что не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2003, 07:06 |
|
Хранение произвольного кол-ва параметров
|
|||
---|---|---|---|
#18+
Павел Воронцов Я бы сказал совсем не так - "Check и Constrains НЕ нужно использовать только тогда, когда это очень критично". В этом наше различие, только и всего. ) Можно и так сказать. Но опять же - не стоит увлекаться. Все таки производительность - последнее качество базы. Да и прежде чем накладывать ограничения стоит задаться вопросом "А оно это нать?" :) В то же время иногда это значительно облегчает как проектирование и сопровождение (развитие). Foreing key с опцией delete cascade значительно облегчит код хранимых процедур и, соответственно, оптимизирует их выполнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2003, 10:49 |
|
Хранение произвольного кол-ва параметров
|
|||
---|---|---|---|
#18+
Jinn: Я бы скорее задался вопросом "А оно нать?" при попытке удаления того или иного ограничения. Безусловно, производительность - важное и порой определяющее качество базы. Но всё же основной её (базы) задачей является реализация бизнес-логики. Собственно для того всё это (реляционную теорию-SQL-современные СУБД сиречь сервера) и придумывали. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2003, 11:55 |
|
Хранение произвольного кол-ва параметров
|
|||
---|---|---|---|
#18+
Павел Воронцов Jinn: Я бы скорее задался вопросом "А оно нать?" при попытке удаления того или иного ограничения. Безусловно, производительность - важное и порой определяющее качество базы. Но всё же основной её (базы) задачей является реализация бизнес-логики. Собственно для того всё это (реляционную теорию-SQL-современные СУБД сиречь сервера) и придумывали. В общем - пришли к консенсусу. Мы с тобой идем к одной цели с разных сторон: ты отсекаешь лишнее, а я добавляю необходимое. Конечный результат будет, практически, одинаков :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2003, 14:01 |
|
Хранение произвольного кол-ва параметров
|
|||
---|---|---|---|
#18+
2 Jinn Ты абсолютно прав, что checks и constrains тормозят работу. Только надо бы уточнять (чтобы не смущать неподготовленного слушателя), что накладываемые ограничения на целостность тормозят выполнение только лишь операций добавления и обновления данный. Судя по предметной области - строительные объекты 500 раз в секунду не сдаются. :) Так что, для данных, имеющих справочный характер, использование checks и constrains по-максимуму вполне оправдано. ------ Сам стараюсь по-возможности обходиться без ограничений целостности, особенно в автоматически-генерируемых данных, но ведь такое с умом надо делать, панимаешь ... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2003, 16:25 |
|
|
start [/forum/topic.php?fid=32&startmsg=32238446&tid=1546870]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
143ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 237ms |
total: | 474ms |
0 / 0 |