「大人の教養・知識・気付き」を伸ばすブログ

一流の大人(ビジネスマン、政治家、リーダー…)として知っておきたい、教養・社会動向を意外なところから取り上げ学ぶことで“気付く力”を伸ばすブログです。データ分析・語学に力点を置いています。 →現在、コンサルタントの雛になるべく、少しずつ勉強中です(※2024年1月21日改訂)。

MENU

データベースとSQL(01/20)

はじめに

 データ分析を行う場合、データの管理運用、蓄積も重要な論点となる。そのためにはSQLやデータベースの知識が求められる。そこでまずは

を基にSQLの勉強をしていく。

1. データベースとは何か

 情報を大量に保存しコンピュータを使ってそれらに効率よくアクセスできるように加工したデータの集まりをデータベース(DB)という。DBを管理するコンピュータシステムをデータベースマネジメントシステム(DBMS)という。

  • 大量の情報を保存しコンピュータから効率よくアクセスできるように加工したデータの集合体を「データベース」という。
  • データベースを管理するコンピュータシステムのことを「データベース管理システム(DBMS)」という。
  • DBMSを使うことで大量のデータを多人数でも安全かつ簡単に扱える。
  • リレーショナルデータベースは「リレーショナルデータベース管理システム(RDBMS)」で管理する。

1.1 DBMSが必要な理由

 テキストファイルや表計算ソフトでデータ管理をした場合、デメリットがある。

   (1) 多人数でデータを共有するのに向かない
      ネットワークにあるコンピュータ上のファイルは共有できるものの、誰かが開いていると他の人間が編集できない。
   (2) 大量のデータを扱える形式になっていない
      数十万件、数百万件といった大量のデータから瞬時に欲しいデータを取り出す形式になっていない。
   (3) 読み書きを自動化するのにプログラミング技術が必要
      データ構造を理解し一定以上のプログラミング技術が無いとデータの読み出しや書き換えを自動化できない。
   (4) 万が一の事故に対応できない
      ファイル操作を誤って削除したりハードウェアが故障して読みだせなくなったりしてデータを失う危険がある。また部外者でも容易に読込・持出が可能。

DBMSはこれらに対応している。

1.2 DBMSの種類

 現在最も広く普及しているのは「リレーショナルデータベース(RDB)」で、代表的なのは①Oracle Database、②SQL Server、③DB2、④PostgreSQL、⑤MySQLである。

   (1) 階層型データベース
      データを階層構造で表現するDB。
   (2) リレーショナルデータベース(RDB)
      行と列からなる得次元票の形式でデータを管理するDB。
   (3) オブジェクト指向データベース(OODB)
      データとそれを操作する処理をひとまとめにした「オブジェクト」を管理する形式のDB。
   (4) XMLデータベース(XMLDB)
      XML形式のデータを大量かつ高速に扱うためのDB。
   (5) キー・バリュー型データストア(KVS)
      検索に用いるキー(Key)と値(Value)の組み合わせの実の形態でデータを保存するDB。

1.3 データベースの構成

 RDBMSを利用する際のシステム構成はクライアント/サーバー型が最も一般的である。

  • サーバ:他のプログラムからの要求を受け取り、それに応じて処理を行うプログラムもしくは当該プログラムがインストールされたコンピュータ
  • クライアント:サーバに要求を出すプログラムまたはそのプログラムがインストールされたコンピュータ


クライアント/サーバー型のシステム構成模式図

 RDBMSは1台のコンピュータ内でRDBMSとそのクライアントを動かすことも、RDBMSとクライアントを別々のコンピュータで動かすこともできる。またネットワークで両者をつなぐのみならず、複数のクライアントから利用することもできる。

1.4 テーブルの構造

 RDBMSは行と列からなる2次元票の形式でデータを管理する。これをテーブル(表)と呼ぶ。
 テーブルはRDBMSが管理するデータベースの中に保存される。1つのデータベース内には複数のテーブルを保存できる。SQL文の内容に従ってクライアントに返信されるデータも必ずテーブルと同じように2次元表の形式で返される


テーブルの例

 
商品ID
商品名
商品分類
販売単価
仕入単価
登録日
 
001
Tシャツ
衣服
1000
500
2009-09-20
 
002
穴あけパンチ
事務用品
500
320
2009-09-11
 
003
衣服
4000
2800
 
004
包丁
キッチン用品
3000
2800
2009-09-20
 
005
圧力鍋
キッチン用品
6800
5000

 テーブルの列はカラム(column)とも呼び、テーブルの行はレコード(record)とも呼び、1件のデータに相当する。RDBではデータを必ず行単位で読み書きする。行と列が交わる箇所を同書ではセルと呼ぶ。セルには1つのデータしか入れることができない

プライバシーポリシー お問い合わせ