数据库系统概论
数据库系统概论
瞌睡蚁数据库系统概论(第六版)
本笔记是作者根据书籍、b站视频和相关资料所作,请勿商用。
1. 绪论
1.1 概述
1.1.1 基本概念
简单分为数据 、数据库 、数据库管理系统 和数据库系统 。
- 数据是数据库中存储的基本对象,有文字等多种形式,最后会经过数字化后存入计算机。
- 数据库是长期存储在计算机内有组织、可共享的大量数据的集合。
- 数据库管理系统大体可分为五个功能:
- 数据定义功能
- 数据组织、存储和管理功能
- 数据操纵功能:增删查改(查询、插入、删除和修改等)
- 数据库的事务管理和运行管理功能
- 数据库的建立和维护功能等
- 数据库系统由**数据库**、**数据库管理系统**、**应用系统**和**数据库管理员**组成。
1.1.2 数据管理技术的发展
数据管理技术经历了人工管理、文件系统和数据库系统三个阶段。
人工管理、文件系统和数据库系统三个阶段的特点及其对比:(大体看看,有印象即可,作者认为不重要 )
| 特性 | 人工管理阶段 | 文件系统阶段 | 数据库系统阶段 |
|---|---|---|---|
| 数据存储方式 | 纸质记录、手工管理 | 数据以文件形式存储在计算机中,文件由操作系统管理 | 数据以结构化形式存储在数据库中,由数据库管理系统(DBMS)统一管理 |
| 数据共享性 | 无共享,数据孤立 | 有限的共享,文件之间独立性较强 | 高度共享,数据集中管理,支持多用户访问 |
| 数据冗余 | 冗余度高,数据重复存储 | 冗余度较高,文件之间可能存在重复数据 | 冗余度低,通过数据规范化减少重复 |
| 数据独立性 | 无独立性,数据与程序紧密耦合 | 有限的独立性,数据与程序部分分离 | 高度独立性,数据与程序分离,支持逻辑数据独立性和物理数据独立性 |
总结:
- 人工管理阶段:适合小规模数据,但效率低、冗余高、难以共享。
- 文件系统阶段:数据电子化,但文件之间缺乏联系,冗余和一致性问题是主要瓶颈。
- **数据库系统阶段**:**结构化(数据之间具有联系)**、**数据集中管理**,支持**高共享、低冗余、强独立性**,是现代数据管理的核心。
1.2 数据模型
1.2.1 定义与分类:
定义:把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型,这个过程成为数据建模。
分类:
按照目的不同可分为:概念模型、逻辑模型和物理模型(一定的组织方式存储)。
1.2.2 概念模型:
基本概念:
实体:现实世界中可区分的事物或对象,如“
张三”或“数学课”属性:实体具有的某一特性(其实就是关系模型(二维表)中的列)。
- 码:唯一标识实体的属性集,也叫关键词(可以不止一列,多列组合也可)。
- 实体类型:具有相同属性的实体的抽象,如“
学生”或“课程”。 - 实体集:同一实体类型的所有实体的集合,如“所有学生”或“所有课程”。
简单区分:
| 实体 | 一条哈巴狗 |
|---|---|
| 实体类型 | 狗 |
| 实体集 | 所有狗(全体狗) |
1.2.3 逻辑模型:
分类:
- 层次模型 —> 树
- 网状模型 —> 图
- 关系模型
1.2.4 数据模型的三要素:
- 数据**结构** :数据怎么组织。
- 数据**操作** :数据怎么用。
- **完整性约束** :数据怎么保证正确性。
1. 数据结构:描述数据的组织形式(如表、树、图)。
2. 数据操纵:定义对数据的操作,增删查改(查询、插入、删除和修改等)。
3. 完整性约束:规定数据的完整性规则(如主键、外键、数据类型)。
注意:在关系模型中,任何关系都必须满足实体完整性和参照完整性。
实体完整性:参照完整性:
- 定义:确保表中每一行 数据的唯一性。
- 实现方式:
- 通过主键(Primary Key)实现。
- 主键不能为NULL,且值必须唯一。
- 示例:
- 在学生表中,学号(StudentID)作为主键,确保每个学生的记录唯一。
- 定义:确保表之间的关系有效,外键必须引用另一个表中存在的主键。
- 实现方式:
- 通过外键(Foreign Key)实现。
- 外键的值必须是被引用表的主键值,或者为NULL。
- 示例:
- 在选课表中,课程号(CourseID)是外键,必须引用课程表中的有效课程号。
1.2.5 最常用的逻辑数据模型:
层次模型、网状模型、关系模型、面向对象模型、对象关系模型(在AI中刨除了这个,变成了NoSQl模型)。
下面详细讲解关系模型(重点 ):
先讲一下里面涉及的术语(大致了解即可):
关系:二维表,存储数据的集合。
元组:表中的一行,代表一个具体实例。
属性:表中的一列,描述数据的特征。
大致区分一下属性 vs 属性组
| 特性 | 属性 | 属性组 |
| :———- | :————————— | :—————————————- |
| 定义 | 单个字段 | 多个字段的集合 |
| 用途 | 描述实体的某个特征 | 描述一组相关特征或定义复合键 |
| 示例 |StudentID、Name|(StudentID, Name)|码:主键,关键字,可唯一确定一个元组。
域:属性的取值范围,如:
Age属性的域可以是整数类型,且取值范围为0 <= Age <= 150.分量:元组中某个属性的具体值。
关系模式:关系的结构定义,包括关系名、属性名、属性域以及完整性约束。如学生表的关系模式可以表示为:
Student(StudentID: INT, Name: STRING, Age: INT) |
其中,Student 是关系名,StudentID、Name、Age 是属性,INT 和 STRING 是域。
注意:如果两张表之间有联系,那联系这张二维表中的属性至少其中两个属性分别来自这两张表。
关系模型的数据操纵与完整性约束:
数据操纵:
查询、插入、删除和更新数据操作,而这些操作必须满足完整性约束。
完整性约束:
实体完整性、参照完整性和用户定义的完整性。前两者区分与之前一样,用户定义的完整性指结合具体场景来限制数据,如到了65要退休,那在职人员的年龄就不能有大于65的。
1.3 数据库系统的三级模式结构:
数据库系统通常采用模式 、外模式 和内模式 三级模式结构。
外模式:也叫子模式、用户模式
模式:也叫逻辑模式
内模式:也叫存储模式
而这里有一句话:
“三级模式、两层映射。”(注意:模式/内模式映像是唯一的)
例如下面:(图片为转载)
1.3.1 区别:
- 模式:全局 逻辑结构,定义了所有 表的结构、属性、数据结构和约束。
如:
- 学生信息:学号(StudentID)、姓名(Name)、年龄(Age)、班级(Class)。
- 课程信息:课程号(CourseID)、课程名(CourseName)、学分(Credit)。
- 选课信息:学号(StudentID)、课程号(CourseID)、成绩(Grade)。
Student(StudentID: INT, Name: STRING, Age: INT, Class: STRING) |
- 外模式:
- 用户或应用程序 的视图,用户或者应用程序只能看到或者用到自己需要的部分。
- 是模式的子集,可以有多个外模式,可以理解为看到的数据只是数据库的一部分。
- 同一个外模式可以由好几个应用程序使用,但是一个应用程序只能使用一个外模式。
如:
教师用户的外模式:
StudentView(StudentID: INT, Name: STRING, Class: STRING) |
教师只能查看学生的学号、姓名、班级以及选课成绩,看不到学生的年龄。
学生用户的外模式:
CourseView(CourseID: INT, CourseName: STRING, Credit: INT) |
学生只能查看课程信息和自己的成绩,看不到其他学生的信息。
好处是:封装了用户需要的数据,保证了安全性和独立性。
- 内模式: 数据的物理存储 结构,描述了数据在存储介质上的组织方式,包括文件、索引、存储引擎等。
如:
- 学生表(Student)的物理存储:
- 数据存储在文件
student.dat中。 - 使用B+树索引加速对
StudentID的查询。 - 数据按班级分区存储,便于按班级查询。
- 数据存储在文件
1.4 数据库系统的组成:
数据库系统由**数据库**、**数据库管理系统**、**应用系统**和**数据库管理员**组成。习题
转自qing影和自己所做习题(为节约时间、方便随时添加题目,题号可能有误,请见谅,后续有时间再修改)。
一、单选题
1.(单选题,2分)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是()阶段。
A.数据库系统
B.文件系统
C.人工管理
D.数据项管理
2.(单选题,2分)数据模型用来表示实体间的联系,但不同的数据库管理系统支持不同的数据模型。在常用的数据模型中,不包括 。
A.网状模型
B.链状模型
C.层次模型
D.关系模型
3.(单选题,2分)数据库应用系统包括
A.数据库语言、数据库
B.数据库、数据库应用程序
C.数据管理系统、数据库
D.数据库管理系统
4.(单选题,2分)数据库管理系统的工作不包括 (+1)
A.定义数据库
B.对已定义的数据库进行管理
C.为定义的数据库提供操作系统
D.数据通信
4.[多选题] 数据库管理系统的主要功能有()
A.数据库定义功能
B.数据存取功能
C.数据库运行管理
D.数据库的建立和维护功能
5.(单选题,2分)数据库的概念模型独立于
A.具体的机器和DBMS
B.F-R医
C.信息世界
D.现实世界
6.(单选题,2分)在数据库的非关系模型中,基本层次联系是
A.两个记录型以及它们之间的多对多联系
B.两个记录型以及它们之间的一对多联系
C.两个记录型之间的多对多的联系
D.两个记录之间的一对多的联系
7.(单选题,2分)数据库的网状模型应满足的条件是
A.允许一个以上的无双亲,也允许一个结点有多个双亲
B.必须有两个以上的结点
C.有且仅有一个结点无双亲,其余结点都只有一个双亲
D.每个结点有且仅有一个双亲
8.(单选题,2分)数据库管理系统(DBMS)是 (+1)
A.一个完整的数据库应用系统
B.一组硬件
C.一组软件
D.既有硬件,也有软件
9.(单选题,2分)实体是信息世界中的术语,与之对应的数据库术语为
A.文件
B.数据库
C.字段
D.记录
10.(单选题,2分)数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指
A.同一个应用中的多个程序共享一个数据集合
B.多个用户、同一种语言共享数据
C.多个用户共享一个数据文件
D.多种应用、多种语言、多个用户共享地使用数据集合
11.(单选题,2分)数据库三级模式体系结构的划分,有利于保持数据库的
A.数据独立性
B.数据安全性
C.结构规范化
D.操作可行性
12.(单选题,2分)数据库系统的特点是、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。
A.数据共享
B.数据存储
C.数据应用
D.数据保密
12.[多选题] 与人工管理和文件系统相比,数据库系统的特点主要体现在以下哪些方面()
A.数据结构化
B.数据的共享性高,冗余度低,易扩充
C.数据独立性高
D.数据由DBMS统一管理和控制
13.(单选题,2分)数据库管理系统中用于定义和描述数据库逻辑结构的语言称为
A.数据库模式描述语言
B.数据库子语言
C.数据操纵语言
D.数据结构语言
14.(单选题,2分)数据库系统和文件系统的主要区别是
A.数据库系统复杂,而文件系统简单
B.文件系统不能解决数据冗余和数据独立性问题,而数据库系统能够解决
C.文件系统只能管理文件,而数据库系统还能管理其他类型的数据
D.文件系统只能用于小型、微型机,而数据库系统还能用于大型机
15.(单选题,2分)在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是
A.外模式
B.内模式
C.存储模式
D.模式
16.(单选题,2分)下述关于数据库系统的正确叙述是
A.数据库中只存在数据项之间的联系
B.数据库的数据项之间和记录之间都存在联系
C.数据库的数据项之间无联系,记录之间存在联系
D.数据库的数据项之间和记录之间都不存在联系
17.(单选题,2分)在数据库中,下列说法是不正确的。
A.数据库避免了一切数据的重复
B.若系统是完全可以控制的,则系统可确保更新时的一致性
C.数据库中的数据可以共享
D.数据库减少了数据冗余
18.(单选题,2分)数据库系统的核心是
A.编译系统
B.数据库
C.操作系统
D.数据库管理系统
19.(单选题,2分)层次型、网状型和关系型数据库划分原则是
A.记录长度
B.文件的大小
C.联系的复杂程度
D.数据之间的联系
20.(单选题,2分)数据库系统的核心是
A.数据库
B.数据库管理系统
C.数据库管理员
D.软件工具
21.(单选题,2分)在数据库中存储的是
A.数据
B.数据模型
C.数据以及数据之间的联系
D.信息
22.(单选题,2分)数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是。
A.DBS包括DB和DBMS
B.DDMS包括DB和DBS
C.DB包括DBS和DBMS
D.DBS就是DB,也就是DBMS
23.(单选题,2分)在数据库三级模式结构中,描述数据库中全体逻辑结构和特性的是
A.外模式
B.内模式
C.存储模式
D.模式
24.(单选题,2分)下述关于数据库系统的正确叙述是
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型一致
D.数据库系统比文件系统能管理更多的数据
25.(单选题,2分)数据库中,数据的物理独立性是指
A.数据库与数据库管理系统的相互独立
B.用户程序与DBMS的相互独立
C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的
D.应用程序与数据库中数据的逻辑结构相互独立
26.(单选题,2分)数据库系统的数据独立性是指
A.不会因为数据的变化而影响应用程序
B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其他的存储结构
27.(单选题,2分)在数据库设计中用关系模型来表示实体和实体之间的联系。关系模型的结构是。
A.层次结构
B.二维表结构
C.网状结构
D.封装结构
28.(单选题,2分)数据库系统与文件系统的主要区别是
A.数据库系统复杂,而文件系统简单
B.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决
C.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件
D.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量
29.(单选题,2分)关系数据模型
A.只能表示实体问的1:1联系
B.只能表示实体间的1:n联系
C.只能表示实体间的m:n联系
D.可以表示实体间的上述三种联系
30.(单选题,2分)应用数据库的主要目的是为了
A.解决保密问题
B.解决数据完整性问题
C.共享数据问题
D.解决数据量大的问题
31.在数据库的三级模式结构中,描述数据库用户能够看到和使用的局部数据的逻辑结构和特征描述的是指( )。
A.模式
B.内模式
C.外模式
D.逻辑模式
32.下列数据模型中,数据独立性最高的是()
A.网状数据模型
B.关系数据模型
C.层次数据模型
D.非关系模型
33.[多选题] 数据库系统的组成包括()。(+1)
A.数据库
B.数据库管理系统
C.应用系统
D.数据库管理员
E.硬件平台及数据库
F.人员
34.[多选题] 常用的数据模型有()。(+1)
A.层次模型
B.关系模型
C.网状模型
D.面向对象模型
E.对象关系模型
35.[多选题] 数据模型的组成要素包括()。
A.数据结构
B.数据操作
C.实体
D.完整性约束
E.关系
36.[多选题] 使用数据库系统的好处体现在()
A.提高英语开发的效率
B.方便用户的使用,减轻数据库系统管理人员维护的负担
C.便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性
D.有利于应用程序的开发和维护
36.[单选题]DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和()
A.系统分析员
B.程序员
C.数据库管理员
D.操作员
37.[单选题]下列四项中,不属于数据库系统特点的是( ) 。
A.数据共享
B.数据完整性
C.数据冗余度高
D.数据独立性高
38.[单选题] 要保证数据库的数据独立性,需要修改的是( ) 。(+1)
A.模式与外模式
B.模式与内模式
C.三层之间的两种映射
D.三层模式
39.[单选题] 要保证数据库的逻辑数据独立性,需要修改的是( ) 。
A.模式与外模式的映射
B.模式与内模式之间的映射
C.模式
D.三层模式
40.[单选题] 用户或应用程序看到的那部分局部逻辑结构和特征的描述是( ),它是模式的逻辑子集。
A.模式
B.物理模式
C.子模式
D.内模式
41.[单选题] 下述( )不是DBA数据库管理员的职责 。
A.完整性约束说明
B.定义数据库模式
C.数据库安全
D.数据库管理系统设计
二.填空题
31.(填空题,3分)数据管理技术按时间顺序经历了 ①、②和③三个阶段。
正确答案:
(1)人工管理:人工管理阶段
(2)文件管理;文件系统阶段;文件系统管理
(3)数据库管理;数据库系统;数据库系统阶段;数据库系统管理
32.(填空题,2分)数据库管理系统的主要功能有①、②、数据库的运行管理和数据库的建立以及维护等4个方面。
正确答案:
(1)数据定义功能;数据定义;数据的定义功能;数据的定义
(2)数据操纵功能;数据操纵;数据的操纵;数据的操纵功能
33.(填空题,3分)数据库体系结构按照①、②和③三级结构进行组织。
正确答案:
模式;外模式;内模式
34.(填空题,3分)现实世界的事物反映到人的头脑中经过思维加工成数据,这一过程要经过三个领域,依次是①、②和③。
正确答案:
(1)现实世界
(2)信息世界
(3)计算机世界;数据世界;计算机世界(数据世界);计算机世界(数据世界);计算机世界或数据世界;机器世界
35.(填空题,3分)数据模型是由①②和③三部分组成的。
正确答案:
(1)数据结构;完整性约束;数据完整性约束;数据完整性约束条件;数据约束;数据操作;数据的完整性约束;数据的完整性约束条件
(2)数据结构;完整性约束;数据完整性约束;数据完整性约束条件;数据约束;数据操作;数据的完整性约束;数据的完整性约束条件;数据操纵
(3)数据结构;完整性约束;数据完整性约束;数据完整性约束条件;数据约束;数据操作;数据的完整性约束;数据的完整性约束条件
36.(填空题,2分)数据独立性又可分为①和②
正确答案:
(1)逻辑数据独立性;数据逻辑独立性;逻辑独立性;物理独立性;数据的逻辑独立性
(2)物理数据独立性;数据物理独立性;物理独立性;逻辑独立性;数据的物理独立性
三.简答题
37.(简答题,8分)DBMS的主要功能有哪些?
正确答案:
①数据库定义功能;
②数据组织、存储和管理功能;
③数据操纵功能;
④数据库的事务管理和运行管理;
⑤数据库的建立和维护功能;
⑥其他功能,如不同数据库之间的互访和互操作功能等。
38.(简答题,8分)试述数据库系统三级模式结构,并说明这种结构的优点是什么?
正确答案:
数据库系统的三级模式结构由外模式、模式和内模式组成。
外模式,亦称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。
模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式通常是模式的子集。
内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。为了能够在内部实现这三个抽象层次的联系和转换数据库系统在这三级模式之间提供了两级映像:外模式/模式映像和模式/内模式映像。正是这两级映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
39.(简答题,8分)什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?
正确答案:
数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,这就是数据与程序的物理独立性,简称数据的物理独立性。数据与程序的逻辑独立性:当数据的逻辑结构即模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,
可以使外模式保持不变,从而应用程序不必修改,这就是数据与程序的逻辑独立性,简称数据的逻辑独立性。DBMS在三级模式之间提供的两级映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
40.(简答题,8分)试述数据、数据库、数据库系统、数据库管理系统的概念。(理解即可)
( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。数据与其语义是不可分的。 500 这个数字可以表示一件物品的价格是 500 元,也可以表示一个学术会议参加的人数有 500 人,还可以表示一袋奶粉重 500 克。(2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。( 3 )数据库系统( DataBas 。 Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统和数据库是两个概念。数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。但是在日常工作中人们常常把数据库系统简称为数据库。希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。 DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。解析 DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。目前,专门研制 DBMS 的厂商及其研制的 DBMS 产品很多。著名的有美国 IBM 公司的 DBZ 关系数据库管理系统和 IMS 层次数据库管理系统、美国 Oracle 公司的 orade 关系数据库管理系统、 s 油 ase 公司的 s 油 ase 关系数据库管理系统、美国微软公司的SQL Serve,关系数据库管理系统等。
41.(简答题,8分) 什么是概念模型?试述概念模型的作用。
概念模型,也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。
概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
- (简答题,8分)试述数据模型的概念、数据模型的作用和数据模型的三个要素。(这里我简单概括了答案)
数据模型:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。
数据模型是用来描述数据、组织数据和对实际操作的。
数据模型的三大组成要素:数据结构,数据操作,数据的完整性约束。







