一个常见问题,寻求最优方法有一个user表,是记录用户属性的。
比如:
id name 站点管理员,可以自己添加设置用户的属性 及 属性类型。现在的设计是有两个表:一个 user表:
id name
存储了最基本的属性;一个是user_fields表
id fields_name fields_type
存储了站点管理员添加的其他新属性如果说在user_fields表里添加了一个新的属性,例如sex,
id fields_name fields_type
1 sex int那么为了存储用户的sex的值,就会在user表里多添加一个字段
user表
id name sex现在的问题是,如果管理员添加的属性越来越多 越来越多,那么这个user表横着方向就越来越长,不好.......
有什么号的数据表设计方式啊??
对于某些允许用户自行添加的属性,在一些软件中是这样实现的。
另建一个属性表 user_fld_value ( id,fldName,fldValueNumeric,fldValueChar)
其实易扩展的角度来说,一种情况可以采用保留字段法;一种建立一个扩展字段的列表表,这里面有ID值标识,以便区分是哪个表的哪个字段,然后再用一表记录对应前面的ID值及其对应value。