powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Справочник пола человека - отдельная таблица
54 сообщений из 54, показаны все 3 страниц
Справочник пола человека - отдельная таблица
    #37432751
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Впервые с таким столкнулся в существующей системе. До этого всегда работал с системами, где поле пола человека никуда не ссылалось, а содержало значения пола. Интересно, какие преимущества и недостатки у каждого из этих подходов?
Лично я считаю, что делать отдельную таблицу для этого - это лишние накладные расходы. То есть, это неудачное решение. Интересно было бы услышать обоснование противоположной точки зрения.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37432772
fowork
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гм... я вижу только одну положительную сторону для работы через интерфес, это если нужно внести изменения в наименование, то их нужно будет делать отлько в одной записи в таблице полов, а не в каждой записи с меняемым названием пола в таблице с людьми.

Этот "плюс" легко снимается непосредственным запросом в базу, поэтому и указал, что вижу его только при работе с базой через интерфейс.

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

Модератор: Вы сами-то понимаете, что понятие не имеет однозначной интерпретации? Сейчас придет чел с ником softwarer и расскажет вам, что пол бывает еще и детский.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37432810
Фотография Светлый_Дайвер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видно оставили возможность легко и непринужденно добавить пол, который намекает на нетрадиционную ориентацию =)))
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37432850
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело, имхо, не в количестве полов (хотя и тут возможны вариации), сколько в количестве атрибутов у пола. Одних только названий может быть несколько:
id LetterName ShortName FullName0ММужМужской1ЖЖенЖенский
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37432874
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> содержало значения пола

Модератор: Вы сами-то понимаете, что понятие не имеет однозначной интерпретации? Сейчас придет чел с ником softwarer и расскажет вам, что пол бывает еще и детский.

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

Если бы. Это реальный - с его слов - пример того, как одно кривое решение влечет за собой еще более кривые. Причем, рассказывал он об этом с гордостью.

> пол человека

Не пол, а гендерная принадлежность, наверное, да? Которая, вообще говоря, не обязана быть связанной с официально зарегистированным статусом. Что вы подразумеваете под "полом"? Наличие детородной функции? Возможность получения пенсии по достижении определенного возраста? Или способ обращения к пользователю чего-либо?
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433102
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Это шутка такая, да?

Если бы. Это реальный - с его слов - пример того, как одно кривое решение влечет за собой еще более кривые. Причем, рассказывал он об этом с гордостью.

А Вас не затруднит привести пруфлинк?

guest_20040621> пол человека

Не пол, а гендерная принадлежность, наверное, да?

А в чём отличие?

guest_20040621Которая, вообще говоря, не обязана быть связанной с официально зарегистированным статусом. Что вы подразумеваете под "полом"? Наличие детородной функции? Возможность получения пенсии по достижении определенного возраста? Или способ обращения к пользователю чего-либо?

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

Затруднит. Лень искать. Проще подождать, пока он сам объявится и расскажет об этом.

> А в чём отличие?

Запись в паспорте от возможности рожать детей отличается? Или это одно и то же?

> Это зависит от того, для чего в системе учитывается эта информация.

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

Запись в паспорте от возможности рожать детей отличается? Или это одно и то же?

Запись в паспорте может быть и ошибочной. У меня одному знакомому паспорт с женским полом выдали. Он и не заметил, пока его однажды на проходной охранник не тормознул. :)

guest_20040621> Это зависит от того, для чего в системе учитывается эта информация.

Для одной базы данных один и тот же человек - гермафродит, для другой - мужчина, для третей - женщина?

Я думаю, вряд ли такое возможно.

guest_20040621Вас кто, простите, проектированию учил?

А с чего Вы взяли, что меня проектированию вообще кто-то учил?
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433167
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Для одной базы данных один и тот же человек - гермафродит, для другой - мужчина, для третей - женщина?А почему бы и нет?
Особенно если базы для кардинально разных предметных областей и/или стран.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433186
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftguest_20040621Для одной базы данных один и тот же человек - гермафродит, для другой - мужчина, для третей - женщина?А почему бы и нет?
Особенно если базы для кардинально разных предметных областей и/или стран.

Кстати, да. Слышал, что в Тайланде в паспорте всегда указывается тот пол, который был у человека при рождении. Так что и у трансгендеров он остаётся неизменным.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433200
ВВ3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftДело, имхо, не в количестве полов (хотя и тут возможны вариации), сколько в количестве атрибутов у пола. Одних только названий может быть несколько:
id LetterName ShortName FullName0ММужМужской1ЖЖенЖенский

