我不确定如何在postgresql上创建一个具有不相交子类的表。我在下面的er图中表示了我的问题(非常简化的版本),显示了两个子类和每个子类的属性。
对于所有行通用的列(id、common1、common2),它显然非常简单(如下面的代码所示)。
create table Music (
id serial,
common1 int not null,
common2 boolean not null,
--<what to put here???>
);
但是,我不确定考虑子类问题的最佳方式。有人知道从这里到哪里去吗?
1条答案
按热度按时间cczfrluj1#
postgres表继承的工作方式如下:
考虑一下我们是否在每个表中都有一行。
它们都是一排排的音乐。
如果只想查询音乐中的行,请指定
only music
.如果要使用symphony列,必须查询symphony。
试试看
更传统的结构将使用如下连接表:
试试看