广州番禺Python, Java小班周末班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6
5.2.1 什么是ORM
ORM的英文全称为Object Relational Mapping,即对象关系映射。理解ORM需要考虑以下三个问题:
(1) 什么是对象?
(2) 什么是关系?
(3) 什么是映射?
带着这三个问题,现在来一步步地理解何为对象关系映射:
什么是对象?
在面向对象中,抽象后的数据类型叫做类,类由类属性和类方法组成。类属性表示这种数据类型共有的特征,而类方法表示该数据类型共有的行为。对类进行实例化,可以得到一个具体的对象。
现在来定义一个表示女性类型的Female类:
class Female: # 定义女性的共有特征 pregnant = True suckling_a_baby = True # 对Female类进行实例化得到一个female对象 female = Female()
什么是关系?
关系指的是关系型数据库中的“关系”,在理解关系的概念之前,读者先看下图所示的数据表格,表格中存储了多个女性的基本信息:
编号 | 姓名
| 年龄 |
1 | 小美 | 23 |
2 | 小丽 | 25 |
3 | 小花 | 21 |
4 | 小朵 | 22 |
上图中的数据表格由行列组成了一张二维表,这张二维表就是所谓的关系。在该二维表中,每一行中的具体内容被称为一个元组, 例如表格数据的第一行:(1,小美,23)。同学们可以把元组简单地理解为表格中的一个完整的数据对象,表格中的列名构成了数据对象的属性,每一行中的所有属性构成了该数据对象的描述,这样的描述就是所谓的关系模型。例如在该数据表中,使用关系模型:(编号,姓名,年龄),来对数据对象(女性)进行了描述。
什么是映射?
映射是指将两个元素进行一一对应,ORM中的映射是指将对象与关系进行一一映射。具体的映射方式表现为:
(1) 将类名与数据库的表名进行一一对应
(2) 将类属性与数据表中的列属性进行一一对应
(3) 将实例化后的对象与数据表中的一行记录进行一一对应
对象与关系的映射关系如下图所示:
5.2.2 ORM的优势及缺点
ORM的优势在于,只需以对象的使用方式来进行数据库的读写,django会将对对象的操作,自动转换为实际的数据库读写操作。按照传统的方式进行数据库操作,存在以下弊端:
(1) 开发人员在代码中耦合SQL语句来进行数据库的读写操作
(2) 不同的数据库,其SQL语句会存在差别,如果在项目中更换数据库,代码中的SQL语句也需要同步进行修改
ORM解决了以上两个问题,只需按对象的使用方式来进行数据库的读写操作,而无需进行SQL语句的编写。ORM的缺点在于,其充当一个中间层,与直接操作数据库相比,使用ORM会在一定程度上牺牲程序的执行性能。
5.2.3 在django中使用ORM
在5.3节中会详细介绍如何在django中使用ORM。以下为在django中使用ORM的核心流程:
(1) 在模型中定义一个类
(2) 在类中定义类属性,以及相关的操作方法
(3) 在视图中使用ORM的API对特定的模型进行操作。
(4) 使用django中的迁移命令,将模型与数据库建立映射
5.2.4 最具实力的小班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。
(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,包拿Offer
(3) 数据分析高薪就业班,月薪11K-15K, 免费领取课程大纲
(4) Python大数据挖掘,量化投资就业班,月薪12K-25K,免费领取课程大纲
扫码免费领取Python学习资料: