智能数据库 - 能够识别出与众不同的价值观

时间:2010-01-17 11:56:48

标签: sql mysql sql-server database data-mining

我正在寻找一个工具或系统来查看数据库并识别不同寻常的值。我不需要做任何事情来进行实时检查,只需要在夜间或预定点进行处理的系统。我正在寻找两个层次的系统:

  1. 数据库范围:例如:比较所有员工的工资,找出与平均水平相比过低或过高的员工。

  2. 每位员工:例如:检查员工的工资历史记录,并确定员工的不寻常付款。

  3. 以上两个仅为示例,例如ATM取款,购物订单历史,发票历史等情况。

4 个答案:

答案 0 :(得分:0)

我目前没有安装MySQL,但我想第一个可以用类似的查询来实现(在我的头顶,没有经过测试,根本无法工作):

SELECT name, salary FROM emp WHERE salary>(SELECT AVG(salary) FROM emp);

或者,更复杂的查询是:

SELECT name, salary from emp WHERE salary - (SELECT AVG(salary) FROM emp) >
        (SELECT AVG(salary - (SELECT AVG(salary) FROM emp)) FROM emp);

第二个基本上选择工资与工资平均值相差的员工,超过所有员工工资差额的平均值。

Lemme知道它是否有效。

答案 1 :(得分:0)

困难的部分是定义“与众不同”。

您正在尝试做的是什么欺诈检测软件可以确定何时有人在洗钱。你的简单例子很简单。更复杂的是使用包含大量规则的数据库,统计数据,数据挖掘和规则引擎。这不是一个简单的问题,除非你想限制自己所引用的那些微不足道的案例。

如果你设法把它变成一个容易出问题的人,那么你将成为一个富有的人。祝你好运。

答案 2 :(得分:0)

您可以使用Analysis Services和数据挖掘模型。

显然你必须调整代码,但这里有一个来自微软的样本:

http://www.sqlserverdatamining.com/ssdm/Default.aspx?tabid=101&Id=83

“此示例显示了如何使用聚类算法通过使用PredictCaseLikelihood()函数来执行自动数据验证。要练习示例,请在表单中输入值,然后单击提交按钮。如果值组合具有合理的可能性,表单将接受这些值。如果没有,预测查询的其他元素表明该值可能是不可接受的。检查表单上的“显示详细信息”框将显示除了之外发送的查询用于确定边远值的概率比。“

答案 3 :(得分:0)

有不同的方法可以找到异常值:基于距离,基于群集等。

您可以使用Data Applied的异常值检测或群集分析。第一个自动查找与其N个最近邻居最不同的记录。第二个查找大型记录组(群集),并识别不适合任何群集的记录。它们使小数据集免费,并且在线(http://www.data-applied.com)。您不必编写代码,但如果需要,可以使用他们的Web API。