第二章
1、关系模型的三个组成部分:数据结构、关系操作集合、关系完整性约束。
2、关系数据语言:
a.关系代数语言;
b. 关系演算语言:元组关系演算语言和域关系演算语言;
c.SQL:具有关系代数和关系演算双重特点的语言。
4、关系模式是型,关系是值,是关系模型的实例。
5、实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值;
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为以下二者之一:
or 取空值(F的每个属性值均可以为空值);
or 等于S中某个元组的主码值。
即属性F本身不是主属性,则可以取空值,否则不能取空值。
PS:
笛卡尔积·D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为:
R:关系名
n:关系的目或度(Degree)
关系中的每个元素是关系中的元组,通常用t表示。
- 关系--二维表,表的每行对应一个元组,表的每列对应一个域。
- 属性--列名:关系中不同列可以对应相同的域;n目关系必有n个属性。
- 候选码--关系中的某一属性组的值能唯一地标识一个元组;
- 简单的情况:候选码只包含一个属性。
- 全码--最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码。
- 主码--若一个关系有多个候选码,则选定其中一个为主码。
- 主属性--候选码的诸属性。
- 不包含在任何侯选码中的属性称为非主属性或非码属性。
7、等值连接与自然连接的区别与联系:
- 连接运算符“=”的连接运算称为等值连接;它是从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组;
- 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
第三章
1、SQL的特点:综合统一;高度非过程化;面向集合的操作方式;以同一种语法结构提供两种使用方法(SQL语言既是自含式语言,又是嵌入式语言);语言简洁、易用易学。
注:SQL(Structured Query Language)结构化查询语言,是关系数据库的标准语言。
SQL功能 | 动词 |
数据查询 | select |
数据定义 | create、drop、alter |
数据操纵 | insert、update、delete |
数据控制 | grant、revoke |
SQL的数据定义语句
操作对象 | 操作方式 | ||
创建 | 删除 | 修改 | |
模式 | create schema | drop schema | |
表 | create table | drop table | alter table |
视图 | create view | drop view | |
索引 | create index | drop index | alter index |
2、drop table时,restrict 和 cascade 的区别:
例:删除Student表:DROP TBALE Student CASCADE;
restrict 表示表的删除是有限制条件的,要删除的基本表不能被其他表的约束所引用,不能有视图,不能有触发器,不能有存储过程或函数等。如果存在这些依赖该表的对象,则表不能被删除。
cascade表示表的删除没有限制条件,在删除基本表的同时,相关的依赖对象(比如视表)都将被删除。
6、基本表和视图的区别和联系:
- 基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
- 视图是从一个或几个基本表导出的表。试图本身不独立存储在数据库中,是一个虚表。
- 即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如基本表那样使用视图,可以在视图上再定义视图。
7、视图的优点:
- 简化用户操作;
- 使用户能以多角度看待同一数据;
- 对重构数据库提供了一定程度的逻辑独立性;
- 能够对机密数据提供安全保护。
8、基本表的行列子集视图一般是可更新的;
- 若视图的属性来自集合函数、表达式,则该视图肯定是不可更新的。
注:更新视图是指通过视图来插入(Insert)、删除(Delete)和修改(update)数据。(由于视图是不实际存储数据的虚表,因此对视图的更新最终转换为对基本表的更新。因为有些视图的更新不能唯一有意义地转换成对相应基本表的更新,故并不是所有视图都可更新。)
9、为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供QTY),针对该视图VSP完成相应查询:
CREATE VIEW VSP
AS
SELECT SNO , SPJ.PNO , QTY
FROM SPJ,J
WHERE SPJ.JNO=J.PNO AND J.JNAME='三建'
1)找出三建工程项目使用的各种零件代码及其数量:
SELCET PNO,QTY FROM V_SPJ;
or SELECT DIST PNO,QTY FROM VSP;
2)找出供应商S1的供应情况:
SELECT PNO,QTY FROM V_SPJ WHERE SNO='S1';
or SELECT DIST * FROM VSP WHERE SNO='S1';
第四章
1、数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
4、实现数据库安全性控制的常用方法和技术:
用户标识和鉴别;存取控制;视图机制;审计;数据加密。
5、数据库中的自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限,防止不合法用户对数据库的存取。
强制存取控制方法:每一个数据对象被(标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
自主存取控制中自主的含义是:用户可以将自己拥有的存取权限“自主”地授予别人,即拥有一定的“自主”权。
9、主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程;
客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等;
对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。敏感度标记被分成若干等级,例如绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public)等。主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级。
11、数据库的审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。
为何提供审计功能:任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA可以根据审计日志中记录的信息分析和重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
第五章
1、数据库的完整性是指数据的正确性和相容性。
2、数据的完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba:e In Garba:e Out)所造成的无效操作和错误结果。
数据的安全性是保护数据库防止恶意的破坏和非法的存取。
即,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不和语义的数据。
3、数据库的完整性约束条件是指:数据库中的数据应该满足的语义约束条件。
4、DBMS的完整性控制机制应具备:定义功能;检查功能;违约反应。
5、RDBMS在实现参照完整性时需要考虑可能破坏参照完整性的各种情况,以及用户违约后的处理策略。
被参照表 (例如Student) | 参照表 (例如SC) | 违约处理 |
可能破坏参照完整性 | 插入元组 | 拒绝 |
可能破坏参照完整性 | 修改外码值 | 拒绝 |
删除元组 | 可能破坏参照完整性 | 拒绝/级联删除/设置为空值 |
修改主码值 | 可能破坏参照完整性 | 拒绝/级联删除/设置为空值 |
7、关系系统中,对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理。而对于违反参照完整性的操作,并不都是简单的拒绝执行,有时要根据语义执行一些附加的操作,以保证数据库的正确性。