数据库知识点总结

1、数据(Data)——是数据库中存储的基本对象;

2、数据库(Database,简称DB)

3、数据库数据具有 永久存储、有组织、可共享 三个基本特点。

4、数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。用来科学地组织和存储数据、高效地获取和维护数据。主要具有如下功能:数据定义功能、数据组织、存储和管理、数据操纵功能、数据库的事务管理和运行管理、数据库的建立和维护功能、其他功能。

5、数据库系统(Database System,简DBS)是指在计算机系统中引入数据库后的系统构成,由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。

5.1、数据库系统的特点:1、数据结构化 2、数据的共享性高,冗余度低、易扩充 3、数据的独立性高 4、数据由DBMS统一管理和控制

6、 数据管理技术的发展过程:人工管理阶段——>文件系统阶段——>数据库系统阶段

7、 两类数据模型:一、概念模型 二、逻辑模型和物理模型

8、 数据模型的组成要素:数据结构、数据操作、完整性约束

9、 实体:客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。

属性:实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。 码:唯一标识实体的属性集称为码。 可是是一个属性,也可以是一些属性的集合 域:属性的取值范围称为该属性的域。

10、关系模型的完整性约束:实体完整性、参照完整性、用户自定义完整性 实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性

11、三级模式结构:外模式、模式、内模式

12、两级映像:外模式/模式映像 模式/内模式映像 正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

13、 逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的,也就是说数据的逻辑结构改变了,用户程序也可以不改变。

14 在最简单的情况下,候选码只包含一个属性。若一个关系有多个候选码,则选定其中一个为主码。主码的诸属性称为主属性。不包含在任何侯选码中的属性称为非码属性

15、基本关系的6条性质:① 列是同质的,即每一列中的分量是同一类型的数据,来自同 一个域;② 不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性要给予不同的属性名③ 列的顺序无所谓,列的次序可以任意交换④ 任意两个元组不能完全相同,由笛卡尔积的性质决定⑤ 行的顺序无所谓,行的次序可以任意交换⑥ 分量必须取原子值,每一个分量都必须是不可分的数据项

16 关系:关系模式在某一时刻的状态或内容,动态的、随时间不断变化的

17、实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。实体完整性规则规定:基本关系的主码都不取去空值,基本关系的所有主属性都不能取空值。

18、参照完整性规则:关系R的外码的取值,要么为空值,要么等于被参照表中某个元组的主码值。

19、5种基本操作:选择、投影、并、差、笛卡尔积, 还有三种:交 连接 除

20、SQL的特点:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提

供两种使用方法、语言简洁,易学易用

21、查询:单表查询、连接查询、嵌套查询、集合查询

22、删除时,要先删除参照表(例如SC),再删除被参照表(例如Student)

23、视图的作用:①视图能够简化用户的操作 ②视图使用户能以多种角度看待同一数据③

视图对重构数据库提供了一定程度的逻辑独立性④视图能够对机密数据提供安全保护 ⑤ 适当的利用视图可以更清晰的表达查询

24、SQL中的安全控制机制主要有两个:视图和授权

25、如果X→Y,但Y ? X,则称X→Y是非平凡的函数依赖 ;若X→Y,但Y ? X, 则称

X→Y是平凡的函数依赖

26、R的一个分解ρ={R1,R2},具有无损连接性的充分必要条件是:R1∩R2?R1-R2∈F+或者R1∩R2?R2-R1∈F+

27、逻辑结构设计阶段——模式 、外模式(视图);物理设计阶段——内模式;

28、数据库设计的基本步骤:⒈需求分析阶段 ⒉概念结构设计阶段

阶段 ⒊逻辑结构设计⒋数据库物理设计阶段 ⒌数据库实施阶段 ⒍数据库运行和维护阶段

29、数据字典的内容:数据项、数据结构、数据流、数据存储、处理过程

30、数据抽象的三种抽象:分类、聚集、概括

31、DBMS常用存取方法:索引方法、聚簇方法、HASH方法

32、ER图之间的冲突:属性冲突、命名冲突、结构冲突

33、RDBMS查询处理可以分为4个阶段:查询分析、查询检查、查询优化、查询执行

34、常用的存取控制方法:自主存取控制、强制存取控制

35、强制存取控制:1、保证更高程度的安全性 2不是用户不能直接感知或进行控制3、适用于对数据有严格而固定密级分类的部门

36、强制存取控制规则

