テーブル構成
目次
- 解説
- 1. テーブル構成
解説
1. テーブル構成
DBには『Java WEB中級』コースと同じように、「ユーザー」を管理するusersテーブルと、「つぶやき」を管理するtweetsテーブルを作成し、それぞれ以下のカラムを持たせます。
usersテーブル
カラム名 | 型 | 制約 | 説明 |
---|---|---|---|
id | serial | PRIMARY KEY | ユーザーID |
text | NOT NULL UNIQUE | メールアドレス | |
display_name | text | NOT NULL | 氏名 |
pass | text | NOT NULL | パスワード |
profile | text | プロフィール |
tweetsテーブル
カラム名 | 型 | 制約 | 説明 |
---|---|---|---|
id | serial | PRIMARY KEY | つぶやきID |
user_id | integer | NOT NULL REFERENCES users (id) | ユーザーID |
post | text | NOT NULL | つぶやき内容 |
created_at | timestamp | NOT NULL DEFAULT CURRENT_TIMESTAMP | 作成日時 |
updated_at | timestamp | 更新日時 |
変更点
『Java WEB中級』コースでは、学習の為tweetsテーブルのpostカラムはnullを許可する仕様でしたが、本コースではNOT NULL制約を設定しています。
また、テーブル間のデータの整合性を保つため、tweetsテーブルのuser_idカラムに外部キー制約を設定しています。よって、つぶやきデータを登録する際にusersテーブルを参照するようになり、存在しないユーザーの場合は登録を弾くようになります。