《数据库概论》期末复习基本概念总结

第一讲 初步认识数据库系统

1-1. 数据库、数据库系统和数据库管理系统的关系.

​ 数据库系统包括数据库和数据库管理系统

​ 数据库系统是数据库开发的工作环境

​ 数据库是数据的集合

​ 数据库管理系统管理数据库

1-2. 数据库系统的构成包括数据库、数据库管理系统、数据库应用程序、数据库管理员以及计算机与网络基本系统

1-3. 数据库系统语言包括了DDL(数据库定义语言)、DML(数据库操纵语言)和DCL(数据库控制语言)

1-4. 数据库管理系统的功能有哪些?

​ 完整性控制、并发控制和通讯控制

不包括处理机控制

1-5. 从用户角度看数据库管理系统,其功能包括哪些?

​ 数据库定义、数据库操纵、数据库控制和数据库维护

1-6. 从系统角度看数据库管理系统,其功能包括哪些?

​ 数据库语言及其编译、查询实现与查询优化、事务处理功能以及数据存储与索引等其他功能

第二讲 数据库系统的结构抽象与演变

2-1. 什么是三级模式两层映像?

三级模式:内模式(存储模式,物理模式),外模式(用户模式,局部模式),概念模式(逻辑模式,全局模式)

两层映像:E-C映像(外模式映射到概念模式)、C-I映像(概念模式映射到内模式)

两个独立性:逻辑数据独立性、物理数据独立性

逻辑数据独立性:当概念模式发生变化时,可以通过E-C映像的调整,从而不需要改变外部模式,用户的应用程序也不需要改变

物理数据独立性:当内部模式发生变化时,可以通过C-I映像的调整,从而不需要改变概念模式和外部模式,用户的应用程序也不需要改变 《数据库概论》期末复习基本概念总结

2-2. 数据、模式和数据模型是一种什么关系?

数据 ⊆ 数据模型 ⊆ 模式

​ 数据模型是对模式结构的抽象,模式是对数据结构形式的抽象

​ 模式(概念模式、逻辑模式):数据库中全体数据的逻辑结果和特征的描述,是所有用户的公共数据视图

​ 数据模型:是现实世界数据特征的抽象,或者说是现实世界的数据模拟。数据库中,用数据模型来抽象地表示现实世界的数据和信息

2-3. 第一代数据库系统是指基于网状模型或层次模型的数据库系统

2-4. 第二代数据库系统是指基于关系模型的数据库系统

2-5. 数据库系统与文件系统的主要差别有?

​ 数据的组织是否依赖于具体的应用程序

​ 数据存取是否可以记录或记录的集合为单位进行操作

​ 不同文件之间以及不同记录之间是否有联系

2-6. 面向对象数据库系统对关系数据库系统的重大改进有?

​ 允许复杂的数据类型存在

​ 突破了关系模型第一范式的限制

​ 既支持记录集合的操作,又支持面向对象的操作

第三讲 关系模型之基本概念

3-1. 什么是关系模型?关系模型有什么作用?

​ 关系模型是一种数据的逻辑结构,采用表描述事物的属性,并通过表之间的关联,表示事物之间的联系;
​ 联系规范化的关系

​ 是数据库的三大经典数据模型之一, 也是现在大多数商品化数据库系统所 仍然使用的数据模型

​ 标准的数据库语言(SQL语言)是建立在关系模型基础之上的, 数据库领域的众多理论也都是建立在关系模型 基础之上的

3-2. 什么是关系?为什么把表称作关系?

​ 关系是一组域的笛卡尔积的子集,笛卡尔积中具有某一方面意义的那些元组被称作一个关系。因为表储存 的就是符合某种意义的关系的抽象集合,也就是说表是关系的载体,表是符合某种结构的多个关系的集 合,所以称表是关系

3-3. 为什么要区分实体完整性和参照完整性?

  • 完整性是对主码外码以及有特殊要求的一些数据的约束.实体完整性要求主码不能为空值;参照完整性要求外码为空值,或者为另一个码的主码。因为外码通常是联系两个关系的纽带;实体完整形保证数据库每个数据都是可以找到的,即可识别的。

  • 完整性是对主码外码以及有特殊要求的一些数据的约束.实体完整性要去主码不能为空值。

  • 实体完整性是对主码而言,关系的主码中的属性值不能为空值。关系中的元组对应到现实世界相互之间可区分的一个个个体,这些个体是通过主码来唯一标识的,若主码为空,则出现不可标识的个体,这是不容允许的;参照完整性是对外码而言,外码可以取空值,如果不为空值那必然是另一个关系的主码,如果关系R1的某个元组t1是参照了关系R2的某个元组t2,则t2必须存在。

  • 候选键是唯一一个在关系模式里能够标识元组并且不含多余属性的属性集。候选键的作用是:①保证实体的完整性;②加快数据库的操作速度;③在表中添加新记录时,表会自动检查新纪录的主键值,不允许该值与其他记录主键值重复;④表自动按主键值的顺序显示表中的记录,如果没有定义主键,则按输入记录的顺序显示表中的记录。

