社区
Web 开发
帖子详情
数据表表设计问题
zhaozhaoliu
2018-10-25 05:43:32
组织结果管理模块:
用户表user
id name oid(部门id)
部门表org
id name ...
想当然地以为用户只能属于一个部门,为了查询速度快没有建用户部门关联关系表,直接把部门id作为user表的字段了,现在导入用户数据时才发现有5个用户在两个部门兼职,想问下怎么改比较好,是建立用户部门关联关系表呢,还是直接把两个部门id都塞到一个字段里去?怎么设计更加合理?请大家指点,非常感谢!
...全文
201
9
打赏
收藏
数据表表设计问题
组织结果管理模块: 用户表user id name oid(部门id) 部门表org id name ... 想当然地以为用户只能属于一个部门,为了查询速度快没有建用户部门关联关系表,直接把部门id作为user表的字段了,现在导入用户数据时才发现有5个用户在两个部门兼职,想问下怎么改比较好,是建立用户部门关联关系表呢,还是直接把两个部门id都塞到一个字段里去?怎么设计更加合理?请大家指点,非常感谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
冒菜-码农
2018-11-08
打赏
举报
回复
必须建立用户与部门的关系表。你要考虑后续用户量过大的问题,若是持续性往表中增加用户数据,会导致查询过慢。另外一个方法就是: 1.确定好部门数量是否固定,若是数量不是很多的情况下: 2.在用户表中的关联字段修改下,去除外键约束,添加多个所属部门,并用逗号隔开,自己定义规则,用业务逻辑处理,这样会增加一次IO操作 3.若部门数量过多,不建议使用这种方式。可以再考虑确定一个用户最多可以兼职几个部门,可以添加一列字段,作为兼职部门的ID存储。
今逍遥
2018-11-05
打赏
举报
回复
使用关联表好数据表的关系表现现实人在部门间的关系
雾里看花の
2018-11-02
打赏
举报
回复
用关联表更好,长痛不如短痛,不然后面会有很多问题
咸哼酒家
2018-10-26
打赏
举报
回复
建议建立一个用户、部门关系表, 便于后期维护。
一个人在多个部门业务上很少见,但是系统为了便于权限控制(给某些账户开后门)往往需要它
现实中,部门是树状结构,如果系统中能做到用户是 A部门的人,
他就能看到A下面的A1部门、A1下面的A11部门等等的数据那也是可以的,
思路就是
对下包含,对上不包含
。这样子的话,用户表里面就可以只有一个部门字段了
zhaozhaoliu
2018-10-26
打赏
举报
回复
其实一个人在多个部门是很少数的情况,关联表查起来肯定慢一些,还有什么别的办法吗
zhaozhaoliu
2018-10-26
打赏
举报
回复
引用 2 楼 q54244125 的回复:
就比如后续如果一个人在三四个部门,要更新这个人所在的部门,会增加很多不必要的工作和麻烦,用关联表会更好
谢谢回复
getdate
2018-10-26
打赏
举报
回复
这个问题,从设计的角度来讲,是需要建立中间表的,但是你的实际情况如果添加关联表比较麻烦的话,那就把现在用户表中的oid字段改变下类型,用字符来存放多个用某一个符号分隔的字符串即可.比如用逗号分隔的字符串.
天涯若风
2018-10-25
打赏
举报
回复
就比如后续如果一个人在三四个部门,要更新这个人所在的部门,会增加很多不必要的工作和麻烦,用关联表会更好
天涯若风
2018-10-25
打赏
举报
回复
考虑到后续的扩展,建议你建立一个用户/部门关联表;
Excel模板企业报
表
表
.zip
Excel模板企业报
表
表
.zip
销售明细登记
表
表
.xlsx
销售管理
表
,财务报
表
,占比分析,消费能力分析,数据分析
表
,产品销售,销售数据 适用人群:学习不同技术领域的小白或进阶学习者;可作为毕设项目、课程
设计
、大作业、工程实训或初期项目立项。
数据
表
表
设计
规范-心得总结
前言 数据库
表
的
设计
规范是很重要的,因为如果后期改
表
的话,会牵涉一大推代码的变动,重构起来十分麻烦,良好的
设计
习惯,可以使工作事半功倍,且避免很多的坑。 1.
表
名称不应该取得太长(一般不超过三个英文单词,不推荐使用中文拼音,总的长度不要超过30个字符)。 2. 不使用tab或tb作为
表
前缀(本来就是一个
表
,为什么还要说明)。 3.一些作为多对多连接的
表
,可以使用两个
表
的前缀作为
表
...
Navicat导出MySQL
数据
表
表
结构
作为程序员呢,肯定避免不了写文档,今天分享的是提高写数据库
表
表
结构的效率方法。 1.打开Navicat,双击打开你要导出
表
结构的数据库(此时数据库名称变绿),点击“查询”——“新建查询” 2.将以下SQL语句复制粘贴进查询编辑器,并修改数据库名称与
表
名称 SELECT COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE 是否为空, COLUMN_DEFAU
简单数据字典
设计
需求原因 在进行数据库
设计
时,我们经常会遇到各种各样的业务需求,从而
设计
出各种各样的
表
。而想要做好一个数据库,不但需要前期对各种业务需求的深度理解,还需要在后期项目完善的过程中对数据库更新修改从而使得数据库
设计
的越发完美。 对于那些涉及到业务的
表
或许不太好入手,但项目中经常出现的各种字典
表
就很好入手了。项目越大那么字典
表
就少不了,字典
表
就是常见的类型、状态、单位之类特定的一些值。有些人每一个业务或模块都
设计
一个字典
表
用来标识类型或状态等等,这样
表
的数量就不少了。其实我们可以将一些字典
表
合并起来。 CREAT
Web 开发
81,117
社区成员
341,740
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章