In Datagrip when I create a table, an error pops up that I don’t understand what it can be connected with. Help me fix it. Since the previous ones seem to be created. There is a ship with a primary key. And then an error pops up in the passenger table.
ERROR: multiple ship keys for table "ship" are not allowed Position 100
CREATE TABLE Capitan( ID_Capitan INT NOT NULL PRIMARY KEY CHECK(ID_Capitan > 0), First_name VARCHAR(16) NOT NULL, Second_name VARCHAR(16) NOT NULL, Third_name VARCHAR(16) NOT NULL, Passport_ID VARCHAR(20) NOT NULL, Years_of_experience INT NOT NULL, Permission_to_operate_ships BOOLEAN NOT NULL ); CREATE TABLE Ship( Number_of_ship INT NOT NULL PRIMARY KEY, Serial_of_ship VARCHAR(2) NOT NULL PRIMARY KEY, Name_of_ship VARCHAR(20) NOT NULL, Year_of_issue DATE NOT NULL, Cost_of_annual_maintenance INT NOT NULL, Act_of_cancellation INT NOT NULL, Status_of_ship VARCHAR(20) NOT NULL, ABC_Analysis VARCHAR(1) NOT NULL ); CREATE TABLE Port( Name_of_port VARCHAR(20) NOT NULL PRIMARY KEY, Country VARCHAR(20) NOT NULL, City VARCHAR(20) NOT NULL, Latitude FLOAT NOT NULL, Longitude FLOAT NOT NULL, Cost_of_stay_in_port MONEY NOT NULL, Ship_unloading_cost MONEY NOT NULL ); CREATE TABLE Voyage( Voyage_number INT NOT NULL PRIMARY KEY, Flotilia TEXT[][] NOT NULL, Departure_date DATE NOT NULL, Arrival_date DATE NOT NULL, Total_distance FLOAT NOT NULL, Passed_passengers INT NOT NULL, Risen_passengers INT NOT NULL, Unloaded_tone FLOAT NOT NULL, Loaded_tone FLOAT NOT NULL ); CREATE TABLE Client( ID_Client INT NOT NULL PRIMARY KEY, First_name VARCHAR(16) NOT NULL, Second_name VARCHAR(16) NOT NULL, Third_name VARCHAR(16) NOT NULL, Passport_ID VARCHAR(20) NOT NULL, Photograph BYTEA NOT NULL, Customers_internal_account VARCHAR(20) NOT NULL ); CREATE TABLE Ticket( Identification_code VARCHAR(20) NOT NULL PRIMARY KEY, Voyage_number INT NOT NULL REFERENCES Voyage, Serial_number INT NOT NULL REFERENCES Table_of_ports, ID_Client INT NOT NULL REFERENCES Client, Class_of_cabin VARCHAR(20) NOT NULL REFERENCES Cabin_class, Number_of_ship INT NOT NULL REFERENCES Ship, Serial_of_ship VARCHAR(20) NOT NULL REFERENCES Ship, Cost_of_ticket MONEY NOT NULL ); CREATE TABLE Ship_declaration( Barcode INT NOT NULL PRIMARY KEY, Voyage_number INT NOT NULL REFERENCES Voyage, Serial_number INT NOT NULL REFERENCES Table_of_ports, Name_of_cargo VARCHAR(20) NOT NULL REFERENCES Type_of_cargo, Number_of_ship INT NOT NULL REFERENCES Ship, Serial_of_ship VARCHAR(20) NOT NULL REFERENCES Ship, ID_Client INT NOT NULL REFERENCES Client, Tonnage FLOAT NOT NULL, Cost_of_declaration MONEY NOT NULL ); CREATE TABLE Cabin_class( Cabin_of_class VARCHAR(20) NOT NULL PRIMARY KEY, Number_of_ship INT NOT NULL REFERENCES Ship, Serial_of_ship VARCHAR(20) NOT NULL REFERENCES Ship, Number_of_places INT NOT NULL, Cost_of_cabin MONEY NOT NULL ); CREATE TABLE Type_of_cargo( Name_of_cargo VARCHAR(20) NOT NULL PRIMARY KEY, Number_of_ship INT NOT NULL REFERENCES Ship, Serial_of_ship VARCHAR(20) NOT NULL REFERENCES Ship, Number_of_goods INT NOT NULL, Cost_of_cardo MONEY NOT NULL ); CREATE TABLE Freight( Number_of_ship INT NOT NULL REFERENCES Ship, Serial_of_ship VARCHAR(20) NOT NULL REFERENCES Ship, Tonnage_of_ship INT NOT NULL ); CREATE TABLE Passenger( Number_of_ship INT NOT NULL REFERENCES Ship, Serial_of_ship VARCHAR(20) NOT NULL REFERENCES Ship, Number_of_cabins INT NOT NULL );