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