データベース入門【中高生向け】【情報系】

スポンサーリンク

大学、特に理系では「基礎」って書いている本とかは大抵専門的で難しいです。特に数学は「基礎」の方が大抵抽象的ですしね。「入門」と書いていれば、一般向けの入門なのか、学部生向けなのかで多少違いますが、割と必死こいて調べなくても読み切れるものが多いイメージですね。

あまり深入りせずに簡単に読める様に書いてみました。

スポンサーリンク

なぜ、データベースを使う?

大規模なデータを正しく速く処理するのに必要です。

エクセルのような表計算ソフトではデータ数が多いと重かったり、データの多様さに対応できなかったりします。

データベースとは?

計算機科学の文脈では、データベースは

「計算機に永続的かつ体系的に格納されたデータの集まり」

と定義されます。

データベース内のデータを管理(検索・データ更新・障害回復など)するシステムとは区別されます。

表記

例えば、学校のデータベースなら、少なくとも学生のデータを管理するでしょう。

学生(名前, 学生番号, 学年, クラス, 部活)

教師(名前, 科目, 年齢)

のように表記します。(実際にデータベースを使うとして追加する項目は、性別とか、車椅子などのサポートが必要な身体障害の有無などがあるでしょう)

問い合わせ

見たいデータを見るための操作を問い合わせと呼びます。

SQLというコンピュータ言語の場合の操作方法を書きます。

2年生でテニス部に所属している生徒の名前一覧を見たいときは、

SELECT 名前
FROM 学生
WHERE 学年 ='2' AND 部活 = 'テニス'

のように書きます。(厳密には「’テニス’」は「N’テニス’」と書きます。「N」は英文字以外の文字列を扱うときに必要。部活とか学年の前には書いたらだめ。)

独立性

学生(名前, 学生番号, 学年, クラス, 部活)

学生の「部活」を「クラブ」という表記に変更したいとします。

変更したら、

学生(名前, 学生番号, 学年, クラス, クラブ)

になるので、

さっき↓

SELECT 名前
FROM 学生
WHERE 学年 ='2' AND 部活 = 'テニス'

とか書きましたが、

SELECT 名前
FROM 学生
WHERE 学年 ='2' AND クラブ = 'テニス'

と書かなければいけないのでしょうか。
独立性があれば、答えは「NO」です。

以下、その理由の説明です。

学生(名前, 学生番号, 学年, クラス, 部活)

教師(名前, 科目, 年齢)

みたいなやつを変更しても、あらかじめ、「部活」などの属性を「ビュー定義」っていう操作をしておけば、SQLでの操作で属性の名前を気にせずに済みます。

実際は知りませんが、学生管理サービスの会社があれば、各学校の言い方(部活、クラブ活動、サークル活動)に合わせて表記できるけど、操作は同じ様にできて便利なわけです。
その場合は「部活マスター」みたいな名称にして「名称変更したらSQLでも変更後の名称使うやつ」なのか「名称変更しても、SQLではずっと同じでいいやつ」なのかを区別できるようにします。

コメント

タイトルとURLをコピーしました