0

特定の人々が自分の仕事を追跡するのに役立つツールに取り組んでいます。一人一人が介入を行い、それぞれの介入中に、さまざまなテストからいくつかのテストが選択される場合があります。各テストには独自の特徴があり、かなり異なっています。

良さそうなデザインが見つからない。今のところ、私はこれを持っています:

  • 介入のためのテーブル
  • 行われたテストと共通の特性を参照するための表 (一種の親クラスのテスト)。
  • 独自の特性を持つ各タイプのテストの表
  • すべてのタイプのテストを示すタイプ テーブル

これは次のようになります。

介入

  • _id
  • 日にち
  • user_id (外部キー)

テスト

  • _id
  • 介入 ID (FK)
  • type_id (外部キー)
  • generic_feature_a

テスト_1

  • _id
  • test_id (外部キー)
  • 使った時間
  • 結果_a

テスト_2

  • _id
  • test_id (外部キー)
  • 結果_b

...

タイプ

  • _id
  • テスト名

これにより、すべてのデータを保存できますが、リクエストを行うには適していないようです。たとえば、すべてのテストと関連する結果を取得したい場合は、すべてのテストを正しいintervention_idで取得する必要があります(それで問題ありません)。しかし、結果については、前のクエリを使用し、テストごとにテストの名前を取得して、正しいテーブルで要求を行う必要があります。

また、一般的なテーブル テストを削除し、intervention_id を特定のテスト テーブル内に直接挿入することも考えていました。しかし、すべてのテストのリストを取得するのは難しくなります...

それとも両方を行い、一般的なテスト テーブルを保持して、intervention_id を挿入しますか?

これについて何か助けはありますか?データを保存するより良い方法はありますか? そうでない場合、3 つの解決策のうちどれがあなたにとって最適と思われますか?

ありがとうございます!

4

1 に答える 1