私は@JanHudecが言ったことの多くに同意しますが、それについて少し拡張したいと思います。
- 実際の要件が何であるかを知る必要がありますが、情報を再結合してから分割するよりも、情報を結合する方が簡単です。
- ルールはロケールや文化によって異なる可能性があるため、ソートは常に課題となります。
- 多くの文化はあなたのものと一致しません、それは悪い仮定につながります。(これは1月の最大のポイントです)
用語は重要です
以下のような用語与えられた名前と姓や家族の名前はセマンティックな意味を持っており、データベースは常にあなたのデータの意味を反映すべきです。名や姓などの用語には、通常、名前の仕組みに関する英語とアメリカの考え方に基づいた位置的な意味があります。データのセマンティクスに適切な用語を使用します。
それをどこまで分解する必要がありますか?
タイトル(Mr. Dr. Mrs.など)または序数(Jr.、Sr.、IIIなど)の概念があり、さらに認定(PhD、MS、PCAMなど)もあります。コンテキストと目的。
多くのロケールには、複数の姓(父方および母方)の概念があり、一部のロケールにはありません。フォームに記入する際、使用する名前を厳密に選択しなければならない場合があります。たとえば、アメリカ形式の「姓」に父方の姓を使用したり、父親の名前に基づいて姓を見つけたりする場合(Janson )。
アメリカでは1つまたは複数のミドルネームを持っていることが一般的ですが、家族の外ではしばしば無視されます。
仕分け
ソート名専用のフィールドを用意すると便利です。そうすることで、レコードを作成するときにルールを明確にすることができます。また、国際的な境界を越えて正しい順序で名前がソートされるようにします。
一般的な慣行
実際の要件により、名前についてどの程度正確である必要があるかが決まります。政府または銀行のWebサイトを作成している場合、Facebookのような非公式なものよりも、名前の保存と処理に関する要件が多くなります。
非公式のガイドライン
- ユーザーがどのように知られたいかを説明するフィールドを1つ持つ
- 並べ替えと表示はその1つの名前を使用します
準公式ガイドライン
- ニックネーム、またはユーザーの対処方法を入力するフィールドが1つあります
- 2つのフィールドがあり、1つは名、もう1つは姓(姓はオプション)
- ロケールと名/姓のコンボに基づいてソートフィールドを計算する
- ユーザーに直接アドレス指定するときにニックネームを使用します
- 人をリストするときに正式な名前を使用する
正式なガイドライン
- これらは、サポートしているエンティティの既存のポリシーと手順によって決まります
- サポートする名前部分の最大数と同じ数のフィールドが必要であり、それらが何であるかを意味的に命名します。
- セミフォーマルの場合のようにソートを処理するソートフィールドを含める
- また、表示は通常、既存のポリシーと手順によって決定されます。それらに慣れる必要があります。