成績処理7


余談ですが・・・

データベースソフトは便利なのですが、なかなかハードルが高いようです。 学校現場でAccessをこなせる人は少ないようです。

エクセルは得意でデータベースはよく知らない先生から質問されたことがあります。
「なぜ最初から、T_ichiranのようなテーブルを作って入力するようにしたらダメなんですか」
この質問にはデータベースの根幹にかかわる問題が含まれています。これからデータベースを扱おうと思う人はよく理解しておいてください。

単純に1回だけの処理を考えれば、確かにもっともな質問です。 しかし、試験は1回だけではありません。 仮に、中間試験・期末試験・期末の評価(5段階や10段階)があったとします。 中学生や高校生の場合、一人の生徒について3年間に必要な成績情報はいくつになるでしょう。

単に試験成績と期末評価を入れるだけでも2期制の学校なら、1科目について6個のフィールドが必要です。1年で履修する科目は10科目程度が標準ですが、1年で、6×10、3年間で6×10×3=180個ものフィールドになります。各科目の出席状況や単位認定なども管理するとすれば、さらに多くなります。

これだけのフィールドを仮に用意できたとしても、今見ているT_ichiranは、その一部分を表示したにすぎないのです。しかも、全ての生徒が同一の科目並びでなければなりません。そんなことはあり得ませんので、現実には、このようなテーブルは作成できません。
横長のエクセル表のようなものを考えてはいけないのです。

結論的に、一例として成績情報は次のように格納されることになります。

(凡例) 学期コード 1:前期 2:後期   試験コード 1:中間  2:期末 3:期末評価(学校により、5段階や10段階)

この連載で示したT_seisekiは、このようなテーブルをいきなり示したのでは分かりにくいので、生徒コードの代わりに具体的な生徒名、科目コードの代わりに具体的な科目名そして点数を抜き出したものと理解してください。(さらに詳しく述べると、特定の生徒集団、年度、学期コード、試験コードを条件に抽出したものということになります。)

,