外部キーは参照整合性を提供します。外部キー列のデータが検証されます。値は、外部キーで定義されたテーブルと列にすでに存在する値のみにすることができます。 「不良データ」(数字、ASCIIテキストなど)を停止するのに非常に効果的です。これは、データが正規化されていることを意味します。繰り返しの値が識別され、独自のテーブルに分離されているため、心配する必要はありません。テキストで大文字と小文字を区別する方法について...そして値は一貫しています。これは次の部分につながります-外部キーは、テーブルを結合するために使用するものです。
ユーザーが持っているプロジェクトのクエリは機能しません-USERS
から列を参照しています クエリにテーブルへの参照がなく、PROJECTS
にリンクする前にその情報を取得するために使用されているサブクエリがない場合のテーブル テーブル。実際に使用するのは:
SELECT p.*
FROM PROJECTS p
JOIN USERS u ON u.user_id = p.creator
WHERE u.username = 'John Smith'