Without data, you’re just another person with an opinion.
Edwards Deming
学習目標¶
- データと情報の違いを理解する.
- データベースシステムの構成を理解する.
- データモデルの概念を理解する.
- リレーショナルデータベースの特徴を理解する.
- DBMSの主な機能を理解する.
- SQL, NoSQL, DBMS, RDBMSなどの略語を使える.
用語¶
| 略語 | English | 日本語 |
|---|---|---|
| DBMS | Database Management System | データベース管理システム |
| RDBMS | Relational Database Management System | リレーショナルデータベース管理システム |
| SQL | Structured Query Language | - |
| NoSQL | Not Only SQL | - |
| DDL | Data Definition Language | データ定義言語 |
| DML | Data Manipulation Language | データ操作言語 |
| DCL | Data Control Language | データ制御言語 |
データと情報¶
The goal is to turn data into information, and information into insight.
Carly Fiorina
データ(Data) はコンピューターの処理の対象となる事実.状態・条件などを表す数値・文字・記号.
情報(Information) はある特定の目的について,適切な判断を下したり,行動の意思決定をするために役立つ資料や知識.
データと情報の違い¶
- データは数値・文字・記号などで表現したもの.
- 情報はデータが処理され,意味を持たせたもの.
- 情報は意思決定に役立つ.
データベースシステム¶
データベース(Database) はデータの組織的な集合である.
データベース管理システム(DBMS) はデータベースを管理し,データに対する操作を提供するソフトウェア.
データベースシステム(DBS) はデータベース,DBMS,アプリケーションプログラムの総称.

データモデル¶
データモデル(data model) はコンピューターで,データベースシステムのデータを構造化するパターンである.
代表的なモデル¶
- 階層データモデル
- ネットワークデータモデル
- リレーショナルデータモデル
- オブジェクト指向データモデル
- XMLデータモデル
リレーショナルモデル¶
リレーショナルモデル(relational model) はエドガー・F・コッドが1970年に数学の集合論に基づいて提案したデータモデルで,あらゆるデータがテーブルとして表現される.
リレーショナルモデルの特徴¶
- データモデルが理解しやすい.
- 高いデータ独立性の実現.
- データ操作の非手続き性.
以上の特徴から,リレーショナルモデルはビジネスデータ処理に広く利用されている.
データベース管理システム¶
データベース管理システム(DBMS)はデータベースを管理し,データに対する操作を提供するソフトウェア.
リレーショナルデータベース管理システム(RDBMS)は,リレーショナルデータベースを管理するDBMSの一種.
DBMSの主な機能¶
- データベース定義機能:スキーマ定義
- データベース操作機能:データの追加,削除,更新,検索
- データベース制御機能:障害回復,同時実行制御
SQLとNoSQL¶
SQL(Structured Query Language) はRDBMSにおいてデータの操作を行うためのドメイン固有言語.NoSQL(Not Only SQL) はRDBMS以外のデータベースを指す用語.非リレーショナルデータベース.
主要なDBMS¶
| 名称 | 種類 | 特徴 |
|---|---|---|
| SQLite | RDBMS | 軽量なRDBMS |
| MySQL | RDBMS | オープンソースで広く利用されているRDBMS |
| PostgreSQL | RDBMS | オープンソースのRDBMS.拡張性が高い. |
| SQL Server | RDBMS | マイクロソフト社が開発した商用RDBMS |
| MongoDB | NoSQL | 非リレーショナルDBMS.JSON形式でデータを格納 |
| Cassandra | NoSQL | 分散型DBMS.大規模なデータを扱う. |
演習問題¶
練習課題¶
以下の問いに答えなさい.
- データと情報の違いを説明しなさい.
- RDBMSを言及した上で,SQLとNoSQLの違いを説明しなさい.
- データベースシステムの構成要素を説明しなさい.
- タップル はは等しいであるか?その理由を説明しなさい.
- は集合であるか?その理由を説明しなさい.
- , の時,の補集合を求めなさい.
- , の時,との差集合を求めなさい.
- の時,の冪乗集合を求めなさい.
- , の時,との直積を求めなさい.