1、1第一章:二问答题:1.定义并解释概念模型中以下术语: 实体,实体型,实体集,属性,码,实体联系图(E-R 图)答案:实体:客观存在并可以相互区分的事物叫实体。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。实体集:同型实体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码:唯一标识实体的属性集称为码。 实体联系图:E-R 图提供了表示实体型、属性和联系的方法: 实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有
2、关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n 或 m : n)。2.试述数据模型的概念、数据模型的作用和数据模型的三个要素答案:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。数据的
3、约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。数据模型的概念和作用。数据模型是数据库系统的基础。任何一个 DBMS 都以某一个数据模型为基础,或者说支持某一个数据模型。数据库系统中模型有不同的层次。根据模型应用的不同目的,可以将模型分成两类或说两个层次:一是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能力,概念简单清晰;另一是数据模型,是按计算机系统的观点对数据建模,用于机器世界,人们可以用它定义、操纵数据库中的数据。一般需要有严格的形式
4、化定义和一组严格定义了语法和语义的语言,并有一些规定和限制,便于在机器上实现。3. 试述数据库系统的特点2答案:数据库系统的主要特点有:一、数据结构化:数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。二、数据的共享性高,冗余度低,易扩充 :数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。三、数据独立性高:数据独立性包括数据的物理独立性和数据的逻辑独立性。数据库管理系统的模式
5、结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。四、数据由 DBMS 统一管理和控制:数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。为此,DBMS 必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。数据库是长期存储在计算机内有组织的大量的共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。DBMS 在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。数据库系统的出现使信
6、息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。4.举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子答案:适用于文件系统而不是数据库系统的应用例子 数据的备份,软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。早期功能比较简单、比较固定的应用系统也适合用文件系统。 适用于数据库系统而非文件系统的应用例子 目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。如一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等等),还比如学校的学生管理系统,人事管理系统,图书
7、馆的图书管理系统等等都适合用数据库系统。5. 试述文件系统与数据库系统的区别和联系答案:文件系统与数据库系统的区别:文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。 数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。 文件系统与数据库系统的联系是:文件系统与数据库系统都是计算机系统中管理数据的软件。文件系统是操作系统的重要组成部分,而 DBMS 是独立于操作系统的软件。但是 DBMS 是在操作系统的基础上实现的。数据库中数
8、据的组织和存储是通过操作系统中文件系统来实现的。36.使用数据库系统有什么好处?答案:使用数据库系统的好处是由数据库管理系统的特点或优点决定的。 使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。 使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由 DBMS 来完成。用一个通俗的比喻,使用了DBMS 就如有了一个好参谋好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计而不必为管理数据的许许多多复杂的细节操心。 还有,当应用逻辑改变
9、,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。数据逻辑结构的改变是 DBA 的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。 使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为 DBMS 在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由 DBMS 执行。 总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。读者可以在自己今后的工作中结合具
10、体应用,认真加以体会和总结。7. 试述数据、数据库、数据库系统、数据库管理系统的概念答案:数据:描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。 数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 数据库系统:数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 数据库管理系统:数据库管理系统 (DBMS)是位于用户与操作系统之间
11、的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS 主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。第二章:一选择填空题:1.有关系 SC(S_ID,C_ID,AGE,SCORE),查找年龄大于 22 岁的学生的学号和分数,正确4的关系代数表达式是( ) 。 . S_ID,SCORE ( age22 (SC) ) . age22 (S_ID,SCORE (SC) ) . S_ID,SCORE (age22 (S_ID,SCORE ,AGE (SC) ) )参 考 答 案 和 正 确2. 下面四个关系表达式是等价的,是判别它们的执行
12、效率( ) 。 E1 =A ( B=C D=E (RS) ) E2 =A ( B=C (R D=E (S) ) E3 =A (RB=CD=E(S) ) E4 =A (D=E (RB=C S) )参 考 答 案 E3 最 快3. 下面列出的关系代数表达是中,那些式子能够成立( ) 。 . f1 ( f2 (E) = f1f2 (E) . E1E2 = E2E1 . (E1E2)E3 = E1 (E2E3) . f1 ( f2 (E) =f2 ( f1(E)参 考 答 案 全 部4. 假设有关系 R 和 S,关系代数表达式 R(RS)表示的是( )参 考 答 案 RS5. 假设有关系 R 和 S,
13、在下列的关系运算中,( )运算不要求:“R 和 S 具有相同的元数,且它们的对应属性的数据类型也相同”参 考 答 案 RS6. 自然联接是构成新关系的有效方法。一般情况下,当对关系 R 和 S 是用自然联接时,要求R 和 S 含有一个或者多个共有的( )参 考 答 案 属 性7.关系代数中的联接操作是由( )操作组合而成参 考 答 案 笛 卡 尔 积 和 选 择8. 从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是( )操作参 考 答 案 选 择9 关系数据库中的投影操作是指从关系中参 考 答 案 抽 出 特 定 字 段10 关系代数表达式的优化策略中,首先要做的是参
14、 考 答 案 尽 早 执 行 选 择 运 算11. 关系代数运算是以( )为基础的运算5参 考 答 案 集 合 运 算12. 关系数据库中基于数学上两类运算是 和 参 考 答 案 关系代数关系演算二 问 答 题 :1. 关系代数的基本运算有哪些?答:并、差、笛卡尔积、投影和选择 5 种运算为基本的运算。其他 3 种运算,即交、连接和除,均可以用这 5 种基本运算来表达。2.试述等值连接与自然连接的区别和联系。答:连接运算符是“=”的连接运算称为等值连接。它是从关系 R 与 S 的广义笛卡尔积中选取A,B 属性值相等的那些元组自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同
15、的属性组,并且在结果中把重复的属性列去掉。3. 设有一个 SPJ 数据库,包括 S,P ,J,SPJ 四个关系模式: S( SNO,SNAME,STATUS,CITY); P(PNO,PNAME ,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO ,QTY); 供应商表 S 由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表 P 由零件代码(PNO)、零件名(PNAME)、颜色( COLOR)、重量(WEIGHT)组成;工程项目表 J 由工程项目代码(JNO)、工程项目名(JNA
16、ME)、工程项目所在城市(CITY)组成;供应情况表 SPJ 由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量( QTY)组成,表示某供应商供应某种零件给某工程项目的数量为 QTY。试用关系代数完成如下查询:1)求供应工程 J1 零件的供应商号码 SNO:2)求供应工程 J1 零件 P1 的供应商号码 SNO:3)求供应工程 J1 零件为红色的供应商号码 SNO:4)求没有使用天津供应商生产的红色零件的工程号 JNO:5)求至少用了供应商 S1 所供应的全部零件的工程号 JNO:答案:1)求供应工程 J1 零件的供应商号码 SNO:Sno(Sno=J1 (SPJ))
17、2)求供应工程 J1 零件 P1 的供应商号码 SNO:Sno(Sno=J1Pno=P1(SPJ)63)求供应工程 J1 零件为红色的供应商号码 SNO:Sno(Pno=P1 (COLOR= 红 (P)SPJ) )4)求没有使用天津供应商生产的红色零件的工程号 JNO:Jno(SPJ)- JNO(city=天津Color=红 (SSPJP)5)求至少用了供应商 S1 所供应的全部零件的工程号 JNO:Jno,Pno(SPJ) Pno(Sno=S1 (SPJ)4. 试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答:实体完整性规则是指若属性 A 是
18、基本关系 R 的主属性,则属性 A 不能取空值。若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为:或者取空值(F 的每个属性值均为空值);或者等于 S 中某个元组的主码值。即属性 F 本身不是主属性,则可以取空值,否则不能取空值。5. 定义并理解下列术语,说明它们之间的联系与区别:(1)域,笛卡尔积,关系,元组,属性(2)主码,候选码,外码 (3)关系模式,关系,关系数据库6.试述关系数据语言的特点和分类。答:关系数据语言可以分为三类:关系代数语言和关系演算语言:元组关系
19、演算语言和域关系演算语言。SQL:具有关系代数和关系演算双重特点的语言。这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。第三章:一选择填空题:1.学生关系模式 S( S,Sname,Sex,Age),S 的属性分别表示学生的学号、姓名、性别、7年龄。要在表 S 中删除一个属性“年龄”,可选用的 SQL 语句是( )。DELETE Age from S ALTER TABLE S DROP Column Age UPDATE S Age ALTER TABLE S Age参 考 答 案 ALTER TABLE S DROP Colu
20、mn Age2. 在 SQL 语言中的视图 VIEW 是数据库的( )。参 考 答 案 外 模 式3. SQL 语言具有两种使用方式,分别称为交互式 SQL 和( )。参 考 答 案 嵌 入 式 SQL4. 设有如下关系表 R: R(No,NAME ,SEX,AGE,CLASS) 主关键字是 NO 其中 NO 为学号,NAME 为姓名,SEX 为性别, AGE 为年龄,CLASS 为班号。写出实现下列功能的 SQL 语句。 插入一个记录(25,“ 李明”,“男”,21,“95031”); insert into R(No,NAME,SEX,AGE, CLASS) values(“95031”,
21、 “李明”, 25,“ 男”,21)插入“95031”班学号为 30、姓名为“郑和”的学生记录;将学号为 10 的学生姓名改为“王华”; 将所有“95101”班号改为“95091”; 删除学号为 20 的学生记录; 删除姓“王”的学生记录; 参 考 答 案 INSERT INTO R VALUES(25,“李明”,“男” ,21,“95031”) INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和” ,“95031”) UPDATE R SET NAME=“王华”WHERE NO10 UPDATE R SET CLASS“95091”WHERE CLASS“9
22、5101” DELETE FROM R WHERE NO=20 DELETE FROMR WHERE NAME LIKE“王”5. 视图是一个虚表,它是从 中导出的表。在数据库中,只存放视图的 ,不存放视图的 。8参 考 答 案 一个或几个基本表定义视图对应的数据二 问 答 题 :1.哪类视图是可以更新的,哪类视图是不可更新的? 各举一例说明。参 考 答 案 基本表的行列子集视图一般是可更新的。如 概论3.5.3 中的例 1。 若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。2.所有的视图是否都可以更新?为什么?参 考 答 案 不是。视图是不实际存储数据的虚表,因此对视图的更新,最
23、终要转换为对基本表的更新。因有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的。如下的视图 S_G(学生的学号及他的平均成绩) CREAT VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno; 要修改平均成绩,必须修改各科成绩,而我们无法知道哪些课程成绩的变化导致了平均成绩的变化。3.试述视图的优点。参 考 答 案 (1)视图能够简化用户的操作。 (2)视图使用户能以多种角度看待同一数据。 (3)视图对重构数据库提供了一定程度的逻辑独立性。 (4)视图能够对机密数据提供安全保
24、护。4.什么是基本表?什么是视图?两者的区别和联系是什么?参 考 答 案 基本表是本身独立存在的表,在 SQL 中一个关系就对应一个表。 视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。5 试述 SQL 的定义功能。参 考 答 案 SQL 的数据定义功能包括定义表、定义视图和定义索引。 SQL 语言使用CREATE TABLE 语句定义建立基本表,;ALTER TABLE 语句修改基本表定义,DROP
25、 TABLE 语句删除基本表;建立索引使用 CREATE INDEX 语句建立索引, DROP INDEX 语句删除索引表;SQL 语言使用 CREATE VIEW 命令建立视图,DROP VIEW 语句删除视图。6. 试述 SQL 语言的特点。参 考 答 案 (1)综合统一。 SQL 语言集数据定义语言 DDL、数据操纵语言 DML、数据控制语言 DCL 的功能于一体。(2)高度非过程化。用 SQL 语言进行数据操作,只要提出“做什么”,而无须指明“ 怎么做”,因此无需了解存取路径,存取路径的选择以及 SQL 语句的操作过程由系统自动完成。(3)面向集合的操作方式。SQL 语言采用集合操作方
26、式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。9(4)以同一种语法结构提供两种使用方式。SQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。 (5)语言简捷,易学易用。三 论 述 题 :1 设学生-课程数据库中包括三个表: 学生表:Student (Sno,Sname,Sex,Sage,Sdept)课程表:Course(Cno,Cname,Ccredit)学生选课表:SC(Sno,Cno ,Grade)其中Sno、Sname、Sex、Sage 、S
27、dept、 Cno、Cname 、Ccredit 、Grade 分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。试用 SQL 语言完成下列项操作:(1)查询选修课程包括“1042”号学生所学的课程的学生学号(2)创建一个计科系学生信息视图 S_CS_VIEW,包括 Sno 学号、Sname 姓名、Sex 性别;(3)通过上面第 2 题创建的视图修改数据,把王平的名字改为王慧平(4)创建一选修数据库课程信息的视图,视图名称为 datascore_view,包含学号、姓名、成绩。参 考 答 案 (1) SELECT DISTINCT SNO FROM SC SCX WHERE
28、 NOT EXISTS (SELECT * FROM SC SCY WHERE SCY.SNO = 1042 AND NOT EXISTS (SELECT * FROM SC SCZ WHERE SCZ.SNO=SCX.SNO AND SCZ.CNO=SCY.CNO); (2) CREATE VIEW S_CS_VIEW AS SELECT SNO,SNAME,SEX FROM STUDENT WHERE Sdept=CS (3)UPDATE S_CS_VIEW SET SNAME= 王慧平 WHERE SNAME= 王平(4) CREATE VIEW datascore_view AS SE
29、LECT SNO 学号、SNAME 姓名、GRADE 成绩 FROM STUDENT,SC,COURSE WHERE STUDENT.SNO=SC.SNO AND COURSE.CNO=SC.CNO2.设学生课程数据库中有三个关系:学生关系 S(S# ,SNAME ,AGE ,SEX)学习关系SC(S#,C#,GRADE)课程关系 C(C# ,CNAME)其中S#、 C#、SNAME、AGE、SEX、GRADE 、CNAME 分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。用 SQL 语句表达下列操作(1)检索选修课程名称为“MATHS”的学生的学号与姓名 (2)检索至少学习了课程号为“
30、C1”和“C2” 的学生的学号10(3)检索年龄在 18 到 20 之间(含 18 和 20)的女生的学号、姓名和年龄(4)检索平均成绩超过 80 分的学生学号和平均成绩(5)检索选修了全部课程的学生姓名(6)检索选修了三门课以上的学生的姓名参 考 答 案 (1)SELECT SNAME,AGE FROM S,SC,C WHERE S.S#=SC.S# AND C.C#=SC.C# AND CNAME= MATHS (2) SELECT S# FROM SC WHERE CNO=C1 AND S# IN( SELECT S# FROM SC WHERE CNO=C2) (3)SELECT S#
31、,SNAME,AGE FROM S WHERE AGE BETWEEN 18 AND 20 (4) SELECT S# ,AVG(GRADE) 平均成绩 FROM SC GROUP BY S# HAVING AVG(GRADE)80(5) SELECT SNAMEFROM SWHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C.C# )第四章一选择填空题:1.当对某一表进行诸如、这些操作时,SQL Server 就会自动执行触发器所定义的 SQL 语句。参 考 答
32、案 INSERT DELETE UPDATE2. DBMS 存取控制机制主要包括两部分:自主存取控制,_。参 考 答 案 强制存取控制3 在数据库系统中对存取权限的定义称为 。参 考 答 案 授权4.存取权限包括两方面的内容,一个是 ,另一个是 。参 考 答 案 要存取的数据对象 ,对此数据对象进行操作的类型5. 安全性控制的一般方法有、和视图的保护五级安全措施。参 考 答 案 用户标识鉴定,存取控制,审计 ,数据加密6. 保护数据安全性的一般方法是 参 考 答 案 设置用户标识和存取权限控制二简答题:111. 统计数据库中存在何种特殊的安全性问题?参 考 答 案 统计数据库允许用户查询聚集类
33、型的信息,如合计、平均值、最大值、最小值等,不允许查询单个记录信息。但是,人们可以从合法的查询中推导出不合法的信息,即可能存在隐蔽的信息通道,这是统计数据库要研究和解决的特殊的安全性问题。2. 什么是数据库的审计功能,为什么要提供审计功能?参 考 答 案 审计功能指 DBMS 的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。 因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA 可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。3. 理解并解释 MAC 机制中主体、客体
34、、敏感度标记的含义。参 考 答 案 主体是系统中的活动实体,既包括 DBMS 所管理的实际用户,也包括代表用户的各进程。 客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。 对于主体和客体,DBMS 为它们每个实例(值)指派一个敏感度标记(Label)。敏感度标记被分成若干级别,例如绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public )等。主体的敏感度标记称为许可证级别(Clearance Level),客体的敏感度标记称为密级( Classification Level)。主体是系统中的活动实体,既包括 DBMS 所管
35、理的实际用户,也包括代表用户的各进程。 客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。 对于主体和客体, DBMS 为它们每个实例(值)指派一个敏感度标记(Label)。敏感度标记被分成若干级别,例如绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public)等。主体的敏感度标记称为许可证级别(Clearance Level),客体的敏感度标记称为密级(Classification Level)。主体是系统中的活动实体,既包括 DBMS 所管理的实际用户,也包括代表用户的各进程。 客体是系统中的被动实体,是受主体操纵的,包括
36、文件、基表、索引、视图等。 对于主体和客体, DBMS 为它们每个实例(值)指派一个敏感度标记(Label)。敏感度标记被分成若干级别,例如绝密(Top Secret)、机密(Secret)、可信(Confidential )、公开(Public )等。主体的敏感度标记称为许可证级别(Clearance Level),客体的敏感度标记称为密级( Classification Level)。4. 为什么强制存取控制提供了更高级别的数据库安全性?参 考 答 案 强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,
37、从而提供了更高级别的安全性。5. SQL 语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。参 考 答 案 SQL 中 的自主存取控制是通过 GRANT 语句和 REVOKE 语句来实现的。如: GRANT SELECT, INSERT ON Student TO 王平 WITH GRANT OPTION; 就将 Student 表的SELECT 和 INSERT 权限授予了用户王平,后面的“WITH GRANT OPTION”子句表示用户王平同时也获得12了“授权 ”的权限,即可以把得到的权限继续授予其他用户。 REVOKE INSERT ON Student F
38、ROM 王平 CASCADE; 就将 Student 表 的 INSERT 权限从用户王平处收回,选项 CASCADE 表示,如果用户王平将 Student 的 INSERT 权限又转授给了其他用户,那么这些权限也将从其他用户处收回。6. 什么是数据库中的自主存取控制方法和强制存取控制方法?参 考 答 案 自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密
39、级的数据对象。 自主存取控制中自主的含义是:用户可以将自己拥有的存取权限“自主” 地授予别人。即用户具有一定的 “自主”权。7. 试述实现数据库安全性控制的常用方法和技术。参 考 答 案 实现数据库安全性控制的常用方法和技术有: 1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如 C2 级中的自主存取控制( DAC),B1 级中的强制存取控制(MAC); 3)视图机制:为不同的用户定义视图
40、,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中, DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。8. 数据库安全性和计算机系统的安全性有什么关系?参 考 答 案 安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全
41、保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。9什么是数据库的安全性?参 考 答 案 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。第五章:13一选择填空题:1. 在数据库系统中,保证数据及语义正确和有效的功能是 ( )参 考 答 案 完 整 性 控 制2. 在 SQL Server 2005 中,定义列的默认值使用的关键字是( ),删除约束使用的关键字是() 参 考 答 案 defaultDrop Constraint3. 为了保护数据库的实体完整性,当用户程序对主码进行更
42、新使主码值不惟一时,DBMS 就( )。参 考 答 案 为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不惟一时,DBMS 就( )。4. 参照完整性是指在基本表中,( )。参 考 答 案 外码可以是空值或者另一个关系主码的有效值5. 实体完整性是指在基本表中,( )。参 考 答 案 主属性不能取空值,主键值不能重复6. 关系数据库的完整性可以分为: . 和 。参 考 答 案 实体完整性, 参照完整性 ,用户定义完整性7. 数据库的数据完整性是指()和()参 考 答 案 正确性相容性二问答题:1. 关系系统中,当操作违反实体完整性,参照完整性和用户定义的完整性约束条件时,一般是如何
43、分别进行处理的?参 考 答 案 对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理.而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。2. 职工 (职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码; 部门(部门号,名称,经理名,电话), 其中部门号为主码; 14用 SQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义: 定义每个模式的主码;定义参照完整性;定义职工年龄不得超过 60 岁。参 考 答 案 CREATE TABLE DEPT (Deptno NUMBER(2), De
44、ptname VARCHAR(10), Manager VARCHAR(10), PhoneNumber Char(12) CONSTRAINT PK_SC PRIMARY KEY (Deptno); CREATE TABLE EMP (Empno NUMBER(4), Ename VARCHAR(10), Age NUMBER(2), CONSTRAINT C1 CHECK (Age=60), Job VARCHAR(9), Sal NUMBER(7,2), Deptno NUMBER(2), CONSTRAINT FK_DEPTNO FOREIGN KEY (Deptno) REFEREN
45、CES DEPT(Deptno);3. RDBMS 在实现参照完整性时需要考虑哪些方面?参 考 答 案 RDBMS 在实现参照完整性时需要考虑以下几个方面 : 1) 外码是否可以接受空值 2) 删除被参照关系的元组时的考虑,这时系统可能采取的作法有三种: (a)级联删除 (CASCADES); (b)受限删除(RESTRICTED); (c)置空值删除(NULLIFIES) 3) 在参照关系中插入元组时的问题,这时系统可能采取的作法有: (a)受限插入 (b)递归插入 4) 修改关系中主码的问题 一般是不能用 UPDATE 语句修改关系主码的.如果需要修改主码值,只能先删除该元组,然后再把具有
46、新主码值的元组插入到关系中. 如果允许修改主码,首先要保证主码的唯一性和非空,否则拒绝修改.然后要区分是参照关系还是被参照关系。4. DBMS 的完整性控制机制应具有哪些功能?参 考 答 案 DBMS 的完整性控制机制应具有三个方面的功能: 1). 定义功能,即提供定义完整性约束条件的机制. 2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件. 3). 违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。5. 在关系模型中,数据完整性约束有哪几种?简述在 RDBMS 中这些完整性约束是怎样实现的。参 考 答 案 (1).实体完整性实体完整
47、性要求表中的每一行必须是惟一的,它可以通过主键约束、惟一键约束、索引或标识属性来实现。 (2).参照完整性参照完整性要求有关联的两个或两个以上表之间数据的一致。参照完整性可以通过建立主键和外键来实现。参照完整性定义了一个关系数据库中,不同的表中列之间的关系(父键与外键)。要求一个表中(子表)的一列或一组列的值必须与另一个表(父表)中的相关一列或一组列的值相匹配。被引用的列或一组列称为父键,父键必须是主键或惟一键,通常父键为主键,主键表是主表。(3).用户定义的完整性用户可以根据自己的业务规则定义不属于任何完整性分类的完整性。由于每个用户的数据库都有自己独特的业务规则,所以系统必须有一种方式来实
48、现定制的业务规则,即定制的数据完整性约束。用户定义的完整性可以通过自定义数据类型、规则、Check 约束、存储过程和触发器来实现。6. 数据库的完整性概念与数据库的安全性概念有什么区别和联系。参 考 答 案 数据的完整性和安全性是两个不同的概念,但是有一定的联系. 前者是为了防止数据库中存在15不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garbage Out)所造成的无效操作和错误结果. 后者是保护数据库防止恶意的破坏和非法的存取. 也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。第六章:一选择填空题:1.有关系模式 A( C,T,H,R ,S ),其中各属性的含义是: C:课程 T:教员 H:上课时间 R:教室 S:学生。根据 语义有如下函数依 赖集:F=CT ,(H,R)C,(H,T )RC,(H,S)R(1)关系模式 A 的码是( )。(2)关系模式 A 的规范化程度最高达到( )。(3)现将关系模式 A 分解为两个关系模式 A1(C,T ),A2(H,R ,S