以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  数据库系统原理课件  (http://www.njcie.com/bbs/list.asp?boardid=19)
----  范式练习——建筑公司工程  (http://www.njcie.com/bbs/dispbbs.asp?boardid=19&id=132)

--  作者:admin
--  发布时间:2006/3/14 20:50:52
--  范式练习——建筑公司工程

假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下: •公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等 •公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等 •公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同) •公司定期制定一个工资报表,如下图所示:


图片点击可在新窗口打开查看此主题相关图片如下:
图片点击可在新窗口打开查看
[此贴子已经被作者于2006-10-30 16:54:57编辑过]

--  作者:admin
--  发布时间:2006/3/14 20:54:19
--  参考答案

1、找主键:工程号、职工号

2、找依赖关系:

完全依赖:工程号 -> 工程名称; 职工号 -> 姓名; 工程号、职工号 -> 职务、工时; 部分依赖: 传递依赖:职务 -> 小时工资率; 小时工资率、工时 -> 实发工资;

3、五个依赖生成五张表:

工程:(工程号、工程名称) 职工:(职工号、姓名) 职务:(工程号、职工号、职务、工时) 小时工资率:(职务、小时工资率)

[此贴子已经被作者于2006-10-27 20:24:37编辑过]

--  作者:wangfei
--  发布时间:2006/10/30 19:49:01
--  回答
实发工资可以在程序运行时实时计算出来,为冗余字段
[此贴子已经被admin于2006-10-30 21:27:05编辑过]

--  作者:admin
--  发布时间:2012/3/19 17:45:46
--  ER分析来做


此主题相关图片如下:未命名.png
按此在新窗口浏览图片

 


工程(工程号, 工程名称)
职工(职工号, 姓名)
职务(职务号, 职务, 小时工资率)
工程职工职务(工程号, 职工号, 职务号, 工时)