-, (Id, SomeBoolean), A CHECK FK_BSomeBoolean, , . BTW BIT CHAR(1) , .
CHECK (SomeBoolean IN ('F', 'T'))
:
CREATE TABLE B
(
Id INTEGER NOT NULL UNIQUE,
Name VARCHAR(20) NOT NULL UNIQUE,
SomeBoolean CHAR(1) DEFAULT 'F' NOT NULL
CHECK (SomeBoolean IN ('F', 'T')),
UNIQUE (Id, SomeBoolean)
);
CREATE TABLE A
(
Ib INTEGER NOT NULL UNIQUE,
FK_BId CHAR(1) NOT NULL,
FK_BSomeBoolean CHAR(1) DEFAULT 'T' NOT NULL
CHECK (FK_BSomeBoolean = 'T')
FOREIGN KEY (FK_BId, FK_BSomeBoolean)
REFERENCES B (Id, SomeBoolean)
);