第一章 数据库系统概述

1.1 数据库基本概念

数据(DATA):描述事物的符号记录(2018.10 选)

数据库(DB):是在计算机系统中按照一定的数据模型组织、存储和应用的数据的集合.

数据库管理系统(DBMS):是位于用户和操作系统之间的一层数据管理软件。

数据库系统(DBS):指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统、应用系统、数据库管理员和用户构成。

DBMS的功能包括:数据定义功能;数据操纵功能;数据库的运行管理及数据库的建立和维护功能.

数据库系统提供以下四个方面的数据控制功能:

①数据库的恢复;②数据库的并发控制;③数据库的完整性;④数据库的安全性。

1.2 数据管理技术的发展

数据库管理技术的发展中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

人工管理阶段:特点(2018.10 选)
数据的管理者:人
数据面向的对象:某一应用程序
数据的共享程度:无共享,冗余度极大
数据的独立性:不独立,完全依赖于程序
数据的结构化:无结构
数据控制能力:应用程序自己控制

数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点:

1.数据结构化;(数据结构化是数据库系统与文件系统的根本区别)

2.数据的共享性高,冗余度低,易扩充;

3.数据的独立性高;

4.数据由DBMS统一管理和控制;

1.3 数据库系统的结构

数据库系统的三级模式结构:

1.模式(概念模式或逻辑模式):它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个概念模式,它既不涉及数据的物理存储细节和硬件环境也与具体的应用程序和程序设计语言无关。

2.外模式(子模式或用户模式):是用户与数据库系统的接口,是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述。

3.内模式(存储模式):它是数据库中数据物理结构的存储方式的描述,是数据在数据库内部的表示形式。一个数据库只有一个内部模式。

三层模式的两层映像:外模式/模式映像、模式/内模式映像。

数据独立性:

在某个层次上修改模式定义而不影响位于其上一层模式的能力叫做数据独立性.有两个层次的数据独立性:物理独立性和逻辑独立性。

物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的.

逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的.

1.4 数据模型

数据具有动态和静态两种特征。

数据模型是数据特征的抽象.数据模型所描述的内容有三部分:数据结构、数据操作和数据约束

数据模型的分类:概念层数据模型(抽象级别最高)、逻辑层数据模型和物理层数据模型。

逻辑模型又分为:层次模型(树形结构)、网状模型(有向图结构)、关系模型(二维表格)。

第二章 关系数据库

1.关系数据库概述

关系数据库的基本特征是使用关系数据模型组织数据。

2.关系数据模型

关系数据模型是由关系数据结构、关系操作集合和关系完整性约束组成。

2.1关系数据结构

表,也称为关系,是一个二维的数据结构。

表中的列,也称做字段或属性。

属性,表中的一列为一个属性,给每一个属性起一个名称即属性名。表中属性的个数称为关系的元或度,列的值称为属性值,属性值的取值范围,称为值域。

表中的行也称作元祖或记录。

元组中的一个属性值,称为分量。

能用来唯一标识元组的属性或属性组,为该关系的键或码。

如果在关系中的一个码中,移去某个属性,它仍然是这个关系的码,则称这样的码或键为该关系的超码或超键。

如果在关系的一个码中,不能从中移去任何一个属性,否则它就不是这个关系的码或键,则称这样的码或键为该关系的候选码或候选键。

在一个关系中的若干个候选码或候选键中指定一个用来唯一标识关系的元组,则称这个被指定的候选码或候选键为该关系的主码或主键。

一个关系模式的所有属性集合是这个关系的主码或主键,则称这样的主码或主键为全码或全键。

关系中包含在任何一个候选码中的属性,称为主属性或码属性,不包含在任何一个候选码中的属性,称为非主属性或非码属性。

当关系中的某个属性或属性组不是这个关系的主码或候选码,而是另一个关系的主码时,则称该属性或属性组是这个关系的外码或外键。

以外码作为主码的关系,称为被参照关系。

外码所在的关系称为参照关系。

域表示属性的取值范围。

关系模式是型,关系是值,即关系模式是对关系的描述。

