powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хранение произвольного кол-ва параметров
9 сообщений из 34, страница 2 из 2
Хранение произвольного кол-ва параметров
    #32238446
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Jinn

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


Не в порядке спора а истины ради: :)
Думать нужно не только о том как хранить, но и о том как добыть
В моей схеме предполагается хранить некую мета-информацию о таблицах аттрибутов. Так что этот вопрос тоже легко решается.
...
Рейтинг: 0 / 0
Хранение произвольного кол-ва параметров
    #32238467
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во, в правильном направлении разговор пошёл. :)
А то полезли в дебри.

И вообще, если ему не нужен анализ всех этих параметров у объектов, а лишь возможность пользователю что-то такое сохранить, чтобы потом, вызвав объект, посмотреть, то можно вообще всё хранить в текстовом виде. Тогда вся структура упрощается до одной вторичной таблицы, где хранится ID объекта, название параметра и его значение. А уж что там пользователь себе сохранит - дело пользователя.
...
Рейтинг: 0 / 0
Хранение произвольного кол-ва параметров
    #32239162
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jinn:

Check и Constrains нужно использовать только тогда, когда это очень критично. Как и внешнии ключи. Все это тормозит работу сервера БД. Лучше, по возможности, обходится без них.

Вы это серьёзно?! Если да, то у меня вопрос - а где Вы учились проектировать БД (тема форума)?

Ну нельзя же быть настолько безграмотным в самом деле.. Вопрос производительности относится к проектированию опосредованно. Проектировать БД нужно, исходя из принципов построения баз данных (реляционная теория, нормальные формы). А если конкретная СУБД конкретного производителя настолько слаба, что на её работу влияют те самые принципы, на которых она ДОЛЖНА БЫТЬ построена, то лучше выкинуть такую систему. Либо отказаться от принципов, но скрепя сердце и полностью отдавая себе отчёт в том, ЧТО Вы делаете.

Я не экстремист вроде Дейта или Паскаля, но наличие таких высказываний в форумах наводит на мысль, что они правы.

С уважением.
...
Рейтинг: 0 / 0
Хранение произвольного кол-ва параметров
    #32239605
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Воронцов

Ну нельзя же быть настолько безграмотным в самом деле.. Вопрос производительности относится к проектированию опосредованно. Проектировать БД нужно, исходя из принципов построения баз данных (реляционная теория, нормальные формы).

Вы, сударь, похоже невнимательно читаете мои посты. Написано было "КРИТИЧНО".
Проектировать базы нужно не "исходя из принципов построения", а исходя из требований заказчика с использованием упомянутых принципов. При этом надо помнить пословицу: "Научи дурака Богу молиться - он себе весь лоб расшибет".

А если конкретная СУБД конкретного производителя настолько слаба, что на её работу влияют те самые принципы, на которых она ДОЛЖНА БЫТЬ построена, то лучше выкинуть такую систему.

Гхм. Это ты перед заказчиком можешь выеживаться. И объяснять ему что выбранная им система никуда не годится, и он должен купить новую, более производительную, по той простой причине, что ты не сможешь спроектировать в соответствии с теорией.
Бывает, конечно, что заказчик хочет на грош пятаков наменять. Но бывают и случаи, когда нужно привязывать разрабатываемую систему к уже работающей. Еще бывают случаи, когда дорог каждый тик процессора. Для примера: сбор и обработка информации с системы датчиков в реальном режиме времени. В этом случае foreing key только тормозит, как и check.
...
Рейтинг: 0 / 0
Хранение произвольного кол-ва параметров
    #32239710
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jinn - Ну извините, погорячился. Про объяснять заказчику я и сам всё знаю, и про критичность в некоторых случаях каждого тика процессора тоже. Перечитал Ваш пост и понял, что меня покоробило. Я бы сказал совсем не так - "Check и Constrains НЕ нужно использовать только тогда, когда это очень критично". В этом наше различие, только и всего. )

Ещё раз извините, если что не так.
...
Рейтинг: 0 / 0
Хранение произвольного кол-ва параметров
    #32239893
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Воронцов

Я бы сказал совсем не так - "Check и Constrains НЕ нужно использовать только тогда, когда это очень критично". В этом наше различие, только и всего. )

Можно и так сказать. Но опять же - не стоит увлекаться. Все таки производительность - последнее качество базы. Да и прежде чем накладывать ограничения стоит задаться вопросом "А оно это нать?" :) В то же время иногда это значительно облегчает как проектирование и сопровождение (развитие). Foreing key с опцией delete cascade значительно облегчит код хранимых процедур и, соответственно, оптимизирует их выполнение.
...
Рейтинг: 0 / 0
Хранение произвольного кол-ва параметров
    #32240024
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jinn:

Я бы скорее задался вопросом "А оно нать?" при попытке удаления того или иного ограничения. Безусловно, производительность - важное и порой определяющее качество базы. Но всё же основной её (базы) задачей является реализация бизнес-логики. Собственно для того всё это (реляционную теорию-SQL-современные СУБД сиречь сервера) и придумывали.
...
Рейтинг: 0 / 0
Хранение произвольного кол-ва параметров
    #32240306
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Воронцов

Jinn:

Я бы скорее задался вопросом "А оно нать?" при попытке удаления того или иного ограничения. Безусловно, производительность - важное и порой определяющее качество базы. Но всё же основной её (базы) задачей является реализация бизнес-логики. Собственно для того всё это (реляционную теорию-SQL-современные СУБД сиречь сервера) и придумывали.

В общем - пришли к консенсусу. Мы с тобой идем к одной цели с разных сторон: ты отсекаешь лишнее, а я добавляю необходимое. Конечный результат будет, практически, одинаков :)
...
Рейтинг: 0 / 0
Хранение произвольного кол-ва параметров
    #32240605
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Jinn

Ты абсолютно прав, что checks и constrains тормозят работу. Только надо бы уточнять (чтобы не смущать неподготовленного слушателя), что накладываемые ограничения на целостность тормозят выполнение только лишь операций добавления и обновления данный. Судя по предметной области - строительные объекты 500 раз в секунду не сдаются. :) Так что, для данных, имеющих справочный характер, использование checks и constrains по-максимуму вполне оправдано.

------
Сам стараюсь по-возможности обходиться без ограничений целостности, особенно в автоматически-генерируемых данных, но ведь такое с умом надо делать, панимаешь ...
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хранение произвольного кол-ва параметров
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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