软考中级软件设计师自我总结知识分享--数据库技术基础|8月更文挑战

794 阅读9分钟

这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战

前言

该系列文章全篇文字在10w+,全文都是自己备考中的干货,软考涉及很多计算机基础,数据结构,算法分析,编程思想,开发流程等等,不仅适合参加软考的人学习,也适合扩宽自己知识视野的人去学习,每一篇都将会把重点加粗处理,特别是易错点,考试常考平时也容易记错,请一定仔细看! 如果喜欢此系列,记得关注该专栏,能留个小小的点赞就更好了!

章节梳理

  • 数据库系统(DBS),数据库管理系统(DBMS)是数据库系统的核心软件,主要功能包括数据定义功能,数据操纵功能,数据库的运行管理和数据库的建立与维护。DBMS具有特征:数据结构化且统一管理,有较高的数据独立性,提供数据控制功能。分类主要有:关系数据库系统,面向对象的数据库系统,对象关系数据库系统。
  • 数据库系统的体系结构:集成式数据库系统,客户端/服务器数据库系统,并行数据库系统,分布式数据库系统。

图片.png

  • 概念模式:是数据库中全体数据的逻辑结构和特征的描述,它由若干个概念记录类型组成,只涉及行的描述,不涉及具体的值。(基本表)
  • 外模式:是用户与数据库系统的接口,是用户用到那部分数据的描述,若干个外部记录类型组成。(视图)
  • 内模式:是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,定义所有内部记录类型,索引和文件的组织方式,以及数据控制方面的细节。(存储文件)
  • 两级映象功能保证了数据的独立性。
  • 索引对应外模式,视图对应概念模式,基本表对应内模式
  • E-R模型:实体-联系模型简称E-R模型。

图片.png

  • 属性:是实体某方面的特性。在同意实体集中,每个实体的属性及其域相同的,但可能不同的值。E-R模型中属性:简单属性和复合属性。单值属性和多值属性。Null属性。派生属性。
  • E-R方法和构件(矩形,菱形,椭圆,线段,双椭圆,虚椭圆,双线)。

图片.png

  • 层次模型采用属性结构表示数据与数据间的联系,在层次模型中,每一个节点表示一个记录类型,记录之间的联系用节点之间的连线表示,并且根节点以外的其他节点有且仅有一个双亲节点。(当表示多对多的联系时,可采用 冗余节点法和虚拟节点分解法)
  • 网状模型采用网状结构表示数据于数据间联系的数据模型称为网状模型。比层次模型更具有普遍性的数据结构,是层次结构的一个特例,它却掉了层次模型的两个限制,并允许两个节点之间有多种联系(复合联系)
  • 关系模型与网状,层次模型的最大区别是:用主码而不是用指针导航数据,表格简单,通俗易懂,用户只需要简单的查询语句就可以对数据库进行操作,无涉及存储结构和访问计数等细节。优点是:概念单一,存储路径对用户是透明的,所以具有更好的数据独立性和安全保密,简化了程序开发和数据的建立工作。
  • 候选键(候选码):若关系中的某一属性或属性组的值能够唯一标识一个元祖,则称该属性或属性组为候选码(键)。
  • 主码(键):若一个关系有多个候选码,则选定其中一个为主码
  • 外码:主要为了关联查询用到。
  • 候选键的求法:

图片.png

  • 数据库的完整性约束:实体完整性(规定基本关系R的主属性不能取空值),参照完整性(现实世界中的实体之间往往存在某种联系,在关系模型中实体与实体之间的联系是用关系描述的,这样自然就存在着关系与关系之间的引用),用户定义完整性。
  • 五种关系代数运算:并 差 广义笛卡尔积(集合有N+M个,关系就有NM与各个元组相乘) 投影π(是从关系的垂直方向进行运算,就是选列的操作) 选择σ(是从关系的水平方向进行运算,就是选行操作)
  • 连接:分为θ连接,等值连接和自然连接(一种比较特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中把重复属性列去掉,没有写连接条件)
  • 关系数据库规范化:函数依赖,非平凡的函数依赖,平凡的函数依赖,完全函数依赖,部分函数依赖(局部依赖),传递依赖。
  • (*)规范化:范式有1NF 2NF 3NF BCNF 4NF 和5NF。其中级别依次递增。一般在3NF就行。(注意区别范式之间的联系)详细介绍如下图:

