Как привязать ключи в таблицах баз данных?
Значение code необходимо задавать явно для каждой записи в trace или использовать тип SERIAL. Это поле не может быть null, так как является первичным ключом.
Ну и не заданы отношения FOREIGN KEY.
Я бы предложил следующую структуру таблиц:
CREATE TABLE employees (
	id SERIAL PRIMARY KEY,
	manager_id INT REFERENCES employees(id),
	full_name VARCHAR,
	address VARCHAR,
	phone VARCHAR,
	hired_at TIMESTAMP,
	fired_at TIMESTAMP
);

CREATE TABLE order_states (
	id SERIAL PRIMARY KEY,
	state VARCHAR
);

CREATE TABLE orders (
	id SERIAL PRIMARY KEY,
	customer VARCHAR,
	address VARCHAR,
	courier_id INT REFERENCES employees(id),
	price NUMERIC
);

CREATE TABLE trace (
	id BIGSERIAL PRIMARY KEY,
	state_id INT REFERENCES order_states(id),
	order_id INT REFERENCES orders(id),
	updated_at TIMESTAMP
);

CREATE INDEX idx_employees_manager_id ON employees(manager_id);

CREATE INDEX idx_orders_courier_id ON orders(courier_id);

CREATE INDEX idx_trace_state_id_order_id ON trace(state_id, order_id);
SQLize online