データベースとSQLについて
はじめに
データベースとは 『膨大なデータをひとまとめにしたもの』 で、
更にそれらのデータを 『何らかのルールや目的に基づいて管理(整理)』 したデータの集まりです。
例えば、机の上にたくさんの本や文房具が散らばっていた場合、
その中から ぺんてる の 青色 の ボールペン を探しだすのは時間がかかります。
これをデータベースで メーカー
色
ペンの種類
というルールで整理されていれば、
すぐに必要な ペン(情報) を探し出すことができます。
このデータベースで管理するシステムをDBMS(DataBase Management System):データベース管理システム
といいます。
この章で、データベースの要点を捉えて行きましょう!
Step1 : データベースの種類
階層型
名前の通りデータが階層のように構成されています。 ツリー構造 なんて呼んでたりします。
ある特定のデータを検索する際には常にただ一つのルートのみしか存在しないため、速度が非常に速いという利点があります。
ただ図を見るとわかるように、 社員A
が重複登録がになってしまってます。
速度は非常に速いものの、データの追加や削除を行うとルートの再登録が必要になるなど、
対応できる状況や情報の編集に対して柔軟性が低いというデメリットがあります。
ネットワーク型
網の目のように要素と要素が互いにリンクする構造から、「網状のもの」を表すネットワークと名づけられました。
社員A
の重複登録を避けることができるようになりました。
階層型であれば、検索のスタート地点は最上階の限定されていましたが、
ネットワーク型では、柔軟に検索のスタート地点を設定することも可能です。
リレーショナル(関係)型
現在最も広く使われているのがリレーショナル型
のデータベースです。
リレーショナルデータベースではデータを表形式で表します。
表はExcelのように 行(row) と 列(column) で表されます。
この表のことを テーブル(table) とよびます。
また列にはそれぞれユーザーにわかりやすいように列名をつけます。
また、リレーショナルデータベースでは、
テーブルどうしが連携 (テーブルどうしがつながっているような状態)して動く仕組みを持っています。
このようなシステムをリレーショナルデータベース管理システム(RDBMS)
と呼び、
RDBMSが管理するシステムのまとまりをリレーショナルデータベース(RDB)
といいます。
複数のテーブルを関係付けることによって、多彩なデータ要求に対応することが可能です。
代表的なリレーショナルデータベース(RDM)
- PostgreSQL
- MySQL
- SQLite
- Microsoft SQL server
- Oracle
- db2
今回のカリキュラムでは PostgreSQL を利用します。
Step2 : SQLについて
DBのデータを操作する際に使われる言語が SQL(Structured Query Language:構造化問い合わせ言語) です。
SQLは クエリ と呼ばれる命令文で記述します。
SQLはデータベース言語としてANSIやJIS等の各機関で世界的に統一されているため、
基本的にどの RDBMSでも使用できます 。
補足
- ANSI
アメリカ工業規格の標準化を行う機関。
世界的に影響力のある標準化機関の一つで、ANSIで標準化された規格がそのまま世界的に利用されたりします。 - JIS
日本の工業規格の標準化を行う機関。
工業標準化法に基づき、主務大臣が制定する工業標準であり、日本の国家標準の一つである。
だからSQLは、いろんなデータベースで使えるようになっているわけですね。
SQLの代表的なデータ操作命令文
命令文 | 内容 |
---|---|
SELECT | 抽出 |
INSERT | 挿入 |
UPDATE | 更新 |
DELETE | 削除 |
各データ操作命令文の詳しい説明は、この後のカリキュラムで学んでいきましょう!