powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос о целесообразности справочников М и Ж
26 сообщений из 26, показаны все 2 страниц
Вопрос о целесообразности справочников М и Ж
    #38345730
Фотография George-III
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица, в ней поле половой принадлежности (м,ж), есть ли смысл вводить в структуру БД справочник, с таблицей из 2-х строк, а в основной хранить соответственно только код значения из справочника?
Я за такой вариант(без справочника):
Код: sql
1.
2.
3.
4.
5.
6.
                create table 
                             tblClients (
                                           ID_Cln integer primary key, 
                                           FIO varchar2(50) not null,
                                           sex varchar2(3) not null check(sex IN ('М','Ж'))),
                                          ); 


Оппонент за еще одну таблицу-справочник и связь её один к одному с основной таблицей.
Мои аргументы:
1. Бессмысленно хранить ещё одно ненужное отношение: увеличивается кол-во объектов в БД;
2. Уменьшится время выборки, так как обращение будет вестись уже не к одной таблице, а как минимум к двум;
Аргументы оппонента:
1. Не будет необходимости в редактировании структуры при добавлении ещё одной половой принадлежности :);
2. Использование индекса для внешнего ключа решит вопрос производительности более эффективно при данной явной ситуации низкой селективности, так как выборка будет происходить по целочисленному значению даже при такой низкой селективности.

Собственно вопрос: кто более прав?
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38345801
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
George-III,

Если потребуется создать еще одну таблицу в таким полем, то оппонент будет правее. Кроме того, расширение справочника посредством ALTER TABLE требует несколько более других прав, нежели посредством INSERT.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346002
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
George-III Бессмысленно хранить ещё одно ненужное отношение: увеличивается кол-во объектов в БДПри общем числе в сотни или тысячи еще одна таблица погоды не сделает.
George-III Уменьшится время выборки, так как обращение будет вестись уже не к одной таблице, а как минимум к двум;Справочник крохотный - экономию можно будет разглядеть только под микроскопом
George-III Не будет необходимости в редактировании структуры при добавлении ещё одной половой принадлежности :);Это бывает настолько редко что заслуживает своего alter table
George-III Использование индекса для внешнего ключа решит вопрос производительности более эффективно при данной явной ситуации низкой селективности, так как выборка будет происходить по целочисленному значению даже при такой низкой селективности.Честно говоря не понял. Но индексировать только М/Ж смысла мало.
Итого: спор ради спора. Мое мнение - не знаешь как поступать, поступай правильно, то бишь табличку добавьте.
Можете сделать первичным ключом char(1) с вашими М/Ж и не джойнить, если вам не нужны полные наименования.
Далее, пол может быть неизвестным, так что возможно not null придется убирать
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346027
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
George-III,

Справочник отношений вроде не порождает.

Культурно не sex, а gender. Впрочем все равно этого секса юзер же не увидит канонично.

А как было бы красиво `Пол` ENUM('женский', 'мужской', 'еще не понял');
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346045
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на "True", "False" тоже справочник?
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346117
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter,

Ну да, а потом в шаблоне вручную подписывать: Ваш пол: мужской [i] Женский [o].

Кроме того истины и лжи не существует, это байт и можно 255 вариантов предложить за те же биты.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346161
andandrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни разу еще не встречал тиражного продукта, где пол был бы вынесен в справочник.
Хотя если это БД какой-то клиники по смене пола, и там возможны экзотические варианты, то в справочнике хранить разумно.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346175
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andandrewНи разу еще не встречал тиражного продукта, где пол был бы вынесен в справочник.
Хотя если это БД какой-то клиники по смене пола, и там возможны экзотические варианты, то в справочнике хранить разумно.Тогда нужно вынести в справочник буквы и цифры. Вдруг новые придумают.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346176
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
George-III,

я думаю тут вопрос больше стоит так: а сколько у вас собирается быть записей в таблице?
если больше чем дох...я то надо посчитать во сколько вам обойдется хранения строк в самой таблице и ненаделают ли юзеры очепяток на таком количестве записей на таких простых словах!)
а если там записей - х...й да них..я - то и нефиг беспокоиться - пишите все в одну таблицу - она вытерпит :)
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346238
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во вступлении сообщу, что на самом деле эта проблема более широка, и звучит так: "Домены VS справочкики" , и является она одной из основных проблем проектирования РБД, не решаемой, естественно, никогда.

George-IIIМои аргументы:
1. Бессмысленно хранить ещё одно ненужное отношение: увеличивается кол-во объектов в БД;


Это не аргумент. Лишняя таблица в БД ничего не стоит.

автор2. Уменьшится время выборки, так как обращение будет вестись уже не к одной таблице, а как минимум к двум;

Это аргумент, но слабый. JOIN лишний к таблице, тем более к такой маленькой, очень быстрый.


авторАргументы оппонента:
1. Не будет необходимости в редактировании структуры при добавлении ещё одной половой принадлежности :);


Это -- аргумент, и очень сильный. Если добавление предвидится, то только так и нужно делать.
(это НЕ ШУТКА).

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


Это бред. Селективность низкая (если предполагается равное или почти равное соотношение полов в БД), и индекс по этому полю не нужен, потому что он просто не будет использоваться.

George-IIIСобственно вопрос: кто более прав?


