Database 数据库,表继承?
这是关于数据库结构的。(遗产) 假设你有Database 数据库,表继承?,database,schema,Database,Schema,这是关于数据库结构的。(遗产) 假设你有Place和Restaurant和Cafe是Place的两个子类型 您可以创建一个Place表来保存子类型的公共信息。 并创建一个外键以连接到retaarant或Cafe实例 或 你可以在餐厅和咖啡馆 我来自Django,很多人似乎更喜欢2而不是1 是否有一个引人注目的场景,你应该选择一个而不是另一个 我认为我需要#1的一个场景是,将所有位置一起排序。(我们可以使用#2吗?我想我会选择#2,因为您不必考虑关系和外键,而且模型本身是完整的,所以您可以复制数据
Place
和Restaurant
和Cafe
是Place的两个子类型
Place
表来保存子类型的公共信息。并创建一个外键以连接到
retaarant
或Cafe
实例餐厅
和咖啡馆
位置
一起排序。(我们可以使用#2吗?我想我会选择#2,因为您不必考虑关系和外键,而且模型本身是完整的,所以您可以复制数据库并将其用于其他用途。
此外,您只需查询一个表而不是两个表
如果需要对餐厅和咖啡馆进行排序,可以使用SQL联合运算符。
假设您有两个简单的表:
restaurant
id | name | likes
-------------------------
1 | Steakhouse | 5
2 | Italian Food | 3
cafe
id | name | likes
--------------------------
1 | Starbucks | 0
您可以使用UNION运算符查询它们,如下所示:
SELECT * FROM cafe
UNION
SELECT * FROM restaurant
ORDER BY likes DESC
这将返回一份由喜欢的人订购的咖啡馆和餐馆的列表,就好像它们来自同一张桌子一样。对不起,我听不懂你的最后一句话。你们如何用sql中的#2按相似计数对餐厅和咖啡馆进行分类?对不起,我想说的是联盟不加入。我将编辑我的回答您使用的是哪种DBMS?Postgres本机支持表继承。我正在使用Postgres,duh。