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

Database design 设计具有多个属性值的数据库实体,database-design,Database Design,我正试图设计一个数据库,其中一个实体将是用户,它的一个属性将是编程语言,理论上它应该包含一个用户知道的编程语言列表。既然单元格只能保存一个值,那么设计这样一个数据库的最佳方法是什么?我是否应该创建一个单独的表,其中每一行都包含一个用户的id和他/她知道的一种语言?或者有更好的方法吗?只有当数据是静态的且在数据库中没有更改时,在一个字段中有多个值才有用,也就是说,如果您只从数据库中读取字段,然后再对其进行处理 更好的方法是使用userID和语言创建一个单独的表。两者的结合将是主键。这是符合数据库规

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

只有当数据是静态的且在数据库中没有更改时,在一个字段中有多个值才有用,也就是说,如果您只从数据库中读取字段,然后再对其进行处理

更好的方法是使用userID和语言创建一个单独的表。两者的结合将是主键。这是符合数据库规范化的规则

UserID          Language

User1           a,b,c
User2           x,y
正常化后

UserID          Language

User1           a
User1           b
User1           c
User2           x
User2           y