[Koa] Fale brevemente sobre os conceitos básicos de aplicativos ORM e ORM

Conceitos básicos de ORM

-O que é ORM

Ou seja, Mapeamento Object-Relationl, sua função é fazer um mapeamento entre o banco de dados relacional e o objeto, de modo que não precisemos lidar com instruções SQL complexas quando estamos operando especificamente o banco de dados, desde que operemos o objeto normalmente Basta operá-lo.

-O que é "persistência"

Persistência, ou seja, salvar dados (como objetos na memória) em um dispositivo de armazenamento (como um disco) que pode ser salvo permanentemente. A principal aplicação da persistência é armazenar dados na memória em um banco de dados relacional.Claro, eles também podem ser armazenados em arquivos de disco, arquivos de dados XML e assim por diante.

-O que é a "camada de persistência"

Persistence Layer, ou seja, uma camada lógica que foca na realização de um determinado sistema no campo da aplicação de persistência de dados, associa usuários de dados a entidades de dados.

Por que a persistência e o design ORM (importante)

    在目前的企业应用系统设计中,MVC,即 Model(模型)- View(视图)- Control(控制)为主要的系统架构模式。MVC 中的 Model 包含了复杂的业务逻辑和数据逻辑,以及数据存取机制(如 JDBC的连接、SQL生成和Statement创建、还有ResultSet结果集的读取等)等。
    将这些复杂的业务逻辑和数据逻辑分离,以将系统的紧耦 合关系转化为松耦合关系(即解耦合),是降低系统耦合度迫切要做的,也是持久化要做的工作。MVC 模式实现了架构上将表现层(即View)和数据处理层(即Model)分离的解耦合,而持久化的设计则实现了数据处理层内部的业务逻辑和数据逻辑分离的解耦合。 而 ORM 作为持久化设计中的最重要也最复杂的技术,也是目前业界热点技术。
  • ORM é usado para mapear os objetos representados pelo modelo de objeto para a estrutura de banco de dados do modelo relacional baseado em SQL. Dessa forma, não precisamos lidar com instruções SQL complexas quando estamos operando especificamente o banco de dados de entidade.Nós precisamos simplesmente manipular os atributos e métodos do objeto de entidade para obter o efeito de operar o banco de dados.
  • A tecnologia ORM fornece uma ponte entre o objeto e o banco de dados. Os dados do objeto em primeiro plano e os dados relacionais no banco de dados são transformados um no outro por meio dessa ponte. Diferentes linguagens de programação têm diferentes estruturas ORM. Por exemplo, Java, seu framework ORM tem: Hibernate, Ibatis / Mybatis e assim por diante. No desenvolvimento do Node Web, Sequelize é uma estrutura ORM popular.

Aplicativo ORM

ORM é uma tecnologia que completa a operação de bancos de dados relacionais através da gramática de objetos de instância, é a abreviatura de "Object / Relational Mapping". ORM mapeia bancos de dados em objetos.

	1、数据库的表(table) --> 类(class)
	2、记录(record,行数据)--> 对象(object)
	3、字段(field)--> 对象的属性(attribute)

Veja a seguir uma linha de instrução SQL:

SELECT id, first_name, last_name, phone, birth_date, sex
 FROM persons 
 WHERE id = 10

O programa executa SQL diretamente e a forma de operar o banco de dados é a seguinte:

res = db.execSql(sql);
name = res[0]["FIRST_NAME"];

O texto alterado para ORM é o seguinte:

p = Person.get(10);
name = p.first_name;

Uma comparação mostra que o ORM usa objetos para encapsular operações de banco de dados, portanto, você não precisa mexer na linguagem SQL. Os desenvolvedores apenas usam programação orientada a objetos, interagem diretamente com objetos de dados e não se importam com o banco de dados subjacente

Em resumo, ORM tem as seguintes vantagens:

1、数据模型都在一个地方定义,更容易更新和维护,也利于重用代码
2、ORM 有现成的工具,很多功能都可以自动完成,比如数据消毒、预处理、事务等等
3、它迫使你使用 MVC 架构,ORM 就是天然的 Model,最终使代码更清晰
4、基于 ORM 的业务代码比较简单,代码量少,语义性好,容易理解
5、你不必编写性能不佳的 SQL

ORM também tem deficiências pendentes:

1、ORM 库不是轻量级工具,需要花很多精力学习和设置
2、对于复杂的查询,ORM 要么是无法表达,要么是性能不如原生的 SQL
3、ORM 抽象掉了数据库层,开发者无法了解底层的数据库操作,也无法定制一些特殊的 SQL

Etapas para uso:

1.使用 ORM 的第一步,就是你必须告诉它,怎么连接数据库
2.创建model:连接数据库以后,下一步就要把数据库的表,转成数据模型(Model)
3.创建数据库操作类,通过Model 里面数据库表的定义,创建操作方法
4.在业务流程中调用相关方法

Método CRUD:

Existem quatro operações básicas do banco de dados: criar (novo), ler (ler), atualizar (atualizar) e excluir (excluir), conhecido como CRUD

O ORM transforma esses quatro tipos de operações em métodos de objeto.

1、find()方法用于根据主键,获取单条记录或多条记录
2、where()方法用于指定查询条件
3、create()方法用于新建记录
4、Update()方法用于更新记录
5、destroy()方法用于删除记录

Relacionamento - O relacionamento entre a mesa e a mesa (relação), dividido em três tipos:

1、一对一(one-to-one):一种对象与另一种对象是一一对应关系,比如一个学生只能在一个班级
2、一对多(one-to-many): 一种对象可以属于另一种对象的多个实例,比如一张唱片包含多首歌
3、多对多(many-to-many):两种对象彼此都是"一对多"关系,比如一张唱片包含多首歌,同时一首歌可以属于多张唱片

O método de configuração de relacionamento de associação de modelo para estabelecer relacionamento é o seguinte:

1、hasOne - 与目标模型建立1:1关联关系,关联关系(外键)存在于目标模型中
2、belongsTo - 与目标模型建立1:1关联关系,关联关系(外键)存在于源模型中
3、hasMany - 与目标模型建立1:N关联关系,关联关系(外键)存在于目标模型中
4、belongsToMany - 与目标模型建立N:M关联关系,会通过sourceId和targetId创建交叉表

Acho que você gosta

Origin blog.csdn.net/weixin_43352901/article/details/108395043
Recomendado
Clasificación