1、二、主观题(共 5 道小题)35. 什么是数据独立性?参考答案: 数据独立性指应用程序独立于数据的表示(逻辑)与存储(物理),通过将数据的定义与存储从程序中独立出来实现。 36. 什么是数据抽象?参考答案: 数据抽象:即是将数据抽象化、逻辑化,使用户不必了解数据库文件的物理存储结构、存储位置和存取方法等细节,即可存取数据库。在数据库系统中,有三种级别的数据抽象,即:视图级抽象、概念级抽象和物理级抽象。 37. 什么是演绎?参考答案: 演绎是归纳出实体型集合的共同特征,并形成由这些共同特征构成的新实体型。38. 什么是弱实体? 参考答案: 弱实体是管理主体之外的实体型。没有键属性的实体。39.
2、假定一个学校的图书馆要建立一个数据库,保存读者、书和读者借书记录。请用 ER 图进行概念模型的设计。 读者的属性有:读者号、姓名、年龄、地址和单位书的属性有:书号、书名、作者和出版社对每个读者借的每本书有:借出日期和应还日期参考答案:二、主观题(共 11 道小题)25. 什么是数据库?参考答案: 数据库是永久存储的、相互关联的和可共享的数据集合。26. 设有一个关系数据库,有三个基本表,表的结构如下: STUDENT(学号,姓名,年龄,性别,系名),其中学号,姓名,性别,系名的数据类型均为字符类型。年龄的数据类型为整型。SC(学号,课程号,成绩):其中学号、课程号的数据类型为字符类型,成绩的数
3、据类型为整型。COURSE(课程号,课程名,学时数):其中课程号、课程名的数据类型的数据类型为字符类型;学时数的数据类型为整型。1)请用关系代数查询信息系学生的学号、姓名、课程号和成绩。2) 指出以上各关系的键和外键。3) 请用关系代数查询年龄在 20 以下同学的姓名,年龄。4) 请用 SQL 语言检索创建 STUDENT 表,并定义出主键约束,学生性别缺省约束为:“男”5 ) 请用 SQL 语言定义 SC 表,并定义外键约束SC(学号,课程号,成绩):其中学号、课程号的数据类型为字符类型,成绩的数据类型为整型。6) 查询“计算机原理”课程成绩小于 60 分的同学的学号和姓名。7) 请创建年龄
4、在 20 岁以下,计算机系男同学的视图。8)将新同学,学号“200301009”,姓名:张苹,年龄:20,性别:女,系名:土木的信息插入到 STUDENT 关系中。9) 删除选修“001”课程的选修信息。参考答案: 1) 学号,姓名,课程号,成绩 (SC ( 系名 =信息 STUDENT)2)STUDENT:键:学号SC:键:学号,课程号;外键:学号;课程号。COURSE:键:课程号3) 姓名,年龄 ( AGE 20 STUDENT)4)CREATE TABLE STUDENT( 学号 Char(8) PRIMARYKEY,姓名 Varchar(10) NOT NULL,年龄 integer
5、NOT NULL,性别 Char(2) Not null DEFAULT“男”,系名 Varchar(20) NOT NULL)5)CREATE TABLE SC(学号 Char(8),课程号 Char(8),成绩 integer,CONSTRAINT pk_sc_constrPRIMARY KEY NONCLUSTERED (学号,课程号),CONSTRAINT pub_sno_constREFERENCES STUDENT (学号)ON DELETE CASCADEON UPDATE CASCADE,CONSTRAINT pub_cno_constREFERENCES course (课程
6、号)ON DELETE CASCADEON UPDATE CASCADE)6)SELECT 学号,姓名FROM STUDENT,SCWHERE STUDENT.学号=SC.学号 AND SC.课程号=COURSE.课程号 AND课程名=“ 计算机原理” AND 成绩607)CREATE VIEW 男同学ASSELECT * FROM STUDENTWHERE 年龄20 AND 系名=“计算机”8)INSERT INTO STUDENTVALUES(“200301009”,“张苹”,“女”,“土木”)9)DELETE FROM SCWHERE 课程号=“001”27. 什么是原则?参考答案: D
7、BMS 为保证在并发访问和故障情况下对数据的维护,要求事务有如下四个重要特征或准则(ACID):原子性(Atomicity),一致性(Consistency),隔离性(Isolation),持久性(Durability)。 28. 什么是两阶段锁机制?参考答案:在一个事务中,如加锁都在所有释放锁之前,则此事务为两阶段事务。其中的加锁限制称为两阶段加锁协议( Two-Phase Locking protocol, 2PL 协议) 。29. 数据库管理系统提供的数据库保护功能包括哪几个方面,试解释它们的含义。 参考答案: 数据库管理系统提供的数据库保护功能包括:安全性、完整性、故障恢复和并发控制。
8、安全性是指:保护数据库防止非法用户入侵数据库。完整性是指:保证数据的正确、相容、一致,防止错误数据。故障恢复是指:当数据库发生故障时,能够从某种错误状态恢复到某种一致状态。并发控制是指:当多用户访问数据库时,保证数据的正确、一致。30. 什么叫保持函数依赖的分解?参考答案: 若 F 所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖 Fi 所逻辑蕴含,则称关系模式 R 的这个分解是保持函数依赖(Preserve Dependency)的。 31. 不好的关系模式可以存在哪些问题?参考答案: 不好的关系模式存在:插入异常、删除异常、更新异常和数据冗余。 32. 设关系模式 R(A,B
9、,C,D,E),其函数依赖 F=ABC ,B D ,DE ,完成下述各题。 a) 求出 R 的所有候选建;b) 试分析关系 R 属于何种范式;c) 将 R 分解为满足 3NF 的关系;参考答案: a) R 的候选建为:ABb) R 属于第一范式c) 将 R 分解为 3 个关系:R1(A,B,C)R2(B,D)R3(D,E)33. 数据库设计的步骤。 参考答案: 数据库设计分为六个阶段:(1) 用户需求分析(2) 数据库的概念模型设计(3) 数据库的逻辑设计(4) 数据库的物理设计(5) 数据库实施、数据库的使用与维护。34. 建立索引应遵循哪些原则? 参考答案: 索引建立原则:(1) 为数据量
10、大的表建立索引;(2) 被索引列的数据值最好多而杂(3) 一张表所建索引个数应适量;(4) 掌握建立索引的时机;(5) 优先建立主键列的索引。35. 什么是数据库的重组、重构? 参考答案: DBA 执行一些系统命令,来改善这种情况。这种改善并改变数据库物理存储结构的过程,叫数据库重组。改变数据库逻辑结构的过程,叫数据库重构。二、主观题(共 29 道小题)14. 什么是数据库系统?参考答案: 数据库系统是由数据库和数据库管理系统构成,更广义的构成则为“DB+DBMS+数据库管理员(DataBase Administratior, DBA)+应用程序+用户”。 15. 什么是数据字典?参考答案:
11、数据字典是数据库系统中的一个特殊文件,用于存储数据库的一些说明信息,这些说明信息称为元数据(Meta Data)。数据抽象 16. 什么是归纳?参考答案: 归纳是识别超类实体型子类的处理过程。 17. 将下面的实体联系模型转为关系模型 涉及的实体有:供应商,其属性为:供应商号、姓名、地址、电话号码、帐号项目,其属性为:项目号、预算、开工日期零件,其属性为:零件号、名称、规格、单位、描述。参考答案: 供应商(供应商号,姓名,地址,电话号码,账号)项目(项目号,预算,开工日期)零件(零件号,名称,规格,单位,描述)18. 产品与零部件的关系,假定一个产品由多个零部件组成,试画出产品与零部件之间的图
12、,导出关系模型。假定:“产品” 这个实体包括:品名,厂商、价格等属性 “零部件”包括:名称,单价,材料等属性“组装”的属性有:数量参考答案:19. 什么是实体完整性?参考答案: 实体完整性是若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值。 20. 设有下列关系模式: (,)其中,SNO 表示学号,SNAME 表示姓名,AGE 表示年龄,SEX 表示性别,DNO表示院系号。SC(SNO,CNO,GRADE)其中 SNO 表示学号,CNO 表示课程号,GRADE 表示成绩COURSE(CNO,CNAME)其中,CNO 表示课程号,CNAME 表示课程名请用关系代数表示下列查询:1、检
13、索年龄小于 16 的女学生的学号和姓名。2、检索成绩大于 85 分的女学生的学号和姓名。3、检索选修课程号为 C1 的学生的学号、姓名、课程名和成绩。4、检索成绩小于 60 分的同学。参考答案: 1、 SNO, SNAME (AGE 16 AND SEX=女 STUDENT) 2、 SNO,SNAME (GRADE ) 85 SC) ( SEX=女 STUDENT)3、 SNO,SNAME ,GRADE (CNO=C1SC) STUDENT)4、 SNO,SNAME (GRADE60 SC) STUDENT)21. 学生数据库中有三种基本表(关系): S(Sno,Sname,Age,SD)C(
14、Cno,Cname,Teacher)SC(Sno,Cno,Grade)请用 SQL 语言完成以下操作:1) 检索选修课程名为“MS”的学生号和学生姓名;2) 检索至少选修了课程号为C1和C3的学生号;3) 检索选修了操作系统或数据库课程的学号和成绩;4) 检索年龄在 18 和 20 之间(含 18 和 20)的女生的学号、姓名及年龄;5) 检索选修了“刘平”;老师所讲课程的学生的学号、姓名及成绩;6) 检索选修全部课程的学生姓名;7) 检索至少选修了学生“1042“选修的全部课程的学生号码;8) 检索所有姓“樊”的学生的姓名、年龄和所在系;检索三门课以上学生姓名年龄和所在系。 参考答案: 1)
15、 SELECT Sno,SnameFROM S,SC,CWHERE S.Sno=SC.Sno AND SC.Cno=C.Cno AND C.Cname=MS2) SELECT SnoFROM SC SCX, SC SCYWHERE SCX.Sno=SCY.Sno AND SCX.Cno=C1 AND SCY.Cno=C33) SELECT Sno,GrsdeFROM SC,CWHERE SC.Cno=C.Cno AND (C.Cname=操作系统OR C.Cname=数据库) 4)方法一:SELECT Sno,Sname,AgeFROM SWHERE Age=18 AND Age=20 AND Sex=女方法二:(BETWEEN AND)SELECT Sno,Sname,AgeFROM SWHERE Age BETWEEN 18 AND 20 AND Sex=女5) SELECT Sno,SnameFROM S,SC,CWHERE S.Sno=SC.Sno AND SC.Cno=C.Cno AND C.Teacher=刘平6) SELECT SnameFROM SWHERE NOT EXISTS(SELECT *FROM CWHERE NOT EXISTS(SELECT *FROM SCWHERE Sno=S.Sno AND Cno=C.Cno) )