2017-01-04 73 views
-1

给出这个关系主键和两个候选键是什么? (Customer-Firstname,Customer-Lastname),客户电子邮件,客户电话,客户地址(住宅号码/姓名,邮政编码,城市,县,国家) ,顾客年龄,顾客反馈,顾客反馈评分,顾客类型,请求日期/时间,授权者,员工姓名(员工姓名,员工姓氏),员工电子邮件,{员工资格}服务类型服务描述服务名称服务价格折扣服务价格服务位置服务日期/时间总价格这种关系中的主要关键和候选关键是什么?

服务名称是您的短名称服务前。安装防病毒 服务描述是对您的服务的完整描述。安装防病毒软件包括扫描您的机器并清除所有病毒,并确保其清洁和防病毒工作正常。 服务类型可能是硬件,软件,维护等... 服务价格是服务表上对您服务的价格;这可以随时更改 服务价格是您与客户达成一致的价格,不应该改变。

提前致谢!

+0

这是一个家庭作业问题吗? – jabs

+0

不,通过它阅读我意识到这听起来是这样的,但它不是 – jdoggg

+0

对此数据一无所知,一个好的候选人将是电子邮件,因为电子邮件是唯一的。除非,每个电子邮件有多个客户,那么您需要添加另一个列,例如姓名。一些数据库允许多列PK(复合),有些则不允许。 有什么办法可以添加一个新的列与数字序列,并将其用作PK? – jabs

回答

0

首先,这显然不是一个家庭作业问题,因为我相信没有人会为作业问题想出如此糟糕的设计。它可能是1NF,但显然不是2NF,因为你有很多依赖于候选键的数据。由于这是一款软件,首先建议是将这种关系标准化为至少3NF。

我认为你的主键必须是(customer_email,staff_email,service_type,served_datetime)。我没有看到其他候选键。这应该分成至少四个表格。