powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура таблицы
25 сообщений из 54, страница 1 из 3
Структура таблицы
    #33771409
Cookie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в табле нужно хранить числовой параметр, либо диапазон, либо точное значение
вот я думаю, нужны только два поля: from, to
а другие говорят: три поля: from, to, exactly
Кто прав?
...
Рейтинг: 0 / 0
Структура таблицы
    #33771442
Фотография smeh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сделал только 2 поля.
Если точное значение - то поля равны.
...
Рейтинг: 0 / 0
Структура таблицы
    #33771448
Cookie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, логично
но просто авторитет того, кто говорит про три поля, давит))

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

Код: plaintext
((from = to) and (exactly = 'Y')) or ((from <> to) and (exactly = 'N'))

Это неправильная постановка вопроса. Exactly - это дополнительная, необязательная сущность. Поэтому ее присутствие - и вызываемые им проблемы - должны быть обусловлены получаемым в связи с этим преимуществом. Какие преимущества из этого можно получить - я лично не вижу; разве что возможность проиндексировать это поле, но зачем может пригодиться такой индекс - хз.

В целом, очень похоже на любимое неопытными разработчиками намерение из туманных и малопонятных общих соображений организовать конкретный геморрой на собственную задницу.
...
Рейтинг: 0 / 0
Структура таблицы
    #33771589
Cookie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
немного по другому
если значение точно 2, тогда exactly=2, from=null, to=null
если значение от 1 до 2, тогда exactly=null, from=1, to=2

т.е. плюсов никаких не видно?
ЗЫ боюсь спорить на эту тему с таким серьезным специалистом
...
Рейтинг: 0 / 0
Структура таблицы
    #33771616
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cookie
если значение точно 2, тогда exactly=2, from=null, to=null
если значение от 1 до 2, тогда exactly=null, from=1, to=2
Тогда все равно нужен констрейнт - проверять, что либо то, либо другое null - но все еще веселее, поскольку простейший запрос вида "есть ли в таблице значение X" будет выглядеть так:

Код: plaintext
where exactly = :x or :x between from and to

и что важнее - выполняться это будет не слишком-то быстро.

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

CookieЗЫ боюсь спорить на эту тему с таким серьезным специалистом
Пора менять ник :((
...
Рейтинг: 0 / 0
Структура таблицы
    #33771623
Cookie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему поменять ник? на какой?
...
Рейтинг: 0 / 0
Структура таблицы
    #33772451
rgb-dart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer

CookieЗЫ боюсь спорить на эту тему с таким серьезным специалистом
Пора менять ник :((
))
Боюсь, уважаемый softwarer, он имел в виду не Вас. :)
А того кто предлагал эти три поля. :)
...
Рейтинг: 0 / 0
Структура таблицы
    #33772646
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О. Вы меня порадовали.
...
Рейтинг: 0 / 0
Структура таблицы
    #33772821
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Кто прав?

Без формулирования задачи невозможно сказать.

Если переменная, принимающая значение из заданного диапазона - дискретная, я бы сделал from, to, step, exactly. Если step всегда фиксированный, то from, to, exactly.

Исходную задачу опишите.
...
Рейтинг: 0 / 0
Структура таблицы
    #33772862
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621from, to, step, exactly

мощно, ничего не скажешь :) на вопрос: 2-а поля или 3-и? отвечаем - 4-ре! :)

а зачем 4-ре, можно спросить?

Cookieкакие преимущества есть в трех полях?

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

ПАтАму ШтА. Где в условии сказано, что диапазон - равномерный? Я бы вообще описывал произвольную последовательность, а не [арифметическую] прогрессию.
...
Рейтинг: 0 / 0
Структура таблицы
    #33773023
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Я бы вообще описывал произвольную последовательность

в одной записи? в одной таблице? неравномерный, значит, диапазон? произвольную, значит, последовательность?

ну ладно, ладно - флаг как говорится в руки


перечитай исходный вопрос...

приведи пример данных для такой талбицы с четырьмя полями.
...
Рейтинг: 0 / 0
Структура таблицы
    #33773073
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Три поля делают для того, чтобы при написании клиента не дай Бог потом код не писать. А нормальные люди делают два поля и две view для ненормальных людей.
...
Рейтинг: 0 / 0
Структура таблицы
    #33773712
