データベース設計のスキルは重要か?
- アプルはDB表現
リレーショナルデータベースの仕組み
- テーブル(表どうしをくっつけてデータを作る)
リレーショナルデータベースのメリット
- 汎用性 ⇨ 表現できないアプリはない
- 利用企業が多い ⇨ 理解している人はどの会社も欲しい
- テーブル構造が固定されている ⇨ ミスが起こりにくい
リレーショナルデータベースのデメリット
- 重くなることもある ⇨ 呼び出し方によっては動作が重くなる
- 利用企業が多い ⇨ できて当たり前
- 設計に依存 ⇨ テーブル構造がダメだとアプリ全体がダメに
リレーショナルデータベースで使う3種類のJOIN
- 1 : 1のJOIN ⇨ Xのつぶやきなどデータが1対1で紐づく
- 1 : 多のJOIN ⇨ いいね!機能など1つのデータに複数のデータが紐づく
- 多 : 多のJOIN ⇨ ブログやメモの複数タグ機能などお互いのデータが複数に紐づく
論理削除と物理削除
アプリの用途に応じて最初に決めるべきこと
論理削除
- 物理的にテーブルから行をなくしてしまう
⇨ 一度削除すると戻せない
物理削除
- テーブル列で削除を判断
⇨ 削除したことにする方法
⇨ 削除しても戻せる
RDBを扱う上での基本ルール
項目 | 内容 |
---|---|
英単語で命名 | テーブル名やカラム名は英語で命名(ローマ字表記NG) |
テーブル名 | 多数でデータが入るので複数形 |
単語の繋ぎ | 複数の単語でテーブル名を使う時は_(アンダーバー)で繋ぎましょう |
カラム数は最小限 | 計算で出せる値などはカラムに保存しない ⇨ カラム数は最低限にしてシンプルに |
RDBの基本的な型
型 | 内容 |
---|---|
Integer | 整数数値が入る型 通し番号や計算が必要なデータを保持 |
String | 文字列が入る型 文章などに使われ、数字が入っていても計算には使えない |
Boolean | TrueかFalseが入る型 データごとにデータの編集可能or不可能の判定など |
timestamp | 日時を格納する時によく使う型 データの作成日や更新日などを2022-10-28 13:13:13 といった形で格納 |