Code:
CREATE TABLE States (
id SERIAL,
name VARCHAR,
CONSTRAINT
States_PK PRIMARY KEY(id)
);
CREATE TABLE Cities (
id SERIAL,
name VARCHAR,
start_date DATE,
end_date DATE,
old_id INTEGER,
state_id INTEGER,
CONSTRAINT
Cities_PK
PRIMARY KEY(id),
CONSTRAINT
Cities_Cities_FK
FOREIGN KEY(old_id)
REFERENCES Cities(id),
CONSTRAINT
States_Cities_FK
FOREIGN KEY(state_id)
REFERENCES States(id)
);
CREATE TABLE Sports (
id SERIAL,
name VARCHAR,
CONSTRAINT
Sports_PK PRIMARY KEY(id)
);
CREATE TABLE Conferences (
id SERIAL,
name VARCHAR,
season SMALLINT,
sport_id INTEGER,
CONSTRAINT
Conferences_PK
PRIMARY KEY(id),
CONSTRAINT
Sports_Conferences_FK
FOREIGN KEY(sport_id)
REFERENCES Sports(id)
);
CREATE TABLE Teams (
id SERIAL,
name VARCHAR,
start_date DATE,
end_date DATE,
old_id INTEGER,
city_id INTEGER,
CONSTRAINT
Teams_PK
PRIMARY KEY(id),
CONSTRAINT
Teams_Teams_FK
FOREIGN KEY(old_id)
REFERENCES Teams(id),
CONSTRAINT
Cities_Teams_FK
FOREIGN KEY(city_id)
REFERENCES Cities(id)
);
CREATE TABLE Coaches (
id SERIAL,
name VARCHAR,
CONSTRAINT
Coaches_PK PRIMARY KEY(id)
);
CREATE TABLE Mascotes (
id SERIAL,
name VARCHAR,
start_date DATE,
end_date DATE,
team_id INTEGER,
CONSTRAINT
Mascotes_PK
PRIMARY KEY(id),
CONSTRAINT
Teams_Mascotes_FK
FOREIGN KEY(team_id)
REFERENCES Teams(id)
);
CREATE TABLE Coaches_Teams (
coach_id INTEGER,
team_id INTEGER,
start_date DATE,
end_date DATE,
CONSTRAINT
Coaches__Coaches_Teams_FK
FOREIGN KEY(coach_id)
REFERENCES Coaches(id),
CONSTRAINT
Teams__Coaches_Teams_FK
FOREIGN KEY(team_id)
REFERENCES Teams(id)
);
CREATE TABLE Conferences_Teams (
team_id INTEGER,
conference_id INTEGER,
CONSTRAINT
Teams__Conferences_Teams_FK
FOREIGN KEY(team_id)
REFERENCES Teams(id),
CONSTRAINT
Conferences__Conferences_Teams_FK
FOREIGN KEY(conference_id)
REFERENCES Conferences(id)
);
Bookmarks