現在、次の形式のテーブル モデルがあります。
基準 (基準 ID、基準名)
基準データ(基準ID、値)
1 つの基準 (日付基準) には、criteria_data テーブルに単一の日付を含めることができ、他の基準データには別の行の日付の株価を含めることができるという意味で、日付関連の情報をテーブルに格納するつもりです。(もう 1 つの複雑な点は、株式の名前も基準であるということです)。
私の問題:
特定の日付と銘柄名 (他の 2 つの個別の基準と行) に対して、1 つの価格 (単一行の基準) のみをテーブルに入力できるようにするにはどうすればよいですか。
アプリ層でこれを強制したくないので、主に DB 層ソリューションを探しています (利用可能な場合)。
より適切なデータ モデルが提案された場合、テーブル モデル全体を廃棄するように言われることにもオープンです。
編集 私の愚かさを知らされた後(以下のdPortasの投稿を参照)、これが賢明な方法ではないことを受け入れます。新しいモデルを考えました:
criteria_data(株式名,価格,高値,安値,価格,変化)
これはどのように見えるかですが、実際の列名は criteria_id を含む識別子になると思います。たとえば、stockname フィールドを col_1 に、high を col_3 にすることもできますが、これにより、さまざまな列の整合性を確保できます。
これについて人々はどう思いますか?