テーブル構成

目次
  • 解説
  • 1. テーブル構成
進捗を変更する




解説

1. テーブル構成


DBには『PHP WEB中級』コースと同じように、「ユーザー」を管理するusersテーブルと、「つぶやき」を管理するtweetsテーブルを作成し、それぞれ以下のカラムを持たせます。

usersテーブル

カラム名制約説明
idserialPRIMARY KEYユーザーID
nametextNOT NULL氏名
emailtextNOT NULL
UNIQUE
メールアドレス
passwordtextNOT NULLパスワード
profiletextプロフィール
created_attimestamp(0)NOT NULL作成日時
updated_attimestamp(0)NOT NULL更新日時

tweetsテーブル

カラム名制約説明
idserialPRIMARY KEYつぶやきID
user_idintegerNOT NULL
REFERENCES users (id)
ユーザーID
posttextNOT NULLつぶやき内容
created_attimestamp(0)NOT NULL作成日時
updated_attimestamp(0)NOT NULL更新日時

PHP WEB中級』コースとの変更点

(1) usersテーブルにcreated_atカラム、updated_atカラムを追加しています。

LaravelEloquentという機能を利用してデータベースを操作しますが、Eloquentはデータ作成時と更新時に、自動で created_atカラムと updated_atカラムにデータ操作が行われた日時を登録する仕組みとなっています。

(2) 『PHP WEB中級』コースでは、学習の為tweetsテーブルのpostカラムはnullを許可する仕様でしたが、本コースではNOT NULL制約を設定しています。

(3) テーブル間のデータの整合性を保つため、tweetsテーブルのuser_idカラムに外部キー制約を設定しています。外部キーを設定することで、つぶやきデータを登録する際にusersテーブルを参照するようになり、存在しないユーザーの場合は登録を弾くことができます。