ORM(对象关系映射):自动记录数据

ORM(数据库和源代码徽标)

您是否曾经考虑过或需要将数据从源代码对象传递到目录或数据库中? 拥有一个能够自动执行而不是手动操作的工具是非常实用的,对吗? 但是为了做到这一点,这些值应该采用正确的格式。 好吧,如果您需要这样做, 您必须知道ORM(对象关系映射).

使用ORM,您的对象的数据将被传递为正确的格式,从而能够通过映射它们将所有这些信息保存在数据库中。 这将创建一个虚拟数据库,在其中您在代码中创建的应用程序中找到值,从而 链接到该数据库 给他们持久性并以这种简单的方式注册他们。 这使记录的信息具有持久性,以便以后可以存储,分析,记录或使用它。

通过 例子假设您有一个Python程序负责从记录温度和湿度的DHT11传感器读取值。 但是您不想从环境中记录这些值。 您可以通过一种简单的方法来创建源代码,以对所需的内容进行编程,并读取传感器获取的值并将其显示在屏幕上。 但是,如果您想存储这些值以分析何时出现这些值的峰值或对于任何其他实用程序该怎么办?

在这种情况下,您应该具有将这些数据同时保存在数据库中的能力,而这正是ORM派上用场的地方。 除了您的DIY项目 您可以存储所需的内容并对待其价值 手动或通过其他软件,这要归功于您已将它们捕获到数据库中...

什么是ORM?

El 对象关系映射或ORM 作为其英文缩写,它是一种编程技术,可用于转换面向对象编程语言或程序以及关系数据库(SQL类型)中使用的数据作为持久性引擎。 这将使程序值创建一个虚拟的面向对象的数据库来保存您所需的数据。

如果您曾经对连接到数据库的应用程序进行过编程,则会注意到很难转换信息以使其适应数据库,反之亦然。 即 映射是一件乏味的事情 除了使ORM独立于您要使用的数据库之外,您还可以使用ORM进行自动化,甚至可以毫无问题地更改数据库引擎。

Un 实际例子是F1汽车,它具有一系列传感器,可测量压力,温度,消耗量,RPM,速度,加速度,档位变化,转向运动,机油等值。 借助遥测技术,工程师可以在计算机上实时查看所有这些值。 但是当会议结束时,工程师需要研究和分析该数据,以了解如何改善设置,改进汽车或造成故障的原因。 为此,需要将它们导出到数据库。

ORM的优缺点

正如我已经评论过的那样, ORM允许您抽象 从数据库中并大大简化了必要的源代码。 映射将是自动的,这意味着在编程时可以省去很多麻烦。 除了易于使用和提高速度外,它还提供了数据访问层抵御攻击的安全性。

但并非所有都是好事 ORM也有缺点。 在高负载环境中,这会降低性能,因为您要向系统添加额外的一层。 它还需要学习ORM,以便您可以使用它,这可能需要一些时间才能正确理解和利用。

编程语言的ORM

根据您使用的编程语言 您可以使用ORM。 您不能仅使用任何ORM,而必须使用正确的ORM。 例如:

  • 爪哇岛:Hibernate,MyBatis,iBatis,Ebean等
  • 。NET:实体框架,nHibernate,MyBatis.Net等。
  • PHP:教义,推进,岩石,Torpor等
  • Python: Peewee,SQLAlchemy,PonyORM,Elixir等

Python和ORM的示例

Peewee是用于Python的简单且简短的ORM。 您可以从中获取更多信息 官方网站。 另外,您应该知道Peewee支持不同的DBMS,即几种数据库管理系统,例如SQLite,MySQL和Postgresql。 您只需要更改初始bbdd声明即可。

例如,在 您的快速指南或快速入门 在网站上,您可以看到Peewee的简单代码示例,如下所示:

from peewee import *

db = SqliteDatabase('people.db')

class Person(Model):
    name = CharField()
    birthday = DateField()

    class Meta:
        database = db # This model uses the "people.db" database.

万一您觉得这没什么,您可以随意支配 pwiz工具,该程序可从数据库中获取Peewee模型。 例如:

<br data-mce-bogus="1">

python -m pwiz -e postgresql basedatos &gt; modelo.py<br data-mce-bogus="1">


成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。