powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура таблицы
25 сообщений из 54, страница 2 из 3
Структура таблицы
    #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
25 сообщений из 54, страница 2 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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