Собственно, никто не прав, потому что мы не знаем твою предметную область.
Оба решения допустимы, а выбирать нужно исходя из требований предметной области. Собственно, даже что такое "пол" -- уже не понятно. С точки зрения закона пол -- то, что написано в паспорте. С точки зрения напр. врача -- наличие половых органов (и кстати полов с этой точки зрения отнюдь не 2), с точки зрения специалиста сексопсихолога -- там вообще тёмные лес, там этих полов столько, что нам и не снилось в обычной жизни.

И даже банально с точки зрения паспорта НЕ ВСЕ ТАК ПРОСТО, как кажется -- сегодня уже во Франции мужики женются друг на друге, завтра они приедут к нам в Россию например работать, и потребуют, чтобы в трудовой книжке у них записано было что-то типа "гомопартнёр".

Так что я бы тоже склонялся к идее со справочником, он ничего не стоит, а даёт некоторые преимущества.

Кстати, ещё одно преимущество в том, что НАЗВАНИЯ пола в случае справочника можно легко менять в работающей БД, это может очень пригодиться в случае, например, перевода приложения на другой язык. Также легче в случае справочника реализовывать многоязыковую поддержку.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346251
Если проект большой, то со временем справочник добавлять однозначно приходится,
у нас например справочник полов выглядит вот так

1Мужскоймуж.МУважаемый Господин г-н
2Женскийжен.ЖУважаемая Госпожа г-жа
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346254
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> А на "True", "False" тоже справочник?

Про не-бинарную логику не слышали?
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346256
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv, освежите мои рекомендации. Там, где вы пытаетесь меня цитировать, получается почти правильно. Там, где несёте отсебятину, - отсебятина.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346280
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621,

Я никого не цитировал, кроме автора поста.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346303
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Я никого не цитировал, кроме автора поста.

В сущности, мне всё равно, но правила приличия требуют ссылки на первоисточник. Я бы ткнул вас носом в соответствующее обсуждение, но - лень. Поищите самостоятельно.

Скорость деградации русскоязычных разработчиков просто поразительна.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346342
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Я никого не цитировал, кроме автора поста.

В сущности, мне всё равно, но правила приличия требуют ссылки на первоисточник. Я бы ткнул вас носом в соответствующее обсуждение, но - лень. Поищите самостоятельно.

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

Ты сначала залогинься хотя бы, чтобы было на что ссылаться.

А то сейчас ты для меня — бестелесный призрак.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346347
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv, дружище, вы должны бы знать, что с быдлом я брудершафтов не пью.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346396
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257табличку добавьте.
Можете сделать первичным ключом char(1) с вашими М/Ж и не джойнить, если вам не нужны полные наименования.
+1
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346404
Поэт2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нецелесообразно
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38346557
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621MasterZiv, дружище, вы должны бы знать, что с быдлом я брудершафтов не пью.

Я тебя не знаю, дружище, по понятным причинам, но рад за тебя.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38347361
Фотография George-III
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за обсуждение и свои точки зрения.
Я сделал вывод, что лучше все же использовать справочник.
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38348064
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
George-III,

Хайзенберг хороший совет дает:
ХайзенбергЕсли проект большой, то со временем справочник добавлять однозначно приходится,
у нас например справочник полов выглядит вот так
1Мужскоймуж.МУважаемый Господин г-н
2Женскийжен.ЖУважаемая Госпожа г-жа
но можно углубить для пущей крутизны и универсальности:
добавить еще один субсправочник, чтоб ЭТИ упомянутые "сущности" были на нескольких полулярных языках переведены
(для особо ретивых чукч-писателей подчеркиваю, 5 - 6, максимум 10, популярных языков).
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38348199
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander2George-III,

Хайзенберг хороший совет дает:
ХайзенбергЕсли проект большой, то со временем справочник добавлять однозначно приходится,
у нас например справочник полов выглядит вот так
1Мужскоймуж.МУважаемый Господин г-н
2Женскийжен.ЖУважаемая Госпожа г-жа
но можно углубить для пущей крутизны и универсальности:
добавить еще один субсправочник, чтоб ЭТИ упомянутые "сущности" были на нескольких полулярных языках переведены
(для особо ретивых чукч-писателей подчеркиваю, 5 - 6, максимум 10, популярных языков).

А можно завести справочник языков.
Для каждый таблицы создать таблицу переводов, где ключом будет (Таблица_ID, Язык_ID)
А структура будет почти такая же как у "Таблицы".
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38353766
George-III1. Бессмысленно хранить ещё одно ненужное отношение: увеличивается кол-во объектов в БД;


Конечно увеличится. На единицу. Ну а места на жестком диске будет израсходовано - немеряно. Справочник "Мужчина-Женщина" займет на диске не менее двухсот миллиардов терабайт. Это ж сколько жестких дисков надо будет купить ?

George-III2. Уменьшится время выборки, так как обращение будет вестись уже не к одной таблице, а как минимум к двум;


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

- Вот сколько полов ты знаешь?
- Два, мужской и женский
- А вот и нет, их может быть даже пять
- Это как?
- Мужской, Женский, Бывший мужской, бывший женский, неопределенный
...
Рейтинг: 0 / 0
Вопрос о целесообразности справочников М и Ж
    #38361984
Dmitry Eliseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Умные люди уже всё придумали заранее. ОКИН-1 называется.
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос о целесообразности справочников М и Ж
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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