我正在创建一个网络应用程序,让用户可以搜索餐馆和咖啡馆。由于我目前没有其他类型的数据来区分这两者,我有两个选项来存储餐馆列表。
我永远不需要执行从两者中收集数据的查询,所以对我来说唯一重要的是性能。你会建议什么是PostgreSQL更好的选择?
答案 0 :(得分:2)
典型的数据库建模适用于单个表。主要原因是可维护性。如果您有两个具有相同列的表,并且您的客户端决定要添加列,请说明操作时间。您现在必须编写两组代码来创建列,读取新列,更新新列等。此外,如果您的客户希望您开始跟踪条,如果您需要第三个表与第三组码。它变得很乱。最好有两个表,一个数据表(比如建立)和大多数列(名称,位置等),然后是第二个表,它是一个"类型"表(比如EstablishmentType),餐馆,咖啡厅,酒吧等都有一排。当然还有连接两者的外键。这样你就可以拥有" X"类型,只需要维护一组代码。
此规则当然有例外,您可能需要单独的表格:
if
逻辑的麻烦。如果是这样的话,两个单独的表是一个更清洁和合理的选择。答案 1 :(得分:0)
最后我选择使用2个单独的表,因为我真的永远不需要同时搜索这两个表,这样我将来可以扩展单个表,如果我需要添加另一个特定的数据字段以咖啡馆为例。