67 データ格納 / テーブルの結合


出欠席データは”MS_AbseceDay”と名付けられたテーブルに格納されています。
Ms_Absenceday
ここには、生徒に関わるデータ(年・組・番・氏名)が含まれていないことに、着目してください。

生徒に関わるデータは”Sys_StudentMast”テーブルに格納されていて、二つのテーブルをフィールド”IndexID”が繋いでいます。
Sys_StudentMast

IndexID = 20020201 に注目して二つのテーブルを見比べると、
「2年2組1番 秋元昴己が、6月30日に体調不良を理由に欠席した」
と読み取れます。(もちろんのこと、他にも沢山の要素が・・・)


生徒データと出欠席データを切り離し、異なるテーブルに格納することには、計り知れないほどのメリットがあります。
生徒の名前が間違っていたら、”Sys_StudentMast”テーブルのデータを修正するだけで、全ての書式に「正しい名前」が書き出されます。
転出入の処理も、”Sys_StudentMast”テーブルへの書き込みだけで、全ての書式に赤線黒線を描画します。

システムの更なる拡張も、視野に入ります。
例えば、フィールド”IndexID”を置いた定期テスト等の素点を格納するテーブルを用意すれば、成績処理も実装できるでしょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です