【问题标题】:Database tables for tennis court booking system网球场预约系统数据库表
【发布时间】:2015-06-10 12:17:15
【问题描述】:

我正在尝试为足球场管理找到类图和数据库结构的最佳实现。该系统有三个参与者:

  1. 超级管理员:使用所有特权(网络后台)管理一切
  2. Court Owner :可以创建一个可能拥有多个体育场的足球俱乐部(网络后台)
  3. 球员:谁可以查看俱乐部并预订可用的体育场(移动)

我的问题是:

  1. 由于三个actor具有相同的属性,我不需要“用户”和“所有者”、“玩家”、“管理员”之间的“扩展”关系,但我也不能只有“用户”类,因为不是所有用户都可以提交评论,只有所有者可以添加俱乐部......那么如何管理具有相同属性的不同用户的权限?我是否需要用户组表来帮助我了解每个用户的组(“所有者”、“管理员”、“玩家”)? (我看到 Joomla 和 Wordpress 使用用户组表)

  2. 俱​​乐部可以有许多体育场(球场)在大多数情况下它们是相同的,所以应该,纬度,经度)类“俱乐部”内?

  3. 考虑到球员可以预订俱乐部的体育场,并且俱乐部还有其他可用的体育场可以预订,我的解决方案是否正确?

我需要您对足球俱乐部管理最佳实施的指导和建议:

  1. 共有三个演员(“玩家”、“管理员”、“俱乐部老板”)
  2. 每个演员都有不同的特权(只有所有者可以创建俱乐部,只有玩家可以预订和评论......)
  3. 艾利俱乐部可以有很多场馆,球员可以预订其中一个或多个,我们需要跟踪同一俱乐部的其他场馆的可用性。

    这是我尝试过的:

编辑链接:https://creately.com/diagram/iaqn8ddo/T1IfqHRrhGcHYPihjOwMIQSwM%3D

查看链接:http://creately.com/diagram/example/iaqn8ddo/Copy%2Bof%2BTakwira

【问题讨论】:

    标签: mysql uml database-schema class-diagram


    【解决方案1】:

    看起来还不错。

    1. 您已经为演员开设了课程。这样就完成了。
    2. “特权”可以通过为专门的类分配相应的方法来建模。即:Owner 具有 createClub() 方法,Player 具有 book() 等。
    3. 您需要一个Booking 类来跟踪Player 进行的预订

    一个观察:从Stadium(你的名字有错字)到SportsClub的组合似乎没有意义。俱乐部不是由体育场组成的。在最好的情况下,它由成员组成。将其替换为关联并使用ownedStadium 作为角色。

    【讨论】:

    • 你也可能有错误的多重性。我很确定体育俱乐部通常有不止一个所有者,而且我知道共享体育场的俱乐部,这在您的设计中是不可能的。
    • @Thmas :感谢您的重播,实际上我想确保在类图中有一个空类是可以的,因为在我的例子中,三个用户具有相同的信息。此外,“预订”类是我的“预订”,我的意思是俱乐部是“综合体”,一组体育场,这就是我放置组合关系的原因。
    • @Geert:谢谢你的回答,其实你是对的,体育俱乐部可以拥有多个所有者,但在我们的例子中,我们假设只有一个所有者从网络后端管理俱乐部,所以假设关系名称是“管理”,因此只能将一个用户分配到俱乐部管理系统。我仍然对设计中的任何建议持开放态度。
    • 好吧,一个空类是可以的,因为它继承自User。您应该记住,命名至关重要。事物只是它们的名称。在cherry-green横穿可能是非法的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 2020-01-31
    • 2014-11-20
    • 2018-09-24
    相关资源
    最近更新 更多