二、主观题(共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_constrPRIMARY KEY NONCLUSTERED (学号,课程号),CONSTRAINT p ub_sno_constREFERENCES STUDENT (学号)ON DELETE CASCADEON UPDATE CASCADE,CONSTRAINT pub_cno_constREFERENCES course (课程号)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”,“张苹”,20,“女”,“土木”)9)DELETE FROM SCWHERE 课程号=“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 ) 85SC) (σSEX=‘女’STUDENT)3、πSNO,SNAME,GRADE((σCNO=‘C1’SC) STUDENT))4、πSNO,SNAME((σGRADE〈60SC) 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,SnameFROM S,SC,CWHERE S.Sno=SC.Sno AND o=o AND ame =’MS’2)SELECT SnoFROM SC SCX, SC SCYWHERE SCX.Sno=SCY.Sno AND o=’C1’ AND o=’C3’3) SELECT Sno,GrsdeFROM SC,CWHERE o=o AND (ame=’操作系统’ORame=’数据库’)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 o=o AND C.Teach er=’刘平’6) SELECT SnameFROM SWHERE NOT EXISTS(SELECT *FROM CWHERE NOT EXISTS(SELECT *FROM SCWHERE Sno=S.Sno AND Cno=o) ) 7)SELECT SnoFROM SC SCXWHERE NOT EXISTS(SELECT *FROM SC SCYWHERE SCY.Sno=’1042’ AND NOT EXIST S(SELECT *FROM SC SCZWHERE SCZ.Sno=SCX.Sno AND o=SC o))8) SELECT Sname,Age,SDFROM SWHERE Sname LIKE’樊%’9) SELECT Snaem,Age,SDFROM SWHERE Sno IN(SELECT SnoFROM SCGROUP BY SnoHAVING COUNT(*)>3)22.什么是数据库安全性?参考答案:数据库安全性是保护数据库防止非法用户入侵数据库造成的数据更改、泄露和破坏。