识别表中可能的多值依赖项

时间:2013-09-06 16:11:28

标签: database database-design normalization database-normalization denormalization

数据表背景

艾略特湾体育俱乐部在德克萨斯州休斯顿拥有并经营着三家体育俱乐部设施。每个设施都有大量现代化的健身器材,举重室以及瑜伽和其他运动课程。 Elliot Bay提供3个月和1年的会员资格。会员可以使用三个俱乐部中任何一个的设施。

Elliot Bay拥有一个私人培训师名单,作为独立顾问。经批准的培训师可以安排与Elliot Bay工厂的客户预约,只要他们的客户是俱乐部的成员。培训师还教授瑜伽,普拉提和其他课程。回答以下问题,假设您提供了以下三个数据表(PT代表私人教练):

PT_SESSION(培训师,电话,电子邮件,费用,ClientLastName,ClientFirstName,ClientPhone,ClientEmail,日期,时间)

CLUB_MEMBERSHIP(ClientNumber,ClientLastName,ClientFirstName,ClientPhone,ClientEmail,MembershipType,EndingDate,Street,City,State,Zip)

CLASS(ClassName,Trainer,StartDate,EndDate,Time,DayOfWeek,Cost)

这是我到目前为止已经确定的多值依赖项:

  1. ClientNumber - > - > ClientPhone
  2. ClientNumber - > - > clientEmail的
  3. (如果是富客户端)

    ClientNumber - > - > (街道,城市,州,邮编)

  4. 培训师 - > - > (ClassName,Time,DayOfWeek,Cost)
  5. 我仍在努力掌握数据库概念和规范化。我觉得我错过了一些其他的多值依赖项,并想知道是否有人可以向我发现/解释它们(如果它们确实存在的话)。

1 个答案:

答案 0 :(得分:0)

没有数据。

没有代表性的样本数据,你只是在猜测。

虽然ClientNumber->>ClientPhone可能属实,但ClientNumber->ClientPhone可能属实。它不取决于客户可以是否有多个电话号码。这取决于您的应用程序是否关心

根据列名做出决定确实存在风险。相反,根据代表性样本数据的含义做出决定。