关系数据库是以关系模型作为数据的逻辑模型,并采用关系作为数据组织方式的一类数据库,其数据库操作建立在关系代数的基础上。

2.2关系操作集合

关系模型中常用的关系操作,包括查询操作和插入删除,修改操作两大部分。查询操作又可以分为选择,投影,连接,除,并,差,交,笛卡尔积等,其中选择,投影,并,差,笛卡尔积是五种基本操作,其他操作均可以使用基本操作来定义和导出。

关系数据语言的分类,关系代数语言,关系演算语言和兼具两者特点的语言SQL。

五个基本操作:

并(∪)、差(-)、笛卡尔积(×)、投影(π)、选择(σ)

四个组合操作:

交(∩)、联接(等值联接)、自然联接(RS)、除法(÷)

除法的理解:设关系R除以关系S的结果为关系T,则关系T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。

2.2关系的完整性约束

数据库的数据完整性是指数据库中数据的正确性,相容性和一致性。

实体完整性约束是指关系的主属性,即主码的组成不能为空,也就是关系的主属性,不能是空值null。

参照完整性,要求不引用不存在的主码。

用户定义完整性规则,允许用户定义属性的数据类型,大小和取值范围,系统采用统一的方法进行检验实施,不再由应用程序承担这部分工作。

3.关系数据库的规范化理论

1.关系模式中存在的冗余和异常问题

数据冗余、插入异常、更新异常、删除异常

2.函数依赖与关键字

函数依赖是指关系中属性间的对应关系。

设R为任一给定关系,如果对于R中属性X的每一个值,R中的属性Y只有唯一值与之对应,则称X函数决定Y或称Y函数依赖于X,记作X → Y,其中X称为决定因素。反之,对于关系R中的属性X和Y,若X不能函数决定Y,则其符号记作X →× Y。

注意:函数依赖是针对关系的所有元组,即某个关系中只要有一个元组的有关属性值不满足函数依赖的定义,则相对应的函数依赖就不成立。

完全函数依赖:

设R为任一给定关系,X、Y为其属性集,若X → Y,且任何X中的真子集X1都有X1 →× Y,则称Y完全函数依赖于X。

例:(SNO,CNO)→ GRADE(学号和课程编号决定成绩)

部分函数依赖:

设R为任一给定关系,X、Y为其属性集,若X → Y,且X中存在一个真子集X1满足X1 → Y,则称Y部分函数依赖于X。

例:(SNO,SNAME)→ SSEX,但其中SNO → SSEX(学号和姓名可以决定性别,但其中学号可以直接决定性别)

传递函数依赖:

设R为任一给定关系,X、Y、Z为其不同的属性子集,若X → Y,Y →× X,Y → Z ,则有X → Z,称为Z传递函数依赖于X。(加入条件Y →× X,是因为若Y → X,即有X ←→ Y,这实际上是X直接函数决定Z,而不是X传递函数决定Z)

例:BNO → PNAME (书号决定出版社)和 PNAME → PADDRESS(出版社决定出版社地址),但PNAME →× BNO(一个出版社可能出版多种书),因此有PADDRESS对BNO的传递函数依赖。

 候选关键字:

设R为任一给定关系,U为其所含的全部属性集合,X为U的子集,若有完全函数依赖X → U,则X为R的一个候选关键字。作为候选关键字的属性集X唯一标识R中的元组,但该属性集的任何真子集不能唯一标识R中的元组。显然,一个关系R中可能存在多个候选关键字,通常选择其中之一作为主键,候选关键字中所含的属性称为主属性。不包含在候选关键字中的属性为非主属性。

例:属性集(SNO,CNO)为候选关键字,SNO和CNO为主属性。

4.范式与关系规范化过程

第一范式(1NF):数据库中的每一列都是不可分割的基本元素。

第二范式(2NF):满足第一范式(1NF),并且关系中每一个非主属性完全函数依赖于关系的候选键。

第三范式(3NF):满足第二范式(2NF),并且每个非主属性都不传递依赖于关系的候选键。

