数据库
绪论
1.基本术语 数据、数据库、数据库管理系统、数据库系统
数据:数据库中存储的基本对象。
数据库:长期存储计算机内的、有组织的、可共享的数据集合。
数据库管理系统:专门用于建立和管理数据库的一套软件。对外部程序提供访问数据库的方法,对内进行数据管理。
数据库系统:与和数据库相关的整个系统,一般由数据库、数据库管理系统、应用程序、数据库管理员和用户组成。
2.数据库管理技术的发展
经历了人工管理阶段、文件系统阶段、数据库管理阶段。
人工管理阶段:数据不保存;只有程序概念,没有文件概念;数据面向应用。
文件系统阶段:数据可以长期保存,数据由文件系统管理,数据冗余、不一致、联系性差
数据库管理阶段:数据结构化,共享性高,数据独立性高,由DBMS统一管理和控制,提供接口。
3.数据模型的组成三要素
数据模型是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。
数据模型所描述的内容包括三个部分:数据结构、数据操作、完整性约束。
1、数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。
2、数据操作:数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。
3、完整性约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、它们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。
4.模式、外模式、内模式
模式:也叫作逻辑模式或概念模式,是对数据库中全体数据逻辑结构和特征的描述。定义模式时要定义数据的逻辑结构、数据之间的联系、定义与数据相关的安全性、完整性的要求。模式只有一个。
外模式:也叫子模式或用户模式,它描述用户看到或使用的局部逻辑结构和特性。用户根据外模式用数据操作语言或接口去操作数据库的数据。外模式可以有多个。
内模式:也叫作存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
5.解释二级独立性
物理独立性和逻辑独立性
物理独立性是指模式/内模式之间独立,用户的应用程序与存储在磁盘上的数据库的数据是互相独立的。当内模式改变之后,只需要对模式/内模式映像修改,而不用改变应用程序。
逻辑独立性是指模式/外模式之间独立,用户的应用程序与数据库的逻辑结构是相互独立的,当模式改变时,只需要改变模式/外模式映像即可,不用改变应用程序。
6.DBMS(数据库管理系统)的主要功能有什么?
数据库管理系统从功能上划分主要可分为四部分: 数据库模式定义、 数据操纵语言、数据库系统控制以及数据库建立和维护。
(1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。
(2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。
(3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。
(4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。

关系数据库
1.常用的关系操作和数据操作
常用的关系操作:选择、投影、连接、除、并、交、差等运算。
常用数据操作:查询、增加、删除、修改
操作对象和结果都是集合。
2.关系完整性约束
包括实体完整性、参照完整性、用户定义的完整性。前两个系统必须满足,。
3.一些基本术语关系、属性、值域、元组、分量、关系模式
关系,通俗地讲就是一张二维表,表名就是关系名
属性:二维表中的列称为属性
元组:二维表中一行称为一个元组,元组中的每一个属性值称为元组分量
关系模式:二维表的结构。可以表示为REL(A,B,C,D)
4.一些基本术候选码、主键、主属性、非主属性、外键
候选码:如果一个属性集的值能够唯一标识一个关系的元组,又不含有多余的属性,就称他为候选码。一个关系上可以有多个候选码。
主键:当一个关系有多个候选码时,可以选出一个作为主键。
sql触发器级联删除
主属性:包含在任意候选码中的属性
非主属性:不包含在候选码中的属性
外键:如果关系模式R中的属性K是其他关系模式的主键,则说K是关系模式R的外键。
5.描述三类关系完整性约束规则
实体完整性规则:要求关系中元组在组成主键的属性上不能有空值。
参照完整性规则:定义建立关系之间联系的主键与外部关键字引用的约束条件。外键属性字段的取值只能为空,或者在参照关系主键范围中取值。如果属性集K是关系模式R1的主键,同时K也是关系模式R2的属性,但不是R2的主键,那么称K为R2的外键。在R2中,K的取值要么是空值要么是R1的某个主键的值。关系模式R1称为被参照关系,R2称为参照关系。
用户定义完整性:根据应用环境的要求和实际的需要,用户自已定义的完整性规则。包括非空约束、自增约束、默认值约束等、check约束以及触发器约束。
6.关系完整性约束的作用
作用是保证数据库中数据的正确性、完整性,拒绝某些不合理的数据操作。具体包括:
1、执行插入、更新操作时,检查三种完整性。
2、执行删除操作时一般检查参照完整性。如果删除的是参照关系中的元组,不用检查。如
果删除的是被参照关系的元组,需要检查,如果未被引用可以执行删除。如果被引用分三种情况:
①不可以执行删除,直接拒绝;
②可以删除,但需要同时删除参照关系中引用了该元组的对应元组,称为级联删除。
③可以删除,但参照关系中引用了该元组的对应元组的外键设置为空值。
7.不符合范式的关系,会产生哪些异常
答:主要会出现以下四种异常:
1)冗余数据:例如 学生-2 出现了两次。
2)修改异常:修改了一个记录中的信息,但是另一个记录中相同的信息却没有被修改。
3)删除异常: 删除一个信息,那么也会丢失其它信息。例如删除了 课程-1 需要删除第一>行和第三行,那么 学生-1 的信息就会丢失。