DBMS(データベース管理システム)はデータベースを構築するためにデータベースの運用、管理を実行するためのシステム。データをアプリケーションを経由してユーザに出力したり、データの追加、更新、削除などを効率的に行えるような管理ができます。この記事ではDBMSについて理解をするために歴史や特徴、基本的な機能などを簡単に解説していきます。
DBMS(データベース管理システム)とはデータベースを構築するためにデータベースの運用、管理を実行するためのシステムです。データベースを読み書きするプログラムはこのDBMSを利用することが一般的です。その際データベース専用言語であるSQLを活用します。
DBMSの主な機能はデータベースの「定義機能」「操作機能」「制御機能」「保全機能」などが挙げられます。DBMSには様々な種類が存在し、現在最も普及している「RDBMS(リレーショナル型)」から「NDBMS(ネットワーク型)」「ODBMS(オブジェクト指向型)」などがあります。DBMSの代表的な製品としてOracle Database、MySQL、SQL Serverが挙げられます。
データベースとは様々な情報を整理し効率よく使用するために格納するデータの集合体のことです。データベースには様々なデータを効率よく管理するための機能が用意されております。また大量のデータを高速に処理することも可能です。用途は様々で顧客管理や在庫管理などの複数のデータを取り扱うことが必要とされる業務に使用されます。主なデータベースの種類としてOracleDBやMySQLなどが挙げられます。
データベースの種類や特徴を解説している記事はこちら>>
SQLとはリレーショナルデータベースの管理・操作をするため最も普及されているデータベース言語です。主な用途としてデータベース管理システム(DBMS)へデータの検索、追加、削除、更新などの指示のために使用されます。1970年代にIBM社の開発によって誕生した『Structured English Query Language(SEQUEL)』が元になっております。そのことから広く知れ渡っている呼び名は『シーケル』です。またSQLは国際標準化機構(ISO)で規格化をされております。そのためMySQL、Oracle、PostgreSQLなど様々なデータベース管理システムにおいてもSQLにて対応することが可能です。またSQLの代表的な拡張プログラム言語としてPL/SQLやT-SQLなどが挙げられます。
SQLの歴史や特徴について解説された記事はこちら>>
DBMSの読み方は『デービーエムエス』です。正式名称は「Database Management System」であり直訳すると「データベース管理システム」となります。
DBMSは1960年代に「階層型データベース」「ネットワーク型データベース」それぞれの誕生によって大きく普及をしていきました。1970年代になると「リレーショナル型データベース(RDB)」をE.F.Codd(コッド)氏の論文にて提唱され、従来の仕組みよりも柔軟な処理を実現できるというメリットから注目を集めました。1974年にはIBM社によって「System R」でのRDB実装が行われました。
この頃からRDB製品のほとんどがSQLを用いています。1980年代後半までRDBの時代が続いていきますが、その限界について問われるようになり1990代初頭に入ると再び新しい種類のデータベースが登場してきます。特に「オブジェクト指向型データベース(OODB)」ついては大きな発展を遂げ、1990年代末ごろにはRDBと融合するケースが多く見られるようになりました。
2000年代後半になると各種データベース統合の動きが強まりました。中でもIBM社による「Infomix買収(2001年)/Netezza買収(2010年)」Oracle社による「Hyperion買収(2007年、OODB)/サン・マイクロシステムズ買収(2010年)」SAP社による「Sybase買収(2010年)」が代表的です。簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
1960年代 | 「階層型データベース」「ネットワーク型データベース」誕生 |
1970年代 | 「リレーショナル型データベース」誕生 |
1974年 | 「System R」でのRDB実装 |
1990年代末 | 「RDB」×「OODB」 |
1998年 | 『SQLServer7.0』リリース ※アーキテクチャを一新(これまでと別物) |
2001年 | IBM社「Infomix買収」 |
2007年 | Oracle社「Hyperion買収」 |
2010年 | Oracle社「サン・マイクロシステムズ買収」 SAP社「Sybase買収(2010年)」 |
DBMSの種類を見ていきましょう。
リレーショナル型データベース(RDB)とは列(カラム)と行(レコード)で配列されたデータをデータベース言語を用いてデータの検索、並べ替え、結合などを実行します。この仕組みを採用したシステムを『リレーショナル型データベース管理システム(RDBMS)』と呼びます。代表的なリレーショナル型データベース管理システムとして『OracleDB』『MySQL』『PostgreSQL』などが挙げられます。
ツリー型データベースとはデータを階層型のモデルで表したデータベースです。このモデルではデータを上から下へと管理するためデータの親子関係が発生します。一つの親データに複数の子データがツリー構造的に管理される古いタイプのデータベースモデルです。
ネットワーク型データベースとはデータ間が網の目の形で表現されるデータベースです。特徴として複数の分類の間の共通部分をまとめることができます。自由度が高い一方で設計が複雑で利便性が低いというデメリットがあります。ツリー型データベース同様に古いタイプのデータベースモデルです。
オブジェクト指向型データベースとはオブジェクト指向プログラミングで扱うオブジェクト要素を取り入れたデータベースです。このオブジェクト指向型データベースはデータとデータ処理方法を一つのオブジェクトとしてデータベースに格納をしております。リレーショナル型データベースと比較して複雑なデータ構造を高速に処理することが可能です。
XMLデータベースとはXMLを扱うための機能を持つデータベースです。XMLデータベースは他のDBMSに比べて柔軟で拡張性が高いというメリットがあります。一方でパフォーマンスには課題があるとされてきました。こうしたパフォーマンスの面は徐々に改善されつつあり、今後も発展が期待されているデータベースモデルです。
DBMSの基本的な機能を見ていきましょう。
データベース言語とはDBMSに対して様々な指示を行うもので「データ操作言語(DML
)」「データ定義言語(DDL)」「データ制御言語(DCL)」などで構成されております。
年代 | 内容 |
データ操作言語(DML) | データベースに記録されたデータの参照や操作を行う |
データ定義言語(DDL) | データを格納するための構造を定義するための言語 |
データ制御言語(DCL) | データベースへのアクセス権の制御やデータベースの状態管理などを行なう |
データ完全性とはデータの正確性や一貫性など守るために不正なデータの登録や更新を防ぐといったことを指します。これを実現するためにRDBMSでは「定義域」「データ型」「一意性(ユニーク)制約」「参照整合性制約」「一般制約」「トリガ」などが完備されております。
トランザクション処理とは複数のユーザー間でデータを共有するための機能提供です。
セキュリティとはその名の通り、データベースのセキュリティを守ることです。DBMSでは「認証」「アクセス」「バックアップ」「暗号化」など様々な観点でセキュリティを守るための機能を完備しております。
最適化とは高水準なデータベース言語で記述されたデータ処理の要求を、低水準な手続きに最適化して実行することを意味します。
代表的なDBMSを見ていきましょう。
Oracle DatabaseとはOracle社が提供する世界初の商用データベースです。メインフレームから各種UNIX系、Windowsまで、幅広いプラットフォームに対応しており世界最大規模のデータベースマネージメントシステム(DBMS)として親しまれております。多数あるデータベースと比べても大量にデータを扱うことを得意としております。そのため大規模なシステムのデータベースとして活用することに向いております。OracleDBを使用するために生まれたプログラム言語としてPL/SQLというデータベース言語があります。
MySQLとは世界トップシェアを誇るオープンソースのデータベースです。オープンソースであるため無料で利用できるという特徴があり、多くの企業がLAMPと呼ばれるLinux、Apache、MySQL、PHPで組み合わせた開発環境を採用しております。特徴としてストレージエンジンという高性能な独自のエンジンが採用されており処理能力が早いだけでなく、拡張性と柔軟性が高いことも人気の理由です。
SQLServerとはMicrosoft社が提供するデータベース管理システム(DBMS)です。正式名称は『Microsoft SQL Server』ですが、「SQLServer」の略称形で親しまれております。SQLServerはMicrosoft社が開発しているだけあり、WindowsOSで動作することを得意としております。データベース市場における立ち位置はOracle、MySQLに次ぐ第3位を誇ります。大きな強みとしてGUIが利用できることから直感的にデータベースを操作することができます。
そのため企業でも利用されることの多いデータベース管理システム(DBMS)として人気となっております。またSQLServerはMicrosoft社がSQLを独自拡張した『T-SQL(Transact-SQL)』を使用することができます。T-SQLはSQLを強化するために制御フロー言語、局所変数、グローバル変数などの機能が追加されており高度なデータベース管理を行えるようになっております。
Db2とはIBM社が提供するリレーショナル型データベース管理システム(RDBMS)です。データベース言語のSQLを初めて採用したデータベース管理システムと言われております。IBM社が手掛けるAIXをはじめ、Unix、Linux、Windowsなど幅広いプラットフォームに対応しております。
2015年頃まではデータベースランキングにおいてTop5に入る位置におりましたが、『MongoDB』に抜かれ、『Elasticsearch』『Redis』といった人気株にスコア値が抜かれそうだと危ぶまれております。とはいえ長い歴史を持つDb2は特に中小規模のデータベースにおいての立ち位置は引き続き高い人気があります。
DBMSを理解するために歴史や特徴、基本的なコマンドなどを簡単に解説させて頂きました。DBMSを一言で表すと『データベースを構築するためにデータベースの運用、管理を実行するためのシステム』です。DBMSの基本的な機能として「トランザクション処理」「セキュリティ」「最適化」などが挙げられます。DBMSについてこの記事で記載されている最低限の内容は理解をしておくようにしましょう。