HW1
CREATE TABLE rental ( rental_id SERIAL PRIMARY KEY, player_id INT NOT NULL, computer_id INT NOT NULL, start_time TIMESTAMP NOT NULL, end_time TIMESTAMP, price DECIMAL(6, 2) NOT NULL ); CREATE TABLE employee ( employee_id SERIAL PRIMARY KEY, name CHAR(50) NOT NULL, job CHAR(50) NOT NULL, hire_date DATE NOT NULL, salary DECIMAL(8, 2) NOT NULL, club_id INT NOT NULL ); CREATE TABLE player ( player_id SERIAL PRIMARY KEY, name CHAR(50) NOT NULL, phone_number CHAR(20) NOT NULL, email CHAR(100), registration_date DATE ); CREATE TABLE pc_club ( club_id SERIAL PRIMARY KEY, name CHAR(50) NOT NULL, computers_amount INT NOT NULL, address CHAR(50) NOT NULL, opening_hours CHAR(50) NOT NULL ); CREATE TABLE computer ( computer_id SERIAL PRIMARY KEY, characteristics TEXT, status CHAR(20) NOT NULL, club_id INT NOT NULL ); ALTER TABLE employee ADD CONSTRAINT fk_employee_club FOREIGN KEY (club_id) REFERENCES pc_club(club_id) ON DELETE CASCADE; ALTER TABLE computer ADD CONSTRAINT fk_computer_club FOREIGN KEY (club_id) REFERENCES pc_club(club_id) ON DELETE CASCADE; ALTER TABLE rental ADD CONSTRAINT fk_rental_player FOREIGN KEY (player_id) REFERENCES player(player_id) ON DELETE CASCADE; ALTER TABLE rental ADD CONSTRAINT fk_rental_computer FOREIGN KEY (computer_id) REFERENCES computer(computer_id) ON DELETE CASCADE; ALTER TABLE player ALTER COLUMN registration_date SET DEFAULT CURRENT_DATE;
Поле characteristics у computer - это всякие cpu, gpu, записанные сплошным текстом. Поле status у computer - это в каком состоянии сейчас находится компьютер (занят, в ремонте и т.д.)
P.S. решил поменять тип у айдишников на serial.