データベースの作成に問題があります。私の架空の問題は、バレーボールのゲームを追跡するためのデータベースを作成することです。それはプレーヤー(彼らがプレイするチーム、1人のプレーヤーは1つのチームでしか遊ぶことができません)、そしてゲームをプレイしました(各ゲームには各チームに6人のプレーヤーが含まれています)。複数テーブルでの外部キーの使用
私は、次の表を作成したい:
- プレーヤー(同上P、名、姓、TEAM_NAME F)。
- チーム(チーム名P、コーチ);
- ゲーム(日付、チーム1F、チーム2F、プレーヤー1_Team1F、...プレーヤー2_Team2F、プレーヤー1_Team2F、...、プレーヤー2_Team2F)。
チーム1とチーム2がチームテーブルの外部キーTeam_Nameであることを希望しました。ここで私の試みですが、私はその外来キーが間違って形成されることになります。私は非常に助けてうれしい。
CREATE TABLE Team (
Team_Name varchar(20) NOT NULL,
Coach varchar(20) NOT NULL,
CONSTRAINT Team_pk PRIMARY KEY (Team_Name)
);
CREATE TABLE Game (
id int NOT NULL,
Data date NOT NULL,
Team1 varchar(20) NOT NULL,
Team2 varchar(20) NOT NULL,
Score int ,
D1_Player1 int NOT NULL,
D1_Player2 int NOT NULL,
D1_Player3 int NOT NULL,
D1_Player4 int NOT NULL,
D1_Player5 int NOT NULL,
D1_Player6 int NOT NULL,
D2_Player1 int NOT NULL,
D2_Player2 int NOT NULL,
D2_Player3 int NOT NULL,
D2_Player4 int NOT NULL,
D2_Player5 int NOT NULL,
D2_Player6 int NOT NULL,
CONSTRAINT Game_pk PRIMARY KEY (id)
);
CREATE TABLE Player (
Id int NOT NULL,
Name varchar(30) NOT NULL,
Surname varchar(30) NOT NULL,
Team_Name varchar(20) NOT NULL,
CONSTRAINT Player_pk PRIMARY KEY (id)
);
ALTER TABLE Player ADD CONSTRAINT DZ
FOREIGN KEY (Team_Name)
REFERENCES Team (Team_Name)
;
ALTER TABLE Game ADD CONSTRAINT MD
FOREIGN KEY (Team1, Team2)
REFERENCES Team (Team_Name, Team_Name)
;
ALTER TABLE Mecz ADD CONSTRAINT MZ
FOREIGN KEY (D1_Player1, D1_Player2, D1_Player3, D1_Player4, D1_zPlayer5, D1_Player6, D2_Player1, D2_Player2, D2_Player3, D2_Player4, D2_Player5, D2_Player6)
REFERENCES Player (id, id, id, id, id, id, id, id, id, id, id, id)
;
、使用しているSQLのフォームのタグを追加するように、すなわち 'MySQL'、' SQL-Server'、あなたの質問を編集してください等 – toonice