IT

初心者のためのデータベースの勉強法【入門編】

ITやシステムに詳しくなる上でデータベースに関する知識は欠かせません。

来年からシステム担当になるんだけどデータベースって何?っていう人のためにどこから始めたらいいかアドバイスを書いてみたいと思います。

あくまで勉強法についてですので、実際のデータベースのビルドや環境構築については割愛しています。

まずはデータベースが何のために存在するかを理解する

データベースの教科書を手に取ると一意制約だとかデータ方だとか内部結合だとか小難しい話から始められることも少なくありません。

しかしデータベースの存在意義といのはそういったことからはわからないのです。

まずはアプリケーションにどのように繋がるかを学ぶところから始めることで、何のためにDBがあるのかを知り、より深い学習につなげていけると考えています。

しかもそれは本の数十分で終わることです。

まずはデータのテーブルの作成、データの挿入、データの検索、データの更新をさくっとやってみましょう。

顧客マスタを作ってみる

データベースの蓄積しているデータはいろんなものがあります。ECサイトのログだったり、工場の出荷であったり、SNSのアカウント情報だったり、いろんなデータを蓄積しています。

その中でも顧客情報がわかりやすいと思うので仮に顧客データをイメージして進行していきます。

今回はSQL Serverを想定してSQLを書きますが、基本的なCRUDだけなのでどのデータベースでもそこまで変わりはないかと思います。

create table customer_master
(
  id int,
  name varchar(10)
)

これで顧客データの入るテーブルの完成です。

このようなデータの入る一つの塊の単位をテーブルと言います。

上の例ではidが顧客ごとのID、nameが名前に相当します。

本当はこのタイミングで一意制約(同じIDが出現しないような制約)を設定したりするのですが、一旦はDBが何か?ということを理解することを最優先にするので、割愛しましょう

データを入れてみる

insert into customer_master values(0, 'suzuki')

次はデータを入れてみましょう。

このままデータを持っているだけでは数字を書き込んだエクセルと一緒です。

このまま次のステップに進みます。

データを取得してみる

select id, name from customer_master

データを取得してみます。

いちいちデータを見るためだけに上のようなプログラム、正確にはSQLを書く必要があります。これだけだとエクセルの方が便利に思えてくるかもしれません。

しかしこのSQLはプログラムとつながります。エクセルではプログラムには繋がりません。

例えばあなたがAmazonにログインして自分の住所などを確かめるときにも、このSQLがデータベースまでデータを取りに行って、それをプログラムが画面に表示するところまで持ってきます。

その意識を持ちながら上のSQLを実行してみてください。

ここがデータの最初の出口になります。

データを書き換えてみる

update customer_master set name = 'sato' where id = 0

上のSQLを入力することで顧客IDが0番の鈴木さんが佐藤さんに変わりました。

顧客情報の住所変更をするときや、みなさんがAmazonのカートの中身を変更するときにも同様のSQLが実行されているはずです。

こうやってシステムはデータを更新していきます。

アプリケーションを作成してみる

データベースを初心者が理解するためにはアプリを一つ作ってみることをお勧めします。

一意制約やデータ型はその過程で身に付けるか、一度簡単なアプリを作り終えてからでも大丈夫です。

むしろその方が多少のつまづきがあるものの、何のためにデータベースの存在が必要なのかより深く理解できると思います。

 

データベースはまったく知らない人にとって何のために存在しているのかわかりません。

それを理解するためにはSQLやDBの本自体を手にとってしまうのではなく、DBの上に必ず存在するはずのアプリケーションとの関係から辿ってみましょう。

またデータベースとアプリケーションの関係を一通りイメージできるようになったら、次はこちらの本がわかりやすくておすすめです。

ABOUT ME
mikanlemon
mikanlemon
ズボラとガリ勉が持ちつ持たれつ暮らしてます/《おてんば娘》を育てているので、主に育児の悩み解決策やおすすめグッズを紹介してます/仕事の知識を活かした美容やIT関連記事、引っ越し族ゆえの移住関連記事など/きっとあなたの役にも立てるはず・・・!