単純なデータベースを作成していますが、このエラーが発生します。ORA-02270:この列リストに一致する一意または。私はこれを1日以上解決しようとしていて、何が間違っているのか分かりません。私はこのエラーに関する他の投稿を見てきましたが、ここで間違っていることを理解していません。データベースSQLエラー:ORA-02270:この列リストに一致する一意キーまたは主キーがありません
問題なしで作成するテーブルは、TEAMS、PLAYERS、およびGAMESテーブルです。 TEAM_GAME_STATSテーブルまたはPLAYER_GAME_STATSテーブルを作成しようとすると、このエラーが発生します。私は、これらのテーブルの両方から外部キー制約を削除すると、それらを作成する際に問題はないことに気付きました。私はデータに問題を引き起こすかもしれないと思っていますか?誰かが私のコードを見て、私が間違っていることを知らせたり、正しい方向に向けることができたら、私は感謝します。私はテーブルをプライマリ/外部キーだけに単純化しているので、過剰なコードはありません。
CREATE TABLE teams (
team VARCHAR2(50),
CONSTRAINT teams_pk PRIMARY KEY (team)
);
CREATE TABLE players (
player_id NUMBER,
team VARCHAR2(50),
CONSTRAINT players_pk PRIMARY KEY (player_id),
CONSTRAINT players_fk_team FOREIGN KEY (team)
REFERENCES teams (team)
);
CREATE TABLE games (
game_number NUMBER,
player_id NUMBER,
team VARCHAR2(50),
CONSTRAINT games_pk PRIMARY KEY (game_number, player_id, team),
CONSTRAINT games_fk_player_id FOREIGN KEY (player_id)
REFERENCES players (player_id),
CONSTRAINT games_fk_team FOREIGN KEY (team)
REFERENCES teams (team)
);
CREATE TABLE team_game_stats (
game_number NUMBER,
team VARCHAR2(50),
CONSTRAINT team_game_stats_pk PRIMARY KEY (game_number, team),
CONSTRAINT team_game_stats_fk_game_number FOREIGN KEY (game_number)
REFERENCES games (game_number),
CONSTRAINT team_game_stats_fk_team FOREIGN KEY (team)
REFERENCES games (team),
);
CREATE TABLE player_game_stats (
game_number NUMBER,
player_id NUMBER,
CONSTRAINT player_game_stats_pk PRIMARY KEY (game_number, player_id),
CONSTRAINT player_game_stats_fk_game_number FOREIGN KEY (game_number)
REFERENCES games (game_number),
CONSTRAINT player_game_stats_fk_player_id FOREIGN KEY (player_id)
REFERENCES games (player_id),
);
CREATE INDEX players_team_idx
ON players (team);
CREATE INDEX games_player_id_idx
ON games (player_id);
CREATE INDEX games_team_idx
ON games (team);
CREATE INDEX team_game_stats_game_number_idx
ON team_game_stats (game_number);
CREATE INDEX team_game_stats_team_idx
ON team_game_stats (team);
CREATE INDEX player_game_stats_game_number_idx
ON player_game_stats (game_number);
CREATE INDEX player_game_stats_player_id_idx
ON player_game_stats (player_id);
問題はここにあります** CONSTRAINT games_pk PRIMARY KEY(game_number、player_id、team)** team_game_statsテーブルはゲームテーブルに1つの一意のプライマリキーを登録できません。 –