小编ali*_*noi的帖子

当 PK 复合时,如何强制父母必须至少有一个孩子?

考虑以下业务领域:

  • AnAirline具有唯一的航空公司 ID ( aid) 并包含零个或多个Planes
  • A在其飞行目的地中Plane有一个唯一的飞机 id ( pid) Airline(但来自不同国家的飞机Airlines可以有重叠ids)。
  • 每个Plane都有一个或多个Seats
  • A在其平面上Seat有一个唯一的座位 id ( sid) (但Seats不同的座位 idPlanes可能有重叠ids)。

到目前为止我的尝试

这是我解决这个问题的尝试:

CREATE SEQUENCE planes_seq;

CREATE TABLE Airlines (
    aid INTEGER PRIMARY KEY DEFAULT nextval('planes_seq')
);

CREATE TABLE Planes (
    aid INTEGER REFERENCES Airlines(aid)
,   pid INTEGER
,   PRIMARY KEY(aid, pid)
);

CREATE TABLE Seats ( …
Run Code Online (Sandbox Code Playgroud)

postgresql database-design constraint

4
推荐指数
1
解决办法
853
查看次数

标签 统计

constraint ×1

database-design ×1

postgresql ×1