私は野球の統計の表を持っています、これは次のようなものです:
CREATE TABLE batting_stats(
ab INTEGER,
pa INTEGER,
r INTEGER,
h INTEGER,
hr INTEGER,
rbi INTEGER,
playerID INTEGER,
FOREIGN KEY(playerID) REFERENCES player(playerID)
);
しかし、基本的にまったく同じ統計の表がありますが、チームの場合は次のようになります。
CREATE TABLE team_batting_stats(
ab INTEGER,
pa INTEGER,
r INTEGER,
h INTEGER,
hr INTEGER,
rbi INTEGER,
teamID INTEGER,
FOREIGN KEY(teamID) REFERENCES team(teamID)
);
私の最初の本能は、外部キーを廃棄してIDを一般化することですが、それでも問題があります。これら2つのテーブルがあり、IDが重複することはありません。
CREATE TABLE player(
playerID INTEGER PRIMARY KEY,
firstname TEXT,
lastname TEXT,
number INTEGER,
teamID INTEGER,
FOREIGN KEY(teamID) REFERENCES team(teamID)
);
CREATE TABLE team(
teamID INTEGER PRIMARY KEY,
name TEXT,
city TEXT,
);
この問題を解決し、統計を1つのテーブルに減らすことができる明らかな何かを見落としているような気がします。