質問

イントロ

くそー、これは難しいと思った。

一部の人々は持っています キャメルケース のような名前 McDonald また O'Ferncher, 、そしていくつかは持っていません 二重にバレルした 名前、しかし ハイフンの名前 お気に入り Bowes-Lyon あるいは単に , 、 お気に入り Honovi Hohnihhohkaiyohos (強いハイバックオオカミ)。次のようないくつかの文化空間で

  • あなたが持っているポルトガル人 さらに1 姓と さらに1 名(デフォルト)。
  • ロシアあなたにはミドルネームがあります(父称)、 あれは 義務.

一部の場所では、性別の不平等があり、使用する必要がある人に正式に対処するために プレフィックス, 、 お気に入り: Sir (性別は男性、女性、中間になる可能性があります)。そして、はい、プレフィックスは年齢に応じて変更されます。

これで十分ではないように - 人々は結婚することができますし、結婚することができます(これはかなり頻繁に発生します)(あなたはこれを複数回するかもしれません)、それは デフォルト のカスタム 少なくとも一つの 彼らを変えるパートナー 苗字. 。ほとんどの場所で、人々は自分の名前または少なくとも与えられた名前を変更できます。alt text

詳細

質問に答えたい場合、これは重要ではありません。私がやろうとしていることをヒントするだけです。

名前を保存したいテーブルは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のフォールトトレランスを検討しています。はい、アポストロフィ、白文学、その他のシンボルまたはケースの違いの存在または欠如を意味することは、異なる結果に屈する可能性があります。 (そして皮肉なろくでなしの場合 - これは宿題ではありません。)

質問は次のとおりです。 レコードテーブルに人の名前を保存する方法は?

役に立ちましたか?

解決

あなたがシンプルで普遍的な解決策を探しているなら、私はあなたが何もないことに気付くと思います。読む このブログの投稿, 、そして泣きます。

そして、あなたが泣き終わったら、見てください このドキュメント, 、米国のアメリカ人の聴衆の名前をモデル化しようとします。明らかに、それは多くの単純化された仮定を作りますが、それはおそらく無効です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top