Skip to article frontmatterSkip to article content

データベースとは

法政大学

Without data, you’re just another person with an opinion.

Edwards Deming

学習目標

用語

略語English日本語
DBMSDatabase Management Systemデータベース管理システム
RDBMSRelational Database Management Systemリレーショナルデータベース管理システム
SQLStructured Query Language-
NoSQLNot Only SQL-
DDLData Definition Languageデータ定義言語
DMLData Manipulation Languageデータ操作言語
DCLData Control Languageデータ制御言語

データと情報

The goal is to turn data into information, and information into insight.

Carly Fiorina

データ(Data) はコンピューターの処理の対象となる事実.状態・条件などを表す数値・文字・記号.

情報(Information) はある特定の目的について,適切な判断を下したり,行動の意思決定をするために役立つ資料や知識.

データと情報の違い

データベースシステム

データベース(Database) はデータの組織的な集合である.

データベース管理システム(DBMS) はデータベースを管理し,データに対する操作を提供するソフトウェア.

データベースシステム(DBS) はデータベース,DBMS,アプリケーションプログラムの総称.

データベースシステム

データモデル

データモデル(data model) はコンピューターで,データベースシステムのデータを構造化するパターンである.

代表的なモデル

リレーショナルモデル

リレーショナルモデル(relational model) はエドガー・F・コッドが1970年に数学の集合論に基づいて提案したデータモデルで,あらゆるデータがテーブルとして表現される.

リレーショナルモデルの特徴

以上の特徴から,リレーショナルモデルはビジネスデータ処理に広く利用されている.

データベース管理システム

データベース管理システム(DBMS)はデータベースを管理し,データに対する操作を提供するソフトウェア.

リレーショナルデータベース管理システム(RDBMS)は,リレーショナルデータベースを管理するDBMSの一種.

DBMSの主な機能

SQLとNoSQL

SQL(Structured Query Language) はRDBMSにおいてデータの操作を行うためのドメイン固有言語.NoSQL(Not Only SQL) はRDBMS以外のデータベースを指す用語.非リレーショナルデータベース.

主要なDBMS

名称種類特徴
SQLiteRDBMS軽量なRDBMS
MySQLRDBMSオープンソースで広く利用されているRDBMS
PostgreSQLRDBMSオープンソースのRDBMS.拡張性が高い.
SQL ServerRDBMSマイクロソフト社が開発した商用RDBMS
MongoDBNoSQL非リレーショナルDBMS.JSON形式でデータを格納
CassandraNoSQL分散型DBMS.大規模なデータを扱う.

演習問題

練習課題

以下の問いに答えなさい.

  1. データと情報の違いを説明しなさい.
  2. RDBMSを言及した上で,SQLとNoSQLの違いを説明しなさい.
  3. データベースシステムの構成要素を説明しなさい.
  4. タップル(1,2)(1, 2)(2,1)(2, 1)は等しいであるか?その理由を説明しなさい.
  5. {1,2,2}\{1, 2, 2\}は集合であるか?その理由を説明しなさい.
  6. Ω={1,2,3}\Omega = \{1, 2, 3\}, A={1,2}A = \{1, 2\}の時,AAの補集合AcA^cを求めなさい.
  7. A={1,2,3}A = \{1, 2, 3\}, B={2,3,4}B = \{2, 3, 4\}の時,AABBの差集合ABA - Bを求めなさい.
  8. A={1,2,3}A = \{1, 2, 3\}の時,AAの冪乗集合P(A)\mathcal{P}(A)を求めなさい.
  9. A={,,,}A = \{\text{春}, \text{夏}, \text{秋}, \text{冬}\}, B={花見,スキー}B = \{\text{花見}, \text{スキー}\}の時,AABBの直積A×BA \times Bを求めなさい.