powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура таблицы
54 сообщений из 54, показаны все 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
Структура таблицы
    #33775337
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создаем таблицу с двумя полями: from, to. Поле to - nullable.

Создаем 2 view.
select [from], to from mytable where to is not null
select [from] from mytable where to is null

На клиенте ставим галку (радио) - значение/диапазон
и в зависимости от либо пишем в одну, либо в другую view. Работает точно, проверил.

Слабое место - не построишь ключь по nullable полю. Такое же слабое место и у таблицы с тремя значениями, там даже еще слабее.
...
Рейтинг: 0 / 0
Структура таблицы
    #33775373
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Создаем таблицу с двумя полями: from, to. Поле to - nullable.

Еще раз, для тех, кто в танке: это плохое решение. Уже потому, что ограничения не отражены в структуре данных.
...
Рейтинг: 0 / 0
Структура таблицы
    #33775439
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
Еще раз, для тех, кто в танке: это плохое решение. Уже потому, что ограничения не отражены в структуре данных.

Какое ограничение предметной области отражено в схеме с тремя полями и не отражено в этой?
...
Рейтинг: 0 / 0
Структура таблицы
    #33775456
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сторонники трех полей - ключи как будете строить и индексы?
...
Рейтинг: 0 / 0
Структура таблицы
    #33775465
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из двух поле можно извлечь инф-цию:

например
фром=1, ту=-50
фром=21, ту=нуль
фром=4, ту=4

значит третье поле не нужно



в три поля можно ввести инф-цию не имеющую смысла:

например
фром=5, ту=3, екзакт=11

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

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

Какие ключи? Какие индексы? ;)))

Уважаемый, обсуждаемая структура данных не имеет практического применения ни в одной из рассматриваемых реализаций. Поэтому "как" - бессмысленный вопрос.
...
Рейтинг: 0 / 0
Структура таблицы
    #33775510
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так чего париться об "ограничении предметной области", если таблица заведомо кривая и речь можно вести только об оптимальном размещении данных.

Я бы вообще две таблицы сделал. И место бы сэкономил и с ключами-индексами проблем нет.
...
Рейтинг: 0 / 0
Структура таблицы
    #33775529
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Так чего париться об "ограничении предметной области"

Начальный вопрос был так задан. Как-то не очень красиво переформулировать его за автора. ;)

> Я бы вообще две таблицы сделал

Я бы тоже.
...
Рейтинг: 0 / 0
Структура таблицы
    #33775540
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Рассказываю не понимаемые мной основы.

Что дает exactly?
Прежде всего - кому дает. Серверу? Клиенту?

guest_20040621Если используется только from, to, то ошибка ввода порождает сразу две ошибки:
Хм. Вы вдохновили меня, ухитрившись в ответе повторить ровно ту же ошибку. Как говорил некто Чингачгук, только бледнолицый брат.....

Итак: если оператор ухитрился совершить две ошибки (то есть сначала, например, вместо кнопки "Создать диапазон" нажал кнопку "Создать точное значение", а потом еще и ввел одно число вместо двух), то он таки действительно совершил две ошибки. И даже если в структуре БД нарисовать восемь полей, ошибок меньше не станет. Потому что структура БД тут не при чем.

P.S. Можно позабавляться, и даже дважды, видя как Вы ставите знак равенства между полями в таблице и полями ввода на форме. Можно предположить, откуда идет этот взгляд. Но пожалуйста, в следующий раз придумайте что-нибудь новое - смеяться над этим в третий раз будет уже скучно.
...
Рейтинг: 0 / 0
Структура таблицы
    #33775579
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По этой логике если в таблице можно хранить информацию о мужчинах и женщинах, то ни в коем случае нельзя делать одно поле "пол" - это не будет оотражать "ограничений предметной области" :) надо обязательно сделать
2 поля, IsMen и IsWoman - тогда все будет корректно, и "схема данных будет отражать ограничения предметной области"?
Это оригинальный взгляд, факт :)
...
Рейтинг: 0 / 0
Структура таблицы
    #33775594
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Прежде всего - кому дает. Серверу? Клиенту?

Не смешно.

> Итак: если оператор

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

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

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

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

> если в таблице можно хранить информацию о мужчинах и женщинах

А от задачи, как обычно. Ну, например, в женской консультации есть база данных пациентов. И в этой же женской консультации есть какая-то софтинка отдела кадров. Вы же понимаете, что нет ничего невероятного в том, что в разных базах данных описание одной и той же сущности - человека - будет разным. ;)

> не зарегистрируетесь, кстати?

А зачем?
...
Рейтинг: 0 / 0
Структура таблицы
    #33775741
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если разработчик не понимает, что первична структура данных, а не гуй к ней, то это - тупой разработчик. Ничего личного.

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

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

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




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