а 0 и 1 зачем?
нельзя М и Ж использовать как код?
или по умолчанию, если пол не указан, то М ?
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433206
ВВ3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pastic, а ещё бывает, что люди пол меняют.. и тогда надо указывать когда был какого пола и на основании какого документа.. :))
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433212
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВВ3нельзя М и Ж использовать как код?А как насчет иноязычных локализаций?
ВВ3или по умолчанию, если пол не указан, то М ?Если не указано, т.е. NULL, то как быть со ссылочной целостностью?
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433226
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВВ3Pastic, а ещё бывает, что люди пол меняют.. и тогда надо указывать когда был какого пола и на основании какого документа.. :))

Да, но отдельная таблица под пол тут не при чём.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433250
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВВ3miksoftДело, имхо, не в количестве полов (хотя и тут возможны вариации), сколько в количестве атрибутов у пола. Одних только названий может быть несколько:
id LetterName ShortName FullName0ММужМужской1ЖЖенЖенский

а 0 и 1 зачем?
нельзя М и Ж использовать как код?
или по умолчанию, если пол не указан, то М ?

Так можно и до абсурда дойти - а таблички в которы 3, 4 , 5 записей! Где предел? 10? 20?
Может и их в уме держать?
А если заплутаете потом в отчетах или других формах - вспоминать надо будет цыхверки :))
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433508
CaseWhen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621понимаете, что понятие не имеет однозначной интерпретацииКонечно не имеет!
Видел БД, в которой пол клиента имел три значения.
IDSex_nameММужскойЖЖенскийЮЮридическое лицо
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433562
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spТак можно и до абсурда дойти - а таблички в которы 3, 4 , 5 записей! Где предел? 10? 20?
Может и их в уме держать?
А если заплутаете потом в отчетах или других формах - вспоминать надо будет цыхверки :))
поддерживаю, лучше битовая нагрузка на бд чем потом воспоминалки загадывать )
зы тут вас код неправильно выставлен - 0 это Ж так как нет ничего, а 1 - М так как болтается )))
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433566
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koJIo6okвоспоминалкиЗачем воспоминалки, если таблица есть?

Кстати, пришла еще одна мысль. Не во всех СУБД есть CHECK-констрейнты и триггеры срабатывают не всегда, так что такой метод мог использоваться для контроля значений в поле.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433702
цруку
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spТак можно и до абсурда дойти - а таблички в которы 3, 4 , 5 записей! Где предел? 10? 20?
Может и их в уме держать?
А если заплутаете потом в отчетах или других формах - вспоминать надо будет цыхверки :))Чтоб не было абсурда и коррупции юзайте М и Жо )
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37433741
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
id LetterName ShortName FullName0ММужМужской1ЖЖенЖенский

Билогическое образование и жизненный опыт протестуют. Должно быть
id LetterName ShortName FullName 1 ММужМужской 0 ЖЖенЖенский
Так кстати и запомнить легче :)

PS Ну не бань меня, модератор! Этот топик - такая милая пурга, что не смог пройти мимо:)
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37434053
Анонимус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
доп. значения - кроме как уже выше писали "отсутствует", ещё и "неидентифицируем" (например из-за повреждений)

почему плохо непосредственно М Ж - потому что естественные ключи зло, потому что для справочников может использоваться универсальный компонент, умеющий работать только с определённым типом в качестве pk (guid или int)

U-geneБилогическое образование и жизненный опыт протестуют. Должно быть
1 ,М,Муж,Мужской
0 ,Ж,Жен,Женский

безо всяких смехуёчков, смысл этих символов по замыслу авторов (древних индийцев) именно такой
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37434556
АнонимусЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анонимусдоп. значения - кроме как уже выше писали "отсутствует", ещё и "неидентифицируем" (например из-за повреждений)Юрлицо ещё может быть.
Оно бесполое )
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37434744
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнонимусЪ,
у юрлица нет такого атрибута
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37434905
Жентос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрлицо -- это как врач, который не может быть мужчиной или женщиной
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37435546
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CaseWhenguest_20040621понимаете, что понятие не имеет однозначной интерпретацииКонечно не имеет!
Видел БД, в которой пол клиента имел три значения.
IDSex_nameММужскойЖЖенскийЮЮридическое лицо

