From 3bd573b00db9a5f667aff3703c08a9a04e28e396 Mon Sep 17 00:00:00 2001 From: Nick Griffey Date: Thu, 25 Jan 2024 19:49:08 -0600 Subject: [PATCH] add foreign keys --- sql/keys/allstarfull.sql | 4 +++- sql/keys/appearances.sql | 4 +++- sql/keys/awardsmanagers.sql | 3 ++- sql/keys/awardsplayers.sql | 3 ++- sql/keys/awardssharemanagers.sql | 3 ++- sql/keys/awardsshareplayers.sql | 3 ++- sql/keys/batting.sql | 4 +++- sql/keys/battingpost.sql | 4 +++- sql/keys/collegeplaying.sql | 4 +++- sql/keys/fielding.sql | 4 +++- sql/keys/fieldingof.sql | 1 + sql/keys/fieldingofsplit.sql | 4 +++- sql/keys/fieldingpost.sql | 4 +++- sql/keys/halloffame.sql | 1 + sql/keys/homegames.sql | 4 +++- sql/keys/managers.sql | 4 +++- sql/keys/managershalf.sql | 4 +++- sql/keys/pitching.sql | 4 +++- sql/keys/pitchingpost.sql | 4 +++- sql/keys/salaries.sql | 4 +++- sql/keys/seriespost.sql | 4 +++- sql/keys/teams.sql | 3 ++- sql/keys/teamshalf.sql | 3 ++- 23 files changed, 59 insertions(+), 21 deletions(-) diff --git a/sql/keys/allstarfull.sql b/sql/keys/allstarfull.sql index 728a144..2c043af 100644 --- a/sql/keys/allstarfull.sql +++ b/sql/keys/allstarfull.sql @@ -8,7 +8,9 @@ CREATE TABLE "pk_allstarfull" ( "lgID" NUMERIC, "GP" NUMERIC, "startingPos" NUMERIC, - primary key("playerID","yearID","gameNum","startingPos") + primary key("playerID","yearID","gameNum","startingPos"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_allstarfull" SELECT DISTINCT * FROM "allstarfull"; diff --git a/sql/keys/appearances.sql b/sql/keys/appearances.sql index b09643c..fda632d 100644 --- a/sql/keys/appearances.sql +++ b/sql/keys/appearances.sql @@ -21,7 +21,9 @@ CREATE TABLE IF NOT EXISTS "pk_appearances" ( "G_dh" NUMERIC, "G_ph" NUMERIC, "G_pr" NUMERIC, - PRIMARY KEY("yearID","teamID","playerID") + PRIMARY KEY("yearID","teamID","playerID"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_appearances" SELECT DISTINCT * FROM "appearances"; diff --git a/sql/keys/awardsmanagers.sql b/sql/keys/awardsmanagers.sql index 6ddcacc..b96d44b 100644 --- a/sql/keys/awardsmanagers.sql +++ b/sql/keys/awardsmanagers.sql @@ -6,7 +6,8 @@ CREATE TABLE IF NOT EXISTS "pk_awardsmanagers" ( "lgID" TEXT, "tie" TEXT, "notes" TEXT, - PRIMARY KEY("awardID","yearID","lgID","playerID") + PRIMARY KEY("awardID","yearID","lgID","playerID"), + foreign key("playerID") references "people"("playerID") ); INSERT INTO "pk_awardsmanagers" SELECT DISTINCT * FROM "awardsmanagers"; diff --git a/sql/keys/awardsplayers.sql b/sql/keys/awardsplayers.sql index 945f481..1275546 100644 --- a/sql/keys/awardsplayers.sql +++ b/sql/keys/awardsplayers.sql @@ -6,7 +6,8 @@ CREATE TABLE IF NOT EXISTS "pk_awardsplayers" ( "lgID" TEXT, "tie" TEXT, "notes" TEXT, - PRIMARY KEY("awardID","yearID","lgID","notes","playerID") + PRIMARY KEY("awardID","yearID","lgID","notes","playerID"), + foreign key("playerID") references "people"("playerID") ); INSERT INTO "pk_awardsplayers" SELECT DISTINCT * FROM "awardsplayers"; diff --git a/sql/keys/awardssharemanagers.sql b/sql/keys/awardssharemanagers.sql index d9ba502..843c43b 100644 --- a/sql/keys/awardssharemanagers.sql +++ b/sql/keys/awardssharemanagers.sql @@ -7,7 +7,8 @@ CREATE TABLE IF NOT EXISTS "pk_awardssharemanagers" ( "pointsWon" NUMERIC, "pointsMax" NUMERIC, "votesFirst" NUMERIC, - PRIMARY KEY("playerID","awardID","yearID","lgID") + PRIMARY KEY("playerID","awardID","yearID","lgID"), + foreign key("playerID") references "people"("playerID") ); INSERT INTO "pk_awardssharemanagers" SELECT DISTINCT * FROM "awardssharemanagers"; diff --git a/sql/keys/awardsshareplayers.sql b/sql/keys/awardsshareplayers.sql index 679a4fa..3a3c494 100644 --- a/sql/keys/awardsshareplayers.sql +++ b/sql/keys/awardsshareplayers.sql @@ -7,7 +7,8 @@ CREATE TABLE IF NOT EXISTS "pk_awardsshareplayers" ( "pointsWon" NUMERIC, "pointsMax" NUMERIC, "votesFirst" NUMERIC, - PRIMARY KEY("awardID","yearID","playerID","lgID") + PRIMARY KEY("awardID","yearID","playerID","lgID"), + foreign key("playerID") references "people"("playerID") ); INSERT INTO "pk_awardsshareplayers" SELECT DISTINCT * FROM "awardsshareplayers"; diff --git a/sql/keys/batting.sql b/sql/keys/batting.sql index 9eb213e..becc5ad 100644 --- a/sql/keys/batting.sql +++ b/sql/keys/batting.sql @@ -22,7 +22,9 @@ CREATE TABLE IF NOT EXISTS "pk_batting" ( "SH" NUMERIC, "SF" NUMERIC, "GIDP" NUMERIC, - PRIMARY KEY("playerID","yearID","stint","teamID") + PRIMARY KEY("playerID","yearID","stint","teamID"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_batting" SELECT DISTINCT * FROM "batting"; diff --git a/sql/keys/battingpost.sql b/sql/keys/battingpost.sql index 22d379a..2cd224e 100644 --- a/sql/keys/battingpost.sql +++ b/sql/keys/battingpost.sql @@ -22,7 +22,9 @@ CREATE TABLE IF NOT EXISTS "pk_battingpost" ( "SH" NUMERIC, "SF" NUMERIC, "GIDP" NUMERIC, - PRIMARY KEY("yearID","playerID","round") + PRIMARY KEY("yearID","playerID","round"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_battingpost" SELECT DISTINCT * FROM "battingpost"; diff --git a/sql/keys/collegeplaying.sql b/sql/keys/collegeplaying.sql index 871d8ab..9991fec 100644 --- a/sql/keys/collegeplaying.sql +++ b/sql/keys/collegeplaying.sql @@ -3,7 +3,9 @@ CREATE TABLE IF NOT EXISTS "pk_collegeplaying" ( "playerID" TEXT, "schoolID" TEXT, "yearID" NUMERIC, - PRIMARY KEY("playerID","yearID","schoolID") + PRIMARY KEY("playerID","yearID","schoolID"), + foreign key("playerID") references "people"("playerID"), + foreign key("schoolID") references "schools"("schoolID") ); INSERT INTO "pk_collegeplaying" SELECT DISTINCT * FROM "collegeplaying"; diff --git a/sql/keys/fielding.sql b/sql/keys/fielding.sql index b2ca244..b50b982 100644 --- a/sql/keys/fielding.sql +++ b/sql/keys/fielding.sql @@ -18,7 +18,9 @@ CREATE TABLE IF NOT EXISTS "pk_fielding" ( "SB" NUMERIC, "CS" NUMERIC, "ZR" NUMERIC, - PRIMARY KEY("playerID","yearID","stint","teamID","POS") + PRIMARY KEY("playerID","yearID","stint","teamID","POS"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_fielding" SELECT DISTINCT * FROM "fielding"; diff --git a/sql/keys/fieldingof.sql b/sql/keys/fieldingof.sql index 6dfbb83..045d2ea 100644 --- a/sql/keys/fieldingof.sql +++ b/sql/keys/fieldingof.sql @@ -7,6 +7,7 @@ CREATE TABLE IF NOT EXISTS "pk_fieldingof" ( "Gcf" NUMERIC, "Grf" NUMERIC, PRIMARY KEY("playerID","yearID","stint") + foreign key("playerID") references "people"("playerID") ); INSERT INTO "pk_fieldingof" SELECT DISTINCT * FROM "fieldingof"; diff --git a/sql/keys/fieldingofsplit.sql b/sql/keys/fieldingofsplit.sql index 3ccdb6f..061cb65 100644 --- a/sql/keys/fieldingofsplit.sql +++ b/sql/keys/fieldingofsplit.sql @@ -18,7 +18,9 @@ CREATE TABLE IF NOT EXISTS "pk_fieldingofsplit" ( "SB" NUMERIC, "CS" NUMERIC, "ZR" NUMERIC, - PRIMARY KEY("playerID","yearID","stint","teamID","POS") + PRIMARY KEY("playerID","yearID","stint","teamID","POS"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_fieldingofsplit" SELECT DISTINCT * FROM "fieldingofsplit"; diff --git a/sql/keys/fieldingpost.sql b/sql/keys/fieldingpost.sql index 98d149a..0b7cd52 100644 --- a/sql/keys/fieldingpost.sql +++ b/sql/keys/fieldingpost.sql @@ -17,7 +17,9 @@ CREATE TABLE IF NOT EXISTS "pk_fieldingpost" ( "PB" NUMERIC, "SB" NUMERIC, "CS" NUMERIC, - PRIMARY KEY("playerID","yearID","round","POS") + PRIMARY KEY("playerID","yearID","round","POS"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_fieldingpost" SELECT DISTINCT * FROM "fieldingpost"; diff --git a/sql/keys/halloffame.sql b/sql/keys/halloffame.sql index 63bad3f..ba2d305 100644 --- a/sql/keys/halloffame.sql +++ b/sql/keys/halloffame.sql @@ -10,6 +10,7 @@ CREATE TABLE IF NOT EXISTS "pk_halloffame" ( "category" TEXT, "needed_note" TEXT, PRIMARY KEY("playerID","yearID","votedBy") + foreign key("playerID") references "people"("playerID") ); INSERT INTO "pk_halloffame" SELECT DISTINCT * FROM "halloffame"; diff --git a/sql/keys/homegames.sql b/sql/keys/homegames.sql index bc942be..a982165 100644 --- a/sql/keys/homegames.sql +++ b/sql/keys/homegames.sql @@ -9,7 +9,9 @@ CREATE TABLE IF NOT EXISTS "pk_homegames" ( "games" NUMERIC, "openings" NUMERIC, "attendance" NUMERIC, - PRIMARY KEY("year.key","team.key","park.key") + PRIMARY KEY("year.key","team.key","park.key"), + foreign key("team.key") references "teams"("teamID"), + foreign key("park.key") references "parks"("park.key") ); INSERT INTO "pk_homegames" SELECT DISTINCT * FROM "homegames"; diff --git a/sql/keys/managers.sql b/sql/keys/managers.sql index debdb49..27bac60 100644 --- a/sql/keys/managers.sql +++ b/sql/keys/managers.sql @@ -10,7 +10,9 @@ CREATE TABLE IF NOT EXISTS "pk_managers" ( "L" NUMERIC, "rank" NUMERIC, "plyrMgr" TEXT, - PRIMARY KEY("playerID","yearID","teamID","inseason") + PRIMARY KEY("playerID","yearID","teamID","inseason"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_managers" SELECT DISTINCT * FROM "managers"; DROP TABLE "managers"; diff --git a/sql/keys/managershalf.sql b/sql/keys/managershalf.sql index e8ff47e..f96df9c 100644 --- a/sql/keys/managershalf.sql +++ b/sql/keys/managershalf.sql @@ -10,7 +10,9 @@ CREATE TABLE IF NOT EXISTS "pk_managershalf" ( "W" NUMERIC, "L" NUMERIC, "rank" NUMERIC, - PRIMARY KEY("playerID","yearID","teamID","inseason","half") + PRIMARY KEY("playerID","yearID","teamID","inseason","half"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_managershalf" SELECT DISTINCT * FROM "managershalf"; diff --git a/sql/keys/pitching.sql b/sql/keys/pitching.sql index bc71d86..aa2d178 100644 --- a/sql/keys/pitching.sql +++ b/sql/keys/pitching.sql @@ -30,7 +30,9 @@ CREATE TABLE IF NOT EXISTS "pk_pitching" ( "SH" NUMERIC, "SF" NUMERIC, "GIDP" NUMERIC, - PRIMARY KEY("playerID","yearID","stint","teamID") + PRIMARY KEY("playerID","yearID","stint","teamID"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_pitching" SELECT DISTINCT * FROM "pitching"; diff --git a/sql/keys/pitchingpost.sql b/sql/keys/pitchingpost.sql index eb1622b..36b0394 100644 --- a/sql/keys/pitchingpost.sql +++ b/sql/keys/pitchingpost.sql @@ -30,7 +30,9 @@ CREATE TABLE IF NOT EXISTS "pk_pitchingpost" ( "SH" NUMERIC, "SF" NUMERIC, "GIDP" NUMERIC, - PRIMARY KEY("playerID","yearID","round") + PRIMARY KEY("playerID","yearID","round"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_pitchingpost" SELECT DISTINCT * FROM "pitchingpost"; diff --git a/sql/keys/salaries.sql b/sql/keys/salaries.sql index 3cdd741..16a12cf 100644 --- a/sql/keys/salaries.sql +++ b/sql/keys/salaries.sql @@ -5,7 +5,9 @@ CREATE TABLE IF NOT EXISTS "pk_salaries" ( "lgID" TEXT, "playerID" TEXT, "salary" NUMERIC, - PRIMARY KEY("yearID","playerID","teamID") + PRIMARY KEY("yearID","playerID","teamID"), + foreign key("playerID") references "people"("playerID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_salaries" SELECT DISTINCT * FROM "salaries"; diff --git a/sql/keys/seriespost.sql b/sql/keys/seriespost.sql index f4e211f..b310d5d 100644 --- a/sql/keys/seriespost.sql +++ b/sql/keys/seriespost.sql @@ -9,7 +9,9 @@ CREATE TABLE IF NOT EXISTS "pk_seriespost" ( "wins" NUMERIC, "losses" NUMERIC, "ties" NUMERIC, - PRIMARY KEY("yearID","round") + PRIMARY KEY("yearID","round"), + foreign key("teamIDwinner") references "teams"("teamID"), + foreign key("teamIDloser") references "teams"("teamID") ); INSERT INTO "pk_seriespost" SELECT DISTINCT * FROM "seriespost"; diff --git a/sql/keys/teams.sql b/sql/keys/teams.sql index 8ba97c9..96331a8 100644 --- a/sql/keys/teams.sql +++ b/sql/keys/teams.sql @@ -48,7 +48,8 @@ CREATE TABLE IF NOT EXISTS "pk_teams" ( "teamIDBR" TEXT, "teamIDlahman45" TEXT, "teamIDretro" TEXT, - PRIMARY KEY("yearID","teamID") + PRIMARY KEY("yearID","teamID"), + foreign key("franchID") references "teamsfranchises"("franchID") ); INSERT INTO "pk_teams" SELECT DISTINCT * FROM "teams"; diff --git a/sql/keys/teamshalf.sql b/sql/keys/teamshalf.sql index 036d7c3..9ad95c1 100644 --- a/sql/keys/teamshalf.sql +++ b/sql/keys/teamshalf.sql @@ -10,7 +10,8 @@ CREATE TABLE IF NOT EXISTS "pk_teamshalf" ( "G" NUMERIC, "W" NUMERIC, "L" NUMERIC, - PRIMARY KEY("Half","yearID","teamID") + PRIMARY KEY("Half","yearID","teamID"), + foreign key("teamID") references "teams"("teamID") ); INSERT INTO "pk_teamshalf" SELECT DISTINCT * FROM "teamshalf";