RDBMS相关概念和注意事项(一)

计算机的软件分为系统软件和应用软件。数据库管理系统是系统软件。

SQL 语言具有两种使用方式,分别称为交互式SQL和嵌入式SQL

一种是在终端交互方式下使用,称为交互式SQL;另一种是嵌入在高级语言的程序中使用,称为嵌入式SQL

元组是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性。R和S求交,只有第二行a2 b2 c2相同,所以元组数为1(ABC是列名)

什么是脏读:

脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的

脏读和不可重复读的区别:

有事务执行并且执行失败而回滚,如果读取的是该事务正在执行过程中的数据叫脏读。而读取的时候还没事务在执行,然后再次读取时,读到的是被别的事务修改的数据是不可重复读。

关系型数据库事务的特性:

数据库事务必须具备ACID特性,ACID是Atomic(原子性)、Consistency(一致性)、Isolation(隔离性或独立性)和Durability(持久性)的英文缩写。

 1、原子性: 指整个数据库事务是不可分割的工作单位。只有使据库中所有的操作执行成功,才算整个事务成功;事务中任何一个SQL语句执行失败,那么已经执行成功的SQL语句也必须撤销,数据库状态应该退回到执行事务前的状态。

2、一致性: 指数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。

3、隔离性 或独立性):指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。事务查看数据更新时,数据所处的状态要么是另一事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看到中间状态的数据。

4、持久性: 指的是只要事务成功结束,它对数据库所做的更新就必须永久保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。

事务的(ACID)特性是由关系数据库管理系统(RDBMS,数据库系统)来实现的。数据库管理系统采用日志来保证事务的原子性、一致性和持久性。日志记录了事务对数据库所做的更新,如果某个事务在执行过程中发生错误,就可以根据日志,撤销事务对数据库已做的更新,使数据库退回到执行事务前的初始状态。

数据库管理系统采用锁机制来实现事务的隔离性。当多个事务同时更新数据库中相同的数据时,只允许持有锁的事务能更新该数据,其他事务必须等待,直到前一个事务释放了锁,其他事务才有机会更新该数据。

其中对于 InnoDB 存储引擎来说,其默认事务隔离级别为 READ REPEATABLE,完全遵循和满足事务的 ACID 特性。

范式概念:

第一范式:对于表中的每一行,必须且仅仅有唯一的行值.在一行中的每一列仅有唯一的值并且具有原子性.

第二范式要求非主键列是主键的子集,非主键列活动必须完全依赖整个主键。主键必须有唯一性的元素,一个主键可以由一个或更多的组成唯一值的列组成。一旦创建,主键无法改变,外键关联一个表的主键。主外键关联意味着一对多的关系.

第三范式要求非主键列互不依赖.

第四范式禁止主键列和非主键列一对多关系不受约束

第五范式将表分割成尽可能小的块,为了排除在表中所有的冗余.

视图的特点:

1.视图是一个虚表,

2.视图就是封装了一条复杂查询的sql语句集,

3.它与真实表保持同步,也就是修改视图会影响真实表,修改真实表也会影响视图,

4.视图可以屏蔽一些敏感信息,起到安全的作用,

5.视图可以简化复杂查询,

6.视图也很方便,对于一个特定的操作,不用重新编写sql语句。

总结:视图多数情况下是用来查询的,尽量不要修改视图,因为会导致真实表的数据发生变化,导致错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值