Подтвердить что ты не робот

Является ли имя IsFemale неуместным для столбца базы данных?

Просто просмотрев нашу схему db и нашел поле с именем IsFemale '

Является ли имя хорошим, или это смехотворно?

4b9b3361

Ответ 1

Вы должны придерживаться стандарта ISO, если это вообще возможно.

ИСО/МЭК 5218. Информационные технологии. Коды для представления полов людей являются международным стандартом, который определяет представление о полах человека через однозначный по языку код....

Четыре кода, указанные в ISO/IEC 5218:

  • 0 = неизвестно,
  • 1 = мужчина,
  • 2 = женщина,
  • 9 = не применимо.

В стандарте указано, что на его использование может ссылаться обозначение "SEX".

Ответ 2

Женщины и мужчины не являются взаимоисключающими, поэтому вам придется придумать что-то для транссексуалов, унисекс и т.д.

Чтобы сделать это как предприятие, возможно, создайте столбец GenderTypeID:

GenderTypes
-----------
GenderTypeID  Name     Greeting

      1       Male     Dear Sir
      2       Female   Dear Madam
      3       Unisex   Dear Sir and Madam
      4       Unknown  Dear Sir or Madam
      5       Android  Dear Artificial Life Form

... и т.д.

Ответ 3

Возможно, назвав столбец "пол" (char с "M", "F" ), я бы стал более "чувствительным".

Ответ 4

Ну, типичная вещь состоит в том, чтобы иметь стол "секс", но вы можете в конечном итоге с невежественными клиентами, пытающимися подавать их со значениями "два раза в неделю".

Другая проблема заключается в том, что он зависит от языка. Например, на английском языке M будет означать M a, а на испанском языке это может означать M ujer (женщина).

Ответ 5

isFemale указывает на большую проблему с вашей схемой, что-то вроде этого следует обобщить или, возможно, даже нормализовать:

Как, имея секс-столбец на вашем столе, который является FK для секс-стола:

---------------------
| ID   | Type       |
|-------------------|
|   1  | Male       |
|   2  | Female     |
|   3  | Yes Please |
---------------------

Заметьте, на самом деле не делайте этого, его глупо, если вы не планируете поддерживать необычные гендерные группы. Я все еще думаю, что общий столбец лучше, чем бит isFemale.

Ответ 6

Понятно, что вопросник (справедливо) обеспокоен тем, что разработчик базы данных не учитывает нейтральный по значению язык.

(Имейте в виду, что политически корректный (по праву) больше не считается принятым, нейтральным по значению языком.)

Как проектировщик компьютеров, у вас есть особое обязательство гарантировать, что ваши проекты не будут, непреднамеренно или нет, включать или распространять гендерные предпочтения или превосходство.

Хотя дизайнер может наивно полагать, что IsFemale даст женщинам 1 и, следовательно, более высокое/превосходное значение, истинным значениям часто присваивается значение -1. Не говоря уже о культурах, где 0 - священное значение.

В рассрочку на следующей неделе мы рассмотрим людей, которые являются interex и странной теорией и ее последствиями для переменных стандартов именования.

Ответ 7

Вам только когда-нибудь придется проверять истину/ложь IsFemale?

Не будет ли более подходящим столбцом типа "PersonType" или что-то в этом роде? Таким образом, у вас могут быть "женщины", "мужчина", "компания" и т.д. - более возможные значения.

Марк

PS: но если вы решите использовать "бит" (логический) столбец, то префикс "Is" или "Has" является хорошим выбором, на мой взгляд, это делает его вполне понятным логическим!

Ответ 8

Что не так с классическим "сексом" и поддержкой вспомогательных типов, таких как M, F и т.д.

Ответ 9

Каждая база данных, с которой я когда-либо работал, использовала имя столбца "Пол" со значениями 0 для женщин и 1 для мужчин. Я всегда предполагал, что эти значения были назначены во многом таким же образом, что электронное оборудование имеет разъемы, которые описываются как женские или мужские.

Является ли IsFemale смехотворным, зависит от намерения системы, однако, похоже, она нарисовала приложение в углу. Гендерные поля, например, можно выращивать для размещения дополнительного "типа", но IsFemale, очевидно, только когда-либо будет истинным или ложным и, следовательно, вовсе не может быть расширяемым.

Ответ 10

Gender кажется лучшим выбором, но если вам нужно или нужно использовать логический столбец, есть только два варианта: IsMale или IsFemale.

Ответ 11

Если вы спрашиваете, смешно ли это, это зависит. Будет ли умней быть лучше, ты шовинист? (Просто шучу!)

Я предполагаю, что тот, кто проектировал базу данных, думал о специальных правилах ведения бизнеса для женщин и разработал ее таким образом.

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

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

Ответ 12

Для простых систем, где нет сексуальной двусмысленности, я использую IsMale. Альтернативой может быть использование таблицы поиска, если ваши требования включают в себя межсезонных лиц. Если у вас есть только мужчины и женщины, использование чего-либо, кроме логического значения, вводит в систему ненужную сложность и двусмысленность.