MySQL数据库设计 - 签入系统

时间:2012-08-27 19:56:56

标签: php mysql

我希望从您那里获得一些数据库设计知识:)

我正在尝试为办公楼建立一个登记系统。

会发生什么:

  1. 有关建筑物A中的炸弹威胁的调用。
  2. 指定用户应该扫描分配给他们的一个或多个区域。
  3. 然后用户将检入他们的区域。 (没检查,检查 - 没问题,检查 - 问题)
  4. 我需要构建一个接口来提取所有传入的提交内容。

    Users
    ---------------
    id | name | username | password
    
    Buildings
    ---------------
    id | name
    
    Sections
    ---------------
    id | building_id | name
    
    Assignments
    ---------------
    id | section_id | user_id
    

    因此,这个整体设计可以将用户分配到多个部分(多个部分)和部分分配给建筑物(一对一)

    我遇到的问题是存储实际提交的内容,同时能够在以后轻松检索它们。

    我希望能够以允许用户更新答案的方式存储提交内容。查看旧答案。提交新答案。

    非常感谢任何建议。

    谢谢!

3 个答案:

答案 0 :(得分:2)

我认为你还需要一个事件和响应表。

事件将是日期时间和任何细节(炸弹威胁 - 寻找背包)。

当输入事件时,系统应预填充响应表,所有分配的响应值均未检查。当每个人回复时,您可以添加他们的回复和响应的日期时间。您可以通过运行查询并拉出按赋值组分组的最大响应日期时间来了解尚未检查的内容,并按事件进行过滤。

之后,您可以在所有响应上运行日志,以分析最快响应的人。

答案 1 :(得分:0)

从您所在的位置,我会添加一份报告表,用于需要回复的报告。这将包括当然的ID,报告发布时间的日期/时间字段,状态字段(例如,收到的报告,确定报告不需要响应,正在进行的响应,联系的紧急服务,响应完成),以及可能的事件标题的简短字段(“炸弹威胁”)和描述的自由文本字段(“未知的男性呼叫者在MDT上午10:23打电话给前台,并说明在建筑物中放置了一个大型炸弹地下室B.从前台接待员J.随机上午10:28收到的报告。“)

然后你还需要一个答案表。这将至少包括其自己的唯一ID,事件ID,作出响应的用户的用户ID,响应的部分ID,记录响应的日期/时间,“响应类型”字段(例如,响应未决,正在进行响应,未发现问题,发现潜在问题/建议紧急服务联系),以及允许响应者输入有关其响应的更多详细信息的自由文本字段。

由于这是紧急响应的日志,您可能需要考虑对其他记录进行修改/补充以反映更新而不是覆盖或更新现有记录,但这取决于您和您的用户的要求。此系统允许您通过记录进行直接更新,并且无论哪种方式都可以轻松地提取用户之前对该问题的响应的日志。

答案 2 :(得分:0)

我建议添加以下表格:

a)威胁

  • ID
  • threatdate
  • description
  • 其他列以捕获威胁的元数据

b)威胁状态

  • ID
  • threat_id
  • checker_id(检查的人可能并不总是被分配的人)
  • SECTION_ID
  • 状态
  • datechecked(假设它可能并不总是同一天也适合午夜检查),备注(如果有的话),
  • building_id(此列重复以加快查找速度,因此您无需加入各个部分即可查找建筑物)