小窓
小窓集(データベース)

作成日:2024/1/11

アルファベット順で記載する。

database

database(データベース)

データベースとは、決まった形式で整理(構造化)された情報や、データの集まりのことをいう。 データベースには、情報の「蓄積」「抽出」「加工」といった役割がある。

データベースは専門のエンジニアしか操作できないというというわけではなく、 カテゴリごとに分類された文書や書類、 取引先や顧客に関する住所録などはデータベースの要素を持っている。 たとえば、商品を管理するための商品台帳はデータベースのひとつである。

DBMS

DBMS(DataBase Management System)データベース管理システム

DBMSとは、 データベースを運用し、 管理するためのシステムおよびそのソフトウェアのこと。 データの作成や書き換え、消去を行う。 また、条件を指定したデータの抽出も行う。

管理者や利用者がこれらの操作を行うこと以外にも、 外部のソフトウェアからの要求に応えてデータベースの操作を行うこともある。

RDB

リレーショナルデータベース(relational database)/ 関係データベース  略:RDB

リレーショナルデータベースとは、 データベースの構造の一つで、 一件のデータを複数の属性の値の組として表現し、 組を列挙することでデータを格納していく方式。 属性を列、組を行とする表(テーブル)の形で示されることが多い。
最も普及している方式で、 単にデータベースといった場合はリレーショナルデータベースであることが多い。
また、 リレーショナルデータベースはRDBMS(Relational Database Management System:リレーショナルデータベース管理システム)と呼ばれる専用のシステムによって運用されることが多い。

リレーショナルデータモデル(関係データモデル)と呼ばれる数学的なモデルに基づいてデータを秩序立てて格納したデータ集合である。 一件の登録単位は複数の属性(attribute)の組(tuple)で、 同じ属性を持つ組を何件も集めたデータの集合体をリレーション(関係)という。

これは実際には縦横に項目が並んだ表(テーブル)の形で整理される。 リレーションが表に相当し、 属性を縦方向に並んだ列(column)、 組を横方向に並んだ行(row)として表す。 システムによっては行を「レコード」(record)、 列を「フィールド」(field)と呼ぶこともある。

実際のデータベースは「顧客マスタ」「製品マスタ」「受注明細」のように複数の表の集合として管理されることが多い。 「受注明細の顧客IDは顧客マスタを参照する」といったように複数の表にまたがって同じ属性を配置し、 対応付けて管理することができ、 複雑なデータや大規模なデータを柔軟に取り扱うことができる。

RDBMS

RDBMS (Relational DataBase Management System)/ リレーショナルデータベース管理システム

RDBMSとは、 リレーショナルデータベースを管理するためのシステム。 外部からの要求を受け付けて、 データベースの作成、 データの読み込みや書き込み、 トランザクション処理など様々な操作を行う。

RDBMSは、 コンピュータのストレージ装置内に専用の領域を設け、 指定された構造に基づくテーブルの作成や削除、 修正、 レコードの追加、 検索、 抽出、 上書き、 削除などを行う。

データベース管理者などの利用者が直接操作してこれらの操作を行うこともできるが、 外部のソフトウェアから接続を受け付け、 指示を受けてこれらの操作を行うことが多い。 RDBMSへの照会や操作の指示には「SQL」(Structured Query Language)と呼ばれる専用の言語が標準として用いられることが多い。

管理者が記録するデータについて課した制約条件に基づいて不整合なデータの記録を拒否してデータベースの整合性を保ったり、 権限のない利用者による不正な読み出しや改竄などからデータを保護する仕組みも持っている。

また、関連する複数の処理を一体化して矛盾なく実行する「トランザクション処理」を行ったり、 システム障害に備えてデータベースのバックアップ(複製)を行い、 データの喪失・破損時に過去の特定の時点の状態に復旧(リストア)するといった機能を備えた製品も多い。

SQL

SQL(Structured Query Language) エスキューエル

SQLとは、 リレーショナルデータベース(RDB:Relational Database)の管理や操作を行うための問い合わせ言語の一つ。業界標準として広く普及しており、様々なデータベース管理システム(DBMS:Databese Management System)で利用できる。

DBMSへ利用者や外部のソフトウェアから命令を発行するために用いる言語で、 データベースへのテーブルの追加や設定変更、削除、 テーブル間の関係の定義や削除、テーブルへのデータの追加、 更新、削除、データベースやシステムの設定変更などを行うための命令語と構文、 文法などを定めている。

データを操作する命令文としては、 テーブルや制約条件などの定義を行うCREATE文、削除を行うDROP文、 設定変更を行うALTER文、 テーブルにレコードを挿入するINSERT INTO文、 削除するDELETE文、更新(上書き)するUPDATE文、 条件を元に抽出するSELECT文などがある。

データベースを管理する命令文としては、 利用者に権限を付与するGRANT文、 剥奪するREVOKE文、 トランザクション処理を開始するBEGIN文、 完了するCOMMIT文、取り消すROLLBACK文などがある。 一部の命令文では文の一部に別の文(サブクエリ/副問い合わせ)を含めることができ、 複雑な処理を記述することができる。

これらの命令のうち、
CREATE文などデータ構造や関係の定義に関するものを「データ定義言語」(DDL:Data Definition Language)、 SELECT文などデータの操作に関するものを「データ操作言語」(DML:Data Manipulation Language)、 GRANT文などシステムの管理や制御に関するものを「データ制御言語」(DCL:Data Control Language)にそれぞれ分類することもある。

SQLite

SQLite(エスキューライト) パブリックドメインの RDBMS。

データベース言語ではなく API としてアプリケーションに組み込んで利用するC言語のライブラリである。
利用者は、軽量な RDBMS として利用する。