Нет, погодите. Про разнесение на разные таблицы мы сейчас говорить не будем - это неинтересно, хотя бы потому что действительно очень зависит от конкретной задачи. Поговорим о различении сущностей в рамках одной таблицы на уровне структуры и на уровне значений полей - то есть то самое различие между 2 и 3 полями из исходного примера или одним полем
"пол" против двух isMen и IsWoman. Вы, как я понял, считаете, что в первом случае надо разграничивать на уровне структуры, а во втором - нет. Почему так?
...
Рейтинг: 0 / 0
Структура таблицы
    #33775798
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Не смешно.
Не сомневаюсь. И, подозреваю, "не понятно" гораздо точнее опишет Ваше состояние. На всякий случай уточню, что пробел поставлен вполне осознанно.

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


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

;) ОК, давайте подробнее остановимся на мужчинах и женщинах, если Вы настаиваете. Как по-Вашего, в каких случаях женщины и мужчины должны быть выделены как отдельные сущности, без типизации?

> действительно очень зависит от конкретной задачи

Вы сами это сказали, прошу отметить. ;)

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

Давайте. Моя точка зрения: разделение сущности на уровне значений - ошибка проектирования.

> то самое различие между 2 и 3 полями из исходного примера или одним
> полем "пол" против двух isMen и IsWoman.

Вы, наверное, невнимательно читали обсуждение. ОК, аналогия с мужчинами и женщинами примерно такая: дата1 для женщины интерпретируется как дата начала менструального цикла, дата2 - как дата окончания, в то же время дата1 интерпретируется для мужчины как дата рождения. Причем, вывод о половой принадлежности человека делается на основании только дата2.
...
Рейтинг: 0 / 0
Структура таблицы
    #33775870
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> мои модели данных не только правильные, но и отражают реальность, а не мои
> фантазии :)

Не поделитесь критерием правильности моделей и их соответствия реальности? Я по серости своей считал, что соответствие реальности в принципе невозможно, максимум достижимого - соответствие техническому заданию. ;))
...
Рейтинг: 0 / 0
Структура таблицы
    #33775898
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Как по-Вашего, в каких случаях женщины и мужчины должны быть выделены как отдельные сущности, без типизации?

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

автор
Давайте. Моя точка зрения: разделение сущности на уровне значений - ошибка проектирования.

ОК, аналогия с мужчинами и женщинами примерно такая:

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

Например?

> разделение на уровне значений - всегда неправильно, следовательно,
> и в случае различия по значению поля "пол" - тоже.

Нет, конечно. Посмотрите [2745191] на предыдущей странице.

> То есть одно поле "пол" не подходит, нужно различать на уровне структуры.

;) Да ну нет же. Речь о том, что либо должна быть явная типизация (пол в Вашем примере), либо типизация на уровне структуры. Автор вопроса не предполагал явной типизации для своей структуры данных, следовательно, единственный оставшийся вариант - типизация на уровне структуры. Еще раз прочтите пример с мужчиной и женщиной - абсолютно идентичная ситуация.
...
Рейтинг: 0 / 0
Структура таблицы
    #33775971
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскинесли мы предположим, что набор остальных полей у мужчин и женщин заполняется однообразно и на их основании разделить нельзя?Если правильно понял контекст, то речь идет о другом. Выделяя сущности, мы идем от задачи. До тех пор, пока любой из атрибутов сущности применим к каждому экземпляру сущности, то эта сущность более абстрактна.
В приведенном Вами примере, возможно, пол всего лишь атрибут более общей сущности - "человек". Как только появляется дифференциация по атрибутам, т.е., какие-либо атрибуты не применимы к каждому экземпляру, возникает повод для порождения новых сущностей. Именно в этот момент может появиться потребность разделение на 2 отдельные сущности "мужчина" и "женщина". Для первого не имеет смысла атрибут "Количество родов", для второй - "Длина члена" :) Но эти 2 сущности не отрицают существование сущности "Человек", просто, в соответствии с задачей, по причине типизации произошло деление на уровне структуры. В принципе, никто не мешает все атрибуты хранить в одной таблице, но возникают, IMHO, вполне справедливые сомнения в правильности такого подхода при проектировании РБД.
...
Рейтинг: 0 / 0
Структура таблицы
    #33775998
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинПо этой логике если в таблице можно хранить информацию о мужчинах и женщинах, то ни в коем случае нельзя делать одно поле "пол" - это не будет оотражать "ограничений предметной области" :) надо обязательно сделать
2 поля, IsMen и IsWoman - тогда все будет корректно, и "схема данных будет отражать ограничения предметной области"?
Это оригинальный взгляд, факт :)

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

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

но не три же страницы форума подряд
...
Рейтинг: 0 / 0
Структура таблицы
    #33776239
Зачем запутывать не сложный вопрос ? quest_20040621 прав - без постановки задачи не обойтись, но зачем переходить на "мужчин" и "женщин" ? Например:

Номинальное (оптимальное) значение = 10
Минимальное допустимое значение = 8
Максимальное допустимое значение = 15

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


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