数据库 er图转化为关系模型,请帮忙看一下

1、实体员工(工号,部门编号,姓名,性别,电话,住址,入职时间,职位,薪酬)staff(SNO,DNO,BNO,Sname,Ssex,Sphone,Saddress,St... 1、实体
员工(工号,部门编号,姓名,性别,电话,住址,入职时间,职位,薪酬)
staff(SNO,DNO,BNO,Sname,Ssex,Sphone,Saddress,Stime,Spost,Ssalary)
主键:工号SNO
分解前:
(SNO→DNO,SNO→Sname,SNO→Ssex,SNO→Sphone,SNO→Saddress,SNO→Stime,SNO→Spost,SNO→Ssalary,Spost→Ssalary)
原表候选码:SNO
所属范式及理由:2NF 存在传递依赖
分解后:
Staff1(SNO,DNO,Sname,Ssex,Sphone,Sadress,Stime,Spost)
Fmin(SNO→DNO,SNO→Sname,SNO→Ssex,SNO→Sphone,SNO→Saddress,SNO→Stime,SNO→Spost)
候选码:SNO
所属范式及理由:3NF
Staff2(Spost,Ssalary)
Fmin(Spost→Ssalary)
候选码:Spost
所属范式及理由:3NF

结算账单(账单编号,房号,住店费用,住店天数)
bill(BNO,RNO,Bcost,Bdays)
主键:账单编号BNO
Fmin(BNO→RNO,BNO→Bcost,BNO→Bdays)
候选码:BNO
所属范式及理由:3NF

客户(身份证号,姓名,性别,电话)
client(CNO,Cname,Csex,Cphone)
主键:身份证号CNO
Fmin(CNO→Cname,CNO→Csex,CNO→Cphone)
候选码:CNO,(Cname,Csex)
所属范式及理由:3NF

客房(房号,床位,客房价格,客房状态)
room(RNO,Rbed,Rprice,Rcondition)
主键:房号RNO
Fmin(RNO→Rbed,RNO→Rcondition,RNO→Rprice)
候选码:RNO
所属范式及理由:3NF

房间类型(床位,类型名称,客房价格,额定人数,有无空调,有无电脑)
roomtype(Rbed,Rtype,Rprice,Rpeonum,Rair,Rcomputer)
主键:类型名称Rtype
Fmin(Rtype→Rprice,Rtype→Rair,Rtype→Rcomputer,Rtype→Rpeonum,Rtype→Rbed)
候选码:Rtype
所属范式及理由:3NF

2. 联系
入住(房号,身份证号,入住时间,退房时间)
checkin(RNO,CNO,Intime,Outtime)
F(CNO→RNO,CNO→Intime,CNO→Outtime)
候选码:CNO

换房(身份证号,房号,新换房号,换房时间)
changeroom(CNO,RNO,Cnewroom,Ctime)
F(CNO→RNO,CNO→Cnewroom,CNO→Ctime)
候选码:CNO

预定(房号,身份证号,预定入住时间,住店天数)
book(RNO,CNO,Btime,Bdays)
F(CNO→RNO,CNO→Btime,CNO→Bdays)
候选码:CNO

内务整理(房号,工号,整理时间,用品消耗)
arrange(RNO,SNO,Time,Consumption)
F(RNO→SNO,RNO→Time,RNO→Comsumption)
候选码:RNO

这是老师给我们关系模型转化的意见:许多主键不合理,比如入住的cno。客房和房价类型关系没联系吗?

请各数据库大神指点一下,到底应该是是怎样的,帮忙改一下,给点意见
也可根据自己的建议来修改,函数依赖可以重新确定,但对不合理的关系要分解为3NF,是最小依赖,如果觉得我的关系模型太差,可以问我要er图来修改关系模型。麻烦了
展开
 我来答
小乔生活号
推荐于2017-09-21 · TA获得超过3680个赞
知道大有可为答主
回答量:1985
采纳率:66%
帮助的人:834万
展开全部
实体:
员工(工号,部门编号,姓名,性别,电话,住址,入职时间,职位编号)主键:工号,外键:职位编号
职位(职位编号,职位,薪酬)主键:职位编号
结算账单(账单编号,房号,住店费用,住店天数)主键:账单编号
客户(身份证号,姓名,性别,电话)主键:身份证号
客房(房号,床位,客房价格,客房状态,类型编号)主键:房号,外键:类型编号
房间类型(类型编号,床位,类型名称,客房价格,额定人数,有无空调,有无电脑)主键:类型编号
关系:
入住记录(入住编号,房号,身份证号,入住时间,退房时间)主键:入住编号
换房记录(记录编号,身份证号,原房号,新换房号,换房时间)主键:记录编号
预定(预定单号,房号,身份证号,预定入住时间,住店天数)主键:预订单号
内务整理(记录编号,房号,工号,整理时间,用品消耗)主键:记录编号
其中职工职位关系和客房所属类型关系已在实体属性中的外键体现。
员工中的职位编号和客房中的类型编号。
更多追问追答
追问
不好意思,看晚了,我想问一下,为什么入住、预定、内务整理等联系都要加XX编号这个属性?
追答
原则上一个表都必须标识主键。每个表加上xx编号是为了更好的标识每条记录,更加简介明了,推荐选择其它的可以作为主键的具有实际意义属性列。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式