首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >专家系统(用于数据库访问)与ORM

专家系统(用于数据库访问)与ORM
EN

Stack Overflow用户
提问于 2016-09-08 18:47:40
回答 1查看 284关注 0票数 0

我最近发现了PyKE,并注意到一个潜在用途(实际上,它最初构建的用途)的一个例子是编译SELECT语句来查询数据库,并将结果映射到字典中。作者强调,这不是一个ORM。

因此,我有两个子问题:

  1. PyKE (或其他专家系统能够执行或发出代码或返回结构化数据供调用程序使用)的使用为什么不能有效地成为ORM呢?
  2. 在什么情况下使用专家系统(如PyKE)来查询数据库,而不是专门构建的ORM呢?我想一定有一些,考虑到PyKE是为了这个目的而制造的。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-15 12:29:22

关于你的第一个问题

ORM是您的逻辑和数据之间的一层,它将一个映射到另一个。关系数据库通常不会以对象使用数据的方式存储数据,因此ORMs的目标是抽象出编写SQL以将数据从一种表示形式转换为另一种表示形式所需的脑力训练。(国际水文学组织,他们往往做得不好或没有效率)

具体来说,PyKE提供了SELECT编译,但没有提供明显的CRUDing (CRUD: CRUD:CRUD、Read、Update、Delete),这是ORM做的最重要的事情。

关于第二个问题

当您可能需要一个知识引擎时,可以使用PyKE (例如,自然语言数据搜索)。然后,PyKE可能知道如何以最有效的方式从数据库中提取数据,以完成自己的目标。

另一方面,ORM将被赋予代表程序中某些对象的数据,例如来自网站的采购订单,它将在创建PO时插入对象,在恢复会话时将其从DB中取出,在用户向PO添加和删除项时更改数据,如果购买完成或中止,则删除PO (CRUD)。

tldr

PyKE是一个专门的库,它抽象出了使用这个库需要编写SQL的一些需要,但是没有提供完整的DB交互,因为它不是为这个库构建的。

ORMs确实提供了与DB的这种交互,并试图以一种非常动态的方式更容易地使用数据;尽管在我的经验中,在手工构建的SQL之上使用/不使用ORM会引发一些激烈的争论。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39398181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档