使用参考文献:
CREATE TABLE Users (
id int primary key,
name text
);
CREATE TABLE Moderators (
role int,
userid int references Users(id)
);
使用INHERITS:
CREATE TABLE Users (
id int primary key,
name text
);
CREATE TABLE Moderators (
role int
) INHERITS (Users);
除了查询语法的差异外,这两者的性能,可扩展性是否存在差异?
答案 0 :(得分:2)
PostgreSQL中的继承是非常古老的人工制品。在这些日子里,PostgreSQL是关系数据库,它不是OOP数据库。
如果你的模型只是OOP,那么你可能不会碰到一些不需要的文物 - 但是当你尝试混合两种模型时,你可以触摸一些问题 - 参考完整性约束不能很好地支持继承,也许你可以找到一些其他的陷阱。不使用OOP方式,不是首选 - 它只是历史人工制品。