タスク管理Webアプリその7
そもそもデータベースの設計は
第1段階:概念設計
第2段階:論理設計
第3段階:物理設計になる
概念設計とはデータベースを用いる業務をする為に
必要なデータを抽出するフェーズ
つまり、データベースによって管理するものを抽出して
概念データモデルを作る。
概念設計の手順1:必要な要件の洗い出し
概念設計の手順2:データカテゴリを抽出する
データカテゴリとは、エンティティ(実体)と呼ばれ、目的を持った
データのまとまりを指す
例えば、社員データを管理するデータベースを作る時は、「所属部署」
「役職」「氏名がエンティティとして抽出する事が出来る
概念設計の手順3:概念データモデルとER図の作成
必要なエンティティの抽出が終われば、概念データモデルを作る。
この時点では、どのタイプのデータベースを利用するかは特定しない
概念データモデルを作る場合は、ER図を使う
第2段階:論理設計する上での手順
「論理設計」は概念データモデルを整理し、データベースの種類に
合わせて変換をするフェーズ。
論理設計では、作成した概念データモデルのデータ構造に
変更を出来るだけ加えない様にしながら性能を上げる
論理設計する上での手順1:データベースの種類を決定する
論理設計する上での手順2:データベースに沿った形に変換したテーブル定義を作成
データベースの種類を決めたら、沿った形にテーブル定義を行う
テーブル定義ではエンティティの属性を全て洗い出し、論理ER図を表す作業を行う
論理設計する上での手順3:作成したテーブルを正規化する
1つのテーブルに同じような値が複数登場するようなテーブルは「非正規型」になる。
そういった無駄な部分を削除するには、テーブルの正規化を行う必要がある
物理設計する上での手順は7つ
「物理設計」とは、物理的なデータ配置だけでなく、パフォーマンスを考慮して
データベースを整理するフェーズ
物理設計する上での手順1:文字列のデータ型を決める
ここで決める文字列のデータに保存するデータとしては、
「会社名」や「部署」「役職」「氏名」などが考えられま
文字列のデータ型には「CHAR(固定長文字データ)」
「VARCHAR(可変長文字列)」や「TEXT(長さ指定なしの可変長文字列)」など
物理設計する上での手順2:数字のデータ型を決める
数字のデータに保存するデータとしては、「等級」や「基本給」
「日当」「交通費」「出張宿泊費」などが考えられます
数字のデータ型には「INTEGER(整数型)」や「DOUBLE(浮動小数点数型)」などがあります。
数字で保存するデータに小数点が含まれるか否かによって決定
物理設計する上での手順3:半角英字のデータ型を決める
半角英数字のデータに保存するデータとしては、「社員番号」や「メールアドレス」「部署コード」「役職コード」などが考えられます。
また、半角英数字は1バイトの文字列型となっているため、
データ型には「CHAR(固定長文字データ)」「VARCHAR(可変長文字列)」や
「TEXT(長さ指定なしの可変長文字列)」などがあります。
物理設計する上での手順4:容量や性能要件の確認
物理設計する上での手順5:データベースにインデックスを登録する
データベースはインデックスを登録することで、
処理スピードを上げてパフォーマンスを向上させることができます。
物理設計まで行われて修正されたモデルを「物理データモデル」と言います
物理設計する上での手順6:データ領域を計算する
物理設計する上での手順7:ファイルの配置を決定する
データを格納するためのデータ領域を計算したら、
ハードウェアやソフトウェア上でのファイルの物理的配置を決める
まずER図とテーブル定義の作成を当面の目標にするか