当前位置: 代码迷 >> Sql Server >> 这种情况数据库应该如何设计最佳
  详细解决方案

这种情况数据库应该如何设计最佳

热度:78   发布时间:2016-04-24 10:35:46.0
这种情况数据库应该怎么设计最佳?
现在客户要求做一个项目,其中项目中关于注册用户信息这一块,要求是动态的,即客户可以自己在后台为用户添加各种列,如客户可以自己给注册的用户添加“姓名”、“性别”、“邮箱”等。以后还可以增加、修改和删除相关的列。

本人的想法是,用户表,初始化时,只保留两个字段,即id(自增长)和userpwd(密码)。其它字段由客户自己添加,使用ALTER TABLE table_name  ....  相关语句。不知道这种方法是否合适,有没有更好的方法。
------解决方案--------------------
最好是建两个表 ,一个表存放用户名   另一个表存放这些属性。操作起来也要方便很多
------解决方案--------------------
这个不合适吧,那岂不是谁都能修改这张表。

建两张表: 1、用户信息可能用到的属性表
2、用户信息表(用户名,属性,值)

------解决方案--------------------
可以採用兩個表一對多的方式,用戶表及用戶屬性表,用戶的多屬性通過多筆屬性來實現,而不是通過多列來實現
------解决方案--------------------
引用:
最好是建两个表 ,一个表存放用户名   另一个表存放这些属性。操作起来也要方便很多

再新建属性字段的表,将这两表进行关联,这个是蛮好的办法
------解决方案--------------------
安全性,可以做一个界面 替 用户 生成alert table的语句
这样的性能肯定高
------解决方案--------------------
赞同采用4楼和11楼的解决方法;
对于动态修改表的方法,主要的问题在于修改表结构的时候,会导致系统表的锁定。
  相关解决方案