能系统可以使用现有的成熟的数据库，并方便地从一种数据库切换到另一种数据库），需要一种在数据库与智能系统间交互的语言。于是Datalog应运而生。发明了Datalog这个名称。
与Prolog的异同.Datalog的语法是Prolog的子集；但是Datalog的语义与Prolog不同。Prolog程序里的事实和规则的出现顺序决定了执行结果。很可能两条规则的出现顺序对换，程序就陷入死循环。Datalog程序对事实和规则的出现顺序不做要求，两条规则的出现顺序对换，执行结果仍然是一