2013-08-23 39 views
0

在我的java程序中,我查询一个数据库并得到一个结果集。是检索到的字段如下:是否可以在Java中使用主/外键概念?

  • SERVER_ID
  • threat_level
  • CLIENT_ID
  • num_of_attacks

其中每个记录表示从某个IP的攻击。我不需要知识产权,但想知道特定服务器上的攻击总数,以便根据威胁级别在x轴上进行绘图,并且还要知道特定客户端在所有服务器上的攻击总数,以沿着y轴进行组织降序。

查询后,然后将结果集的字段存储到对象的散列图中,其中键为server_id,如果该键已经存在,则检查散列表;如果确实如此,则会更新攻击总数。通过这样做,我可以获取服务器的重复记录,将其保存为一个对象,并且只填写名为“num_of_attacks”的字段。现在我的下一步是组织数据的最后一步,以便我绘制图表,但由于缺乏经验,我无法确定正确的方法。我的数据库头脑告诉我用字段client_id和total_num_attacks创建另一种类型的列表或集合,其中client_id是关键字,total_num_attacks表示该客户端的所有服务器上所有攻击的总和,并且这可以以某种方式链接到hashmap的服务器通过client_id。因此,client_id是一个集合中的“主键”,另一个是允许我首先组织客户端的“外键”,然后绘制他们的服务器。

我的问题是,这可能吗?我已经看过LinkedLists,但我不确定它是否可以完全满足我的需求。是否有另一种数据结构更适合我的需求?

+0

我觉得这是一个数据库的概念? –

+0

@AndroidKiller是的,我认为如此,但这是可能在Java中完成的吗? –

+0

@solleks在Java中你有对象不是表格,你可以有一个对象作为另一个对象的成员,这是类似于Forigen键 – alfasin

回答