判断する前に、私が質問をする理由がわからないことを覚えておいてください。過去に発生した反対票に落胆しています。
Oracle 10g でデータベースを作成する必要があり、テンプレートを使用して新しいテーブルを作成しています。データベースは架空の Facebook アプリケーションに関するものです。
とりわけ、3 つの属性を持つ "like" 関係が含まれており、そのすべてがキーであると想定されています。
like:
username: key
message_author: key
message_code: key
私が言ったように、ユーザーとメッセージの 2 つのエンティティ間の関係です。
他のテーブルに接続された 3 つの外部キーのようにテーブルをセットアップしようとしましたが、オラクルはそれを受け入れません。
次のエラー メッセージが表示されます。
FK like_FK2 の作成に失敗しました ORA-02270: この列リストに一致する一意キーまたは主キーがありません
ORA-00942: 表またはビューが存在しません
ORA-06510: PL/SQL: 未処理のユーザー定義例外です
キーに何か問題があると思いますが、それが何であるか理解できません
SQL コマンド:
CREATE table "ΑΡΕΣΕΙ" (
"ΟΝΟΜΑΧΡΗΣΤΗ" VARCHAR2(30) NOT NULL,
"ΣΥΓΦΕΑΣ_ΜΗΝΤΟΣ" VARCHAR2(30) NOT NULL,
"ΚΩΔΜΗΝΥΜΑΤΟΣ" NUMBER NOT NULL
)
/
ALTER TABLE "ΑΡΕΣΕΙ" ADD CONSTRAINT "ΑΡΕΣΕΙ_FK"
FOREIGN KEY ("ΟΝΟΜΑΧΡΗΣΤΗ")
REFERENCES "ΧΡΗΣΤΗΣ" ("ΟΝΟΜΑΧΡΗΣΤΗ")
/
ALTER TABLE "ΑΡΕΣΕΙ" ADD CONSTRAINT "ΑΡΕΣΕΙ_FK2"
FOREIGN KEY ("ΣΥΓΦΕΑΣ_ΜΗΝΤΟΣ")
REFERENCES "ΜΗΝΥΜΑ" ("ΣΥΓΦΕΑΣ_ΜΗΝΤΟΣ")
/
ALTER TABLE "ΑΡΕΣΕΙ" ADD CONSTRAINT "ΑΡΕΣΕΙ_FK3"
FOREIGN KEY ("ΚΩΔΜΗΝΥΜΑΤΟΣ")
REFERENCES "ΜΗΝΥΜΑ" ("ΚΩΔΜΗΝΥΜΑΤΟΣ")
/
alter table "ΑΡΕΣΕΙ" add
constraint ΑΡΕΣΕΙ_UK1
unique ("ΚΩΔΜΗΝΥΜΑΤΟΣ")
/