|
|
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Проектирую учебную БД (для общества защиты животных). Я сделала пол отдельной таблицей (id и значение). Я знаю, что пол - это достаточно сложный вопрос (я была в Таиланде, например), но в рамках моей задачи я предполагаю упрощенную модель. Проблема в том, что мой преподаватель настаивает, чтобы я убрала таблицу и использовала битовое поле, так как это лишний join. Моя интуиция подсказывает, что таблица - это удобно и естественно, а лишний join - это не проблема для современных СУБД. Подскажите пожалуйста, есть ли какие-нибудь преимущества в способе с битовым полем? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 23:34 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
lemurry Проблема в том, что мой преподаватель настаивает, чтобы я убрала таблицу и использовала битовое поле, так как это лишний joinНе спорьте с преподавателем, даже если он не прав lemurry Моя интуиция подсказывает, что таблица - это удобно и естественно, а лишний join - это не проблема для современных СУБД.Я с вами согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 23:39 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
lemurryПроектирую учебную БД (для общества защиты животных). А зачем в БД ОЗЗ вообще хранить пол? По-моему, это совершенно избыточная персональная информация. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 23:46 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovlemurryПроектирую учебную БД (для общества защиты животных). А зачем в БД ОЗЗ вообще хранить пол? По-моему, это совершенно избыточная персональная информация. Имеется в виду пол животного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 23:48 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
В вашу сторону скажу только что, если пол хранится как таблица Sex(ID,Name), то представление его на клиенте ложится на эту таблицу. Если же просто хранить как бит/число, то клиент должен сам обработать эти данные в строку. Несложно, но не забыть правильно. К тому же могут быть расширения: пол в женском роде- мужская, женская, на английском- male, female. Удобнее хранить в таблице. Но необязательно)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 23:57 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
lemurryИмеется в виду пол животного. А при чём тут тогда сложности и Тайланд? Нынче животным проводят операции смены пола?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 00:02 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovlemurryИмеется в виду пол животного. А при чём тут тогда сложности и Тайланд? Нынче животным проводят операции смены пола?.. Это была просто шутэчка... Таиланд здесь действительно не при чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 00:06 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovlemurryИмеется в виду пол животного. А при чём тут тогда сложности и Тайланд? Нынче животным проводят операции смены пола?.. некоторые животные умеют менять пол самостоятельно )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 00:11 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
самостоятельно это не правильно, пусть по шедюлеру меняют ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 00:50 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
> пол - это достаточно сложный вопрос Для людей всё просто: пол при рождении, пол, соответствующий регистрации гражданина как резидента, репродуктивные аспекты, социальные аспекты. У животных социальных аспектов, видимо, нет, и формальная регистрация пола - не норма. > я предполагаю упрощенную модель Упрощенная модель - пол + факт стерилизации. Т. е. таблица плюс битовое поле. > мой преподаватель настаивает Несмотря на то, что ваш препод гонит, вам, видимо, придётся сделать так, как он требует. Но для себя отметьте, что, например, та же мультиязычность для таблицы - в отличие от битового поля - простая операция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 01:22 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
lemurry, проблема, как я понимаю, в отсутствии точно сформулированного ТЗ. Если заказчик, в данном случае препод, не четко сформулировал требование к возможным значениям некого параметра, в данном случае пола, то надо задать наводящий вопрос и уточнить. Если в ТЗ четко прописано, что вариантов 2 и увеличения не будет - делаем битовое поле и не паримся. Если хотите показать въедливость и неравнодушие к задаче - то можно намекнуть, что кроме М и Ж есть всякие рыбы и земноводные, которые являются естественными гермафродитами, то есть на самом деле вариантов может быть более 2. Но в конечном счете последнее слово за заказчиком, просто вам нужно запастись бумажкой, где это все прописано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 09:43 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
а почему битовое? он - она - оно 1 - 0 - null ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 10:33 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
MSSQLAndDotNetа почему битовое? он - она - оно 1 - 0 - null ? Если заказчик хочет биты, пусть будут биты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 10:41 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
>убрала таблицу и использовала битовое поле пусть твой безграмотный препод откроет школьную программу по биологии у животных полов больше 2-х есть и двуполые и бесполые есть вообще виды состоящие только из самок кроме того один и тот же пол может иметь разную зиготность например у свиней самка монозигота, самец - гетерозигота, а у куриц наоборот или скажем какой пол у рабочей пчелы? по факту женский, но не станете же вы отрицать, что она отличается от матки по половому признаку... и это научные факты исходить надо из предметной области, а не из штампов в голове препода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 10:45 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
Локкиlemurry, проблема, как я понимаю, в отсутствии точно сформулированного ТЗ. Если заказчик, в данном случае препод, не четко сформулировал требование к возможным значениям некого параметра, в данном случае пола, то надо задать наводящий вопрос и уточнить. Если в ТЗ четко прописано, что вариантов 2 и увеличения не будет - делаем битовое поле и не паримся. Если хотите показать въедливость и неравнодушие к задаче - то можно намекнуть, что кроме М и Ж есть всякие рыбы и земноводные, которые являются естественными гермафродитами, то есть на самом деле вариантов может быть более 2. Но в конечном счете последнее слово за заказчиком, просто вам нужно запастись бумажкой, где это все прописано. +100500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 11:09 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
Chippollino.01или скажем какой пол у рабочей пчелы? Надо начать с требований: границ проекта и сценариев работы. Какие виды животных будет учитывать общество защиты? Как оно собирается использовать поле "пол" и для каких целей? Например, защита одиночной рабочей пчелы мне не представляется реалистичной :) Насколько легко будет преобразовать базу, если понадобится более двух полов? В конце концов, судя по тому, что есть учебная задача, общество существует только внутри головы препода. Если оно рассматривает только 2 пола, соответственно надо их реализовать, когда понадобится N тогда сконвертировать базу в новый формат. Но обычно в голове преподов общества живут недолго - не больше семестра и не успевают освоиться с новыми видами животных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 12:19 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
WebSharperChippollino.01или скажем какой пол у рабочей пчелы? Надо начать с требований: границ проекта и сценариев работы. Какие виды животных будет учитывать общество защиты? Как оно собирается использовать поле "пол" и для каких целей? Например, защита одиночной рабочей пчелы мне не представляется реалистичной :) Не согласен. Пчёлы сейчас вымирают из-за губительного воздействия станций Wi-Fi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 14:09 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
lemurryпреподаватель настаивает, чтобы я убрала таблицу и использовала битовое поле, так как это лишний joinлишний join - это не аргумент. Такое можно ляпнуть, только если больше сказать нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 14:15 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
baracsЛоккиlemurry, проблема, как я понимаю... Но в конечном счете последнее слово за заказчиком, просто вам нужно запастись бумажкой, где это все прописано ] +100500 заказчик - Препод ...)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 14:19 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
defragmentatorНе согласен. Пчёлы сейчас вымирают из-за губительного воздействия станций Wi-Fi Умирание реалистично, защита менее реалистично, учет пола одиночной пчелы для защиты еще менее реалистично :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 15:04 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
WebSharperdefragmentatorНе согласен. Пчёлы сейчас вымирают из-за губительного воздействия станций Wi-Fi Умирание реалистично, защита менее реалистично, учет пола одиночной пчелы для защиты еще менее реалистично :) Об этом пусть защитники думают :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 15:16 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
lemurryлишний join - это не проблема для современных СУБД не проблема, но и его можно избежать. Мы храним многие справочники в такой структуре Код: plaintext 1. 2. Ваш ID это CODE_TX (М Ж итд) и все FKs остаются на своем месте... довольно часто достаточно показать (Мурзик | М) вместо (Мурзик | Мужской) остальные поля используются для форм воода и редактирования (combobox например) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 20:09 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
lemurryПроблема в том, что мой преподаватель настаивает, чтобы я убрала таблицу и использовала битовое поле Не нужно писать против ветра... ключевая фраза здесь - преподаватель настаивает ... Добавьте еще типа: ах..., ну да..., ну да...., мы же используем логическое поле Да / Нет и получаем три значения: - Да - Нет - Не знаю (Null) И нет необходимости выносить это в отдельную таблицу... Согласна, пусть будет аналогично: он, она и оно без лишних таблиц... рекомендую подиграть немного... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 23:29 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
lemurryЗдравствуйте. Проектирую учебную БД (для общества защиты животных). Я сделала пол отдельной таблицей (id и значение). Я знаю, что пол - это достаточно сложный вопрос (я была в Таиланде, например), но в рамках моей задачи я предполагаю упрощенную модель. Да, вопрос сложный. Пол животного ? Или пол человека ? И для каких целей ? Если человека, то какой пол ? Физический (медицинский), сексопатологический, гражданский ... и т.п. lemurry Проблема в том, что мой преподаватель настаивает, чтобы я убрала таблицу и использовала битовое поле, так как это лишний join. Это однозначно бредовый критерий. Тем более очень плохо слышать это от преподавателя. JOIN -- одна из самых лёгких операций в СУБД, она практически ничего не стоит. Поэтому экономить тут нечего. lemurryМоя интуиция подсказывает, что таблица - это удобно и естественно, а лишний join - это не проблема для современных СУБД. Подскажите пожалуйста, есть ли какие-нибудь преимущества в способе с битовым полем? Заранее спасибо. Преимущества -- проще запрос, казалось бы, но если при наличии справочника пола тебе придётся сделать JOIN и вместо ID пола поставить его наименование, то в запросе без справочника нужно будет писать CASE-выражение для подстановки вместо идентификатора пола его показываемого пользователю значения. И это надо будет делать во всех запросах (правда, можно соорудить view). Но, ещё раз, в принципе вопрос "домен vs справочник" очень сложный и он не имеет общего решения, его всегда нужно рассматривать в контексте конкретной задачи и его требований. И с другой стороны -- справочник (отдельная таблица) -- решение универсальное, и приняв этот подход невозможно ошибиться. Напротив, если поле сделать доменом, то при расширении списка значений домена придётся переделывать всю таблицу, в больших БД это очень сложная операция. Кстати, есть промежуточное решение, которое сочетает достоинства двух -- делать справочник, но идентификаторы справочника делать с "говорящими" значениями, в данном случае 'M' и 'F' и возможно что-то ещё. Так можно сочетать и тот и другой подходы, и если это запрос не для пользователя -- не делать JOIN (хотя это и не страшно для СУБД, писать лишнее конечно же неудобно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 12:31 |
|
||
|
Пол как сущность
|
|||
|---|---|---|---|
|
#18+
defragmentatorMSSQLAndDotNetа почему битовое? он - она - оно 1 - 0 - null ? Если заказчик хочет биты, пусть будут биты Не, извините. null -- это не значение, это отсутсвие значения. Нельзя что-то кодировать NULL-ом, это грубая ошибка проектирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 12:35 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38770009&tid=1540768]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 517ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...