第一章 绪论
1、数据和语义的关系?
描述事物的符号记录称为数据。
数据的含义称为数据语义,数据与其语义是不可分的。
2、区分数据库、数据库系统、数据库管理系统的概念
数据库(DataBase,DB):
数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库管理系统(DataBase Management System,DBMS):
数据库管理系统是位于用户与操作之间的一层数据管理软件。
数据库系统(DataBase System,DBS):
数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
3、数据库管理系统的功能有哪些?
- 数据定义功能
- 数据组织、存储和管理
- 数据操纵功能
- 数据库的事务和运行管理
- 数据库的建立和维护功能
- 其他功能
4、数据库系统的特点?有哪些主流的数据库管理系统?
数据库系统的特点:
- 数据结构化
- 数据的共享性高、冗余度低且易扩展
- 数据独立性高
- 数据由数据库管理系统统一管理和控制
目前互联网上常见的数据库管理系统有Oracle、MySQL、MS SQL Server、DB2、PostgreSQL、Access、Sybase、Informix
5、什么是数据独立性、物理独立性、逻辑独立性?
数据独立性包括数据的物理独立性和数据的逻辑独立性。
物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的
6、数据的不一致性、安全性、完整性、并发控制、恢复的概念?数据模型的三要素?
- 不一致性:同一数据不同副本的值不一样
- 安全性(security):保护数据以防止不合法使用造成的数据泄露
- 完整性(integrity):数据的正确性、有效性和相容性。
- 并发(concurrency)控制:当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调
- **数据库恢复(recovery):**将数据库从错误状态恢复到某一已知的正确状态
数据模式的三要素:
- 数据结构:描述数据库的组成对象以及对象之间的联系
- 数据操作:对数据库中各种对象(型)和实例(值)允许执行的操作的集合,包括操作及有关操作的规则
- 数据的完整性约束:一组完整性规则
7、概念模型、模型
概念模型:
1、信息世界中的基本概念
- 实体(entity)
客观存在并可互相区别的事物叫做实体 - 属性(attribute)
实体所具有的某一特征称为属性。 - 码(key)
唯一标识实体的属性集称为码 - 实体型(entity type)
用实体名称及其属性名集合来抽象和刻画同类实体,称为实体型 - 实体集(entity set)
同一类型实体的集合称为实体集。例如全体学生就是一个实体集 - 联系(relationship)
实体之间的联系通常是指不同实体集之间的联系。
实体之间的联系有一对一、一对多和多对多等多种类型。
2、概念模型的一种表示方法:实体-联系方法
实体-联系方法(E-R方法)
8、层次模型、网状模型,关系模型的概念
层次模型:
(1)有且有一个结点没有双亲结点,这个结点称为根节点
(2)根以外的其他结点有且只有一个双亲结点
网状模型:
(1)允许一个以上的结点无双亲
(2)一个结点可以有多个双亲
关系模型
(1)关系模型的概念建立在严格的数学概念基础上
(2)从用户观点来看,关系模型由一组关系组成。每个关系的数据结构是一张规范化的二维表
9、关系模型中的术语:关系、元组、属性、主码、外码、全码、域、分量、关系模式
- 关系(relation):一个关系对应通常说的一张表。如上图的这张学生登记表
- 元组(tuple):表中的一行即为一个元组
- 属性(attribute):表中的一列即为一个属性,给每一个属性起一个名字即属性名。如上图所示的表有6列,对应6个属性(学号,姓名,年龄,性别,系名和年级)
- 主码(primary key) 一般指主关键字。 主关键字是表中的一个或多个字段,它的值用于唯一的标识表中的某一条记录。
- **外码:**数据库中如果一个关系中的一个属性是另外一个关系中的主码则这个属性为外码。
- **全码:**全码:当所有的属性共同构成一个候选码时,这时该候选码为全码。(教师,课程,学生)假如一个教师可以讲授多门课程,某门课程可以有多个教师讲授,学生可以听不同教师讲授的不同课程,那么,要区分关系中的每一个元组,这个关系模式R的候选码应为全部属性构成 (教师、课程、学生),即主码。
- 域(domain):域是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。如人的年龄一般在1~120岁之间,大学生年龄属性的域是(15-45岁),性别的域是(男,女),系名的域是一个学校所有姓名的集合
- 关系模式:对关系的描述,一般表示为
关系名(属性1,属性2,…,属性n)
例如 学生(学号,姓名,年龄,性别,系名,年级)
10、什么是数据库系统的三级模式和两级映射?其作用是什么?
1、数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成
(1)模式(schema)
模式也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
(2)外模式(external schema)
外模式也称为子模式(subschema)或用户模式,能够看见和使用局部数据的逻辑结构和特征描述,是数据库用户的数据视图,是与某一应用右端的数据的逻辑表示。
(3)内模式(internal schema)
内模式也称为存储模式(storage schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
作用:把数据的具体组织留给数据库管理系统,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表现方法与存储方式。
2、数据库的两级映射:
(1)外模式/模式映像
当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而因公程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
(2)模式/内模式映像
当数据库的存储结构改变时(例如选用了另一种存储结构),由数据库管理员对模式/内模式印象作象形改变,可以是模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性
11、数据库系统的组成?
数据库系统一般由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员构成。具体是指:
- 硬件平台及数据库
- 软件
- 人员
12、数据库管理员的职责?
- 决定数据库中的信息内容和结构
- 决定数据库的存储结构和存取策略
- 定义数据的安全性要求和完整性约束条件
- 监控数据库的使用和运行
- 数据库的改进和重组、重构
第二章 关系模型
1、关系模型中的三类完整性约束的概念?
(1)实体完整性(entity integrity)
若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值(null value)。所谓的空值就是“不知道”或“不存在”或“无意义”的值。
例如,学生(学号,姓名,性别,专业号,年龄)关系中学号为主码,则学号不能取空值
(2)参照完整性(referential integrity)
(3)用户定义的完整性(User-defined integrity)
2、关系代数中的基本运算
考试练习:
参考答案:
第三、四章 SQL (重点!!)
三、四章用到的数据库表:
1、查询,数据更新
查询:
1、单表查询
①选择表中若干列
(1)查询指定列
(2)查询全部列
(3)查询经过计算的值
②选择表中若干元组
(1)消除取值重复的行
(2)查询满足条件的元组
③ORDER BY 子句
④聚集函数
⑤GROUP BY子句
2、连接查询
①等值连接查询
②自身连接
③多表连接
3、嵌套查询
4、集合查询
5、基于派生表的查询
更新:
1、插入数据
2、修改数据
3、删除数据
2、视图、基本表
1、定义视图
2、查询视图
3、更新视图
3、内连接、外连接、左外连接、右外连接的区别
相关博客推荐:内连接与外连接小结
4、相关子查询和不相关子查询的区别
相关博客相关子查询和不相关子查询的区别
5、什么叫视图,视图的作用
视图的定义:
视图的作用:
- 视图能简化用户操作
- 视图是用户能以多种角度看待同一数据
- 视图对重构数据库提供了一定程度的逻辑独立性
- 视图能够对机密数据提供安全保护
- 适当利用视图可以更清晰地表达查询
第五章
1、什么是存储过程?使用存储过程的优点?如何创建和调用存储过程?
1、存储过程:
存储过程是由过程化SQL语句书写的过程,这个过程经编译和优化后存储在数据服务器中,因此称它为存储过程,使用时只需要调用即可。
2、存储过程的优点
3、存储过程的创建与调用
2、什么是触发器?触发器的作用?如何定义一个触发器?
1、触发器的定义:
触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合,可以用来在数据库端确保数据的完整性。
2、触发器的作用:
触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。
3、定义一个触发器:
举个例子感受一下:
第六章 数据库设计
1、数据库设计一般步骤?
- 需求分析
- 概念结构设计
- 逻辑结构设计
- 物理结构设计
- 数据库实施
- 数据库运行和维护
2、需求分析的任务?
3、实体联系模型的要素有哪些?
1、实体(Entity):
具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;
在E-R图中用矩形表示,矩形框内写明实体名;
比如学生张三丰、学生李寻欢都是实体。如果是弱实体的话,在矩形外面再套实线矩形。
2、属性(Attribute):
实体所具有的某一特性,一个实体可由若干个属性来刻画。
在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。如果是多值属性的话,再椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。
3、联系(Relationship):
数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为以下 3 种类型:
(1) 一对一联系 (1 ∶ 1)
例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。
(2) 一对多联系 (1 ∶ N)
例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。
(3) 多对多联系 (M ∶ N)
例如,学生与课程间的联系(“ 学 ”)是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。联系也可能有属性。例如,学生 “ 学 ” 某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于 “ 成绩 ” 既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系 “ 学 ”的属性.
4、映射基数?
英文:Mapping Cardinalities
1、定义:
描述一个实体通过联系集对应另一个实体的个数
2、内容:
第七章 关系数据库理论
1、什么是函数依赖、完全部分依赖、直接传递依赖?
在b站上找到更通俗的解释
2、什么是范式,什么是规范化?
(1)范式:
关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式
(2)规范化:
一个低一级范式的关系模型通过模式分解(schema decomposition)可以转换为若干个高一级范式的关系模式的集合这种过程叫做规范化。
3、1NF、2NF、3NF定义?
(1)1NF
满足最低要求的范式叫第一范式。
(2)2NF
(3)3NF
B站有个好视频:
【数据库期末复习】关系模式规范化 范式 函数依赖
上述视频的URL链接
https://www.bilibili.com/video/BV1QA411s75n?spm_id_from=333.337.search-card.all.click
4、什么是多值依赖?
5、极小(最小)依赖集的概念?
6、应用:分析某个模式不好的性质及原因;判断某个模式最高满足第几范式;规范化
Q1:分析某个模式不好的性质及原因:
== 一个好的关系模式应当不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。==
Q2:如何判断:某个模式最高满足第几范式?
步骤:
- 求候选码元素(LR法)
- 用闭包确定最后候选码。(候选码包含关系的所有属性)
- 判断范式:①有部分依赖就不是2NF ②是2NF,但是有传递依赖就不是3NF
详解与例题点击右方博客:如何判断关系模式规范化达到第几范式
URL链接:
http://t.csdn.cn/v6nmw
Q3:如何对关系模式进行规范化?
有一篇讲得很详细的博客,点击右方链接可查看例题与方法:关系模式规范化(设计范式)
URL链接:
http://t.csdn.cn/1PVCd
第八章 查询优化、恢复、并发控制
1、为什么要进行查询优化?
查询优化的优点不仅在于用户不必考虑如何最好的表达查询以获得较高的效率,而且在于系统可以比用户程序的“优化”做得更好。
2、事务ACID特性、数据转储和日志文件?
3、并发操作引起的问题、封锁的概念及作用?什么是封锁的粒度?
(1)并发操作引起的问题:
(2)封锁的概念及作用:
(3)什么是封锁的粒度:
4、并发调度的可串行性?
5、冲突可串行化?
有一篇讲得比较好的文章:
判断冲突可串行化
链接在下面:
http://t.csdn.cn/Blfhg
附录:名词英译汉
不会考太难,挑重点的看
第一章:
第二章:
第三章:
第四章:
第五章:
第六章:
第七章: