前回、③に戻り、模試・過去問の点数記録と分析をまとめました。今回は、①に戻り、科目Aの新しい分野として「データベースの基礎」を整理します。
データベースとは
データベースとは、大量のデータを、整理された形で保存し、必要なときに検索・更新できるようにした仕組みのことです。多くのシステムでは、表(テーブル)の形でデータを管理する「リレーショナルデータベース」が使われています。
テーブルの構造
リレーショナルデータベースでは、データを、行(レコード)と列(フィールド)からなる表(テーブル)で管理します。以前整理した多次元配列の「行と列」の考え方が、そのままイメージの土台になります。
例えば、「社員」というテーブルであれば、1行が1人の社員の情報を表し、列には「社員番号」「氏名」「所属部署」といった項目が並びます。
正規化とは
正規化とは、データの重複や矛盾をできるだけなくすように、テーブルの構造を整理していく作業のことです。
例えば、社員のテーブルに部署名をそのまま書き込んでしまうと、同じ部署の社員が増えるたびに、同じ部署名が何度も重複して記録されてしまいます。部署の名前が変更になった場合、すべての行を修正しなければならず、修正漏れによる矛盾も起きやすくなります。
正規化では、こうした重複しやすい情報を、別のテーブル(部署テーブルなど)に分け、社員テーブルからは、その部署を指し示す番号だけを持たせる、という形に整理します。これにより、部署名を変更する場合も、部署テーブルの1か所を直すだけで済むようになります。
SQLとは
SQLとは、リレーショナルデータベースに対して、データの検索・追加・更新・削除といった操作を行うための言語です。次回、SQL文の具体的な書き方(SELECT・JOINなど)を整理する予定ですが、今回はまず、「SQLは、テーブルに対して命令を出すための言語である」という位置づけを押さえておきます。
学習してみた感想
データベースは、以前整理した多次元配列の「行と列」のイメージがそのまま使えたことで、構造自体はすんなり理解できました。正規化については、「なぜテーブルを分けるのか」という理由を、部署名の変更という具体例で考えたことで、単なる作業手順ではなく、目的を持った整理だと納得できました。
次回は、SQL文の書き方(SELECT・JOINなど)を練習します。
