パソコンを触ったことがある、エクセルを触ったことがあるくらいの方に、データベースを説明するときはどうしたらいいでしょうか?
技術に疎い営業の担当の方にシステムの説明をする際、何に例えて説明すれば解りやすいでしょうか。
ここでは、Excelを触ったことがある程度の方、データベースについて何も知らない方、どんなものか知りたいを対象に、
データベースとは何か、考え方やイメージを纏めてみました。
ここでは難しいことは書いていません。
目次
-
- データベースとは
- データベースの種類
- データベースのイメージ
- データを保存する場所はどこか
- データを操作する命令がある
- イメージしやすくエクセルで例えてみる。命令文のイメージ。
- まとめ
1.データベースとは
データベースとは、一言でいえば「情報を整理したファイル」のことです。
これらの情報を管理するシステムをDBMS(Data Base Management System)といい、
DBMSでデータを効率よく保存、取得したりといった操作が可能になります。
DMBSを単純にデータベースと呼ぶこともあります。
2.データベースの種類
データベースでは大きく分けて3種類あるそうで、下記のように分けられるそうです。
・階層型データベース
・ネットワーク型データベース
・リレーショナルデータベース(※)
出展元:https://proengineer.internous.co.jp/content/columnfeature/6411#section200
主要なデータベースは最後の「リレーショナルデータベース」ですので、
ここではリレーショナルデータベースについて説明したいと思います。
具体的なイメージとして、エクセルで作成した住所録などをイメージすると解りやすいと思います。
ただ、エクセルの場合は件数が少なければ問題はありませんが、10万件・100万件…といった感じで膨大なデータ数の場合、
Excelだとスクロールしてデータを探して・・・とか、検索をかけて・・・とか。
特にデータが多いとエクセルが固まったりとか、管理できなくなると思います。
そこで、このデータベースを使う訳です。
解りやすい使われ方として、Amazonや楽天の様な、ショッピングサイトのシステム(商品情報や購入情報)、
スマートフォンのアプリ(ゲームの勝ち負けの履歴)などでしょうか。
3.データベースのイメージ
例えば、あるショッピングサイトをイメージします。
会員登録済みのショッピングサイトで、ログインして買い物をするという流れを考えます。
※スクリーンショットは楽天市場のサイトです。
実際のシステムはもっと複雑で異なっているはずなので、説明として参照してください。
ショッピングサイトにアクセス
↓
ログイン【会員ID、パスワードを入力】
↓(データベースから会員IDと一致するパスワードを検索して一致するものを確認)
ログインOK
↓
商品一覧ページにアクセス。
↓(データベースから販売している商品の名称・価格・説明を取得)
商品一覧を表示
↓
商品を選ぶ
↓
カート画面【住所やカード番号を入力】
↓(データベースに購入者情報を保存。カード会社に問い合わせ)
購入完了
4.データを保存する場所はどこか
データを保存する場所として、種類別の情報を保存する「箱」があることをイメージしてください。
データはこのこの箱に保存されていて「テーブル」と呼ばれます。
データの種類ごとに仕分けできるよう、種類別にこの箱(テーブル)を用意します。
前述のショッピングサイトでいえば、
「ユーザ情報」のテーブル、「商品情報」のテーブル、「購入履歴」のテーブル・・・といった感じで種類別の情報がそれぞれの保存されています。
ユーザが増えれば、ユーザ情報のテーブルに1件、商品が1つ増えたら、商品情報のテーブルに1件、
何か購入されたら、購入履歴のテーブルに1件…といった感じで情報を追加していくわけです。
5.データを操作する命令がある
データベースでデータを操作する際の主要な命令文は下記のとおりです。
・SELECT(選択する)
・INSERT(挿入する)
・UPDATE(更新する)
・DELETE(削除する)
これらを命令文を文法に倣って正しく書いたものを、SQL(エスキューエル)といい、
SQLの形でデータベースに命令を送ると、前述の「テーブル」から情報を取ってきたり、
テーブルに追加で保存したり、修正ができたりします。
6.イメージしやすくエクセルで例えてみる。命令文のイメージ。
ではここで、先ほどのショッピングサイトの「購入履歴」の入った箱(テーブル)をイメージします。
箱の中には、購入番号(ID)、購入した人の会員番号、商品名、価格、個数、登録日時という、更に専用の列で仕切られていることをイメージしてください。
これらの枠をカラムと言います。
これらをエクセルで例えると下記のような形です。
「購入履歴」の箱(テーブル):シート
「いつ」「誰が」「何を」「金額」など細かい情報:列
ここで会員番号が2番の人の情報をすべて取ってくる場合、
「購入履歴の箱から、会員番号が8番の購入情報をすべて選ぶ」という命令文を投げます。
下記の黄色の部分が該当する箇所です。(判りやすく色を付けています)
これをデータベースの命令文(SQL)で書くと、下記のようになります。
SQLの例
SELECT * FROM 購入履歴 WHERE 会員番号 = 2;
なにやら記号も入っていますが、殆ど簡単な英語ですよね?
中学生程度の英語が解れば、そんなに難しくないのではと思います。
実際には、箱の名前「購入履歴」は「history」とか、
会員番号は「user_id」とかいう名前を付けますが、解り難くなるので割愛します。
*(アスタリスク)は、「全て」という意味で、テーブルの中にある詳細の何を取ってくるか(カラム)を指定することで、
金額だけとか、購入者のIDだけとか、部分的に取ってくることも可能です。
ちなみに、このSQL文をデータベースに送ると、下記の様な結果が帰ってきます。
(わかりやすく説明するために、エクセルのスクリーンショットを載せています)
まとめ
- データベースは、整理されたデータの集まり
- データベースを操作するには、DBMSというシステムが必要。これを単にデータベースと言ったりする。
- データベースはSQLを操作してデータを出し入れする。
- データベースで主要なリレーショナルデータベースは、エクセルをイメージすると解りやすい。