0

タイプ アーキテクチャごとのテーブルで、学生と教師の 2 つのサブタイプを持つタイプ Person があるとします。学生は教師になることはできませんし、教師は学生になることもできません。

以下は、これまでにこれらを設定する方法を知っている最良の方法です。

Geometry
  ID int, PK
  Name string

Point
  ID int, PK, FK
  X float
  Y float

Line
  ID int, PK, FK
  StartPoint int, FK
  EndPoint int, FK

サブタイプの場合、主キーは Geometry への外部キーでもあることに注意してください。ポイントとラインの両方であるジオメトリがないことを確認するにはどうすればよいですか? ある種の相互に排他的な制約はありますか?

唯一の解決策がベンダー固有のトリガーのようなものを使用することである場合、それを行うか、後で通信やクライアントなどの別の場所でこれを強制する方がよいでしょうか?

ありがとう!

4

1 に答える 1

0

StackOverflow とデータベース管理者に関する同様の質問がいくつかあり、参考になるかもしれません。この関連する質問を参照してください。

SQL で他のいくつかのエンティティの 1 つを参照する 1 つのエンティティをモデル化するにはどうすればよいですか?

于 2013-03-28T20:39:59.397 に答える