CREATE TABLE motoristas (
    pessoa_id     bigint NOT NULL,
    situacao      SMALLINT DEFAULT 1 NOT NULL,
    numero_cnh    bigint,
    validade_cnh  DATE,
    emissao_cnh   DATE,
    categoria_cnh VARCHAR2(2 CHAR)
);

ALTER TABLE motoristas
    ADD CHECK ( situacao IN ( 0, 1 ) );

ALTER TABLE motoristas
    ADD CHECK ( categoria_cnh IN ( 'A', 'AB', 'AC', 'AD', 'AE',
                                   'B', 'C', 'D', 'E', 'O' ) );

COMMENT ON COLUMN motoristas.categoria_cnh IS
    'A	veículo de 2 ou 3 rodas, com motor de propulsão.
B	veículo com até 3500 kg e até 8 lugares além do condutor
C	veículo usado no transporte de carga e cujo peso exceda 3500 kg
D	veículo para transporte de passageiro com mais de 8 lugares
E	veículos que se enquadram na categoria "B", "C" ou "D"   e a unidade acoplada tenha 6000 kg de peso bruto total ou mais, a lotação exceda 8 lugares ou ainda se enquadre na categoria trailler.
AB	Categoria A + Categoria B
AC	Categoria A + Categoria C
AD	Categoria A + Categoria D
AE	Categoria A + Categoria E
O	Outros (Aéreo, Ferroviário, Aquaviário)';