プログラミング備忘録(PHP、JavaScript、WordPress等)

WEB制作を行っている、とある個人事業主のプログラミングに関する技術メモをアウトプットしていきます。

達人に学ぶDB設計徹底指南書を読む

きっかけ

簡易的なECサイトを作ろうと思った時にパッと具体的なDB構造がイメージできないことに深い悲しみを覚え、紹介していただいた書籍を購入し読んでいくことにしました。

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

 

 この書籍は、ミックさんという方が執筆されています。良質でボリュームのあるデータベース解説サイトを運営されていて、評判も非常に良いです。

現時点のスキル

この通り、ほぼ初心者と言っていいレベルだと思います。

この本を読むことでどれだけ自分がレベルアップできるか期待しつつ、この記事内で感想やためになったことを追記していきます。

 

※ 一緒に読もうよ!って方いましたら是非お声がけください!

データベース用語の整理

ここでは、もう忘れてしまったデータベースの用語を整理していきます。どちらかというと抽象的な内容となりますが、折角読んだものを少しでも忘れないようにするためにアウトプットしていくことが目的です。

3層スキーマ

  1. 外部スキーマ(外部モデル)=ビュー
  2. 概念スキーマ(論理データモデル)=テーブル
  3. 内部スキーマ(物理データモデル)=ファイル

いきなりイメージしづらい用語が並んで多少困惑気味です。当時は資格取得のために割りきって勉強していましたが、いざ実務と絡めようとすると結局何も分かっていなかったんだなと痛感させられます。。

  • スキーマは枠組みと覚える。
  • 外部スキーマは「ユーザーから見たデータベースの姿」。ユーザーから見えるシステムの姿の一部。ユーザーにどのようにデータを見せるか、ということ。
  • 概念スキーマは「開発者から見たデータベース」。テーブルの要素やデータ同士の関係を示すもので、論理設計とも呼ぶ。データベース設計の中心となるスキーマとなる。
  • 内部スキーマは「DBMSから見たデータベース」。テーブルやインデックスの物理的定義を含む。あらゆるデータは最終的にはファイルで表現される、と考える。論理設計との対比で物理設計と呼ぶ。

ここまで読んでも、いまいちイメージできない状況です。結局のところ実際のシステムにおいて3層スキーマがどのように作用しているか対比しないと分からないんじゃないかと感じています。

幸い、次の章以降で詳しく落とし込んでいくようなので、どこまで理解できるようになるか楽しみをとっておきます!