LoginSignup
70
69

More than 5 years have passed since last update.

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

Posted at

性別の表現方法には国際基準があって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をそのまま流用というのが現時点の正解っぽいです。

70
69
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
70
69