BCNF:满足第三范式(3NF),并且关系中每一函数依赖的决定因素都包含一个候选关键字。

第三章 数据库设计

一、数据库设计概述

1、数据库的生命周期

数据库的生命周期可分为两个阶段,分别是数据库分析与设计阶段、数据库实现与操作阶段。

⑴ 数据库分析与设计阶段:需求分析、概念设计、逻辑设计、物理设计;

⑵ 数据库实现与操作阶段:实现、操作与监督、修改与调整。

2、数据库设计的方法

1)直观设计法

2)规范设计法

a.新奥尔良设计方法(需求分析、概念结构设计、逻辑结构设计、物理结构设计)1978年提出,较为完整和权威,注重数据库的结构设计,不太考虑数据库的行为设计。

b.基于E-R模型的数据库设计方法

c.基于第三范式的设计方法

3)计算机辅助设计方法

3.数据库设计的过程

数据库设计分为以下几个阶段:

⑴ 需求分析阶段;

⑵ 结构设计阶段,包括概念结构设计、逻辑结构设计和物理结构设计;

⑶ 行为设计阶段,包括功能设计、事务设计和程序设计;

⑷ 数据库实施阶段,包括加载数据库数据和调试运行应用程序;

⑸ 数据库运行和维护阶段

二、数据库设计的基本步骤

1.需求分析

需求分析一般分为四个步骤,分别是确定数据库范围、分析数据应用过程、收集与分析数据和编写需求分析报告。

2.概念结构设计

它是在需求分析报告的基础上,按照特定的方法设计满足应用需求的用户信息结构,该信息结构通常称为概念模型。概念模型的设计目标是最大限度的满足应用需求,可完全不顾具体的硬件和软件的限制,它是一个符合用户要求的趋于理想化的信息结构。

3.逻辑结构设计

逻辑结构设计的目标是将概念模型转换为等价的、并为特定的DBMS所支持的数据模型的结构。数据库逻辑模型一般由层次、网状、关系数据模型表示。

4.物理结构设计

物理设计是指对于一个给定的数据库逻辑结构,研究并构造物理结构的过程,其任务主要是确定数据库在存储设备上的存储结构及存取方法,因DBMS的不同,还可能包括建立索引和聚集,以及物理块大小、缓冲区个数和大小、数据压缩的选择等。

5.数据库实施

数据库运行时需要工作人员在系统运行中做好维护工作,监督、发现和分析问题,提出改进或扩展方案并付诸实施。此外,还应定期或不定期的进行数据转储,当系统出现故障时进行恢复处理,并实施安全与完整性控制。

三、关系数据库设计方法

1.E-R图的表示方法

① 实体型:用矩形表示,矩形框内写明实体的名称;

② 属性:用椭圆形表示,并用无向边将其与相应的实体连接赶来;

③ 联系:用菱形表示,菱形框内写明联系的名称,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:N或M:N),如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。

在存取方法的设计中,存取路径分为主存取路径与辅助存取路径,前者用于主键索引,后者用于辅助键索引.

