Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос о целесообразности справочников М и Ж / 25 сообщений из 26, страница 1 из 2
26.07.2013, 17:29
    #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
26.07.2013, 17:57
    #38345801
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о целесообразности справочников М и Ж
George-III,

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

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

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

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

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

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

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

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


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

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

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


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


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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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


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