とまと あんらいぷ…

エンジニアの活動記録とかつぶやきとか

GitHub

基本情報処理試験のためのデータベース概念習得

基本情報処理の試験を受けて
SQLに関しては常に100点だったので
私の持っているデータベースへの理解について
とてもファンキーに乱暴にお伝えします。
本職のくせに実務の点数が悪いのはスルーしてくださいね。

基本情報処理試験結果

固定観念を捨て去る


このブログには「SQL 勉強」とかいうキーワードで
飛び込んでくる人が多いようです。
当然のごとくデータベースの概念がふわふわしてる方が多いでしょう。

SQL、クエリの学習方法でおすすめのサイト紹介(SQL攻略 - 実行すれば理解できる!) でも書いてますが
一般的なプログラム言語とはやや毛色が違うため
なかなかとっつきにくいものだと思います。

通常のプログラミングは
命令1行につき、「1処理」を行うように記述するのに対して
データベースの操作は「集合」を操作するように実行します。
(後述のイメージ参照)

文化が違うために、通常のプログラミングを勉強し始めた方は
既に「プログラムとはこういうもの」という固定観念ができあがっているため
混乱するのだと思います。

例えば・・・
データ集合の一部を変更するようなプログラムをイメージしてみましょう。
データの集合として、10.20,30,40,50 というひとくくりのデータのまとまりがあるとします。

一般的なプログラム言語では、複数のデータを処理する場合
プログラムコードで、1行ずつ命令します。

---プログラムコード---
// 10~50の配列
int[] arr = { 10, 20, 30, 40, 50};

// 20と40を0に更新する
arr[1] = 0;
arr[3] = 0;

//結果 arr { 10, 0, 30, 0, 50};
----------------------
イメージ
一般的なプログラミング言語
「データ」を1行ずつ処理する。
20140501_01_database.png

対してデータベースの操作は「ひとまとめ」で処理します。

20140501_02_database.png

この概念の違いを理解しないと、固定観念によって混乱してしまいます。


データベースのイメージを掴もう


データベースといっても、今はxmlデータベースとかリレーショナル・データベースとか
種類はあります。
今回は基本情報処理で出題される
リレーショナルデータベースシステム(RMBS)-関係データベースの概念をまとめてしまいます。

ぶっちゃけた話、データベースはExcel(エクセル)です。
本当は違いますけど、基本情報処理試験に合格するためや、
仕事を始める前のとっかかりとしては
Excelだと思ってよいです。うん。間違いない。

だってさウィキペディアにも
データは表に似た構造で管理され~

って書いてるもん。
表でしょ? Excelなんですよ。
20140501_03_database.png

基本情報処理の勉強をしていると
「選択」「射影」「結合」とかよくわからない言葉がでてきます。
もうね、いちいち小難しい漢字を当てはめちゃった感が出まくりなんですよ。

こんな言葉は試験が終わったら使いません。(使ったこと無い)
ですが、試験で出てくるので仕方なく覚えるしか無いので
覚えるしか無いですね・・・

というわけで、Excelに例えましょう。

・選択:行の選択
SELECT [*](全部の意味) FROM [表の名前]
20140501_04_database.png

・射影:列の選択
列の選択⇒SELECT [列の名前] FROM [表の名前]
20140501_05_database.png

ね、簡単でしょ。

・結合:
結合については、Excelで、別の表をコピペしたりするでしょ?それです。
他の表と、元の表をガッチャンコ。
それが、結合です。何の捻りもありませんね。

結合はコピペ
INNER JOIN
20140501_06_database.png

それぞれデータベース用語に置き換えると

・選択:行の選択⇒SELECT [*](全部の意味) FROM [表の名前]
・射影:列の選択⇒SELECT [列の名前] FROM [表の名前]
・結合:INNER JOIN だったり LEFT JOIN だったり・・・基本情報処理ではLEFTかINNERを覚えておけばOK!

です。
はい、これだけ覚えたら基本情報処理の
データベースに関連する免疫がつきます。

あとは小手先の技、、というか出題が圧倒的に多い
GROUP BY とやらを覚えたら6割ぐらいは取れるんじゃないですかね。多分。
続きを読む

テーマ:プログラミング - ジャンル:コンピュータ

前のページ

FC2Ad