2011-09-16 8 views
1

私はテキスト文書を解析し、データの大部分をリレーショナル形式に変換しています。日付形式はさまざまですが、そのうちの1つは「Fall 1997」です。非特定日付(例えば、 "Fall 1997")をリレーショナルデータベースに格納する

「落ちる」が提供する粒度を失うことなく、特定の意味(絶対日付ではない)でこの情報を保存する最良の方法は何でしょうか?

追加情報:私の特定のデータベースはMySQLです。

+0

結果を並べ替えることができるようにする必要があります。その結果、1997年の夏の特定の日付は、「1997年秋の秋」の直前にソートされますか? –

答えて

3

私が見てきたさまざまなテクニックがありますが、ストレートvarcharでロードせずにスコープを決定する必要があります。 1997-09-01を含む通常の日付列を使用することができますが、特異性を示す列を追加することができます。 - 季節の 'S'(月の最初の3,6,9,12を使用) 'Q' 1、4、7、10の月の最初のもの)などです。同様に学期やそのようなことについても同様です。

このような日付を解釈するときは、特に「このイベントは特定の時間の前後に発生しましたか」を処理する際には、その処理方法を決定する必要があります。期間全体が日付の前に来なければならないかのように。

このような「日付」は、説明、開始日と終了日を含む期間テーブルのエントリに変換し、期間にリンクすることができます。その後、1997年のFallは、テーブルの行としてよく定義され、他の行には外部キーがあるという意味でのデータベースエンティティです。これにより、これらの日付について論理を決定する必要はなくなりますが、そのようなロジックをテーブル駆動にすることができます。

電話をかける前に、使用シナリオとさまざまなデータに大きく依存します。

関連する問題