DBテーブルに性別カラムを作るなら、男=1, 女=2が標準

  • 41
    Like
  • 0
    Comment
More than 1 year has passed since last update.

性別の表現方法には国際基準があってJISとも互換なので、特に理由がないなら従っておくと合理的ですよという件。

"ISO/IEC 5218:2004 Codes for the representation of human sexes"

  • 0 = not known(不明)
  • 1 = male(男性)
  • 2 = female(女性)
  • 9 = not applicable(適用不能)

これは4値論理と同じ構造ですね。人間の性別が男女の2種だけなのかという議論はおいておいて、

  • 「そもそも性別という概念が存在しない」法人や、root, guestのような仮想的ユーザー
  • 「性別が未入力なだけ」の自然人

を区別して扱っています。

not applicableが3でなく9なのは、拡張性を意識していると言えましょう。自然人の性別が男女の二通りしかないかと言われるとそれはおかしいわけで。

表題に"sexes"とある通りgenderではなく生物学的な性別を意識してはいるようで、じゃあ生物学的な性別は男女の二通りで表現できるのかというと、稀少な染色体型(性染色体のモノソミーとか過剰とか、モザイク染色体とか)や稀少な表現型(アンドロゲン不応症とか)など、生物学的な性別も無数にあるわけです。

議論を拡散させずに拡張性を残しつつ規格に落とし込んでいるのは妥当な判断と言えましょう。

SNSなどならsexでなくgenderを扱っているはずですが、genderについて同様の規格があるかというと、このISO5218をそのまま流用というのが現時点の正解っぽいです。