Add some 2nf transformations

This commit is contained in:
Nick Griffey 2024-01-26 13:27:58 -06:00
parent df011ba51b
commit 0d00bddead
7 changed files with 51 additions and 1 deletions

View File

@ -4,7 +4,7 @@ bbdb = baseballdatabank-2023.1
db: baseball.db
baseball.db: sql/corrections/*.sql sql/keys/*.sql sql/1nf/*.sql
baseball.db: sql/corrections/*.sql sql/keys/*.sql sql/1nf/*.sql sql/2nf/*.sql
rm -f baseball.db
sqlite3 baseball.db ".import --csv $(bbdb)/core/AllstarFull.csv allstarfull"
sqlite3 baseball.db ".import --csv $(bbdb)/core/Appearances.csv appearances"
@ -36,4 +36,5 @@ baseball.db: sql/corrections/*.sql sql/keys/*.sql sql/1nf/*.sql
cat sql/corrections/*.sql | sqlite3 baseball.db
cat sql/keys/*.sql | sqlite3 baseball.db
cat sql/1nf/*.sql | sqlite3 baseball.db
cat sql/2nf/*.sql | sqlite3 baseball.db
sqlite3 baseball.db "VACUUM"

3
sql/2nf/appearances.sql Normal file
View File

@ -0,0 +1,3 @@
begin;
alter table "appearances" drop column "lgID";
commit;

View File

@ -0,0 +1,21 @@
begin;
create table if not exists appearancespost (
"yearID" numeric,
"playerID" text,
"teamID" text,
primary key("yearID","playerID")
);
insert into appearancespost
select distinct yearID, playerID, teamID
from battingpost
union
select distinct yearID, playerID, teamID
from pitchingpost;
alter table "battingpost" drop column "teamID";
alter table "battingpost" drop column "lgID";
alter table "pitchingpost" drop column "teamID";
alter table "pitchingpost" drop column "lgID";
commit;

3
sql/2nf/homegames.sql Normal file
View File

@ -0,0 +1,3 @@
begin;
alter table "homegames" drop column "league.key";
commit;

3
sql/2nf/salaries.sql Normal file
View File

@ -0,0 +1,3 @@
begin;
alter table "salaries" drop column "lgID";
commit;

4
sql/2nf/seriespost.sql Normal file
View File

@ -0,0 +1,4 @@
begin;
alter table "seriespost" drop column "lgIDwinner";
alter table "seriespost" drop column "lgIDloser";
commit;

View File

@ -0,0 +1,15 @@
begin;
create table if not exists "teamshalfdivisions" (
"yearID" numeric,
"teamID" text,
"divID" text,
primary key("yearID","teamID")
);
insert into teamshalfdivisions
select distinct yearid, teamid, divid
from teamshalf;
alter table teamshalf drop column "lgID";
alter table teamshalf drop column "divID";
commit;