#はじめに
データ設計時に頭を悩ますのは、データ型の最大値と最小値でしょう。
特にユーザ情報に関わる情報はしっかり調べる必要があります。
「メールアドレスの最小値は?」「名前の最大値は?」
と考える前に、一度こちらの記事に目を通しておくとハッピーになれるかもしれません。(なれるとは言っていなry)
目次
- 姓名
- フリガナ
- メールアドレス
- パスワード
- 電話番号
- 携帯電話
- 住所
- 郵便番号
- 企業名、団体名
姓名 (2〜50文字)
最小値は「姓(1文字)」+「名(1文字)」の2文字でしょう。
※調べてみても世界最短の姓名は見つかりませんでした
次に最大値を考えてみましょう。
日本落語の「寿限無」では 111文字です。
ギネス世界記録における最長の名前を調べると 746文字でした。
ありとあらゆる名前をカバーするのは諦めましょう。
なので人気ソーシャルメディアを比べてみました。(2021年10月時点)
SNS | 最小値 | 最大値 |
---|---|---|
1文字 | 50文字 | |
1文字 | 30文字 | |
LINE | 1文字 | 20文字 |
TikTok | 1文字 | 30文字 |
最大値はバラバラですね。最小値は全て1文字というのは驚きでした。
結論、2文字〜50文字が妥当ではないでしょうか。
フリガナ (2〜450文字)
姓名は2文字〜50文字を踏まえて考えます。
漢字一文字で最も長い読み方ですが、
常用漢字では「承(うけたまわ)る」や「慮(おもんぱか)る」の5文字。
日本漢字検定協会が定めたものでは「蔘(ちょうせんにんじん)」9文字です。
なので最大値は450文字です。
※蔘(ちょうせんにんじん)さんと名付ける方がいるかは不明
最小値は、漢字1文字に対して1文字でしょう。
「津偉(つい)」さんや「安威(あい)」さんが実在するらしいです。
メールアドレス (6文字~254文字)
メールアドレスの長さはRFC5321 4.5.3にて規定されています。
結論。メールアドレス全体の最大値は254文字です。
ちなみに以下のルールもあります。
- ローカル部(@より前)の最大は、64文字
- ドメイン(@より後)の最大は、253文字
最小値は、ローカル部の1文字とドメインの「◯.jp」の4文字なので、@を合わせて6文字でしょうか。
パスワード(40文字〜128文字)
パスワードを平文のままDBに保存するケースはないと思われますので、システムで利用するハッシュ関数の16進桁数分をDBで確保すればよいです。
ハッシュ | 長さ |
---|---|
MD5 | 32文字 |
SHA1 | 40文字 |
SHA256 | 64文字 |
SHA224 | 56文字 |
SHA512 | 128文字 |
※MD5はセキュリティ上、脆弱なので32文字は除外しています。 |
ちなみに
一般的なパスワードのルールについてもまとめてみました。
情報処理推進機構(IPA)には、以下が安全なパスワードであると明記されています。
- 最低でも8文字以上の文字数で構成
- 数字や記号を混ぜる
- 大文字と小文字の両方を入れる
もし入力チェックを行う場合は、上記のルールも実装するように意識してください。
電話番号 (10文字)
一般固定電話は(0XX‐XXX‐XXXX)の10桁です。
ちなみに「0 + 市外局番(1~4桁) + 市内局番(1~4桁) + 加入者番号(4桁)」の構成です。
ちなみに
特番やダイアル、旧一般固定電話など、電話番号にも種類があるっぽい。
携帯電話 (11桁)
携帯電話/PHS/ポケベルは(0X0-YYYY-ZZZZ)の11桁です。
国際電話 (12桁)
国際電話は、「81-X0-YYYY-ZZZZ」の12桁になります。
頭の81は日本の国番号です。フランスに電話したい場合は33となります。
衛星電話 (13桁)
衛生電話というものもあり、長距離フェリーや電話線がない場所、離島でのみ使用されているみたいです。こちらは13桁でした。
住所 (152文字)
最長の住所を調べてみようとしましたが断念。
※住所+特定の所属名称などを考慮する必要があるため調査困難。また海外では短縮名も存在するなど。
世界の大手オンラインショッピングサイトであるAmazonで調べたところ、各入力フォームの合計値は152文字でした。
市区町村(60文字) + 丁目・番地・号(60文字) + 建物名/会社名(16文字) + 部屋番号(16文字)
郵便番号 (7桁)
昔は3桁や5桁で運用していたが、1998年2月2日から7桁で運用が始まったらしい。
企業名/団体名(137文字)
世界一長い社名は、こちらの137文字です。(2021年10月時点)