网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > 数据库 > 正文

用户表和部门表的关联,非主流性,但是能解决好多问题

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

见过大部分的用户和部门的表以及他们的关联,大概如下:

  1. create table Users  
  2. (  
  3.      UserAccount nvarchar(50) ,  
  4.      UserName nvarchar(50),  
  5.      GroupID int --部门ID  
  6. )  
  7.  
  8. create table Groups  
  9. (  
  10.      GroupID int,  
  11.      GroupName nvarchar(50),  
  12.      GroupParentID int,  
  13.      GroupLeaderID nvarchar(50)--领导帐号  

这样子的表结构咋一看确实完成了用户和部门的关联,其实仔细想想这个设计很有局限性,如果一个用户属于多个部门,如果一个部门要有多个领导,那么这个设计肯定是不能满足的,

我现在贴出我的设计给大家拍砖,我主要在上面表的基础上又加了两张表,一张专门用来保存部门领导(解决一部门多领导),一张主要用于保存部门的成员,换句话就是员工所属部门(解决一用户多部门)

  1. --领导表,用于保存所有领导的信息  
  2. create table Leaders  
  3. (  
  4.    GroupID int,--部门名称  
  5.    UserAccount nvarchar(50),--领导帐号  
  6.   JobTitle nvarchar(50),--职位名称  
  7.   isPriaryJop bit,--该职务是否是他的首要职务(有可能有多职位)  
  8.   isLeaderSuper bit,--如果一个部门有多个领导,该字段唯一在该人是该部门所有领导的头  
  9.   orders int ,--如果一个部门有所个领导,用来给领导排序(也可以用来表示领导之间的大小)  
  10.     
  11. )  
  12.    
  13. --成员表,用于保存部门非领导的成员  
  14.  
  15.  
  16. create table members  
  17. (  
  18.      GroupID   
  19. int,--部门名称  
  20.    UserAccount nvarchar(50),--成员帐号  
  21.    isPriaryJop bit,--该职务是否是他的首要职务(有可能有多职位)  
  22.    orders int ,--用来给成员排序(也可以用来表示成员之间的大小)  
  • 下一篇资讯: SQL创建用户及角色
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师