Это пять!
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37435883
АнонимусЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
koJIo6okу юрлица нет такого атрибутаСовершенно верно, поэтому в поле Sex должна быть возможность указания null либо в явном виде "юрлицо".
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37435908
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнонимусЪ,
либо у юрлица нет такого атрибута )) 'контрагенты' пусть будут так, необязательно ведь это одна таблица
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37435942
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я считаю неудачным решение хранить информацию о физических и юридических лицах в одной таблице. Понятно, что у них есть общие атрибуты и эти атрибуты можно хранить в одной таблице. Но хранить в этой таблице поле "пол" - это не самый лучший вариант.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37436048
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы счас тоже сделал три таблицы, вместо теперешней одной и могучей ))
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37436107
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Понятно, что у них есть общие атрибуты

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

Ни одного.

Я Вам могу привести несколько. Это дата рождения и дата смерти. Для юрлица - это дата, когда оно было зарегистрировано, и дата, когда была зарегистрирована его ликвидация. Ещё место рождения.

guest_20040621Либо учитесь проектированию, либо прекращайте здесь писать.

Не говорите мне, что я должен делать, и я не скажу, куда Вам надо пойти.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37436133
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koJIo6okя бы счас тоже сделал три таблицы, вместо теперешней одной и могучей ))

Просто периодически нужно делать рефакторинг.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37436149
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koJIo6okя бы счас тоже сделал три таблицы, вместо теперешней одной и могучей ))
Так разделите. А для поддержания совместимости сделайте вьюху с INSTEAD OF - триггерами.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37436331
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разделить ведь не проблема, а вот переписать хп надо время, в рабочее время какбы и нельзя, выходит вечером или на выходных как бы и не охота, тем более летом, но вы правы, все равно придется и лучше раньше
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37436384
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koJIo6okразделить ведь не проблема, а вот переписать хп надо время, в рабочее время какбы и нельзя, выходит вечером или на выходных как бы и не охота, тем более летом, но вы правы, все равно придется и лучше раньше

Мысль о необходимости рефакторинга необходимо донести до начальства.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37436592
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-genemiksoft
id LetterName ShortName FullName0ММужМужской1ЖЖенЖенский

Билогическое образование и жизненный опыт протестуют. Должно быть
id LetterName ShortName FullName 1 ММужМужской 0 ЖЖенЖенский
Так кстати и запомнить легче :)

PS Ну не бань меня, модератор! Этот топик - такая милая пурга, что не смог пройти мимо:)

теоретики :))

курите "ОБЩЕРОССИЙСКИЙ КЛАССИФИКАТОР ИНФОРМАЦИИ О НАСЕЛЕНИИ" (ОКИН)
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37436739
Анонимус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PasticCaseWhenпропущено...
Конечно не имеет!
Видел БД, в которой пол клиента имел три значения.
IDSex_nameММужскойЖЖенскийЮЮридическое лицо

Это пять!
Чувак явно Борхеса читал

>"ОБЩЕРОССИЙСКИЙ КЛАССИФИКАТОР ИНФОРМАЦИИ О НАСЕЛЕНИИ" (ОКИН)
Неплохо. Можно брать за основу.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37436747
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шайтанкурите "ОБЩЕРОССИЙСКИЙ КЛАССИФИКАТОР ИНФОРМАЦИИ О НАСЕЛЕНИИ" (ОКИН)Норри Мэй-Велби (бесполый человек) и Бишну Адхикари (человек среднего пола) не согласны
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37436766
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftШайтанкурите "ОБЩЕРОССИЙСКИЙ КЛАССИФИКАТОР ИНФОРМАЦИИ О НАСЕЛЕНИИ" (ОКИН)Норри Мэй-Велби (бесполый человек) и Бишну Адхикари (человек среднего пола) не согласны

моментом согласятся, если потребуется в российскую налоговую декларацию подавать
нашим налоговикам забугорные решения не указ
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37436888
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> курите "ОБЩЕРОССИЙСКИЙ КЛАССИФИКАТОР ИНФОРМАЦИИ О НАСЕЛЕНИИ" (ОКИН)

Я бы ни вам, Шайтан, ни кому-то еще не рекомендовал без острой необходимости (острая необходимость в данном случае читается как "внутренний продукт для госструктур") пользовать отечественные поделки, именуемые классификаторами. Те, которые не передраны с зарубежных аналогов - откровенное дерьмо. Вы привели как раз такой пример.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37437009
Анонимус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621,

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

А что должно было понравиться? Кривая классификация, кривые формулировки. О вынужденном их использовании сказал, больше ни для чего они не пригодны.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37437671
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> курите "ОБЩЕРОССИЙСКИЙ КЛАССИФИКАТОР ИНФОРМАЦИИ О НАСЕЛЕНИИ" (ОКИН)

