2012-03-24 8 views
1

私は遺伝子学アプリケーションを開発しており、イベントの日付を保存する必要があります。しかし、私は日付と実際の日付をサポートする必要がありますので、私はそれが利用可能なときにイベントの日付をインデックスすることができますようにevendateとceventdate(circa)の列を考えています。系図データモデルのサーカと実際の日付を保存するためのアプローチ

しかし、もっと私は、私が次のようなものを持っているべきかどうか疑問に思います:eventyth、eventmonth、eventday、circa(定義)。

思考?

答えて

2

私はGEDCOMの日付の定義を使用します。私は、彼らが必要とされることの多くを含めて、日付を考えていくのはかなり良い仕事をしたと思います。

私は最近a blog post about GEDCOM datesと書いています。私が言ったことのいくつかは次の通りです:

GEDCOMの基本日付はこうです:dd MMM yyyy、 02年7月2日。

基本的な日付について知っておくべきこと:「 月の年」または「月の年」または「ちょうど年」のいずれかを指定できます。 1日は1,の数字になるため、02年7月1日または1917年1月2日が許可されます。おおよその日付の

、彼らが使用します。

  • ABT日
  • CAL日
  • EST日
  • ABTは、「約」を意味し、不正確な日付のある

。 CALは数学的に計算される。 ESTは、他のイベント日付を使用するアルゴリズムに基づいて推定されます。

他にも、解釈された日付と日付句を含む複数の構造があります。

ガセロジーアプリケーションをGEDCOMからインポートしてGEDCOMにエクスポートすることをお勧めしますので、GEDCOMフォーマットとの簡単な翻訳が可能ないくつかの日付の実装を決定することをお勧めします。

0

ここでも、あなたは日時をどのように処理したいのか不明な点がいくつかあります。年月日は、月または年の正確さ、または正確な正確さの所定の時間枠のいずれかにすることができます。

あなたが唯一の私は次のことを示唆している月または年の精度を持つことができるいずれかの年頃の日付を使用することが予想される場合は: あなたはこの、おそらくeventsテーブルを追跡しているものは何でも表に正確な日付のevent_dateフィールドを使用します。日付はevent_dateですが、monthまたはyearaccuracy列に追加してください。システムは、入力された日付をその列に設定されている精度にのみ適用することができます。あなたの日付が日時である必要がある場合は、accuracyを簡単に展開して日を考慮に入れることができます。 events表の仮定が成立した場合 は、あなたがのために、追加のテーブルが必要になります。次の2つの精度の間にまたがることができ年頃の日付を扱う場合

、私はあなたが追加criteraのカップルと以前soultionを使用することをsuggeestうevent_datesで、私が前に説明した日付の列を使用します。この新しいテーブルには、イベントの日付の開始または終了を表すdate_typeの列も必要です。 event_datesテーブルには、関係を維持するためのevent_idへのリンクが必要です。

また、buffer_dateまたはdate_rangeを指定して要件を満たすことができる場合は、同じ表に日付を作成することができます。この解決方法では、入力された正確な日付が使用され、buffer_dateで指定された日数/月/年数内に発生した日付がそのイベントを起動すると言うロジックが使用されます。

希望に役立ちます。

関連する問題