php - 使用一列中的多个值规范化 MySQL 数据库

标签 php mysql database normalization

我对规范化我的数据库的想法有点困惑。

关于我的项目的一些信息: 我正在使用 PHP 和 MySQL 为安全 guard 创建一个报告工具。每个保安人员都有自己的登录名,可以创建当天的报告。该报告包含以下输入:

  1. 日期
  2. 地点
  3. Guards at work - 这是我的问题
  4. 情况 - 这也是我的问题
  5. 然后有多个输入字段,其中包含将用于图表的数字。 (比如你今天淘汰了多少人等等)

现在,守卫可以进行报告,但是当要为一份报告添加更多守卫时,我会失去理智。我在同一专栏中读到了有关连接和拆分的内容,但这会破坏规范化,是一种不好的做法。

你可以看到这张报告图片: Report

现在这是挪威语,所以您可能不明白。 “Vektere på Jobb”的意思是工作中的保安人员,在这里我必须能够添加多个保安人员姓名,然后将其保存到我的数据库中。

问题:我有多个用于其他统计数据的输入字段,因此我可以创建图表,但我不能添加超过一名保安人员。如果我应该创建一个新行,是否会创建一个新的 ID 和具有相同值的列,只需添加另一个保安人员?

希望您能理解我的问题,请告诉我如何做到这一点,剩下的我来处理。

另一张说明我需要的图片:但这是不可能的(破坏规范化)

Stack2

(图表列是数字,因此我可以创建图表)

最佳答案

您可以创建第三个表作为“有很多”守卫。

举个例子: 报告守卫

有2列,report/graph是,guard id

这两列都是各自表的外键。

关于php - 使用一列中的多个值规范化 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39689307/

相关文章:

MySQL - 选择过去 7 天的条目数

mysql - 在 MySQL 中将 HAVING 与 CASE 或分析函数混合(PartitionQualify(?

database - 使用签名树的生产应用程序的任何示例?

php - 如何使用 php 在 cpanel 上创建电子邮件帐户

php - ajax表单提交的编码问题

PHP 关联数组不打印第一个和第五个键

java - 用 Java 调用 Oracle 存储过程

php - 按时间对数据库行进行分类

mysql - 需要 mysql 查询帮助

android - SQLite数据库:- Activity unable to start activity info