Cookie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
Исходную задачу опишите.
числовой параметр, о котором мы говорим, снимается прибором, т.е. от дискретности никуда не уйдешь, соответственно, шаг - точность измерения)))

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

второе - всякие запросы, я тут думала, в любом случае кейсы всякие нужны
...
Рейтинг: 0 / 0
Структура таблицы
    #33774330
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gybson
+1.
...
Рейтинг: 0 / 0
Структура таблицы
    #33774493
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> числовой параметр, о котором мы говорим, снимается прибором

Понятно. А что характеризует диапазон? Как получаются эти цифры? Как они попадают в базу данных?

> по моему, тут два поля гораздо удобнее

Imho нет. Например, три поля позволят уменьшить количество ошибок при вводе (если это делает оператор).

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

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

Явное нарушение этой модели свидетельствует о непонимании сути двухзвенной (хотя бы) архитектуры.
...
Рейтинг: 0 / 0
Структура таблицы
    #33774687
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerПожалуй, я сохраню ссылку на это Ваше письмо, чтобы в следующих беседах иметь возможность сослаться.

думаете есть смысл? :)
...
Рейтинг: 0 / 0
Структура таблицы
    #33774791
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer[quot guest_20040621]Ввод данных и интерфейс оператора не имеют ровным счетом никакого отношения к структуре БД. Задача интерфейса - ввести данные так, как это следует делать с точки зрения ввода, например в трех полях (если это наилучший вариант).
Вот скажем такой интерфейс

Чекбокс: Использовать прокси = нет
Поле(ввод блокирован): имя прокси=zzz.ru
Поле(ввод блокирован): номер порта=80

не попадался? Явно требует трех полей.

Не исключено, что тот, кто хочет видеть 3 поля, имеет ввиду аналогичную логику. Если задано третье, игнорировать но не удалять значения первых двух. Хто его знает, что там за прибор и что меряет.
...
Рейтинг: 0 / 0
Структура таблицы
    #33774810
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRНе исключено.

какой смысл гадать на кофейной гуще.

кроме того вы приводите пример с логическим значением поля - этот вариант уже упоминался как преимущество при использовании трех полей.
...
Рейтинг: 0 / 0
Структура таблицы
    #33774866
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proposed amendmentкакой смысл гадать на кофейной гуще.О том и речь. На простой вопрос есть простой ответ - может прав один а может другой:)
...
Рейтинг: 0 / 0
Структура таблицы
    #33774873
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Вот скажем такой интерфейс

Чекбокс: Использовать прокси = нет
Поле(ввод блокирован): имя прокси=zzz.ru
Поле(ввод блокирован): номер порта=80

не попадался? Явно требует трех полей.


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

Рассказываю не понимаемые мной основы.

Что дает exactly? Правильно, уважаемый, мы вводим понятие типа величины. Т. е. начинаем различать диапазоны и точные значение на уровне структуры данных. Эквивалентом до известной степени можно считать добавление в структуру данных valueType.

Есть какие-то практические преференции? Естественно. Ошибки ввода не подготовленным специальным образом оператором - до 5%. Если используется только from, to, то ошибка ввода порождает сразу две ошибки: 1. собственно ошибочно введенное значение, 2. ошибка типа величины (вместо точного значения получили диапазон. Вторая ошибка - логическая - проистекает исключительно из-за кривой структуры данных.

Надеюсь, понятно изложил?
...
Рейтинг: 0 / 0
Структура таблицы
    #33775269
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRне попадался? Явно требует трех полей.
Совершенно не явно. Вполне может оказаться так, что эту информацию будет оптимальным завернуть в XML, засунуть в EAV или извратиться над ней еще каким-нибудь образом.

ModelRНе исключено, что тот, кто хочет видеть 3 поля, имеет ввиду аналогичную логику. Если задано третье, игнорировать но не удалять значения первых двух
Не исключено. Почему я и сказал, что хотел бы выслушать его аргументацию. Если прочитаете мое письмо, я сказал что не представляю, зачем бы я делал именно так, но допускаю, что задача может этого потребовать.

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


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