質問
私はデータベース テーブルを設計していて、同じ愚かな質問をもう一度自分自身に問いかけています。 名フィールドの長さはどのくらいにする必要がありますか?
最も一般的なフィールドの適切な長さのリストを持っている人はいますか?, 、名前、姓、メールアドレスなど?
解決
W3C の推奨事項:
さまざまな背景を持つ人々からの名前を受け入れるフォームまたはデータベースを設計する場合は、 与えられた名前と姓に対して本当に別々のフィールドが必要かどうかを自問してください。
…一部の文化の名前はあなた自身よりもかなり長くなる可能性があることに留意してください。… データベース内の名前のフィールドサイズを制限しないでください. 。特に、UTF-8の4文字の日本語の名前が4バイトに収まると想定しないでください。実際に12が必要になる可能性があります。
https://www.w3.org/International/questions/qa-personal-names
データベースフィールドの場合、 VARCHAR(255)
実際に他のものを使用する正当な理由がない限り、これは安全なデフォルトの選択です。一般的な Web アプリケーションの場合、パフォーマンスは問題になりません。時期尚早に最適化しないでください。
他のヒント
米国の何百万もの顧客を含むデータベースにクエリを実行したところです。
最大 ファーストネーム 長さは46でした。私は50で行きます。(もちろん、そのうち 25 歳以上は 500 人だけで、それらはすべてデータのインポートによってその分野に余分なゴミが巻き添えになったケースでした。)
苗字 名字と似ていました。
メールアドレス 62文字で最大。より長いもののほとんどは、実際にはセミコロンで区切られた電子メールアドレスのリストでした。
住所 95文字で最大。長いものはすべて有効でした。
マックス 市 長さは35でした。
これは米国の人々にとってはかなりの統計上の広がりとなるはずです。ローカリゼーションを考慮する必要がある場合、数値は大幅に異なる可能性があります。
英国政府データ標準カタログ この種のものに関する英国の基準を詳しく説明します。名と姓にはそれぞれ 35 文字、フルネームを保持する 1 つのフィールドには 70 文字、電子メール アドレスには 255 文字が推奨されています。そのことなど..
おそらく正しい列の長さもあります
Min Max
Hostname 1 255
Domain Name 4 253
Email Address 7 254
Email Address [1] 3 254
Telephone Number 10 15
Telephone Number [2] 3 26
HTTP(S) URL w domain name 11 2083
URL [3] 6 2083
Postal Code [4] 2 11
IP Address (incl ipv6) 7 45
Longitude numeric 9,6
Latitude numeric 8,6
Money[5] numeric 19,4
[1] Allow local domains or TLD-only domains
[2] Allow short numbers like 911 and extensions like 16045551212x12345
[3] Allow local domains, tv:// scheme
[4] http://en.wikipedia.org/wiki/List_of_postal_codes. Use max 12 if storing dash or space
[5] http://stackoverflow.com/questions/224462/storing-money-in-a-decimal-column-what-precision-and-scale
個人名に対する長文の暴言
個人名は Polynym (複数の名前を含む名前) のいずれかです。 並べ替え可能 コンポーネント)、モノニム(コンポーネントが 1 つだけの名前)、またはピクトニム(写真で表される名前 - これはプリンスのような人々のおかげで存在します)。
人は複数の名前を持つことができ、法律、結婚、乙女、優先、愛称、偽名などの役割を果たします。「個人は一度に 1 つの本名のみを持つことができるが、一度に複数の仮名を使用できる」などのビジネス ルールがある場合があります。
いくつかの例:
names: [
{
type:"POLYNYM",
role:"LEGAL",
given:"George",
middle:"Herman",
moniker:"Babe",
surname:"Ruth",
generation:"JUNIOR"
},
{
type:"MONONYM",
role:"SOBRIQUET",
mononym:"The Bambino" /* mononyms can be more than one word, but only one component */
},
{
type:"MONONYM",
role:"SOBRIQUET",
mononym:"The Sultan of Swat"
}
]
または
names: [
{
type:"POLYNYM",
role:"PREFERRED",
given:"Malcolm",
surname:"X"
},
{
type:"POLYNYM",
role:"BIRTH",
given:"Malcolm",
surname:"Little"
},
{
type:"POLYNYM",
role:"LEGAL",
given:"Malik",
surname:"El-Shabazz"
}
]
または
names:[
{
type:"POLYNYM",
role:"LEGAL",
given:"Prince",
middle:"Rogers",
surname:"Nelson"
},
{
type:"MONONYM",
role:"SOBRIQUET",
mononym:"Prince"
},
{
type:"PICTONYM",
role:"LEGAL",
url:"http://upload.wikimedia.org/wikipedia/en/thumb/a/af/Prince_logo.svg/130px-Prince_logo.svg.png"
}
]
または
names:[
{
type:"POLYNYM",
role:"LEGAL",
given:"Juan Pablo",
surname:"Fernández de Calderón",
secondarySurname:"García-Iglesias" /* hispanic people often have two surnames. it can be impolite to use the wrong one. Portuguese and Spaniards differ as to which surname is important */
}
]
名、ミドルネーム、姓には、次のような複数の単語を含めることができます。 "Billy Bob" Thornton
, 、 または Ralph "Vaughn Williams"
.
私は、高い側の誤りを犯したと言うでしょう。おそらく varchar を使用することになるため、追加スペースを許可しても、誰かが必要としない限り、実際には追加スペースを使用することはありません。名前(姓または名)の場合は少なくとも 50 文字、電子メール アドレスの場合は少なくとも 128 文字にする必要があります。非常に長いメールアドレスがいくつかあります。
私がやりたいもう一つのことは、 リプサム.com そしてテキストを生成するように依頼します。こうすることで、100 バイトがどのようなものかをよく理解できます。
私は、他の数値が顧客にとって特別な意味を持つ顧客向けインターフェイスなど、そうしない正当な理由がない限り、ほとんど常に 2 の累乗を使用します。
2 の累乗に固執すると、一般的なサイズの限られたセット内に収まります。これ自体は良いことであり、遭遇する可能性のある未知のオブジェクトのサイズを推測するのが容易になります。他にもかなりの人がこれをやっているのを見ていますが、そこには美的に心地よいものがあります。これを見ると、たいてい良い気分になります。それは、設計者がエンジニアか数学者のように考えていたことを意味します。素数だけだと気になるかもしれないけど。:)
私は同じものを見つけたかったのですが、受け入れられた回答で言及されている英国政府のデータ標準が理想的であるように思えました。しかし、これらはどれももう存在していないようでした。広範囲にわたる検索の後、私はここのアーカイブでそれを見つけました。 http://webarchive.nationalarchives.gov.uk/+/http://www.cabinetoffice.gov.uk/govtalk/schemasstandards/e-gif/datastandards.aspx. 。zip をダウンロードして解凍し、html フォルダー内のdefault.htm を開く必要があります。
ファーストネーム :35 lastName:35メール:255 URL:サーバーとブラウザ市によると60+:45アドレス:90
私のメール アーカイブを見てみると、かなり長い「名」がたくさんあります (もちろん、「名」が何を意味するかは文化によって異なります)。一例はクリシュナムルシーです。これは 13 文字です。これに基づくと、20 ~ 25 文字になると考えられます。電子メールは次のようにする必要があります 多くの firstname.lastname@somedomain.com である可能性があるため、さらに長くなります。また、Gmail やその他のメール プログラムでは、firstname.lastname+sometag@somedomain.com を使用できます。ここで、「sometag」は、受信メールの並べ替えに使用できるように、そこに付けたいものです。タグを考慮せずに完全な電子メール アドレスを入力できない Web フォームに頻繁に遭遇します。したがって、固定の電子メール フィールドが必要な場合は、25.25+15@20.3 文字、合計 90 文字程度になる可能性があります (私の計算が正しければ!)。
これらは誰かにとって役立つかもしれません。
youtube max channel length = 20
facebook max name length = 50
twitter max handle length = 15
email max length = 255
http://www.interoadvisory.com/2015/08/6-areas-inside-of-linkedin-with-character-limits/
私は通常、次のものと一緒に行きます:
ファーストネーム:30文字
苗字:30文字
Eメール:50文字
住所:200文字
名前の長いフィールドが心配な場合は、最近ではストレージ容量が問題になることはほとんどないため、名前フィールドに 50 を使用することもあります。
ローカリゼーションを検討する必要があり (米国外にいる人のために!)、それがあなたの環境で可能である場合は、次のことをお勧めします。
名前の各コンポーネントのデータ型を定義します - 注:文化によっては 2 つ以上の名前があります。次に、フルネームのタイプを用意します。
そうすれば (名前に関する限り) ローカリゼーションが簡単になります。
同じことがアドレスにも当てはまりますが、ところで、形式が異なります。
それはvarcharですよね?したがって、50 を使用するか 25 を使用するかは問題ではありません。安全を確保して 50 を使用するほうがよいでしょう。とはいえ、私が見た中で最も長いのは約 19 程度だと思います。姓の方が長い