首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

单表(平添用户角色字段)还是多表(每种用户角色一张表)

2012-07-31 
单表(添加用户角色字段)还是多表(每种用户角色一张表)?数据库设计时,多员工不同角色用以下哪种设计方法比

单表(添加用户角色字段)还是多表(每种用户角色一张表)?
数据库设计时,多员工不同角色用以下哪种设计方法比较好?多表和单表的好坏之处?
1. 单表 —— 加用户角色字段。 
2.多表——每种角色一个表。

 多表的好处:
1.话查询效率应该高一点吧,特别是多请求并行处理的时候.
2.简化程序逻辑,减少bug的可能。比如学生和老师,学生只能选课,老师只能教课,在对学生-选课和老师-教课表的操作时就省略了判断用户角色步骤,也可以防止用户恶意提交。比如通过通过get传递id时手动修改url的值。

多表的坏处:


单表的优缺点应该刚好跟多表相反吧?

[解决办法]
每种角色一个表,这种是不合理的,你不可能新加一个角色就给它来个表,这。。。

建议:角色为一个单独的表,用户中有个字段关联到角色,这种设计才是最常用的,也是合理的

表少冗余数据多,有助于查询

表多冗余数据少,关系结构性好,查询分析起来可能写的关联条件比较多,速度可能稍有点慢,不过表设计合理,就可以了


[解决办法]
在登陆的时候初始化这个角色为一个session值啊,判断是老师类型的时候不插入啊

 if (session("personType") == "老师") 
{

db.excute("insert into Teacher-Chose valuse(userid,classid)");
}

热点排行
Bad Request.