2016-11-03 6 views
0

を作成SQL:これは私の部分に全く素人時間であるため、主キーと外部キーの参照元を持つテーブル(事前に申し訳

これは私のグループは、SQL devの中で作成するために割り当てられているデータベース・スキーマです

Database schema

私は、テーブルの著者を作成することだし、それはすべて良いことだ 等の外部キーに

を参照困難を抱えている。私はちょっとわからないんだ多分もしaNameは、固有の識別子であるかどうか、主キー。

CREATE TABLE AUTHOR 
(
aName varchar (60), 
book varchar (60) PRIMARY KEY 
); 

しかし、私は(私は本当にカントーをしようとしている)ので、SQLの私の無能の私はトラブルに実行BOOKテーブルを作成しようとします。

CREATE TABLE BOOK 
(
ISBN INTEGER PRIMARY KEY, 
year integer CHECK (yearBETWEEN 1900 AND 2016), 
title varchar (60) FOREIGN KEY REFERENCES FORFATTER (BOK), 
publisher utgiver varchar (90), 
); 

私は私は外部キーを参照しようとしているライン上のエラー「欠けている右括弧」を取得するスクリプトを実行してみてください。私の推測は、それは構文エラーですが、私はそれを把握することはできません。

他に何か私は私の周りを得ることはできませんどのように私はBOOKテーブルの年の列にテーブルの主キーブックを参照しています。

同じことが、BOOKテーブルのPublisherとPUBLISHERテーブルのURL列の間の矢印になります。どちらもプライマリ・キーでない場合、どのようにしてそれらを互いに参照できますか?

私はスキーマを間違って読んでいるかもしれないし、私の混乱の一部につながるかもしれない部分を読んでいる可能性もあります。あなたが私を助けたり、何らかの方向性を与えることができれば、それは非常に高く評価されます。

答えて

0

インラインの外部キーの場合、foreign keyキーワードは使用できません。あなたはまた、最後に,ぶら下がりがあります。また

CREATE TABLE BOOK 
(
    ISBN INTEGER PRIMARY KEY, 
    year integer CHECK (year BETWEEN 1900 AND 2016), 
    title varchar (60) REFERENCES FORFATTER (BOK), 
    publisher utgiver varchar (90) --<<< remove the comma here 
); 

:魔法のように

CREATE TABLE BOOK 
(
    ISBN INTEGER PRIMARY KEY, 
    year integer CHECK (year BETWEEN 1900 AND 2016), 
    title varchar (60), 
    publisher utgiver varchar (90), --<< for this syntax you need the comma 
    foreign key (title) REFERENCES FORFATTER (BOK) 
); 
+0

作品を、ありがとうございました! – Peter

関連する問題