CREATE TABLE IF NOT EXISTS "boathouse" ( "id" INTEGER PRIMARY KEY AUTOINCREMENT, "boat_id" INTEGER NOT NULL REFERENCES boat(id), "aisle" TEXT NOT NULL CHECK (aisle in ('water', 'middle', 'mountain')), "side" TEXT NOT NULL CHECK(side IN ('mountain', 'water')), "level" INTEGER NOT NULL CHECK(level BETWEEN 0 AND 3), CONSTRAINT unq UNIQUE (aisle, side, level) -- only 1 boat allowed to rest at each space );