Output Diary

プログラミング × 読書 のアウトプットを発信しています

データベースと論理設計

f:id:kina_kq:20210505083029j:plain

 

データベースとは、

大量の情報を保存し、コンピュータから効率よくアクセスできるように加工したデータのあつまりのことをいいます。

 

データベースの由来

 

由来は第二次世界大戦後の米軍から来ていると言われています。

情報のアクセスを効率化するために点在していた資料をひとつの基地にすべて集め、その場所を、情報(Data)の基地(Base)と呼んだことからデータベースと名付けられたそうです。

 

データベース利用の流れ

 

キーワードとなるのは、SQLRDBMSRDBテーブルです。

 

データベースの利用は、

1. 利用者がSQLという言語を用いてRDBMSに指示を出す。

2. RDBMSRDBテーブルにアクセスをして支持されたデータを取得や操作する

3. ビューという形になり我々利用者に届けられる

 

という流れで行われています。

 

データベース設計

 

データベース設計とは、

システム開発のひとつのプロセスです。

 

データベースに保持するデータに関する設計のことを言います。システムの拡張性やパフォーマンスに多大な影響を与えるシステム開発において極めて重要なプロセスです。

 

システム開発のプロセス
  1. 要件定義
  2. 設計
  3. 開発
  4. テスト

 

3層スキーマ

データベースは3層のスキーマ(枠組み)から成り立っています。

 

  • 外部スキーマ(ユーザーからみたDB、ビュー)
  • 概念スキーマ(開発者からみたDB、テーブル)
  • 内部スキーマDBMSからみたDB、データの物理的配置)

 

上に行くほどユーザーに近く、下に行くほどコンピュータに近いです。

 

外部スキーマビュー

概念スキーマテーブル

内部スキーマデータファイルの役割を担っています。

 

論理設計と物理設計

論理設計(概念スキーマ:テーブルの設計)

→データを管理するためのデータモデルの設計のことをいいます

物理設計(内部スキーマの設計)

DDLによる実装やストレージの構成などの設計のことをいいます

 

概念スキーマはなぜ必要か

→データ独立性を確保するのに、概念スキーマは絶対に必要になります。

 

データ独立性とは?

データ独立性は2種類あります。

論理的データ独立性と物理的データ独立性の2種類です。

 

  • 論理的データ独立性
→外部スキーマを変更しても内部スキーマを変更する必要がない状態。(外部スキーマでの変更が内部スキーマに及ばない)
  • 物理的データ独立性

→内部スキーマを変更しても、外部スキーマを変更する必要がない状態(外部スキーマの変更が内部スキーマに及ばない)。

内部スキーマ外部スキーマが独立している状態のことをデータ独立性があるといいます。

 

論理設計が超重要な理由

概念スキーマを変更すると、外部スキーマにも内部スキーマにも影響がでるからです。