データベース
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

この項目では、コンピューティング的な概念について説明しています。データベースの実例については「データベースの一覧(英語版)」を、データベースの概要およびトピックガイドについては「データベースの概要(英語版)」をご覧ください。

ウィキペディアにおけるデータベースの利用については、「Wikipedia:データベースダウンロード」をご覧ください。
SQL言語のSELECT文とその実行結果を示す。

コンピューティングにおいて、データベース(: database)は、電子的に保存され、アクセスできる組織化されたデータの集合である。実メモリに保存されるもの、CSVなどのファイルに保管される物、OSのファイルシステムなどから、後述のデータベース管理システムを使った大規模なものまである。

小規模なデータベースはOSのファイルシステム上にファイルとして保存されるが、大規模なデータベースはOSに依存しない低レベルなフォーマットで外部記憶装置に保存される。またコンピュータ・クラスターまたはクラウドストレージで保存される。データベース設計に関わる分野は多岐にわたり、データモデリング、効率的なデータ表現と保存、クエリ言語、機密データのセキュリティ(英語版)やプライバシー同時アクセスフォールトトレランスのサポートを含む分散コンピューティングの課題など、形式技術と実用的な考慮事項に及ぶ。

データベース管理システム(DBMS)は、エンドユーザー、アプリケーション、およびデータベース自体と対話し、データを取得し分析するためのソフトウェアである。さらに、DBMSソフトウェアには、データベースを管理するために提供される関連機能も含まれている。データベース、DBMS、関連アプリケーションの全体を含めてデータベースシステムと呼ぶ。しばしば「データベース」という用語が、DBMS、データベースシステム、またはデータベースに関連するアプリケーションのいずれかを指す場合に漠然と使われている。

コンピュータ科学者は、データベース管理システムを、サポートするデータベースモデルに基づいて分類している。リレーショナルデータベースは、1980年代の主流であった。これらは、データを一連のとしてモデル化し、大多数はデータの書き込みとクエリ(問い合わせ)にSQLを使用する。2000年代には、異なるクエリ言語を使用する NoSQL と総称される非リレーショナルデータベースが普及した。
用語と概要

形式的な「データベース」は、関連するデータの集合とその編成方法を指す。通常、このデータへのアクセスは、「データベース管理システム」(DBMS)によって提供される。DBMSは、ユーザーが1つまたは複数のデータベースと対話し、データベースに含まれるすべてのデータへのアクセスを提供するコンピュータソフトウェアの統合セットで構成されている(ただし、特定のデータへのアクセスを制限する制約が存在することもある)。DBMSは、大量の情報の入力、保存、および検索を可能にするさまざまな機能を提供し、その情報がどのように編成されているかを管理する方法を提供する。

このように、両者は密接な関係にあるため、「データベース」という用語は、データの集まりとしてのデータベースと、それを操作するために用いるDBMSの両方を指す言葉として気軽に使われることが多い。

情報技術の専門家以外の世界では、「データベース」という用語は、関連するデータの集合体(例: スプレッドシートカードインデックスなど)を指すことが多く、サイズや使用要件の点からデータベース管理システムを用いることが一般的である[1]

既存のDBMSは、データベースとそのデータを管理するためのさまざまなな機能を提供しており、それらは次の4つの主要な機能群に分類される。

データ定義(Data definition)- データの編成を規定する定義を作成、変更、および削除する。

更新(Update)- 実データを挿入、変更、および削除する[2]

検索(Retrieval)- 情報を直接利用できる形式で、または他のアプリケーションでさらに処理できる形式で提供する。検索したデータは、基本的にデータベースに保存されているのと同じ形式で利用できる他、データベースの既存のデータを変更または組み合わせて得た新たな形式でも利用することができる[3]

管理(Administration)- ユーザーの登録と監視、データセキュリティの実施、性能の監視、データ完全性の維持、並行性制御の対応、予期しないシステム障害などの事象によって破損した情報の回復など[4]

データベースとそのDBMSは共に、特定のデータベースモデルの原則に準拠している[5]。 「データベースシステム」とは、データベースモデル、データベース管理システム、データベースを総称したものである[6]

物理的には、データベース・サーバーは、実際のデータベースを格納し、DBMSと関連ソフトウェアのみを実行する専用コンピュータである。データベース・サーバーは通常、大容量のメモリと、安定したストレージ(例: RAIDディスクアレイ)を備えたマルチプロセッサ・コンピュータである。大容量のトランザクション処理環境では、複数台のサーバーと高速チャネルを介して接続されたハードウェア・データベース・アクセラレータも使用される。ほとんどのデータベース・アプリケーション(英語版)の中心にDBMSがある。DBMSは、ネットワークのサポートを組み込んだカスタムのマルチタスクカーネルを中心に構築されることもあるが、最近のDBMSは通常、これらの機能を提供するために、標準的なオペレーティングシステムに依存している[要出典]。

DBMSは重要な市場(英語版)を形成しているため、コンピューターやストレージのベンダーは、自社の開発計画にDBMSの要件を考慮に入れていることが多い[7]

データベースとDBMSは、サポートするデータベースモデル(リレーショナルやXMLなど)、実行するコンピュータの種類(サーバークラスタから携帯電話まで)、データベースへのアクセスに使用するクエリ言語(SQLやXQueryなど)、内部エンジニアリング(性能、スケーラビリティ、障害許容力、およびセキュリティに影響する)によって分類することができる。
歴史

データベースとそれぞれのDBMSの規模、機能、性能は桁違いに大きくなっている。これらの性能向上は、プロセッサコンピュータメモリコンピュータストレージ、およびコンピュータネットワークの技術進歩により可能となった。データベースの概念は、1960年代半ばに広く普及した磁気ディスクなどの直接アクセス記憶媒体の出現によって可能となった。それ以前のシステムは、磁気テープへのデータの順次保存に依っていた。その後のデータベース技術の発展は、データモデルまたはデータ構造に基づいて、ナビゲーショナル[8]、SQL/リレーショナル、ポストリレーショナルの3つの時代に分けることができる。

初期のナビゲーショナル・データモデルは、階層型モデルネットワーク型モデルCODASYLモデル)の2つが主であった。これらは、あるレコードから別のレコードへの関係を追跡するために、ポインタ(多くの場合、物理的なディスクアドレス)を使用することが特徴であった。

1970年にエドガー・F・コッドが提唱したリレーショナルモデルは、この伝統から脱却するもので、アプリケーションがリンクをたどるのではなく、内容からデータを検索すべきであると主張するものであった。リレーショナルモデルは、元帳型の表の集まりを組み合わせたもので、それぞれの表は異なる種類のエンティティ(実体)を格納する。1980年代半ばになって、コンピューティング・ハードウェアは、リレーショナルシステム(DBMSとアプリケーション)を幅広く普及するのに十分な性能を持つようになった。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:170 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef