Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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_Database - Fatal编程技术网

Mysql 为多个用户添加单独的表更好吗?

Mysql 为多个用户添加单独的表更好吗?,mysql,database,Mysql,Database,我对数据库设计还比较陌生,所以我仍然学到了很多东西。我正在做的是一个在线时钟。我只是在胡闹,想了解更多。我的全职工作是为操作重型设备的叔叔工作,他向我表达了一些让我头疼的问题。当查看考勤卡时,几个员工的手写很难阅读,几个员工没有正确地添加小时数,因此他总是要仔细检查他们的数学,另外一些人没有按时提交考勤表。大多数员工都有智能手机,所以我的解决方案就是制作一个简单的网站,上面有一个“打卡”和“打卡”按钮。它还包含几个文本字段来描述员工当天操作的内容以及他们所在的工作网站。所有这些都将被添加到数据库

我对数据库设计还比较陌生,所以我仍然学到了很多东西。我正在做的是一个在线时钟。我只是在胡闹,想了解更多。我的全职工作是为操作重型设备的叔叔工作,他向我表达了一些让我头疼的问题。当查看考勤卡时,几个员工的手写很难阅读,几个员工没有正确地添加小时数,因此他总是要仔细检查他们的数学,另外一些人没有按时提交考勤表。大多数员工都有智能手机,所以我的解决方案就是制作一个简单的网站,上面有一个“打卡”和“打卡”按钮。它还包含几个文本字段来描述员工当天操作的内容以及他们所在的工作网站。所有这些都将被添加到数据库中,并在工作周结束时通过电子邮件发送给老板。我的问题是,为这个设置数据库的最佳方法是什么?我应该为每个员工添加一个单独的表还是将其全部保存在一个表中?大约有20名员工将使用该网站。提前感谢您的帮助。

一般数据库原则:

考虑对象定向。对象类

  • “Employee”就是这样一个类,因此您应该有一个存储员工的表
  • “事件”如“打卡入”或“打卡出”是两种特定情况的一般类别,例如“打卡入”和“打卡出”。
      您可以考虑一个表来存储事件的日期和时间的字段,一个字段为一个外键(一个外键),一个字段指示它是进出还是
    • <> LI>您可以考虑为CROCKIN设置一个表,一个用于ClockOut,但这可能不利于您在打印报表之后如何扫描数据。我个人反对这种方法,只是指出这是一种选择
  • 理想情况下,每个表都应该有一个数字主键
    • 想想键值对
    • 雇员
      • 1乔恩·多伊
      • 2胡安·戈麦斯
      • 等等
    • 事件
      • 2012年11月29日08时59分
      • 这意味着胡安·戈麦斯(Juan Gomez)在今天上午9点前打卡上班

一般数据库原则:

考虑对象定向。对象类

  • “Employee”就是这样一个类,因此您应该有一个存储员工的表
  • “事件”如“打卡入”或“打卡出”是两种特定情况的一般类别,例如“打卡入”和“打卡出”。
      您可以考虑一个表来存储事件的日期和时间的字段,一个字段为一个外键(一个外键),一个字段指示它是进出还是
    • <> LI>您可以考虑为CROCKIN设置一个表,一个用于ClockOut,但这可能不利于您在打印报表之后如何扫描数据。我个人反对这种方法,只是指出这是一种选择
  • 理想情况下,每个表都应该有一个数字主键
    • 想想键值对
    • 雇员
      • 1乔恩·多伊
      • 2胡安·戈麦斯
      • 等等
    • 事件
      • 2012年11月29日08时59分
      • 这意味着胡安·戈麦斯(Juan Gomez)在今天上午9点前打卡上班

我建议为每个雇主购买一台单独的服务器,并为每个雇主建立一个单独的数据库。如何防止员工在不上班的时候用手机打卡?不过,要回答您的问题-不,不要为每个用户创建一个表。所有数据都属于同一类型,因此都属于一个表。对多个类似的表进行任何报告都会成为一场噩梦。有人可以在他们的时间卡上写下他们想要的任何时间,你只要相信他们就行了。虽然我已经想到了这一点,但我一直在考虑添加记录他们打卡时所在位置的GPS功能。你可以使用Wifi网络,并且只有通过那里才能访问你的应用程序,这应该给你一个接近度的区别。我建议为每个雇主购买一个单独的服务器,并为每个雇主建立一个单独的数据库。你如何防止你的员工在不工作的时候用手机打卡?不过,要回答你的问题-不,不要为每个用户创建一个表。所有数据都属于同一类型,因此都属于一个表。对多个类似的表进行任何报告都会成为一场噩梦。有人可以在他们的时间卡上写下他们想要的任何时间,你只要相信他们就行了。虽然我已经想到了这一点,但我一直在考虑添加记录他们打卡时所在位置的GPS功能。你可以使用Wifi网络,并且只有通过那里才能访问你的应用程序,这应该会给你一个接近度的区别。将它与RFID或NFC标签配对可能不会太难,这样人们就不必打开应用程序“签到”。一台扫描仪用于“入”和一台扫描仪用于“出”。将其与RFID或NFC标签配对可能不会太困难,这样人们就不必打开应用程序“签入”。一台扫描仪用于“输入”,一台用于“输出”。