私はこれを持っています:
create table airport
(idairport varchar(1),
name varchar(1),
city varchar(1),
primary key(idairport));
1 つの都市に 3 つ以上の空港がないことを確認することはできますか?
編集:
演習は次のとおりです。
リレーショナル モデルに概念スキーマを変換します。各空港について、そこにいた航空機と可能な目的地を知りたいです。モデルが正規化されていない場合は、null 値が存在しないように正規化します。
制約:
- 空港を出発して同じ空港に着陸するフライトはありません。
- 都市には、多くても 3 つの空港があります。
解決策は、「CREATE TABLE」文のセットでなければなりません。できるだけ多くの整合性制約を表現してください。リレーショナル変換のため、すべて「NOT NULL」を指定し、これらのみを指定してください。さらに、必要な外部キーと代替キー (UNIQUE+NOT NULL) を定義することを忘れないでください。
翻訳後(間違いでなければ):
create table aircraft
(idaircraft varchar(1),
seating varchar(1),
primary key(idaircraft));
create table destination
(idairportorigin varchar(1) references airport(idairport),
idairportdestination varchar(1) references airport(idairport),
idaircraft varchar(1),
check(idairportorigin <> idairportdestination),
primary key(idairportorigin, idairportdestination, idaircraft),
foreign key (idaircraft) references aircraft(idaircraft));