图片.png

图片.png

图片.png

图片.png

图片.png

  • 模式分解

图片.png 图片.png

图片.png

  • 数据库的控制功能:事务管理,数据库的备份与恢复,并发控制。
  • 事务:把多个操作封装起来当作整体去操作。4个特征:原子性,一致性,隔离性和持久性。

图片.png

  • 数据的备份:

图片.png

图片.png

  • 数据库的故障和恢复:

图片.png

  • 并发控制:所谓的并发操作是指的是多用户共享的系统中,许多用户可能同时对同一数据进行操作。该操作问题带来的原因是:破坏了事务的隔离性。主要有数据不一致性有三类:丢失修改,不可重复读和读“脏”数据。

图片.png

  • (*)并发控制技术主要是封锁:
  • *共享锁(S读锁):T事务在对对象在加锁之后只允许T读取A,但不能修改。其他事务也只能加S锁。
  • *排他锁(X写锁):T事务在对对象在加锁之后只允许T读取和修改。加锁之后其他事务不能加任何锁。
  • 死锁和活锁: 活锁就是在在等待资源时不断有人插队。死锁就是两个以上的事务分别请求封锁对方已经封锁的数据,导致长期等待而无法继续运行下去的现象。

图片.png

  • 数据库设计和软件生命周期基本类似:数据库规划,需求描述与分析,数据库与应用程序设计,数据库系统实现,测试和运行维护6个阶段。

图片.png

图片.png

  • 大数据:

图片.png

  • 反规范化

图片.png

错题整合

JDBC(java database connectivity)是一种用于执行sql语句的java API,可以为多种关系数据库提供统一访问,它是由一组用java语言编写的类和接口组成。

查询语句中:查询条件where与having的区别要清楚。Where是针对单条记录的判断条件,而having是针对分组之后的判断条件,

  • 关系代数表达式查询优化原则:1、提早执行选取运算。2、合并乘积与其后的选择运算为连接运算。(在表达式中,当乘积运算后面是选择运算时,应该合并为连接运算,使选择与乘积一道完成,以避免做完乘积后,需要再扫描大的乘积关系进行选择运算)3、将投影运算与其后的其他运算同时进行,以避免重复扫描关系。4、将投影运算和前后的其他运算同时进行,以避免重复扫描关系。5、在执行连接前对关系适当地预处理,就能迅速地找到要连接的元组。方法有:索引连接,排序合并。6、存储公共子表达式。
  • (*)物理独立性:数据库的内模式发生改变时,数据的逻辑结构不变。此时要修改模式与内模式之间的映像,而不用修改应用程序。
  • (*)逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的,当数据的逻辑结构变化,只需要调整外模式与模式之间的映像,而不用修改应用程序。
  • 主属性和非主属性是互补的,一个关系模式的属性不是主属性就是非主属性。组成候选码的属性就是主属性,其他的就是非主属性,所以要判断关系模式中的属性是主属性还是非主属性,首先要求解出其候选码。
  • 4NF就是限制关系模式的属性之间不允许有非非凡且非函数的多值依赖。
  • *分片透明:用户不必知道关系数据是如何分片的,它们对数据的操作在全局关系进行,即关系如何分片是对用户透明的。
  • *复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。
  • *位置透明:用户不必知道所操作的数据放在何处,即数据分配到哪个或者哪些站点存储是对用户是透明的。
  • *逻辑透明:是最低的透明性,提供数据到局部数据库的映像,用户不必关心局部DBMS支持哪些数据模型,使用哪种数据操纵语言,数据模型和操纵语言都是由系统完成。
  • 全码:关系模型的所有属性组成该关系的候选码。
  • 超码:该值可以区别两者不同。
  • 遗传算法:是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
  • 命名冲突:在合并ER模型时提出的概念,合并ER模型时之所以产生冲突,是因为对于同样的对象,不同的局部ER模型有着不同的定义。