假设您正在创建一个系统来存储不同国家/地区的特征。将有相同的基本列,如姓名、人口、首都等。但是让我们说,除此之外你还想存储一些国家特定信息,如最高的山峰、最近的海洋、最著名的食物等。这些列对于每个人来说都是不同的国家。
如何使用 MySQL 等关系数据库来完成此操作。 我知道使用像 MongoDB 这样的无模式 NoSQL 数据库会更容易,每个国家/地区都可以存储为单独的文档。但是可以使用关系数据库来完成这样的事情吗?
最佳答案
只有文本字段,您需要两个额外的表:
- properties(包含属性的名称,例如“最高的山”)
- country_properties(包含国家/地区属性对的值:例如:国家/地区“奥地利”的 ID、“最 Alpine ”的属性(property) ID、“山名”)
或者,如果只有几个属性,只需为未知值存储 NULL。
关于mysql - 如何使用表中不同数量的列来设计数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9434161/