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

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语句。

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

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

  1. Oracle数据库中的包(七)

    目录 1.Oracle中包 2.包的创建 (1)可视化方式创建包 (2)以命令方式创建包 ①创建包头 ②创建包体 ③删除包 3.包的初始化 4.重载 ①相关概念和注意事项 ②系统内置的包 Oracle ...

  2. 在CentOS7.6下搭建Oracle19c RAC集群

    在CentOS7.6下搭建Oracle19c RAC集群 1.准备阶段 1.1 虚拟环境准备 1.2 Oracle版本包准备 2.服务器配置阶段 2.1.配置IP 2.2.停止不相关服务 2.3.配置 ...

  3. SpringBoot 2.0 系列001 -- 入门介绍以及相关概念

    为什么80%的码农都做不了架构师?>>>    SpringBoot 2.0 系列001 -- 入门介绍以及相关概念 什么是SpringBoot? 项目地址:http://proje ...

  4. Spark+hadoop+mllib及相关概念与操作笔记

    Spark+hadoop+mllib及相关概念与操作笔记 作者: lw 版本: 0.1 时间: 2016-07-18 1.调研相关注意事项 a) 理解调研 调研的意义在于了解当前情况,挖掘潜在的问题, ...

  5. Bitmap基本概念及在Android4.4系统上使用BitmapFactory的注意事项

    本文首先总结一下Bitmap的相关概念,然后通过一个实际的问题来分析设置BitmapFactory.options的注意事项,以减少不必要的内存占用率,避免发生OOM. 一. Bitmap的使用tri ...

  6. 【转】Oracle Outline使用方法及注意事项

    概要  Oracle Outline是用来保持SQL运行计划(execution plan)的一个工具. 我们能够通过outline工具防止SQL运行计划在 数据库环境变更(如统计信息,部分參数等)而 ...

  7. DL框架之Keras:深度学习框架Keras框架的简介、安装(Python库)、相关概念、Keras模型使用、使用方法之详细攻略

    DL框架之Keras:深度学习框架Keras框架的简介.安装(Python库).相关概念.Keras模型使用.使用方法之详细攻略 目录 Keras的简介 1.Keras的特点 2.Keras四大特性 ...

  8. 数据仓库的 RDBMS 性能优化指南

    转:http://www.microsoft.com/china/technet/prodtechnol/sql/2000/maintain/c2061.asp 数据仓库的 RDBMS 性能优化指南 ...

  9. oracle rdbms 占内存_027、Oracle数据库

    1.数据库相关概念 (1)什么是数据库 所谓的数据库其实就是数据的集合.用户可以对集合中的数据进行新增.查询.更新. 删除等操作.数据库是以一定方式储存在一起.能与多个用户共享.具有尽可能小的冗余度. ...

最新文章

  1. 继承log4.net的类
  2. XP与Windows 7(Win7)等操作系统Ghost备份
  3. 快到极致的Android模拟器——Genymotion
  4. php 安装rabbitmq拓展_【RabbitMQ】——centos7安装rabbitmq教程 以及 PHP开启rabbitmq扩展...
  5. 【Scratch】青少年蓝桥杯_每日一题_1.17_春夏秋冬四季
  6. python方法重写_python 怎样实现重写
  7. asp控件Repeater运用
  8. 分区裁剪 oracle,[讨论]分区表并行和剪裁的困惑
  9. 多进程|多线程的不同应用场景:Python还是C
  10. 关于MyBatis一级缓存、二级缓存那些事
  11. 51 单片机AD采集电压值的坑
  12. c语言作业的搜题软件下载,C语言题库app下载-C语言题库下载v2.3 安卓版-西西软件下载...
  13. 光模块测试CEI-28G-VSR 浅析1---背景基础介绍
  14. Linux扩容raid,linux raid1扩容的方法
  15. 浦瑞克扫地机器人好用吗_爱她就送她浦瑞克扫地机器人
  16. 【数学】三壶问题的一种通解
  17. dell电脑驱动安装失败
  18. 转运锦鲤(Transport of Koi Carp)
  19. 虚拟机(VM)与JVM
  20. 字体在其他浏览器正常在IE8显示字体模糊问题解决

热门文章

  1. 联诚发LED屏震撼亮相周杰伦新加坡演唱会!
  2. 带小数的十进制转换为二进制
  3. linux单端口防cc,Linux防CC攻击
  4. C# 开源游戏服务器框架
  5. 系统公告 | MemFire Cloud推出微信小程序SDK
  6. 前端必读2.0:如何在React 中使用SpreadJS导入和导出 Excel 文件
  7. python打造seo必备工具-自动查询排名
  8. Android创建一个无启动页服务
  9. 博奥智源公司分享麻醉药品管理系统功能设计模块
  10. 一分钟图情论文:《公共图书馆法》视域下的馆员知识与能力体系探究