0

我正在寻找开发一个 MySQL 数据库。该数据库的主要唯一信息是 MAC 地址(例如 AA:BB:CC:DD:EE:FF)。对于每个 MAC 地址记录,将有许多子记录,这些子记录将记录这些 MAC 地址的记录时间。因此,如果您愿意,此字段将是 MAC 地址的子记录,并将包含以下内容:-

  • 检测到 MAC 地址的设备的参考号
  • 日期和时间
  • 经度
  • 纬度

这将是从网络不断连接的被动数据。尽管如此,我还希望有一个活动表/列表,我可以在其中指定一个 MAC 地址,如果检测到它,则会使用上述相同信息记录一条记录。

我想知道构建这些信息的最佳方式是什么?我假设我将有一个包含 MAC 地址的主表,然后有一个外键将其链接到另一个包含参考号、日期和时间、经度和纬度的表?如何最好地构建被动地整理信息并主动整理信息。

由于数据是被动整理的,我可能想在某个阶段查询它,但是使用活动列表(要注意的 MAC 地址),我想在检测到这些时设置电子邮件警报,所以我不知道是否存储这些分别地。

理想情况下,我希望将所有数据放在一个表中用于被动或主动数据,所以我只是想知道是否可以在主表中添加另一列,其中包含将其标记为“活动”的 MAC 地址,以便任何检测到此 MAC,然后我可以生成代码来创建电子邮件?

我希望这是有道理的

4

1 回答 1

1

我认为你在正确的轨道上。有一个包含 MAC 地址和 ID 的主表,然后另一个表可以跟踪 MAC 地址的活动(ID、MAC_ID、REF_NUM、DateTime、LONG、LAT)。我认为在 MAC 地址表中有一个标志是一个好主意,或者您可以有一个包含 MAC_ID(或 MAC 地址)的单独表并将其用作查找表。您可能需要创建一个触发器,以便如果发送“监视”表中的 MAC 地址,它会将插入到“活动”表中,这听起来像是带有 REF_NUM 的活动表的副本, ETC。

另一种选择是组合这些表,并在活动表中设置一个标志,如果在查找表中找到 MAC 地址或该行是否通过触发器插入,则检查该标志。只是大声思考。

这是带有示例数据的表结构示例:

MAC_ADDRESSES_TABLE 
MAC_ID (PK)     MAC_ADDRESS
1               00-B0-D0-86-BB-F7
2               00-B1-D0-86-BC-F8
3               00-B2-D0-86-BD-F9
4               00-B3-D0-86-BE-A7
5               00-B4-D0-86-BF-A9
…                …


MAC_ACTIVITIES_TABLE                    
MAC_ACTIVITY_ID (PK)    MAC_ID (FK)     REF_NUM         DATETIME      LONG          LAT
1                              1           A1       1/20/2013 13:40   40.689060   74.044636
2                              1           B2       1/21/2013 13:40   40.689061   74.044636
3                              3           C3       1/22/2013 13:40   40.689062   74.044636
4                              4           A5       1/23/2013 13:40   40.689063   74.044636
5                              4           D9       1/24/2013 13:40   40.689064   74.044636
…                              …           …         …                 …          …
于 2013-01-23T20:02:28.973 回答