例えば、図書館の貸出履歴と利用者のテーブルから、「年代別貸出数」のような集計を出力することが可能です。
・年代別貸出数
それでは、生年月日から年代別の集計をするまでの方法を、段階を追って考えてみましょう。
【1】前回、年齢や満年齢を計算で出しました。
計算に使える関数は、データベースによって異なります。この段階では、詳しい計算式は分からなくてもかまわないので、大まかなイメージだけ掴んでください。
年齢は現在の西暦から、生年月日の年を引けば、簡単に計算できます。
しかし、満年齢を出すには、現在の日付が、「誕生日未満」か「誕生日以降」かまで、考慮する必要がありました。
【2】年齢や満年齢が出せれば、年代を表示することは簡単です。1の位を切り捨てるだけです。
*10歳未満は 0 とします。
【3】年代が表示できれば、貸出履歴のデータに、利用者の年代を加えて表示することは可能です。
【4】この段階まで来ると、あとは年代をカウントするだけで、集計することができます。
・年代別貸出数
*最初の図と同じです
【解説】
利用者テーブルに保存するデータは、「生年月日」だけです。生年月日があれば、いろんな計算ができます。
生年月日 → 年齢(または満年齢) → 年代 → 集計
生年月日から直接年代を計算するのは、難しく感じるので、段階を追って計算しました。
このように、リレーショナルデータベースでは、あるフィールド(列)のデータを加工することで、様々な利用ができるようになります。
どんなデータを保存しておいて、どんな処理(計算)を行なえば、どんな出力(帳票など)が得られるのか、イメージする力が必要になります。