很多人看到这个问题可能会觉得很简单 大部分人就比如按照我下面的2种表结构设计就可以了。

方案1:

1.部门表, id, name, parent_id

2.员工表, id, name,dept_ids(储存1,2,3类似的部门id 集合)

方案2:

1.部门表, id, name, parent_id

2.员工表, id, name

3.员工部门表, id, emp_id(员工id), dept_id(部门id)

本以为这么轻轻松松搞定!关系储存的 妥妥的。这下好了有一个这样的组织树结构:

部门10

|_部门1001

|_部门100101

|_部门100102

|_部门10010201

|_部门1002

|_部门100201

|_部门100202

|_部门1003

员工 “张三” 所属部门   部门100101,  部门10010201,  部门100201

此时有个场景 搞了某个 “内容“ 只有 部门100102 , 部门1002, 下的包含子部门人才有权限

光从明面上来看2个部门id 范围并没有产生交集,但是实际上 “张三”是拥有该 “内容”的权限

允许联表如何查询 拥有该"内容"权限的员工呢?假设数据量很大 用的分库分表在不考虑联表的情况下又如何实现?如果没有其他思路就看下面的注意点。欢迎大家把自己的更好想法提出来。大家一起讨论

注意点1
     :需要一张 部门员工平铺表来实现部门下的下级和该员工的关系储存。
注意点2
     :需要给部门ID 设定一个 增长规则比如一个员工在多个部门。 AA/AABB/AABBCC,  AA/EE,   
   这种情况每个部门下的部门数量和深度就有了很大的局限性。

注意点
     :需要给部门添加一个层级的字段, 比如 根部门为 0,  一级部门为 1 以此类推。

一个员工在多个部门下的表结构设计 ,分层分级【巨坑】!!相关推荐

  1. 使用面向对象思想,输出员工信息并计算员工的工资。定义一个部门(Department)类,该类有部门编号(Id)、部门名称(Name)属性;再定义一个员工(Employee)类,该类的属性有员工编号

    运行结果如下: 题目: 使用面向对象思想,输出员工信息并计算员工的工资. 实现过程为:a.定义一个部门(Department)类,该类有部门编号(Id).部门名称(Name)属性:b.再定义一个员工( ...

  2. 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享

    使用Jquery+EasyUI 进行框架项目开发案例解说之中的一个 员工管理源代码分享 在開始解说之前,我们先来看一下什么是Jquery EasyUI?jQuery EasyUI是一组基于jQuery ...

  3. 组织要为每一个员工赋能

    未来所有可量化.可衡量.可程序化的工作,都会被机器替代.巨变时代的组织管理,传统的管控方式已经不再适用.数字化生存时代,赋能将成为时代的关键词.只有关注人的成长,成为价值型组织,才能在变化中生存下去. ...

  4. oracle查询员工员工部门领导领导部门,oracle多表查询之经典面试题

    一.笛卡尔积 概念 笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成 ...

  5. 如何做一个员工管理系统

    员工管理系统 1. 准备工作 先导入html和前端页面 建立两个实体类:Department和Employee Department: package com.dary.sweb.pojo; ​ im ...

  6. 级联选择器el-cascader处理复杂数据(四层、五层数据),回显部门以及部门下的人员

    注意:参考第五层的数据处理比较nice 当级联选择器需要绑定的数组不再是简易数据,props涉及的字段不再是一个,而是列表里面套列表 比如,我想要获取部门以及下面的员工,如何显示?如下图1所示,后端返 ...

  7. 如何判断一个员工是潜力无限,还是“烂泥扶不上墙”?

    此篇文章写于2021.1.15,之前写了一半,所以拖到今天才发.拖延症发作了,尴尬.好了,下面进入正文吧. 2020年结束了,想必大家都在做各种总结吧,我们部门也一样,一封封总结邮件,发到我的邮箱. ...

  8. 一个员工的离职成本到底有多大

    导读: 一般来说,核心人才的流失,至少有1-2个月的招聘期.3个月的适应期,6个月的融入期:此外,还有相当于4个月工资的招聘费用,超过40%的失败率. 一个员工离职后留下的坑,并不是再找一个人填上就万 ...

  9. 想进阿里的悲剧了,马云说了今年不会增加一个员工(转载自钛媒体http://www.tmtpost.com/229500.html)

    日前,阿里巴巴集团在北京国家体育馆举行在京员工大会,会上马云作了发言.马云认为,阿里发展确实太快,三万多人已经足够了.今年整个集团的员工数不会增加一个人,出一个进一个. [李小年/钛媒编辑]日前,阿里 ...

  10. 一个员工的离职,背后都意味着什么?

    来源 | web前端开发 一个员工的离职成本,很恐怖! 一个员工离职后留下的坑,并不是再找一个人填上就万事大吉了.一般来说,核心人才的流失,至少有1-2个月的招聘期.3个月的适应期,6个月的融入期:此 ...

最新文章

  1. [置顶] 当我拿车钥匙的时候,刚交的女朋友跑了。。。
  2. 看到数学就打怵不是你的错:百万人调查发现上黑板做题、作业太多、家长陪写都会引发焦虑|PNAS...
  3. nginx优化-nginx事件处理模型优化use epoll;
  4. transport request 实现原理
  5. 同事操作两个数据源保持事务一致_微服务分布式事务4种解决方案实战
  6. Shell脚本学习-阶段六-密钥的批量分发与执行
  7. Windows Event Log相关函数使用(1)
  8. 36-基于51单片机的LED彩灯控制器设计
  9. 《白帽子讲web安全》笔记
  10. android 项目交接文档,产品交付规范文档
  11. PID参数整定一些总结
  12. 联通光猫创维DT741-csf如何获取超级账户
  13. DHT11温湿度模块
  14. 复活Google右键翻译方法及Google浏览器网页一键翻译
  15. 【雷达信号处理】脉冲多普勒PD及其MATLAB实现
  16. 浪潮网络交换机快速使用手册
  17. 中国存储器“3+1”版图初现 行业要再跑5年马拉松
  18. 【blue bridge cup】笔记
  19. dubbo使用带有密码的redis注册中心完整配置及遇到问题解决、RestTemplate配置【持续更新】
  20. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day36】—— 实战那些事儿1

热门文章

  1. 花书《deep learning》深度学习 学习笔记 深度学习历史趋势
  2. 【软件周刊第 33 期】跳票 5 次的 Fedora 26 Beta 终发布 坐等正式版
  3. Cesium添加自定义弹窗并设置随地图移动位置移动
  4. 百亿诈骗案频出,欧科云链用“技术责任”拓宽Web3安全边界
  5. 韵达单号查询,韵达速递查询,对需要的单号记录进行标记
  6. 终于通过自己的排查,把单元测试跑了起来,写代码不怕啦
  7. 波哥带你探寻SpringBoot中优雅设计监听器的本质
  8. Error:SyntaxError:JSON Parse error:Unexpected EOF 解决
  9. 簇优化,单验,投诉处理流程
  10. Nik Collection 6.2全新版Nik降噪锐化调色PS/LR插件