最初に、SQLで説明のしてなかった、CREATE VIEW を補足説明し、 後半はデータベースの設計の話をする。 悪い設計の例ということで、学校で使っている緊急連絡システムや授業アンケートを 例にとりながら、手抜きでOKな部分と不整合などの問題点を、 設計の腕の見せ所…という点で説明を行う。
SQLの補足
CREATE VIEW 命令は、アプリケーションプログラマーが データベースを扱いやすいように、 SELECT命令で取り出されたテーブルを、あたかもそういうテーブルが あるように見せかける機能。 これにより、外部スキーマとして分かりやすくプログラムが書ける。
CREATE VIEW 名前( 要素 ... ) AS SELECT 要素 FROM テーブル WHERE ... ;
教科書では、ホスト言語での取り扱いが記載されていたが、 授業ではホスト言語と連携する際のプログラムの問題として、 SQLインジェクションの危険性を示した。
データベースの設計
データベースの設計の話として、学生が授業を受講する際のデータベースを例にしながら、 悪い設計と、不整合の問題を説明する。 これらの不整合を解決するには、データベースの設計が重要であり、一般的には ER図などを書きながら設計を行う。
ER図の1つは実体(Entity)であり、図に示す際は四角枠に名前を記載。 これに属性を丸枠で囲んで、線で結ぶ。丸枠内の属性名は、主キーであれば 下線をつけて記載する。 関連(Relationship)は、複数の実体間の相互関係を表すもので、 菱形の四角で示す。

改めて、ネットでER図を探すと、属性をUMLのクラス図と同様に書く方が主流になってきているみたい。