网球场预订系统的数据库表

Database tables for tennis court booking system

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

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

我的问题是:

  1. 由于三个actor属性相同,所以不需要"user"和"owner"、"player"之间的"extend"关系, "admin",而且我不能只有 class "user" 因为不是所有用户都可以提交评论,只有所有者可以添加俱乐部...那么如何管理权限具有相同属性的不同用户?我是否需要用户组 table 来帮助我了解每个用户的组 ("owner"、"admin"、"player")? (我看到 Joomla 和 Wordpress 使用用户组 table)

  2. 俱乐部可以有很多体育场(球场),在大多数情况下,它们是相同的,所以在我的解决方案中,有两个 classes "club" 是否正确和 "stadium" 并将公共信息(城市、纬度、经度)放在 class "club" 中?

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

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

  1. 有3位演员("player","admin","club owner")
  2. 每个演员都有不同的特权(只有所有者可以创建俱乐部,只有玩家可以预订和评论...)
  3. Avery Club 可以有很多场馆,玩家可以预订其中一个或多个,我们需要跟踪同一俱乐部的其他场馆的可用性。

    这是我尝试过的:

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

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

看起来还不错。

  1. 您已经 class 演员。这样就完成了。
  2. "privileges" 可以通过分配专门的 classes 相应的方法来建模。即:Owner 有一个 createClub() 方法,Playerbook()
  3. 您需要一个 Booking class 来跟踪 Player
  4. 所做的预订

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