0

この SQL スキーマを 4 つの異なるテーブル (従業員情報、勤務先情報、会社情報、マネージャー情報) を持つ従業員データベースにまとめようとしていますが、スキーマを構築しようとすると次のエラーが発生しました。

Schema Creation Failed: ORA-02291: integrity constraint (USER_4_07688.SYS_C00777054) violated - parent key not found

ここに私のスキーマコードがあります:

create table Employee(
    Lastname    varchar(10),
    FirstName   varchar(10),
    MidInitial  char(1),
    gender      char(1),
    street      varchar(10),
    city        varchar(10),
    primary key(Lastname, FirstName, MidInitial));

create table company(
    company_name    varchar(20),
    city    varchar(10),
    primary key(company_name));

create table Works(
    Lastname    varchar(10),
    FirstName   varchar(10),
    MidInitial  char(1),
    company_name    varchar(20),
    salary      numeric(8,2),
    primary key(Lastname, FirstName, MidInitial, company_name),
    foreign key(Lastname, FirstName, MidInitial) references Employee,
    foreign key(company_name) references company);

create table Manages(
    Lastname    varchar(10),
    FirstName   varchar(10),
    MidInitial  char(1),
    ManagerLastname varchar(10),
    MFirstName  varchar(10),
    MMidInitial char(1),
    start_date  date,
    primary key(Lastname, FirstName, MidInitial, ManagerLastname, MFirstName, MMidInitial),
    foreign key(Lastname, FirstName, MidInitial) references Employee);

私はこれを何度も繰り返してきましたが、整合性制約エラーがどこにあるのかを見つけることができないようです(すべての外部キーとその他のものが正しく並んでいると思いました)...

このエラーの原因となっている可能性のある露骨なエラーがコードに見られる場合は、誰かに知らせてもらえますか?

本当にありがとう!

- -アップデート - -

各外部キーを残りのスキーマで個別にテストし、問題のあるステートメントを見つけました。

foreign key(company_name) references company);

この外部キーが参照しているテーブルは既に作成されているため、他に不足しているものはありますか? 再度、感謝します!

4

0 に答える 0