Your question is typically too broad to fit in a post here, but I'll draw out some lines that might help you to get a start.
A vehicle can be either a boat or a car. A good place to start is to think of what identifies a vehicle? Since I don't know your business I'll assume that there exists some kind of vehicle_id, note that this can be a combination of attributes:
CREATE TABLE VEHICLE
( VEHICLE_ID ... NOT NULL
, other attributes such as brand
, VEHICLE_TYPE CHAR(4) NOT NULL
, PRIMARY KEY (VEHICLE_ID)
, CHECK (VEHICLE_TYPE IN ('CAR','BOAT')
);
If you want type safe sub-types (to prevent someone to add a boat in the car table), you can add a super-key in the vehicle table:
CREATE TABLE VEHICLE
( VEHICLE_ID ... NOT NULL
, other attributes such as brand
, VEHICLE_TYPE CHAR(4) NOT NULL
, PRIMARY KEY (VEHICLE_ID)
, CHECK (VEHICLE_TYPE IN ('CAR','BOAT')
UNIQUE (VEHICLE_TYPE, VEHICLE_ID)
);
A boat can be represented by:
CREATE TABLE BOAT
( VEHICLE_ID ... NOT NULL
, other attributes such as registry
, VEHICLE_TYPE CHAR(4) NOT NULL
, PRIMARY KEY (VEHICLE_ID)
, CHECK (VEHICLE_TYPE = 'BOAT')
FOREIGN KEY (VEHICLE_TYPE, VEHICLE_ID)
REFERENCES VEHICLE (VEHICLE_TYPE, VEHICLE_ID)
);
and a similar one for car:
CREATE TABLE CAR
( VEHICLE_ID ... NOT NULL
, other attributes such as seats
, VEHICLE_TYPE CHAR(4) NOT NULL
, PRIMARY KEY (VEHICLE_ID)
, CHECK (VEHICLE_TYPE = 'CAR')
FOREIGN KEY (VEHICLE_TYPE, VEHICLE_ID)
REFERENCES VEHICLE (VEHICLE_TYPE, VEHICLE_ID)
);
Since registry is an attribute of both car and boat you might concider adding that attribute to vehicle.
An order could be represented as ( I assume the is an order_id that can be used to identify an order):
CREATE TABLE ORDER
( ORDER_ID ... NOT NULL PRIMARY KEY
, VEHICLE_ID ... NOT NULL
REFERENCES VEHICLE (VEHICLE_ID)
, BUYER_ID ... NOT NULL
REFERENCES BUYERS (BUYER_ID)
, other attributes such as date_of_contract
);
This is just a rough sketch and probably full of false assumptions. I would start with identifying what tables that are involved. Once that is done, start thinking about what identifies a row in each table.