AnsweredAssumed Answered

集計が必要な場合どのようなテーブル構造がよいか?

Question asked by J on Feb 14, 2011
Latest reply on Feb 21, 2011 by J

タイトル

集計が必要な場合どのようなテーブル構造がよいか?

フォーラムに投稿

テーブルの構造について質問です。なるべくデータの重複を避けつつ、集計等にも便利な構造にするにはどうしたら良いでしょうか?

例えば、学校のテストの成績を管理するデータベースを考えます。

毎年、生徒の学年やクラスは変わるので、以下のようにテーブルを作るとします。

生徒情報テーブル(学生番号、氏名、性別、住所...等 生徒の基礎情報)

クラス情報テーブル(年度、学生番号、学年、クラス、番号..)

テスト成績テーブル(年度、学籍番号、科目名、得点...)

さて、テスト成績についてある年度の科目毎、クラス毎の平均点や受験人数を知りたいとします。

思いつく方法は、集計用に別のテーブルを作り..

成績集計テーブル(年度、科目名、学年、クラス、平均点、受験人数..)

成績集計テーブルのTOとテスト成績テーブルのTOをリレーションでつなぎ、平均点や受験人数は計算フィールドにすれば..と思うのですが、テスト成績テーブルには学年やクラスの情報は含まれていません。

テスト成績テーブルに学年やクラスの情報を入れて(フィールドを作る)しまえば簡単だと思いますが、クラスの情報は「クラス情報テーブル」に含まれているので、こちらにもいれると重複することになります。

このような、場合にはどのような構造にするのが良い(一般的)でしょうか?

多少の重複は仕方ないのか、もっとうまい方法があるのか..。

よろしくお願いします。

環境は Filemaker Pro Advanced 11です

Outcomes