(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体

(2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体

37、数据库的完整性:数据的正确性和相容性

 

第二篇:数据库知识点总结

二、名词解释

1.数据冗余 定义:同一数据存储在不同的数据文件中的现象。

2.DBA 数据库管理员

3.事务 (unit)。

4.数据字典 :数据库中所有对象及其关系的信息集合。

5.数据独立性 包括数据的物理独立性和逻辑独立性。

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

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

8. 存储过程 是一组为了完成特定功能的SQL语句集

9.触发器 可以查询其他表,而且可以包含复杂的 语句。它们主要用于强制服从复杂的业务规则或要求

10.SQL语言中的视图

答:在SQL中,外模式一级数据结构的基本单位是视图,它是从若干基本表和(或)其它视图中构造出来的,视图并不存储对应的数据,只是将视图的定义存于数据字典中。

四、简答题

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

答:数据库定义、操纵、保护、存储、维护和数据字典。

2.数据库系统中的常见故障有哪些?

答:.事务故障,系统故障、介质故障。

3.简述SQL语言的组成。

答:分为四个部分:

数据定义、数据操纵、数据控制、嵌入式SQL语言的使用规定。

4.说明关系模型有哪三类完整性规则?

答:实体完整性、参照完整性、用户自定义完整性。

5.请阐述在网状模型和关系模型中,实体之间联系的实现方法。

答:在网状模型中,联系用指针实现。

在关系模型中,联系用关键码 (或外键,或关系运算) 来实现。

6.DBS由哪几个部分组成?

答:DBS由四部分组成:数据库、硬件、软件、数据库管理员。

7.数据库的并发操作会带来哪些问题?

答:数据库的并发操作会带来三类问题:丢失更新问题;不一致分析问题和“脏数据”的读出。

8.简述客户/服务器模式DBS的一般结构。此时数据库应用的功能如何划分?

答:DBS :数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

9.什么是日志文件?为什么要设立日志文件?

答:(1)日志文件是用来记录事务对数据库的更新操作的文件。

(2)设立日志文件的目的是: 进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。

10.SQL中表达完整性约束的规则主要有哪几种?

答:有主键约束、外键约束、属性值约束和全局约束等。

11.什么是分布式数据库的分布透明性?

答:分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也

不必关心各个场地上数据库的数据模型。

12.什么是对象关系数据模型?

答:在传统的关系数据模型基础上,提供元组、数组、集合等数据类型以及处理新的数据类型操作的能力,这样形成的数据模型,称为“对象关系数据模型”。

13. 数据库恢复的基本技术有哪些?

答:数据转储和登录日志文件是数据库恢复的基本技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。

五、论述题

1.数据库中为什么要有恢复子系统?它的功能是什么?

答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。

恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。

2.数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?

答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:

(1)事务内部的故障;(2)系统故障;(3)介质故障;(4)计算机病毒。

事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。

3.登记日志文件时为什么必须先写日志文件,后写数据库?

答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。

如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。

4.什么是数据库镜像?它有什么用途?

答:数据库镜像即根据DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。

数据库镜像的用途有:

一是用于数据库恢复。当出现介质故障时,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。

二是提高数据库的可用性。在没有出现故障时,当一个用户对某个数据加排它锁进行修改时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。

5.试述事务的概念及事务的四个特性。

答:

事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。

原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。

一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。

六、综合题

(一)现有关系数据库如下:

学生(学号,姓名,性别,专业,奖学金)

课程(课程号,名称,学分)

学习(学号,课程号,分数)

用SQL语言实现如下小题:

1. 检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业

SELECT 学号,姓名,专业

FROM 学生

WHERE 学号 NOT IN

(SELECT 学号

FROM 学习

WHERE 课程号='C135')

2. 检索至少学过课程号为“C135”和“C219”的学生信息,包括学号、姓名和专业;

.SELECT 学号,姓名,专业

FROM 学生

WHERE 学号 IN

(SELECT X. 学号

FROM 学习 AS X, 学习AS Y

WHERE X.学号=Y.学号 AND X.课程号='C135' AND X 课程号=’C219’)

3.从学生表中删除成绩出现过0分的所有学生信息;

DELETE FROM 学生

WHERE 学号 IN

(SELECT 学号

FROM 学习

WHERE 分数=0)

3. 定义“英语”专业学生所学课程的信息视图AAA,包括学号、姓名、课程号和分数。 CREATE VIEW AAA(学号,姓名,课程号,分数)

AS SELECT 学号,姓名,课程号,分数

FROM 学生,学习

WHERE 学生.学号 =学习.学号 AND 专业=’英语’

(二)现有如下关系:学生(学号,姓名,性别,专业,出生年月)

教师(教师编号,姓名,所在部门,职称)

授课(教师编号,学号,课程编号,课程名称,教材,学分,成绩)

1.查找学习“数据库原理”课程且成绩不及格的学生学号和任课教师编号;

2.查找学习“英语”课程的“计算机应用”专业学生的学号,姓名和成绩;

3.查找教师“李洪”所教过的学生成绩为90分以上(包括90)的学生学号,姓名和专业;

4.删除学生表中学号为“9903016”的记录;

5.将编号为“60016”的教师所在的部门该为“计算机”;

6.建立“计算机应用”专业成绩有过不及格的学生的视图;

7.向学生表中增加一个“奖学金”列,其数据类型为数值型。

1、 SELECT 学号,教师编号

FROM 授课

WHERE 课程名称='数据库原理' AND 成绩<60;

2、 SELECT 学号,姓名,成绩

FROM 授课,学生

WHERE 学生.学号=授课.学号 AND 专业='计算机应用' AND 课程名称='英语';

3、 SELECT 授课.学号,学生.姓名,专业

FROM 学生,教师,授课

WHERE 学生.学号=授课.学号 AND 教师.教师编号=授课.教师编号 AND 教师. 姓名='李洪' AND 成绩>=90;

4、 DELETE

FROM 学生

WHERE 学号='9903016';

5、 UPDATE 教师

SET 所在部门='计算机系'

WHERE 教师编号='60016';

6、 CREATE VIEW 成绩

AS SELECT 学生.学号,姓名,成绩

FROM 学生,授课

WHERE 学生.学号=授课.学号 AND 专业='计算机应用' AND 成绩<60;

(三)设有关系数据库:

职工关系EMPLOYEE (职工号

,职工名,街道,城市)

工作关系WORKS (职工号,

公司号,工资)

公司关系COMPANY (公司号,

公司名,城市)

试用SQL语句写出下列操作

:将所有在“联华公司”工作的职工加薪5﹪。

UPDATE WORKS

SET工资 = 工资 * 1.05

WHERE公司号IN

(SELECT公司号

FROM COMPANY

WHERE公司名 =‘联华公司’);

相关推荐