设计具有多个属性值的数据库实体

时间:2016-11-11 13:48:29

标签: database-design

我正在尝试设计一个数据库,其中一个实体是User,其中一个属性是programming_languages,理论上它应该是一个用户的编程语言列表知道。设计这样一个数据库的最佳方法是什么,因为单元格只能保存一个值?我应该创建一个单独的表,其中每行将保存用户的ID和他/她知道的一种语言吗?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

在字段中包含多个值仅在数据是静态且在数据库中不更改时才有用,即,如果您只读取数据库中的字段并在之后处理它。

最好是使用userID和Language创建一个单独的表。两者的结合将是主要关键。这是根据数据库规范化的规则。

UserID          Language

User1           a,b,c
User2           x,y

规范化后

UserID          Language

User1           a
User1           b
User1           c
User2           x
User2           y