首页新闻找找看学习计划

这样的状况数据库怎么建表好?

0
[已解决问题] 解决于 2018-08-19 15:21

新手指教:

简单举例

表一:员工表  字段:员工ID,员工姓名.....(后面还有很多关于员工信息的字段)

表二:任务表  字段:员工ID,任务名字,任务内容.....(一些有关任务的基本属性)

管理员在登录账号后,为不同的员工分配多个任务,然后可以看到已完成任务的列表,随着时间的推移,如果管理员不删除这些已完成任务,我们能在任务列表中看到很多任务,在不点开看内容的情况下,我们看到的列表是员工的姓名,任务的名称。这样东西多的话会不会很卡吖,因为显示任务列表的时候显示我们检索的肯定是所有已经完成的任务,这样任务的那里还要显示员工的姓名,如果再通过任务表里的员工ID去查询员工表对应的员工姓名,这样肯定不好。如果只查询一次员工表存在数组中,然后只有在任务表中员工ID和员工表中的员工ID对应的时候才显示员工的姓名肯定是比前一种好的。如果建立表的时候,任务表多加个字段为员工姓名,这样好像也不好,就造成数据库的冗余了,而且是低级冗余。

我不知道有没有更好的建表输出的方式,因为第二种如果做分页每页10个,员工数目有100,也要循环判断很多次,可能我不是很懂数据处理吧。有没有更好的方式呢,求大神解决一下

风~停了的主页 风~停了 | 菜鸟二级 | 园豆:213
提问于:2018-08-15 17:32
< >
分享
最佳答案
1

1. 这样东西多的话会不会很卡吖    -   这是需要你来回答的问题,不然你永远都是新手。

不知道的话,测试一下呗。

2. 如果再通过任务表里的员工ID去查询员工表对应的员工姓名,这样肯定不好  -   这样怎么肯定不好了?

3. 这样好像也不好,就造成数据库的冗余了,而且是低级冗余  - 冗余并不一定是坏事,新手才遵守数据库三范式。

 

说了这么多,好像没有回答你的问题,实在不好意思。

我的回答就是,建数据库是一个日久见功力的事情,是系统设计和编程结合的一个产物,没有办法一下子给你醍醐灌顶。

只能建议你,有想法不要似乎,好像,可能,听说... 

如果觉得自己理论知识不够,就想办法多看书。

如果觉得没工夫看书,那就先完成,然后你就会知道哪里慢了,然后再修改。

规模不一样,设计也不同,你现在写的代码只要不烂到一定程度,大不了就是慢点,要相信Intel制造CPU的能力。

奖励园豆:5
爱编程的大叔 | 高人七级 |园豆:29788 | 2018-08-16 09:35
其他回答(3)
0

有个东西叫视图

百鸟朝凤 | 园豆:54 (初学一级) | 2018-08-16 09:50
0

楼上说视图的也是一种解决方法,虽然数据库建表不让冗余,但是实际过程中,就像你说的的那个只是为了一个名字的话,做多表连接查询反而不如多加一个字段存一下效率高

媳妇儿郭嘉 | 园豆:151 (初学一级) | 2018-08-16 13:16
1

"如果再通过任务表里的员工ID去查询员工表对应的员工姓名,这样肯定不好"

==>这样干很正常,没什么不好。

“任务表多加个字段为员工姓名,这样好像也不好,就造成数据库的冗余了,而且是低级冗余。”

==>这点冗余不算啥,你觉得这样冗余能解决你的问题,那就让它冗余好了。

=====================================================

你这需求一共才涉及两种实体,想太多反而不好。

 

 

西漠以西 | 园豆:1670 (小虾三级) | 2018-08-16 14:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册