自考总结 数据库系统原理相关推荐

  1. 2022年11月华南师范大学自考本科-计算机信息管理课程实验—《数据库系统原理》实践题目

    <   计算机信息管理课程实验--数据库系统原理  >课程试卷 答卷提交说明: 在mysql环境下填写SQL命令完成以下实践的题目,并返回执行结果的截图,答卷的答题格式如下,包括三部分:题 ...

  2. 自考-知识点总结-数据库系统原理 04735

    数据库系统原理 第一章 数据库系统概述 数据库基本概念 数据:符号记录(文本或多媒体) 数据库(DB):长期储存.有组织.可共享 的数据集合 数据库管理系统(DBMS):建立与管理数据库的软件 基本功 ...

  3. 自考·数据库系统原理

    [前言] 数据库的学习,第二次的学习了,这次的学习有了之前的基础,相对其他两科目看的时间比较少,这次的理解比上次的学习更加深刻了些,如下思维导图 数据库系统原理

  4. 数据库系统原理设计题和综合体

    1.设教学数据库中有三个关系: 学生关系 S(S#,SNAME ,AGE,SEX,DEPT),其属性分别表示学号.姓名.年龄.性别.所在系. 课程关系 C(C# ,CNAME ,TEACHER) ,其 ...

  5. IT:银行类金融科技岗笔试习题集合—各大行(工商+建设+农业+浦发+招商+平安+人民+邮政银行)计算机信息科技岗笔试集合(包括计算机基础知识+网络+操作系统+数据库系统原理)

    IT:银行类金融科技岗笔试习题集合-各大行(工商+建设+农业+浦发+招商+平安+人民+邮政银行)计算机信息科技岗笔试集合(包括计算机基础知识+网络+操作系统+数据库系统原理) 导读:因为博主后台留言太 ...

  6. 数据库系统原理复习提纲

    数据库系统原理复习提纲 参考文献:A First Course in Database Systems | 3rd Edition Authors:Jennifer Widom,Jeffrey D U ...

  7. 2011版计算机网络原理,2011年7月自考04741计算机网络原理真题及答案

    以下是湖南自考生网为考生们整理的"2011年7月自考04741计算机网络原理真题及答案",考生可通过自考历年真题练习更有把握的面对考试,对题型更加熟悉,从而取得更佳的成绩.供考生参 ...

  8. 修改数据无法提交_数据库系统原理

    数据库系统原理整理 一.事物 事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚. ACID原则 1.原子性 事务被视为不可分割的最 ...

  9. 数据库系统原理(1)--绪论

    基本说明 数据库系统原理的系列章节是基于<数据库系统原理>的基础之上,结合自己的心得与体会进行的归纳总结. 由于这些内容都是自己对数据库相关内容学习的最初理解,因此有所不妥的地方欢迎批评指 ...

最新文章

  1. 微信小程序云开发,使用阿里云短信服务,搜索员工生日定期发送短信。
  2. C语言入门练习 - 第一期 变量、输入输出、表达式与顺序语句(题解)
  3. 一份火爆AI圈的高分深度学习入门讲义,李航、马少平领衔多位科学家力荐!...
  4. 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java
  5. erlang精要(18)-以函数作为参数的函数,返回函数的函数(1)
  6. 使用wireshark抓取wcf生成的soap消息
  7. 深入学习__doPostBack函数
  8. 通过反射写一个通用的设置某个对象的某个属性为指定的值
  9. 关于模型预测结果好坏的几个评价指标
  10. 初始序列为1 8 6 2 5 4 7 3一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为
  11. python对象的三个属性_Python 对象属性的访问
  12. mybatis 取查询值_Mybatis --- 映射文件、参数处理、参数值的获取、select元素
  13. php字符串与数字比较,PHP容易被忽略而出错陷阱 数字与字符串之间的比较
  14. 学习笔记之51单片机键盘篇(非编码键盘与编码键盘、非编码键盘的扫描方式、独立键盘、矩阵键盘)
  15. android之阴影效果
  16. 经典SQL语句大全(转)
  17. 用python快速导出浏览器的标头(headers)
  18. ZXing实现扫描或选取图片识别二维码及条码功能
  19. 歪门邪道之解决首屏图片加载闪烁问题
  20. Android UI控件和布局

热门文章

  1. 苹果6怎样分屏_不熬夜!3分钟提前看苹果WWDC,iOS 14透露iPhone 12的秘密
  2. 一文详解特权访问管理(PAM)
  3. Objective-C 基础教程——入门
  4. 鲸鱼算法(WOA)优化支持向量机的数据回归预测,WOA-SVM回归预测,多输入单输出模型。
  5. 用小机器人 Automator 自制一个批量处理图片软件的方法
  6. 模型加载库 Assimp
  7. 抖音带货2个亿!传统市场营销人该如何破局?
  8. 2021最新哔哩bilibili视频弹幕播放器带后台版本完整无错修复
  9. [转载]一个程序员的日常书单(更新于2018/10/7)
  10. 众昂矿业架构师刘金海:锂电级PVDF逐渐成为需求主力,拉动萤石增长