3-4. 某关系R的外键是指其它关系的候选键,可以是R中的主属性或非主属性

3-5. 关系的任何属性都是不可再分的

3-6. 笛卡尔积的基数是每个集合的基数相乘

3-7. 关于关系模式与关系

  • 同一关系模式下,可有很多的关系
  • 关系模式是关系的结构, 关系是关系模式在某一时刻的数据
  • 关系模式是稳定的;而关系是某一时刻的值,是随时间可能变化的

3-8. 关于关系的特性

  • 关系是以内容(名字或值)来区分的
  • 区分哪一列是靠列名
  • 区分哪一行是靠某一或某几列的值
  • 关系的任意两个元组不能完全相同
  • 元组相同是指两个元组的每个分量都相同
  • 在同一个关系中如存在相同的元组,则仅保留其中的一个

3-9. 关系模型就是处理Table的,它由关系、关系运算和完整性约束组成

3-10. 关系数据库中,体现“实体能够区分并唯一标识元组”的规则是实体完整性规则

第六讲 SQL语言之概述

6-1. 如何用SQL语言表达模糊查询?

查询姓张的可以使用 Like ‘张%’ 来进行查询;查询名字中带一个英字的可以使用 Like ‘%英%’ 来进行查询, SQL中的Select语句是通过在检索条件中引入运算符 Like 来表示模糊查询的,Like后跟一个给定字符串模式,然后找出匹配给定字符串的字符串。其中给定字符串中可以出现%, _ 等匹配符,其中% 匹配零个或多个字符, _ 匹配任意单个字符, 为转义字符,用于去掉一些特殊字符的特定含义,使其被作为普通字符看待,如用 % 去匹配字符% ,用_去匹配字符_

6-2. 如何表达多表联合查询,需要注意什么?

Select Sname From Student,SC,Course

Where Student.S# =SC.#andSC.C# =Course.C#andCname=’数据库系统’

需要注意连接条件的正确表示和更名操作

6-3. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现数据定义.

6-4. 在Table中要求无重复元组是通过定义Primary key或Unique来保证的;而在检索结果中要求无重复元组, 是通过在SELECT子句中引入DISTINCT保留字来实现的.

6-5. 要在表S中删除一个属性“年龄”,可选用的SQL语句是 ALTER TABLE S DROP Sage

6-6. 查询时,若要输出无重复的记录,SELECT子句中使用的保留字是: DISTINCT

6-7. 结果排序是在Select语句中通过增加order by子句实现的,后跟DESC降序或省略为升序

6-8. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体

​ 属于数据定义语言DDL的是:CREATE、DROP、ALTER
​ 属于数据操纵语言DML的是:UPDATE、INSERT、DELETE
属于数据查询语言DQL的是:SELECT
​ 属于数据控制语言DCL的是:GRANT、REVOKE

6-9. 在SELECT语句中,与关系代数中 σ 运算符对应的是WHERE子句

6-10. 在SELECT语句中,与关系代数中π运算符对应的是SELECT子句

第七讲 SQL语言之复杂查询与视图

7-1. 视图是什么?

视图是外模式加上外模式到概念模式的映像;创建 view 就是实现外模式,as 子查询就完成了到 E-C 映像;视图能简化用户操作,使用户能多种角度看待同一数据,且对重构数据库提供了一定程度的逻辑独立性,另外能够对机密数据提供安全保护和更清晰的表达查询。

7-2. 在SQL语言中,子查询是 嵌入到另一个查询语句之中的查询语句

7-3. 下面有关HAVING子句

  • HAVING子句必须与GROUP BY 子句同时使用,不能单独使用
  • 使用HAVING子句的同时可以使用WHERE子句
  • 使用HAVING子句的作用是过滤掉不满足条件的分组

7-4. SQL语言中的视图是一种子模式及子模式到模式的映像

7-5. 关于SQL视图更新的可执行性

  • 如果视图的select目标列包含聚集函数,则不能更新
  • 如果视图中包括了group by子句,则不能更新
  • 如果视图是由单个表的列构成,但并没有包括主键,则不能更新

7-6. 在SQL中,与"NOT IN"等价的操作符是<> ALL