ホームやさしいIT研究室

データベースのスキーマと設計

データベースのスキーマと設計

はじめに


ITとは「情報技術」のことを指します。
IT関連のあらゆるテクノロジーは、情報つまりは”データ”を、より効果的に扱うための手段だと言えます。

それだけに、データはシステムの中心にある最も重要な存在だといっても過言ではありません。
そして、そのデータを管理し、活用するための土台となるのがデータベース(DB)です。

この記事は、データベースについて学んだことを、自分なりに整理した備忘録です。
同じように勉強している方の参考にもなれば嬉しいです。

スキーマの種類


DBにおけるスキーマとは、DBの構造や制約などを定義する枠組みのことです。
以下の3層構造になっています。

スキーマ

外部スキーマ

ユーザーから見たDBのことで、画面や入出力データなどいわゆるインターフェース領域

概念スキーマ

開発者から見たDBのことで、 質量を持たない論理的な設計領域
外部スキーマと内部スキーマの橋渡し役として、データの独立性を保証するために存在する

内部スキーマ

DBMSから見たDBのことで、 データの格納方式やアクセス方法など物理的なデータ領域

論理設計と物理設計


データベースを構築するにあたって、当たり前ですが設計が必要になります。
通常は「論理設計」→「物理設計」の順で行います。それぞれの主な設計手順は、以下の通りです。

論理設計

主に概念スキーマを設計する段階で、「どのような情報を、どのような構造で管理するか」を決める

1, エンティティ(実体)の抽出
どんなデータを扱うか決める、テーブル単位のイメージ

2, エンティティ(実体)の定義
具体的にどんな属性が必要か決める、カラム単位のイメージ

3, 正規化
冗長的な保管をさけるため、データの属性を整理

4, ER図の作成
視覚的にわかるように関係図にする

物理設計

主に内部スキーマを設計する段階で、「データをどのように格納し、効率よく処理するか」を決める

1, テーブル定義
ER図をもとに実際のテーブルに落とし込む

2, インデックス定義
テーブル構造に応じた最適な索引を決める

3, ハードウェアのサイジング
必要なデータ容量、処理速度からスペックを決める
CPUやメモリだけでなく、ストレージのI/Oも重要
※I/O→ストレージへの読み書き性能

4, ストレージの冗長構成
システムの可用性や性能向上のためにRAIDを組む

RAID

5, データベースファイルの物理配置の定義
DBに格納される各ファイルをどのディスクに配置するか検討する

ファイルの配置

さいごに


今回は『達人に学ぶDB設計徹底指南書』を参考に、データベースのスキーマと設計についてまとめました。

次は冗長構成やバックアップのお話になりそうです。早く正規化やER図などのデータベースらしい部分に入りたいものですね…。

参考サイト