SQL极简教程 · MySQL · MyBatis · JPA 技术笔记 教程 总结MySQL

ORM学习(一) - 认识ORM

2019-12-10  本文已影响0人  半亩房顶

什么是ORM

orm方法论的三个原则:
简单:以最基本的形式建模数据
传达性:数据库接口被任何人都能理解的语言文档化
精确性:基于数据库模型创建正确的标准化结构

ORM和SQL的关系(ORM做了什么)

关系数据库(RDBMS)的查询有SQL(Structured Query Language)结构化查询语言,相比高级程序语言(命令式语言)而言,SQL主要描述想要做什么,而不是命令式语言的具体如何做,因此,SQL也被称为第四代语言(4GL),它为现代大多数的关系数据库系统所支持。SQL的核心是对“关系”的操作,数据库理论研究证明,SQL是关系上完备的,但是当代大多数高级语言都是面向对象的,高级语言程序要跟关系数据库进行交互,SQL就成了必须的桥梁,由于SQL基于的“关系”和程序语言的“对象”是不同的体系,它们之间要完成很好的交互,就得有一个“映射”过程,实现这个过程的程序,就是ORM(Object/Relation Mapping)

ORM的意义

从2中得知,ORM做了关系对象的映射过程,那么这个过程意义是什么呢?

我们先引入一个概念: 持久化
持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。

MVC 模式实现了架构上将表现层(即View)数据处理层(即Model)分离的解耦合,而持久化的设计则实现了数据处理层内部业务逻辑数据逻辑分离的解耦合而 ORM 是持久化设计中的最重要也是最复杂的技术。

ORM做的即是解耦合的工作,属于持久化设计中的重要部分。

ORM的优缺点

使用ORM后,再也不用去写那些枯燥的DAL代码了,不用拼接那些可能存在安全问题或者敲错字段名的SQL语句,但是我们发现,仅仅使用ORM它反而丧失了SQL的灵活性。

总结

ORM可以说是我们工作中最常用的数据库交互工具了,那么,走一波源码怎么样?
接下来的几节中,我们一起以Laravel Eloquent为研究对象,进行探讨,共同学习ORM源码吧。

参考文章


欢迎大家关注我的公众号


半亩房顶
上一篇 下一篇

猜你喜欢

热点阅读