(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,Sname FROM S,SC,C
WHERE S.Sno=SC.Sno AND SC.Cno=C.Cno AND C.Cname=’MS’
2) SELECT Sno FROM SC SCX, SC SCY
WHERE SCX.Sno=SCY.Sno AND SCX.Cno=’C1’ AND SCY.Cno=’C3’
3) SELECT Sno,Grsde FROM SC,C
WHERE SC.Cno=C.Cno AND (C.Cname=’操作系统’OR C.Cname=’
数据库’) 4)方法一:
SELECT Sno,Sname,Age FROM S
WHERE Age>=18 AND Age<=20 AND Sex=’女’ 方法二:(BETWEEN AND) SELECT Sno,Sname,Age FROM S
WHERE Age BETWEEN 18 AND 20 AND Sex=’女’
5) SELECT Sno,Sname FROM S,SC,C
WHERE S.Sno=SC.Sno AND SC.Cno=C.Cno AND C.Teacher=’刘平’ 6) SELECT Sname FROM S
WHERE NOT EXISTS (SELECT *
FROM C
WHERE NOT EXISTS
(SELECT * FROM SC
WHERE Sno=S.Sno AND Cno=C.Cno) )
7) SELECT Sno