BEGIN;
attach database 'baseball-transformed.db' as 'transformed';

create table if not exists "awards" (
	"ID"	text,
	primary key("ID")
);

insert into awards
select distinct * from "transformed"."awards";

CREATE TABLE IF NOT EXISTS "franchises" (
	"ID"	TEXT,
	"name"	TEXT,
	"active"	TEXT,
	"NAassoc"	TEXT,
	PRIMARY KEY("ID")
);

insert into franchises
select distinct * from "transformed"."franchises";

create table if not exists "franchiseseasons" (
	"year"	NUMERIC,
	"league"	TEXT,
	"team"	TEXT,
	"franchise"	TEXT,
	"division"	TEXT,
	"Rank"	NUMERIC,
	"G"	NUMERIC,
	"Ghome"	NUMERIC,
	"W"	NUMERIC,
	"L"	NUMERIC,
	"DivWin"	NUMERIC,
	"WCWin"	NUMERIC,
	"LgWin"	NUMERIC,
	"WSWin"	NUMERIC,
	"R"	NUMERIC,
	"AB"	NUMERIC,
	"H"	NUMERIC,
	"2B"	NUMERIC,
	"3B"	NUMERIC,
	"HR"	NUMERIC,
	"BB"	NUMERIC,
	"SO"	NUMERIC,
	"SB"	NUMERIC,
	"CS"	NUMERIC,
	"HBP"	NUMERIC,
	"SF"	NUMERIC,
	"RA"	NUMERIC,
	"ER"	NUMERIC,
	"ERA"	NUMERIC,
	"CG"	NUMERIC,
	"SHO"	NUMERIC,
	"SV"	NUMERIC,
	"IPouts"	NUMERIC,
	"HA"	NUMERIC,
	"HRA"	NUMERIC,
	"BBA"	NUMERIC,
	"SOA"	NUMERIC,
	"E"	NUMERIC,
	"DP"	NUMERIC,
	"FP"	NUMERIC,
	"name"	NUMERIC,
	"park"	NUMERIC,
	"attendance"	NUMERIC,
	"BPF"	NUMERIC,
	"PPF"	NUMERIC,
	"teamIDBR"	TEXT,
	"teamIDlahman45"	TEXT,
	"teamIDretro"	TEXT,
	PRIMARY KEY("year","franchise"),
	foreign key("year") references "seasons"("year"),
	foreign key("franchise") references "franchises"("ID")
);

insert into franchiseseasons
select distinct * from "transformed"."franchiseseasons";

create table if not exists "seasons" (
	"year"	numeric,
	primary key("year")
);

insert into seasons
select distinct * from "transformed"."seasons";

CREATE TABLE "people" (
	"ID"	text,
	"birthYear"	NUMERIC,
	"birthMonth"	NUMERIC,
	"birthDay"	NUMERIC,
	"birthCountry"	text,
	"birthState"	text,
	"birthCity"	text,
	"deathYear"	text,
	"deathMonth"	text,
	"deathDay"	text,
	"deathCountry"	text,
	"deathState"	text,
	"deathCity"	text,
	"nameFirst"	text,
	"nameLast"	text,
	"nameGiven"	text,
	"weight"	NUMERIC,
	"height"	NUMERIC,
	"bats"	text,
	"throws"	text,
	"debut"	text,
	"finalGame"	text,
	"retroID"	text,
	"bbrefID"	text,
	primary key("ID")
);

INSERT INTO "people" SELECT DISTINCT * FROM "transformed"."people";

CREATE TABLE IF NOT EXISTS "parks" (
	"ID"	TEXT,
	"name"	TEXT,
	"city"	TEXT,
	"state"	TEXT,
	"country"	TEXT,
	PRIMARY KEY("ID")
);

insert into "parks" select distinct * from "transformed"."parks";

CREATE TABLE IF NOT EXISTS "parkaliases" (
	"park"	TEXT,
	"alias"	TEXT,
	PRIMARY KEY("park","alias"),
	foreign key("park") references "parks"("ID")
);

insert into "parkaliases" select distinct * from "transformed"."parkaliases";

CREATE TABLE IF NOT EXISTS "collegeplaying" (
	"player"	TEXT,
	"school"	TEXT,
	"year"	NUMERIC,
	PRIMARY KEY("player","year","school"),
	foreign key("player") references "people"("ID"),
	foreign key("school") references "schools"("ID")
);

insert into collegeplaying select distinct * from "transformed"."collegeplaying";

CREATE TABLE IF NOT EXISTS "schools" (
	"ID"	TEXT,
	"name_full"	TEXT,
	"city"	TEXT,
	"state"	TEXT,
	"country"	TEXT,
	PRIMARY KEY("ID")
);

insert into schools select distinct * from "transformed"."schools";
COMMIT;
