1

プロジェクトには、役割がプロジェクト リーダーである従業員を 1 人だけ含めることができるが、同時に、異なる役割を持つ他の従業員を含めることができることを確認する制約を作成しようとしています。

私のテーブル定義:

CREATE TABLE employee
( employee_id INT NOT NULL PRIMARY KEY
,employee_role VARCHAR(15) NOT NULL
, CHECK (employee_role in ('project_leader', 'administrator', 'member')) 
)


CREATE TABLE project
( project_id INT NOT NULL PRIMARY KEY
, name VARCHAR(50)
, employee_id INT NOT NULL
, employee_role VARCHAR(15) NOT NULL
, CONSTRAINT employee_project_FK
    FOREIGN KEY (employee_id, employee_role)
    REFERENCES employee (employee_id, employee_role)
, CONSTRAINT only_one_project_leader
    CHECK (employee_role = 'project_leader')
) ;

これを制約でどのように表現できるか、何を変更する必要があるかは不明です。誰かが私が間違っていることを教えてくれたら、感謝します。

4

1 に答える 1