【问题标题】:Identifying possible multivalued dependencies in Tables识别表中可能的多值依赖项
【发布时间】:2013-09-10 19:25:59
【问题描述】:

数据表背景

艾略特湾体育俱乐部在德克萨斯州休斯顿拥有并经营三个体育俱乐部设施。每个设施都有大量现代健身器材、举重室以及瑜伽室和其他健身课程。 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. 培训师 --> -->(班级名称、时间、DayOfWeek、费用)

我仍在尝试掌握数据库概念和规范化。我觉得我错过了一些其他多值依赖项,并想知道是否有人可以向我发现/解释它们(如果它们确实存在的话)。

【问题讨论】:

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


    【解决方案1】:

    没有数据。

    如果没有具有代表性的样本数据,您只是在猜测。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-12
      • 2021-03-27
      • 2018-04-24
      • 2013-03-25
      • 2023-01-18
      • 2021-04-16
      相关资源
      最近更新 更多