Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 壁球联赛的桌位设置。员工也是参与者的问题_Mysql_Sql - Fatal编程技术网

Mysql 壁球联赛的桌位设置。员工也是参与者的问题

Mysql 壁球联赛的桌位设置。员工也是参与者的问题,mysql,sql,Mysql,Sql,晚上好。 我目前正在为一个项目创建一个数据库 情况如下: 一个新玩家可以在完成任务后进行强制捐赠 被一名工作人员接受的注册的 球员根据年龄和性别被分成不同的级别 (混合、女子公开赛、男子公开赛) 每场比赛有两名球员,其中一名得分记录为3分 设置 一名工作人员担任比赛的官员和裁判员,可以 同时,也要成为各个部门的一名球员 我已经尽我所能规范化了数据库,没有把我的头发拔出来 我目前已按如下方式设置了表: 员工和球员表是以一对一的关系设置的,但是假设员工不一定是球员 如果员工决定不希望成为球员,

晚上好。 我目前正在为一个项目创建一个数据库

情况如下:

  • 一个新玩家可以在完成任务后进行强制捐赠 被一名工作人员接受的注册的
  • 球员根据年龄和性别被分成不同的级别 (混合、女子公开赛、男子公开赛)
  • 每场比赛有两名球员,其中一名得分记录为3分 设置
  • 一名工作人员担任比赛的官员和裁判员,可以 同时,也要成为各个部门的一名球员
我已经尽我所能规范化了数据库,没有把我的头发拔出来

我目前已按如下方式设置了表:

员工和球员表是以一对一的关系设置的,但是假设员工不一定是球员

如果员工决定不希望成为球员,但仍然是员工,则删除与该球员帐户关联的行也会删除员工帐户

如果员工帐户被删除,那么玩家帐户将保持不变

我怎样才能设置一个球员,他也是一名工作人员,决定他不想再踢下去了

问候


史蒂夫

你的球员可能是员工,也可能不是员工。你的员工可能是球员,也可能不是球员。您应该将员工与会员之间的关系改为:

非常感谢您的回复。如果是这种情况,那么当我添加员工时,我还需要存储他们的姓名、地址等。。在staff表中而不是在member表中?我将如何在成员和员工之间建立这种关系。我目前将StaffID设置为MemberIDGo的外键,并将这些字段添加到staff表中。如果必须的话,您可以创建第三个名为person或user的表,并将这些内容存储在那里。我设法让它与一个junction table Staff_成员一起工作。其中StaffID和MemberID都是唯一的,并且是原始表的外键。如果我删除一个职员,它不会删除该玩家,如果我删除该玩家,它现在不会删除该职员。我想我会为基本的个人信息制作一个不同的表格,并将其链接起来,否则会有重复的个人数据和双方可能出现的错误。这样做对吗?还是不符合“理论”标准的“快速”修复?Kind regardsIt在这样的数据库中非常常见,它牺牲了一点规范化,而支持为员工和用户保留单独的表。您会发现,有如此多的独立流程,要将它们管理为相同的流程可能不值得。如果你有一个成员也是员工,他们更改了一些东西,比如电话号码,他们可能需要更改两次(更新错误)或其他正常化问题。但是人们已经习惯了这种类型的互动。因此,接受这个问题是一种可能性。