CREATE TABLE Sponsor (
sponsor_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
description TEXT,
contacts VARCHAR(100)
);
CREATE TABLE Venue (
venue_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
address VARCHAR(200),
capacity INT,
description TEXT
);
CREATE TABLE Competition (
competition_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
date DATE,
description TEXT,
venue_id INT,
FOREIGN KEY (venue_id) REFERENCES Venue(venue_id)
);
CREATE TABLE Funds (
sponsor_id INT,
competition_id INT,
amount DECIMAL(10,2),
funding_date DATE,
PRIMARY KEY (sponsor_id, competition_id),
FOREIGN KEY (sponsor_id) REFERENCES Sponsor(sponsor_id),
FOREIGN KEY (competition_id) REFERENCES Competition(competition_id)
);
CREATE TABLE Athlete (
athlete_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
birth_date DATE,
description TEXT
);
CREATE TABLE Participates (
athlete_id INT,
competition_id INT,
participant_number INT,
result VARCHAR(50),
PRIMARY KEY (athlete_id, competition_id),
FOREIGN KEY (athlete_id) REFERENCES Athlete(athlete_id),
FOREIGN KEY (competition_id) REFERENCES Competition(competition_id)
);
CREATE TABLE Spectator (
spectator_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
ticket_number VARCHAR(50),
contacts VARCHAR(100)
);
CREATE TABLE Attends (
spectator_id INT,
competition_id INT,
attendance_datetime DATETIME,
seat_location VARCHAR(50),
PRIMARY KEY (spectator_id, competition_id),
FOREIGN KEY (spectator_id) REFERENCES Spectator(spectator_id),
FOREIGN KEY (competition_id) REFERENCES Competition(competition_id)
);