假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下: •公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等 •公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等 •公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同) •公司定期制定一个工资报表,如下图所示:
1、找主键:工程号、职工号
2、找依赖关系:
完全依赖:工程号 -> 工程名称; 职工号 -> 姓名; 工程号、职工号 -> 职务、工时; 部分依赖: 传递依赖:职务 -> 小时工资率; 小时工资率、工时 -> 实发工资;
3、五个依赖生成五张表:
工程:(工程号、工程名称) 职工:(职工号、姓名) 职务:(工程号、职工号、职务、工时) 小时工资率:(职务、小时工资率)