2

簡単な質問があります。テーブルは、外部キーとして唯一の主キーを持つことができますか?

明確にするために。テーブルを作成していると、複数のキーを持つテーブルがあり、そのうちのいくつかは外部キーです。例えば:

create table Pet(
Name varchar(20),
Owner char(1),
Color varchar(10),
primary key(Name, Owner),
foreign key(Owner) referecnes Person(Ssn)
);

だから今、私はこのようなことをすることが可能かどうか疑問に思っています:

create table WorksAs(
Worker char(1),
Work varcahr(30),
primary key(Worker),
foreign key(Worker) references Person(Ssn)
);

これにより、まったく同じ主キーを持つ 2 つのテーブルが作成されます。これは避けるべきものですか、それともデータベースを設計するのに適した方法ですか? 上記が適切な基準でない場合は、Work 変数も主キーにするだけで問題ありませんが、不要な場合はスキップする方が簡単なようです。

4

4 に答える 4

2

はい、それを行うことは完全に合法です。

実際、これはIS-A 関係の基礎です ;)

于 2013-10-14T10:36:15.403 に答える