Blog
本記事で学ぶこと
DB学習の一発目の記事となります!
本記事では「論理設計」「物理設計」の違いについてを学んでいきます。
本来であれば論理設計の正規化やら、物理設計のサイジング・RAID等を扱っていきたかったのですが、
そもそも「論理設計」「物理設計」って改めて人に説明しようとした時にスムーズにいかないな。。と思いました。
そのため、まずはDB設計の大枠であるこれらの設計についておさらいし、各細かい工程については別記事で進めていこうと思います!
論理設計
論理設計は机上の設計。データの整合性を保つためのルール作りをする工程です。
主に、
- データの構造設計
- テーブルやカラムを書き出す
- 主キー、外部キー、インデックスの設計
- 正規化の適用
- データの冗長性を排除し、一貫性を高める
- ER図の作成
- 正規化によってテーブルが細かく分かれることが多いため、これらのテーブルの関係を視覚的に表現する
- 最近では多くのDBツールがER図を自動的に生成してくれるため、手動で線を引いて作成する機会は少ない印象
のような作業を行います。ここで大事なのが、「実際のデータベース(RDBMS)に依存しない」形で設計されます。あくまでも「机上の設計」です。
物理設計
物理設計は論理設計で定義したデータ構造や整合性ルールを、実際のデータベース管理システム(DBMS)に落とし込む工程です。
主に、
- データベースの選定と設定
- テーブル定義
- インデックス定義
- ストレージやパフォーマンスの設定
- ストレージの冗長構成
- ファイルの物理配置
- バックアップ
- リカバリ
のような作業があります。
私は基本的にクラウドサービスを扱うことがほとんどなので、物理設計について実際に行ったことがある作業は半分もないかもです...
ただ、パフォーマンス面やトラブル対応にも活かせると考えているため、何をしているのかを知っておく必要があると思います。
そのため、物理設計についてもしっかりとおさえていきたいです。
まずは論理設計から進めます。
物理設計は、論理設計で定義した内容を実際のデータベースに落とし込む作業となるため、
順番としては「論理設計」→「物理設計」の流れになります。
そのため、学習の進め方としては、まずは「論理設計」についてしっかりおさえた後に、次に「物理設計」について学習を進めていく流れにしようかと思います。
今回の記事では、「論理設計」と「物理設計」の違いについての基本的な理解を深めました。
次回は、論理設計の具体的な内容について掘り下げていきたいと思いますー!
長い戦いになりそうではありますが、頑張っていきます:)
CONTACT
あくまでも本業がメインですが、休日や業務の隙間時間は個人でも動いております。
もしお手伝いできることがあれば、お気軽にお問い合わせください。