zoukankan      html  css  js  c++  java
  • django 学习----models

    ORM介绍

    ORM概念

    对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。

    简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

    ORM在业务逻辑层和数据库层之间充当了桥梁的作用。

    ORM由来

    让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。

    几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,我们是面向对象的。当对象的信息发生变化的时候,我们就需要把对象的信息保存在关系数据库中。

    按照之前的方式来进行开发就会出现程序员会在自己的业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是极其相似或者重复的。

    ORM的优势

    ORM解决的主要问题是对象和关系的映射。它通常将一个类和一张表一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。 

    ORM提供了对数据库的映射,不用直接编写SQL代码,只需操作对象就能对数据库操作数据。

    让软件开发人员专注于业务逻辑的处理,提高了开发效率。

    ORM的劣势

    ORM的缺点是会在一定程度上牺牲程序的执行效率。

    ORM的操作是有限的,也就是ORM定义好的操作是可以完成的,一些复杂的查询操作是完成不了。

    ORM用多了SQL语句就不会写了,关系数据库相关技能退化...

    ORM总结

    ORM只是一种工具,工具确实能解决一些重复,简单的劳动。这是不可否认的。

    但我们不能指望某个工具能一劳永逸地解决所有问题,一些特殊问题还是需要特殊处理的。

    但是在整个软件开发过程中需要特殊处理的情况应该都是很少的,否则所谓的工具也就失去了它存在的意义。

  • 相关阅读:
    iOS 新建xib文件时,最外层view的约束问题
    React native 无法弹出调试控件的问题
    从GitHub下载demo时遇到的依赖问题
    Mac 解决 Sourcetree 同步代码总需要密码的问题
    Mac 安装JRE 1.8
    正则表达式-- (.*?) 或 (.*+)
    字符串内有多个#号,每俩#号为一组,JavaScript 截取每组#号之间的字符
    Js/jQuery实时监听input输入框值变化
    Redis设置密码
    redis本机能访问 远程不能访问的问题
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13309142.html
Copyright © 2011-2022 走看看