レコードテーブルに人の名前を保存する方法
-
29-09-2019 - |
質問
イントロ
くそー、これは難しいと思った。
一部の人々は持っています キャメルケース のような名前 McDonald
また O'Ferncher
, 、そしていくつかは持っていません 二重にバレルした 名前、しかし ハイフンの名前 お気に入り Bowes-Lyon
あるいは単に 名, 、 お気に入り Honovi Hohnihhohkaiyohos
(強いハイバックオオカミ)。次のようないくつかの文化空間で
- あなたが持っているポルトガル人 さらに1 姓と さらに1 名(デフォルト)。
- ロシアあなたにはミドルネームがあります(父称)、 あれは 義務.
一部の場所では、性別の不平等があり、使用する必要がある人に正式に対処するために プレフィックス, 、 お気に入り: Sir
(性別は男性、女性、中間になる可能性があります)。そして、はい、プレフィックスは年齢に応じて変更されます。
これで十分ではないように - 人々は結婚することができますし、結婚することができます(これはかなり頻繁に発生します)(あなたはこれを複数回するかもしれません)、それは デフォルト のカスタム 少なくとも一つの 彼らを変えるパートナー 苗字. 。ほとんどの場所で、人々は自分の名前または少なくとも与えられた名前を変更できます。
詳細
質問に答えたい場合、これは重要ではありません。私がやろうとしていることをヒントするだけです。
名前を保存したいテーブルはXMLと Appengine DataStore と 小枝 Object Storeインターフェイス(とりわけTwigを使用しています。スキーマをコンパイルできるためです)。データ自体はさまざまな場所を形成する可能性があり、おそらく古い名前が使用される場合が存在します(そのため、複数の名前を保存します)。
私の最善の推測は:
@XmlAttribute @Key protected Long id;
@XmlElement(required = true) final protected List<String> lastName;
@XmlElement(required = false) protected String middleName;
@XmlElement(required = true) final protected List<String> firstName;
@XmlElement(required = true) protected Boolean isMale;
@XmlElement(required = true) protected Date birthday;
//+locale for naming?
執筆機能または前提条件 compareTo
方法は私の一日を作るだけです...私は真剣に0のフォールトトレランスを検討しています。はい、アポストロフィ、白文学、その他のシンボルまたはケースの違いの存在または欠如を意味することは、異なる結果に屈する可能性があります。 (そして皮肉なろくでなしの場合 - これは宿題ではありません。)
質問は次のとおりです。 レコードテーブルに人の名前を保存する方法は?