注册 登录
MySQL基础教程

第一章: 环境搭建,安装MySQL

第二章: 掌握数据库的核心概念

第三章: MySQL服务与Show命令

第四章: 创建数据库与数据表

第五章: MySQL增查改删

第六章: 在Python中操作MySQL

首页 > MySQL基础教程 > 第二章: 掌握数据库的核心概念 > 2.3节: 关系型数据库:RDBMS

2.3节: 关系型数据库:RDBMS

薯条老师 2021-03-29 08:55:50 183517 0

编辑 收藏

广州番禺Python, Java小班培训周末班

薯条老师的线下Python小班办得很好,学员的平均就业薪资有11K。线下小班培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6

2.3.1 RDBMS

RDBMS即关系型数据库管理系统,是采用了关系模型对数据进行组织的数据库管理系统。下表所示为聊斋奇女子的基本信息:

id

name

 

role

1

婴宁

狐仙

2

聂小倩

女鬼

3

花姑子

香獐子精

关系模型中的关系对应一张二维表,如上图表格所示。在关系模型的二维表结构中,每一行记录被称为一个元组, 比如表格种的第一行(1,婴宁,狐仙)就是关系中的一个元组。

同学们可将元组理解为表格中的一个完整数据对象,表格中的列名表示数据对象的属性,所有属性构成了该数据对象的描述。理解关系模型,其核心在于理解关系的结构、操作,以及对关系的约束。关于约束,会在后面的课程中进行讲解。

上文提及的关系,元组,属性,是关系型数据库中的一些核心概念。初学者在学习MySQL时需要理解并掌握以下几个核心概念:

RDBMS核心概念

 

描述

table(表)

由行列组成的二维数据结构

relation(关系)

关系对应的是一张二维表格

row(行)

对应二维表中的一行记录,又称为元组

column(列)

对应二维表中的每一列数据,又称为属性

key(键)

用来唯一标识表格中的每一行,或与其它表产生联系。可以用一行中的一个或多个属性来作为一个键,一张表中可以存在多个键。

primary key(主键)

用来唯一地标识表格中的一行记录,一张表只能存在一个主键。

foreign key(外键)

若一个关系中的键是另外一个关系中的主键,则称该键为外键。

data type(数据类型)

表格中的每一列都有对应的数据类型,例如整型或字符串类型。

2.3.2 数据库中的事务

数据库中的事务是RDBMS执行过程中的一个逻辑单元,由一个有限的操作序列构成,该操作序列被视为一个整体在系统中进行提交。在事务的提交过程中,操作序列中的操作要么全部执行成功,要么全部执行失败。在DBMS中,通过事务来保证对数据操作的安全性和完整性。事务包含了以下四个特性:

1.原子性(Atomicity)

原子性是指将数据的一系列读写操作,视为一个操作集合,这个集合里面的操作要么完全地执行,要么完全地不执行。

例如对数据A进行修改,则会包含以下3个读写操作:

(1) 读取A的值

(2) 对读取到的值进行修改

(3) 将值写回到A中

这三步操作就构成一个操作集合,集合中的(1)(2)(3)操作,要么全部成功,要么全部失败,这就是所谓的原子性。

2.一致性(Consistency)

一致性是指事务执行的结果必须从一种一致性状态,转换为另一种一致性状态,状态的转换过程对外不可见。以银行转账来进行举例:

A账户余额1000元,B账户余额500元,从A账户转账500到B账户,最终A账户余额为500,B账户余额为1000。

首先分析转账过程中存在的一致性状态:

(1) 转账前的一致性状态:A账户余额1000元,B账户余额500元

(2) 转账成功后的一致性状态:A账户余额500元,B账户余额1000元

那么,事务就是指必须由(1)中的一致性状态转换为(2)中的一致性状态,至于转账操作是否成功,由事务的原子性来进行保证。

3.隔离性(Isolation)

隔离性是指事务在执行过程中,不能被其它事务干扰。按读写维度来进行划分,数据库中的事务可分为读事务和写事务。

假设数据库中同时存在对数据A的读事务,和对数据A的写事务,则读事务在读取A的值的过程中,不能被写事务干扰,解决办法是将读事务与写事务进行隔离,读事务要么先于A事务发生,要么在写事务完成以后,再进行数据A的读取。

数据库事务中定义了四种隔离级别,级别由低到高进行排序,分别为:Read uncommitted, Read committed,Repeatable read,Serializable,事务隔离级别越高,能更有效的保证对数据进行并发读写的正确性,但随之而来的是引起性能下降。  

4.持久性(Durability)

持久性是指,事务一旦提交,对数据库中的数据的改变就应该是永久性的。

2.3.3 结构化查询语言

结构化查询语言对应的英文为Structured Query Language,简称为SQL,是一种数据库查询语言。在RDBMS中,通过SQL来对数据进行查询、更新,以及数据库管理。学习结构化查询语言,主要是学习SQL中的动词的用法,结构化查询语言的主要组成部分:

DDL

数据定义语言,核心动词包括CREATE,DROP,ALTER,分别表示表格的创建,表格的删除,表格的修改。

DQL

数据查询语言,核心的动词为SELECT,表示从表格中查询数据。

 

DML

数据操作语言,核心的动词为INSERT,UPDATE,DELETE,分别表示在表格中插入数据,在表格中更新数据,在表格中删除数据。

TCL

事务控制语言,使用事务控制语言用来对DML语句进行事务控制,核心动词为COMMIT,ROLLBACK,分别表示对事务进行提交,对事务进行回滚。

在接下来几章的学习中,我们需要将本章所学的数据库核心概念,应用到对MySQL的学习当中,同学们需重点掌握本章中的核心概念。

2.3.4 最具实力的小班培训

来这里参加Python和Java小班培训的学员大部分都找到了很好的工作,平均月薪有11K,学得好的同学,拿到的会更高。由于是小班教学,所以薯条老师有精力把每位学员都教好。打算参加线下小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取学习资料:




欢迎 发表评论:

请登录

忘记密码我要注册

注册账号

已有账号?请登录