Mysql 赌场24/7员工名册的数据库模型
我们目前使用笔/纸名册管理赌场的桌上游戏工作人员。每一行是一名员工,每一列是一个20分钟的时间段,每个单元格表示员工被分配到哪个表,或者他们被分配到了一个休息。员工轮班的开始和结束时间各不相同,他们可以处理的游戏/技能也各不相同。我们需要将名册的副本保存7年,使用纸张这是相当容易的,我想开发一个数字应用程序,但我很难将数据存储在数据库中存档 我对使用数据库相当陌生,我想我了解如何为neo4j这样的图形数据库建模,但在使用时间方面我遇到了困难。我曾尝试学习过像MySQL这样的RDBMS数据库,下面是我认为应该如何对数据进行建模。请指出,如果我走错了方向,或者如果不同的数据库类型更合适,我们将不胜感激 基础数据Mysql 赌场24/7员工名册的数据库模型,mysql,sql,database,neo4j,rostering,Mysql,Sql,Database,Neo4j,Rostering,我们目前使用笔/纸名册管理赌场的桌上游戏工作人员。每一行是一名员工,每一列是一个20分钟的时间段,每个单元格表示员工被分配到哪个表,或者他们被分配到了一个休息。员工轮班的开始和结束时间各不相同,他们可以处理的游戏/技能也各不相同。我们需要将名册的副本保存7年,使用纸张这是相当容易的,我想开发一个数字应用程序,但我很难将数据存储在数据库中存档 我对使用数据库相当陌生,我想我了解如何为neo4j这样的图形数据库建模,但在使用时间方面我遇到了困难。我曾尝试学习过像MySQL这样的RDBMS数据库,下面
在我们考虑日程安排/时间之前,这里有一些基本数据需要处理 员工
-身份证号码
-名称
-技能(21点、百家乐、轮盘赌等) 表
-身份证号码
-技能/类型(只能是一项技能) 将花名册数据存储为类似JSON的文件可能更好?那么时间敏感的数据就不会有那么大的问题了。使用数据库进行数字化的好处是查询,这有助于帮助执行耗时的任务,因为在这些任务中,人为错误很常见 可能的查询
注:轮班的员工要么休息,要么在地板上(分配到一张桌子上),技能根据学习难度分为主要技能类型和次要技能类型
- 哪些员工在地板上呆了80分钟或更长时间?(他们应该休息一下)
- 我可以根据该员工的技能集将其分配到哪些打开的表
- 我需要一名拥有百家乐技能但尚未分配到百家乐桌的员工
- 在此期间,此表上有哪些员工
- 此时此刻,这位员工在哪里
- 现在谁在值班
- 轮班有多少员工可以玩21点
- 有多少员工拥有3项主要技能
- 哪些员工拥有至少3个月的百家乐技能
当我想让这个数据库现在使用时间线时,我发现了困难。我遇到了以下关于随时间连接节点的建议:
- Unix时代似乎是一个常见的建议
- 是否将节点连接到年/月/日图表
- Lucene时间表?(我对此不太了解,也不知道如何使用它,我见过一些人提到过它)
- 员工每周有不同的工作日和开始/结束时间,这可能是具有属性{shiftStart、shiftEnd、actualStart、actuallend}的轮班节点,员工可能在轮班期间迟到或生病。这是将每个班次与员工联系起来的正确方式吗?员工(节点)->班次(组节点)->班次(节点)
- 表和工作人员可能会修改技能数据,使用存档数据这可能是一个问题,我认为解决方案是在与技能的关系上具有时间属性
- 我们每天打开和关闭表格,每个表格每天都有打开/关闭时间,这
MATCH (employee:Employee)-[:HAS_SKILL]->(skill:Skill), (employee)<-[:DEALS]-(game:Game)-[:LOCATION]->(table:Table), (game)-[:BEGINS]->(hour:H)<-[*]-(day:D)<-[*]-(month:M)<-[*]-(year:Y) WHERE skill.type = "Blackjack" AND day.day = 17 AND month.month = 1 AND year.year = 2014 RETURN employee, skill, game, table