【发布时间】:2020-02-12 00:42:34
【问题描述】:
我正在对数据库中的 Peer 2 Peer Relation 建模(H2,特别是对于这个问题,任何 RDBMS 都应该这样做。)
说,我有一个设备表
CREATE TABLE EQUIPMENTS (
ID LONG PRIMARY KEY,
VENDOR VARCHAR(50) NOT NULL,
MODEL VARCHAR(50) NOT NULL,
PORT VARCHAR(50),
peer_equipment_id LONG REFERENCES EQUIPMENTS(ID)
);
现在,假设我必须在该表中插入 2 条记录,如下所示:
insert into EQUIPMENTS
(ID, VENDOR, MODEL, PORT, peer_equipment_id)
VALUES (1, 'vendor1', 'model1', 'port3', 2);
由于 id = 2 的设备行尚未在 DB 中,因此 DB 给出了违反参照完整性约束的错误。
应该如何建模这种关系并仍然保持参照完整性?
任何见解都会有所帮助。非常感谢。
【问题讨论】:
标签: sql database-design constraints