Я бы ни вам, Шайтан, ни кому-то еще не рекомендовал без острой необходимости (острая необходимость в данном случае читается как "внутренний продукт для госструктур") пользовать отечественные поделки, именуемые классификаторами. Те, которые не передраны с зарубежных аналогов - откровенное дерьмо. Вы привели как раз такой пример.

коллега не в курсе, что любая отчётность в эти самые гос. структуры из "внешнего мира" подаётся с применением этого классификатора?
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37437776
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчетность в госструктуры и контролирующие органы... (Громкие всхлипывания) Не надо о грустном...
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37437959
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> коллега не в курсе

Еще как в курсе. Но еще более в курсе того, что дешевле, проще и правильнее построить соответствие между кривым классификатором и используемым.

> с применением этого классификатора?

Расскажите, пожалуйста, какую именно отчетность ваша лавка сдает с применением именно этого классификатора?
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37441160
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мы тут всё ржем, а, тем временем, предметная область подкидывает сюрпризы
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37441430
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ржали только вы, дружище. Сюрпризов нет.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37442948
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С точки зрения теории правильно для пола ( как впрочем и для имён, отчеств) делать отдельную таблицу.
однако все мы не без греха, и сплошь и рядом делаем денормализацию, правда, одни (опытные бойцы) осознанно,
другие (молодёжь) не осознанно. Тут можно привести житейскую мудрость: "Что-бы нарушать правила, их нужно очень хорошо знать".
Если вы решили денормализовать таблицу, то должны чётко осознавать, что вы делаете нарушение, и соответственно, принять все меры, что-бы быстро и безболезненно восстановить Status Quo.
Например, вы в черновом варианте БД создали таблицу PERSONNEL. Решили, что информацию о половой принадлежности будете хранить в поле SEX. сразу вопрос: "какой тип поля, строковой или целочисленный?"
Неопытный боец выберет строковой тип (это-же так удобно, сразу виден пол человека!) и в дальнейшем получит следующие грабли:
1. вместо ожидаемых им двух значений "М" и "Ж", через некоторое время в таблице он найдёт следующие варианты пола: "М"(рус), "Ж", "M"(англ), "м"(рус), "ж", "m"(англ), а так-же кучу прочего мусора. Валидация вводимых значений не поможет, так как user'ы задолбают ~ следующим: "Программа не работает, я жму на клавишу "M" (в английском регистре), а она ругается "
2. В один прекрасный день заказчик скажет: женщины у нас уходят на пенсию в 55лет, мужчины в 60, женщины уходят в декрет, а мужчины нет, в женский праздник 8 марта мы дарим цветы и конфеты, а на 23 февраля коньяк и конфеты. И всё, будете долгими зимними вечерами перелопачивать БД и приложение, приводя её к нормальному виду, т.е. добавляя таблицу SEX.

Опытный боец заранее продумает эту ситуацию, для поля SEX предпочтёт целочисленные значения (0,1), создаст в клиентском приложении соответствующую инфраструктуру. При необходимости (п.2), в течении нескольких минут создаст необходимую табл. SEX, из поля PERSONNEL.SEX сделает внешний ключ, и вуаля!
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37442960
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
удивительно...
т.е. ладно там нормализация, не всегда она и помогает, но выборка по текстовому значению, когда "ключ" можно заменить целочисленным - это нормально?

Другими словами, если вам нужно выбрать всех мужчин, то


Код: plaintext
1.
2.
SELECT *
FROM ref
WHERE Пол='М'

Этот примитивный запрос текущие мощности обработаю с легкостью, но как только он встанет в очередной десяток JOIN, то придет Мартин Фаулер или кто там и будет на вас скептически смотреть.

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


Изначально я имел в виду OLTP-систему, а не хранилище данных.
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37443076
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PasticОзверин...Другими словами, если вам нужно выбрать всех мужчин, то...


Изначально я имел в виду OLTP-систему, а не хранилище данных.

Не сталкивался в качестве разработчика с OLTP системами, но есть подозрение, что чем менее нормализованы данные в БД OLTP систем, тем печальнее становится показатель "transaction per second".
...
Рейтинг: 0 / 0
Справочник пола человека - отдельная таблица
    #37443118
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинPasticпропущено...


Изначально я имел в виду OLTP-систему, а не хранилище данных.

Не сталкивался в качестве разработчика с OLTP системами, но есть подозрение, что чем менее нормализованы данные в БД OLTP систем, тем печальнее становится показатель "transaction per second".

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


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