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












