はじめに
この記事は、インターネット上の百科事典や技術情報サイト、SQLの基礎を学ぶイベントを基に、データベースのデータ型と管理システムについて、初心者目線で情報収集した内容をまとめたものです。
技術的に誤っている点がございましたら、ご指摘いただけますと幸いです。
データベースとは何か
データベースとは、検索や集積が簡単にできるように整理された、情報の集まりのことを指します。
例として、住所録や検索エンジンがあげられますが、企業で例えるなら企業の情報を掲載したデータが該当します。
では、データベースモデルは何に例えられるのでしょうか?それは、企業の理念や方針です。
データベースモデルは、データベースに格納するデータをどのように配置するか規定している構造だからです。
データベースでデータを保存する際の形式
階層型
出典: <[そもそもデータベースとは?基礎から分かるデータベース入門](https://proengineer.internous.co.jp/content/columnfeature/6411)>
データとデータとの関係を「木構造」で表現して、階層構造を作り、データを管理するモデルです。
階層型データモデルでは、データは常に「1対多」の親子関係でなくてはいけません。
(※)木構造: データ構造の一つで、階層が深くなるほど枝分かれしていく構造のこと。
ネットワーク型
出典: <[そもそもデータベースとは?基礎から分かるデータベース入門](https://proengineer.internous.co.jp/content/columnfeature/6411)>
階層構造を作る点では階層モデルと同じですが、それぞれのデータが網目のように繋がり合い、「多対多」の親子関係を持つモデルです。
リレーショナル型
出典: <[そもそもデータベースとは?基礎から分かるデータベース入門](https://proengineer.internous.co.jp/content/columnfeature/6411)>
行と列で構成される、二次元の表形式でデータを表現するモデルです。
階層型とネットワーク型の課題、リレーショナル型の功績
階層型やネットワーク型のモデルは、データ構造に強く依存します。そのためデータ構造を理解できる、専任のエンジニアによる作業が必要でした。
それに対し、リレーショナル型モデルは、データ構造に依存しないように、操作するデータとそれの扱い方を分けて、柔軟かつ容易なデータの取り出しを可能にさせました。
データベース管理システムとは何か
データベースを管理するためのソフトウェアです。以下、二つに大きく分けた管理システムの種類です。
データベース管理システム(英: Database management system / DBMS)
階層型モデル、ネットワーク型モデル、カード型データモデルなどが幅広く利用されています。
リレーショナルデータベース管理システム(英: Relational database / RDBMS)
近年では、上記のDBMSより主流である、リレーショナル型モデルが利用されています。
よく耳にするDBMS
代表的なソフトウェアをご紹介致します。
各DBMSの特徴は、PostgreSQLではじめるDB入門から引用させていただきました。
商用ソフトウェア
Oracle Database
最大のシェアを誇るDBMS。
技術者も多く書籍やネットなど情報量が圧倒的に豊富。
Microsoft SQL Server
Windowsプラットフォームに特化したMicrosoftのDBMS。
Oralceに次ぐシェアを誇り、情報量も豊富。
オープンソースソフトウェア
MySQL
OSS DBMSとしては最大シェアを誇る。
とにかく軽いのが特徴。
PostgreSQL
オブジェクト関係データベース管理システム(ORDBMS)。
MySQLとよく比較され、市場シェアでは圧倒されているが、近年、PostgreSQLが選ばれるケースが増えている。
備考
DBMSは上記の他にも、OODBMSやXMLDBMS、NoSQLなどが存在しています。
NewSQLという新しい形のSQLデータベースもあるようで、ますますDBから目が離せなくなりそうです。
ここまで拝読していただき、ありがとうございました。
参考文献
- フリー百科事典『ウィキペディア(Wikipedia)』
- SQL ServerやAzure SQL Databaseについての基礎を学ぶイベント