技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

データベース設計の超基本

データベースとは?

- 大量の情報を保存し、コンピューターから効率よくアクセス出来るように加工したデータの集まり

システム開発のプロセス

1. 要件定義(何を作るか)
2. 設計(どう作るか) <=== DB設計フェーズ
3. 開発(実装)
4. テスト(期待通りに動くか)

データベース設計とは?

データベース設計とはデータの保持について決めることである。

データベース設計はめちゃ大事。

理由はシステムの拡張性や、パフォーマンスに多大な影響を与える為

データベースの種類

- リレーショナルデータベース <=== 今回はこれについて
- オブジェクト指向データベース
- キーバリュー型データベース

論理設計のステップ

1.エンティティの選択
どんなデータを管理するエンティティ(テーブル)が必要かを明確にする

2.エンティティの定義
エンティティ(テーブル)ごとにどんな属性(カラム)が必要かを明確にする

3.正規化
テーブルを分割することでデータの冗長性(無駄)をなくす

4.ER図の作成
エンティティ(テーブル)間の関係を視覚的にわかりやすく作図する

#テーブルの構成要素

  1. 行と列 表と同様にテーブルにおいても横と縦のデータの組を「行(レコード)」と「列(カラム)」と呼ぶ

  2. キー ある特定のデータを引き出すための鍵となる列。主キーと外部キーは必須

主キー

その値を指定すれば必ず一行のレコードを特定できるような列 テーブルにおいて必ず一つ存在する必要があり、かつ一つしかない。

外部キー

2つのテーブル間の列同士の関連性を特定するもの

社員テーブルの部署IDが外部キーとなる

f:id:lhiroki1205:20200429234436p:plain

正規化

すごくわかりやすい www.youtube.com

参考

https://www.udemy.com/course/hajimete-ronrisekkei/learn/lecture/14052993