关系型数据库Python-ORM

10 篇文章 0 订阅

ORM-对象关系映射

通过ORM将编程语言的对象模型数据库的关系模型建立映射,让编程语言代替SQL对数据库进行操作;ORM使用对象对数据库的操作进行的封装,在开发的过程中,可以不使用SQL,值需要面向对象编程,与数据对象直接交互,不用关系底层数据库。Python常用的ORM有SQLAlchemyDjango's ORM

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

优点:

  • 数据模型类都在一个地方定义,容易更新和维护,利于重用代码;
  • ORM有现成的工具,很多功能可以自动完成,比如数据消毒,预处理,事务,自动生成表格;
  • 基于ORM的业务代码比较简单,代码量比较少,可读性比较强
  • 在数据库表名或字段名发生变化时,只需修改模型类的映射,无需修改数据库操作的代码

    (相比SQL的话,可能需要同步修改涉及到的每一个SQL语句)

  • 避免编写性能不佳的SQL
  • 防止SQL注入攻击

缺点

  • ORM无法满足复杂的查询,要么无法表达,要么性能不足
  • 开发者无法了解数据库底层操作,无法定制特殊需求的SQL
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值