1.概要
DBを使用したのでまとめます。
2.DB(datebase)とは
データを管理、保存するための仕組みです。
例えば、都道府県を管理するデータベースがあるとします。
このベータベースには次のような情報が保存されています。
- 都道府県コード
- 都道府県名
- 県庁所在地
- 登録された日付
- 更新された日付
データベース内の「都道府県を管理する構造」をテーブルです。
また、テーブル内の「都道府県コード」「都道府県名」「県庁所在地」「登録された日付」「更新された日付」などの各項目の情報はカラムです。
各都道府県には、これらのカラムに対応する情報が保存されています。各都道府県のデータがレコードです。
北海道レコードの例
以下は、北海道のレコードの例です
- 都道府県コードカラム: 01
- 都道府県名カラム: 北海道
- 県庁所在地カラム: 札幌市
- 登録された日付カラム: 2000/01/01
- 更新された日付カラム: 2025/01/01
3.RDS(relational database servise)とは
RDS(リレーショナルデータベースサービス)はシステム内のデータベースを効率的に管理し、複数のテーブル間でデータを紐づけるための仕組みです。
その際に重要なのがキーです。今回は3つのキーについて説明します。
1.主キー(Primary Key)
主キーは、データを一意に識別するために使用されます。主キーは条件があります。
- 中身が入っていること(nullではない)
- 中身が一意であること(重複がない)
ひとつのテーブルつき一個まで設定できます。
主キーとしてよく使用されるカラム名がidです。例えば、users テーブルの場合
id | name | |
---|---|---|
1 | tarou | tarou@example.exe |
2 | hanako | hanako@example.exe |
ここで、id が主キーとしてデータを一意に識別します。
2.外部キー(Foreign Key)
外部キーは、あるテーブルのカラムが別のテーブルの主キーを参照することによりテーブル間の関連性を構築する。これによりデータの整合性を取ることができる。
例:社員と部署のデータ
- 社員テーブルにある「部署カラム」は、部署テーブルを参照する
- 外部キーを設定することで、「部署コード」が部署テーブルに存在するものだけ登録可能になります
3.ユニークキー(Unique Key)
ユニークキーは、データの重複を許さないキーです。主キーと似ていますが違いは、nullを許容するかや複数設定可能な点です。
例:ログインに必要な情報など
- ログインにmailを入力する際に、複数あると正しいパスワードを判定できなくなるため mailはユニークキーにする
3.安全な値をいれるために
デフォルトの状態だと様々な値を入力できます。しかし、想定していないデータが入力されてしまうとエラーの原因やシステムが重くなってしまう原因になります。これを未然に防ぐための対策を3つ説明します。
1. トランザクション (Transaction)
トランザクション とは、変更したいデータを一時的に保留し、すべての作業が完了した場合にのみ、実際のテーブルに反映させるデータベースの機能です。
これを使用することで、不完全なデータや不整合なデータが入力されることを防ぎます。
2.nullを許容しない
データベースでは、カラムに NULL (データが存在しない状態) を許容するかどうか設定できます。
NULL を許容しない設定にすることで、必ずデータが入力されているかをチェックし、空のデータが保存されることを防ぎます。
バリデーション (Validation)
バリデーション は、入力されたデータの値を制限するバックエンド側の仕組みです。
例えば、文字数やデータ形式、範囲などを指定してチェックできます。これにより、想定外のデータが保存されることを防ぎます。
まとめ
- データベースには、テーブル、カラム、レコードがあります
- RDSにはキーがあり、キーを使うことによりデータベースの整合性を取ることができます
- 不正なデータを防ぐ仕組みがあります。