1
私は小さなデータベースを設計しており、2つのテーブルに問題があります。私はteamとregisteredAccountテーブルを持っています。登録されたアカウントは、0または1つのチームを持つことができます。チームには、登録されたアカウントであるチームマネージャーがいます。データベース設計:両方の外部キーで2つのテーブルをリンクする
私は、registeredAccountIdをチームテーブルにリンクするのに苦労しています。チームテーブルに外部キーを追加できないというSQLエラーが発生します。
誰かがこれをよりうまく設計する方法について提案があれば、それは素晴らしいことです。それがnullで、チームはチームマネージャーを持っているチーム
とは独立していることができますので、登録したアカウントに、外部キーを設定する必要はあり
CREATE TABLE team(
teamId INT PRIMARY KEY,
teamName VARCHAR(20),
teamManagerId INT,
CONSTRAINT team_fk_registeredAccount
FOREIGN KEY (teamManagerId)
REFERENCES registeredAccount(registeredAccountId)
);
CREATE TABLE registeredAccount(
registeredAccountId INT PRIMARY KEY,
displayName VARCHAR(20),
subscribed BOOLEAN,
teamId INT,
CONSTRAINT registeredAccount_fk_team
FOREIGN KEY (teamId)
REFERENCES team(teamId)
);
「registeredAccount」には「teamId'属性がありません。それ以外の場合は、チーム**メンバー**とチーム**のメンバーとのリンクはありません。完全に正規化したい場合は、 'registeredAccountId(pk、fk)、teamID(fk)'という3番目の関係を作成します。 – cowbert