10-データベース

データベース(Part.1)| データベースの概要 | 現役エンジニア&プログラミングスクール講師

目標

「データ」と「情報」について概要を理解する
「データベース(DB)」のイメージと概要を理解する
「データベースマネジメントシステム(DBMS)」の概要を理解する
「データベースシステム(DBS)」の概要を理解する
「データベースシステム」と「ファイルシステム」の違いを理解できる

データと情報の概要

データと情報の概要

データベースについて確認する前に、まずはデータベースに格納される「データ」とデータから得られる「情報」について確認します。

データの概要

データは「文字列」・「数値」のことで、コンピュータ上では記録ができるように符号化されたものになります。下の図で示すと表の中に入っている「ひとつの値」が「データ」となります。

情報の概要

情報は「データ」によって得られる価値のある材料です。例えば下のイラストというと、データから抽出した値によってそれに関する「情報」が得られることになります。

データベースに格納されるものは「データ」であって「情報」ではありません。

DB & DBMS & DBS のイメージと概要

DB :データベースのイメージと概要

DB:データベースのイメージ

データベースをイラストでイメージすると下のような「入れ物」になります。

DB:データベースの概要

データベースの定義は様々あります。書籍などでは「蓄積されたデータの集まりで、個々のデータに対して追加・削除・変更・検索などがしやすく整理されたもの」などと紹介されていたります。オラクルジャパンでは次のように定義されています。

データベースとは、構造化した情報またはデータの組織的な集合であり、通常はコンピューター・システムに電子的に格納されています。データベースは通常、データベース管理システム(DBMS)で制御します。データとDBMS、およびそれらに関連するアプリケーションをまとめてデータベース・システムと呼びます。多くの場合は単にデータベースと呼んでいます。

Oracle Japan

データベースは構造化したデータの組織的な集まりです。リレーショナルデータベースを例にとると整理されたいくつものデータの集まりがテーブルという形で保存され、それらがいくつもデータベースの中に存在することになります。

上のようなテーブルがいくつもデータベースに存在することになります。

データベースは単なるデータの集まりであって、これだけでは検索や更新はできません。データベースを一元管理するにはデータベースマネジメントシステムが必要になります。

DBMS:データベースマネジメントシステムのイメージ

データベースマネジメントシステムは「データベースを管理・操作するシステム(ソフトウェア)」となります。イラストでイメージすると下のキャプチャのようになります。

DBMS:データベースマネジメントシステムの概要

データベースマネジメントシステムとは、データベースを管理してユーザーやアプリケーションからの問い合わせに対してデータベースの操作を行うソフトウェアのことをいいます。DBMSにはデータベースにあるデータを管理して操作できる機能が備わっています。

リレーショナルデータベースモデルに基づいたマネジメントシステムのことを「リレーショナルデータベースマネジメントシステム(RDBMS)」と言います。RDBMSのソフトウェアとしては「Oracle、MariaDB、PostgreSQL」などがあります。」

DBMSの主要機能

  1. データベース言語の提供
  2. 効率的なデータアクセス機構
  3. 保全機能(整合性の維持)
  4. 機密保護
  5. 排他制御(同時実行の制御)
  6. 障害復旧

①「データベース言語の提供」
データベースの定義・操作・制御などを行う言語を利用できる

②「効率的なデータアクセス機構」
データの効率的な格納方法の提供・インデックス設定による検索処理の効率化・問い合わせ最適化機能の提供

③「保全機能(整合性の維持)」
データの整合性を保証するための機能

④「機密保護」
ユーザーへのアクセス権限の付与を提供し不正アクセスを防止する機能

⑤「排他制御(同時実行の制御)」
複数の処理を同時に行ったときに矛盾が起きないようにする機能

⑥「障害復旧」
システムの障害やトラブルに対してデータベースを復旧する機能

DBS:データベースシステムのイメージ

データベースシステムをイラストでイメージすると「データベース」と「データベースマネジメントシステム」をひとまとまりにしたものとなります。世間一般には、このことを「データベース」と呼ぶことが多いです。

DBS:データベースシステムの概要

データベースシステム(=一般的にはデータベースと呼ぶ)は「データベース」とそれを管理する「データベースマネジメントシステム」で構成されたシステムのことを言います。

「データベースマネジメントシステム」を持っているデータベースシステムを利用すると次のようなメリットを得られます。

  1. データの独立性
  2. 整合性の維持
  3. データの機密性
  4. 同時実行の制御
  5. データの障害復旧

「データの独立性」
データベースの変更が生じてもそれを利用するアプリケーションやシステムの内容を変更する必要がない。

「整合性の維持」
データの不整合を防ぐことができる

「データの機密性」
ユーザーからのアクセスを制御できる

「同時実行の制御」
複数ユーザーが同時にデータベースを操作してもデータに矛盾を生じさせない。

「データの障害復旧」
システムの障害やトラブルがおきても回復することができる

ユーザーからのデータベース操作イメージ

ユーザーがデータベースを利用する場合は「アプリケーション」や「ソフトウェア」などを経由して操作したり、マネジメントシステムを直接操作することが考えられます。

例:チケット予約ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

「ファイルシステム」と「データベースシステム」の違い

「ファイルシステム」と「データベースシステム」の違い

データベースシステムを利用すると多くのメリットがあることを確認しました。ファイルシステムでも沢山のデータを保存できますが、データベースシステムにあるようなメリットは備わっていません。

2つを比べた場合次のイラストのようなイメージになります。

ファイルシステムの場合、それぞれのデータベース(ファイル)はアプリケーションごとの管理となります。(相互依存の関係が生じます。)

他にも「整合性の欠如(誤ったデータの入力など)」「機密性の不足(アクセス制御がファイル単位となり、データごとに設定できないなど)」「同時実行の制御ができない(矛盾が生じる)」「障害復旧ができない」などがあげられます。

今回は以上になります。

「データベース」おすすめ書籍6選【初心者用3冊&実践用3冊】| 現役エンジニア&プログラミングスクール講師「データベース」初心者の方がデータベースを基本からしっかりと理解するためのお勧めの書籍について取り上げています。また中級者の方が更に進んだ学習ができる実践的な書籍についてお勧めできる3冊を取り上げています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

このブログではパソコン初心者の方が「躓きやすいポイント」や「身につけると便利なスキル」などを更新していきます。もし、常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】| 現役エンジニア&プログラミングスクール講師「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
RELATED POST
10-データベース

データベース(Part.6)| リレーションと整合性制約 | 現役エンジニア&プログラミングスクール講師

2023年4月5日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
10-データベース

データベース| まとめ | 現役エンジニア&プログラミングスクール講師

2023年4月3日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
10-データベース

データベース(Part.7)| リレーショナル代数 | 現役エンジニア&プログラミングスクール講師

2023年4月6日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
10-データベース

データベース(Part.5)| 正規化 | 現役エンジニア&プログラミングスクール講師

2023年4月4日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
10-データベース

データベース(Part.10)| MariaDBのインストール(Windows版)| 現役エンジニア&プログラミングスクール講師

2023年4月11日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
10-データベース

データベース(Part.8)| DBMSの仕組みと効率的なデータアクセス機構 | 現役エンジニア&プログラミングスクール講師

2023年4月7日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site