浙江农林大学暨阳学院数据库期末复习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浙江农林大学暨阳学院数据库期末复习题
数据库技术复习纲要
第一章数据库的基本概念
1.什么是数据库?
2.理解、掌握数据库管理系统的基本功能
3.理解、掌握数据库系统的构成
4.理解三种数据模型的基本特征
5.理解、掌握E-R模型的绘制
6.掌握E-R图到关系模型的转换
7.练习题
(1)某顾客对某些商品要进行订货。

有关顾客.商品.订货的数据属性如下:顾客(顾客代码,顾客名,地址,联系电话,负责人);商品(商品代码,商品名,单价,生产日期);订货(订货日期,订货量,订货额)。

请画出顾客对某些商品要进行订货的E—R图,并将该E—R图转换为关系数据模型。

(2)教务管理系统中教师给学生授课,教师有属性教师编号、姓名、职称,学生有属性学号、姓名、性别,课程有属性课程编号、课程名、学时、学分、教材名称,教师授课可根据教学效果分A、B、C 三个等级衡量,学生学习课程以成绩来衡量。

画出该描述的E-R图并转换为关系模型,指出个关系中的关键字。

(3)书P23页,习题1,2,3,4
第二章数据库的建立
(一)知识要点
1.SQL Sever 2005所使用的文件包括哪三类,各类文件的主要作用
2.了解文件组的概念
3.了解SQL Sever中的系统数据库和用户数据库
4.掌握界面方式创建和操作数据库的过程
5.掌握用命令创建数据库
6.掌握修改数据库的命令及用法
7.练习题:
(1)数据库相关的磁盘文件主要有哪三种,它们的扩展名分别是什么?
(2)创建一个只含一个数据文件和一个事务日志文件的数据库,数据库名为JWGL1,主数据库文件逻辑名称为jwgl1_data,数据文件的操作系统名称jwgl1.mdf,数据文件初始大小为5MB,最大值为500MB,数据文件大小以10%的增量增加。

日志逻辑文件名称jwgl1_log.ldf,事务日志的操作系统名称jwgl1.ldf,日志文件初始大小为5MB,最大值100MB,日志文件以2MB增量增加。

(3)创建一个指定多个数据文件和日志文件的数据库。

该数据库名称为jwgl2,有2个10MB 的数据文件和2个10MB的事务日志文件。

主文件是列表中的第一个文件,并使用PRIMARY 关键字显式指定。

事务日志文件在LOG ON关键字后指定。

注意FILE_NAME选项中所用的文件扩展名:主数据文件使用.mdf,次数据文件使用.ndf,事务文件使用.ldf。

(4)创建一个包含2个文件组的数据库。

该数据库名为jwgl3,主文件组包含文件
jwgl30_data和jwgl31_data。

文件组jwgl3_group包含文件jwgl32_data和 jwgl33_data。

两个文件组数据文件的FILEGROWTH 增量为 15%,数据文件的初始大小为10 MB。

事务日志文件的文件名为jwgl3_log,FILEGROWTH 增量为 15%,日志文件的初始大小为5 MB。

(5)创建一个包含2个文件组的数据库。

该数据库名为jwgl3,主文件组包含文件jwgl30_data和jwgl31_data。

文件组jwgl3_group包含文件jwgl32_data和jwgl33_data。

两个文件组数据文件的FILEGROWTH 增量为 15%,数据文件的初始大小为10 MB。

事务日志文件的文件名为jwgl3_log,FILEGROWTH 增量为 15%,日志文件的初始大小为5 MB。

(6)创建数据库TBASE1,它只有一个主数据文件,其逻辑文件名为TBASE1_DATA,大小为5MB,最大为
50MB,按10%增长。

创建后再对其进行修改,将主数据文件最大大小改为100MB,增长方式按每次5MB增长。

(7)先在(6)题中的数据库TBASE1增加数据文件TBASE1_BAK,其大小为10MB,最大为50MB,并且按5%增长,然后再将其删除。

(8)为TBASE1添加文件组FGROUP,并为该文件组增添两个大小均为10MB的数据文件,最后再将添加的文件组删除
(9)删除TBSE1数据库
第三章表与表数据的操作
已知天目学院学生表XS(学号,姓名,性别,生日,专业,总学分,手机号,来源,高考成绩),课程表KC(课程编号,课程名称,开课学期,学分),选课表XKB(学号,课程编号,成绩)。

其中性别字段取值为“男”或“女”,专业字段以天目学院所开设的专业为准,来源指学生高考时的中学名称。

试完成下列表的操作,写出相应的操作命令(注,各小题操作结果互不影响,且不影响原表)
(1)给出上述三个表的结构定义并创建这三个表
(2)在XS表中增加“奖学金等级”和“爱好”字段
(3)将来源字段长度由原来的30改为50
(4)删除手机号字段
(5)删除表XKB
(6)将本宿舍的学生记录插入XS中
(7)产生表XSDS,包括学号,姓名,高考成绩,并将XS中所有电商专业的学生相应情况插入XSDS表中
(8)删除XSDS中所有高考成绩500分以下的同学记录
(9)删除表XSDS
(10)将XS中所有英语专业的学生成绩增加10分
(11)将手机号为138********的学生专业改为计算机,学号改为200704160524
(12)P71页,5,6,7题
第四章数据库的查询与视图
1.掌握关系运算中选择、投影、连接、自然连接的概念
2.以第三者中所建的表XS、KC、XKB为例,写出实现下列查询的命令
(一)单表查询
(1)查询XS表中的所有学生情况。

(2)查找电子商务专业的所有学生的学号、姓名、性别、来源和高考成绩。

(3)查找XS表中计算机系同学的学号、姓名和总学分,结果中各列的标题分别指定为number、name和mark。

(4)查询XS表中计算机系各同学的学号、姓名和高考成绩,对高考成绩550分以上的显示优秀,530-549之间的显示良好,其余显示合格。

(5)给出XS中所有的专业名称
(6)给出XKB中所有选课的学生的学号
(7)查询XS表中通信工程专业总学分大于等于30的同学的情况。

(8)查询XS表中计算机系所有姓“王”的学生情况。

(9)查询XS表中所有宁波或温州来的同学的学号、姓名、来源和高考成绩
(10)查询XS表中不在1979年出生的学生情况。

查询90年后出生的学生。

(11)查询XS表中专业名为“计算机”或“通信工程”或“无线电”的学生的情况(12)查找XS表中没有手机号的学生学号和姓名。

(二)子查询
(13)查找选修了课程号为101的课程的学生的情况
(14)查询选修数据库技术的学生情况
(15)查找未选修离散数学的学生的情况。

(16)查找比所有计算机系的学生年龄都大的学生。

(17)查找课程号C121的成绩比课程号C101的最高成绩都高的学生的学号、姓名和专业。

(18)查找选修206号课程的学生姓名。

(三)多表查询、连接查询
(19)查找每个学生的情况以及选修的课程情况。

(20)查询每个学生的学号、姓名、性别、生日、专业、课程号、成绩。

(21)查询选修了“计算机基础”课程且成绩在80分以上的学生学号、姓名、课程名及成绩。

(22)查询总学分大于50的男同学的姓名和学号。

(23)用FROM的JOIN关键字表达下列查询:查找选修了206课程且成绩在80分以上的学生姓名及成绩。

(内连接)
(24)用FROM的JOIN关键字表达下列查询:查找选修了“计算机基础”课程且成绩在80分以上的学生学号、姓名、课程名及成绩。

(内连接)
(25)查找不同课程成绩相同的学生的学号、课程号和成绩。

(自身内连接)
(26)查找所有学生情况,及他们选修的课程号,若学生未选修任何课,也要包括其情况。

(右连接)
(27)查找被选修了的课程的选修情况和所有开设的课程名。

(左连接)
(28)列出学生所有可能的选课情况。

(交叉连接)
(29)将XSB中各专业名输出。

(GROUP BY)
(30)求XSB中各专业的学生数。

(31)求被选修的各门课程的课程号、课程名、平均成绩和选修该课程的人数。

(32)查询每个专业的男生、女生人数、总人数及学生总人数。

(ROLLUP)
(33)查询各专业每门课程的课程名、专业、平均成绩、每门课程的总平均成绩和所有课程的总平均成绩。

(WITH ROLLUP)(34)求选修C101课程的学生的最高分、最低分和平均成绩。

(35)求XS表中学生的总人数。

(36)求选修了课程的学生总人数。

(37)统计离散数学课程成绩在85分以上的人数
(39)查找XKB中平均成绩在85分以上的学生的学号和平均成绩。

(GROUP BY)
(40)查找选修课程超过2门且成绩都在80分以上的学生的学号。

(41)查找通信工程专业平均成绩在85分以上的学生的学号和平均成绩。

(42)查找通信工程专业学生的学号、姓名、出生时间,并产生一个学生总人数行。

(43) 将通信工程专业的学生按出生时间先后排序。

(ORDER BY)
(44)将计算机专业学生的“计算机基础”课程成绩按降序排列。

(45)将学生按专业名排序,并汇总各专业人数和平均学分。

(COMPUTE)
(46)由XSB表创建“计算机系学生”表,包括学号和姓名。

(INTO)
(四)、视图
(47)创建CS_KC视图,包括计算机专业各学生的学号、其选修的课程号及成绩。

(48) 创建计算机专业学生的平均成绩视图CS_KC_AVG,包括学号(在视图中列名为num)和平均成绩(在视图中列名为score_avg)。

(49) 使用视图CS_KC查找计算机专业的学生学号和选修的课程号。

(50) 查找平均成绩在80分以上的学生的学号和平均成绩。

本例首先创建学生平均成绩视图XS_KC_AVG,包括学号(在视图中列名为num)和平均成绩(在视图中列名为score_avg)。

再对XS_KC_AVG视图进行查询。

(51) 向CS_XS视图中插入一条记录:(‘001115’ , ‘刘明仪’, ‘计算机’, 1,‘1978-3-2’, 50 , NULL )
(52) 向XS12_VIEW视图中插入一条记录:(‘004010’, ‘蓝圆圆’, ‘外语’, 0, 40 )
(53) 将CS_XS视图中所有学生的总学分增加8。

(54) 将CS_KC视图中学号为001101的学生的101课程成绩改为90。

(55) 将XS12_VIEW视图中的每个学生的总学分增加10。

(56) 删除CS_XS中女同学的记录。

(57) 删除XS12_VIEW中学号为“******”的学生记录。

(五)、附加练习
1.按要求创建:顾客表Customer、定购表Book 。

(1)表名:CS (Customer)
属性:ID 字符型最大10个字符——顾客编号
NAME 字符型最大16个字符——顾客姓名
SEX 字符型最大2个字符——性别
TEL 字符型最大11个字符——移动电话
ADDR 字符型最大50个字符——家庭住址
约束:ID——主码;NAME—非空属性;SEX——取值“男”或“女”;
MOBILE——唯一性;
(2)表名:CM (Commodity)
属性:ID 字符型最大12个字符——商品编号
NAME 字符型最大20个字符——商品名称
DATE (生产日期和保质期)
MANUF 字符型最大20个字符——生产厂商
PRICE 小数型最大不超过4位数,保留2位小数—商品单价约束:ID——主码
2.数据库的操作
根据如下给定的几个关系(雇员、工作、公司和经理),用SQL 语句实现下列数据操作(删除和修改,不考虑参照关系)。

雇员(姓名,街道,城市)
工作(雇员名,公司名,工资)
公司(公司名,城市)
经理(雇员名,经理名)
其中,下划线表示各关系的主码,外码参照关系如下:工作表中的雇员名参照雇员表的姓名;工作表中的公司名参照公司表中的公司名;经理表中的雇员名参照雇员表的姓名。

(1).查询公司表中的全部数据
(2).查询在大连的全部公司,结果公司名称升序排序。

(3).查询公司的名称中带有“软件”字样的公司名称
(4).查询IBM员工的工资总合
(5).找出所有为“IBM”工作并且工资超过2000的员工的姓名。

(6).找出所有工资少于3000元员工的姓名,及城市。

(7).查找每个公司的平均工资
(8).查询最高工资少于3000元的公司名称
(9).添加记录“北京市”的“呵呵”公司到公司表。

(10).修改数据,使“呵呵”公司所在地为“大连”。

(11).为“东软”所有不是经理的人加薪10%。

(12).删除工资多余10000的所有工作表中记录
(13).创建在“大连”工作的所有雇员信息的视图DLEmployee,显示雇员的姓名和街道.
(14).创建在“呵呵”公司工作的员工的视图“呵呵”,包括员工的姓名、街道、工资。

(15).在呵呵视图中查询在工资多余1000的雇员信息。

(16).查询在公司所在地为大连的员工的居住城市
(17).找出工资总额最小的公司。

(18).找出所有居住的城市和公司所在的城市相同的员工。

(19).找出所有居住的街道和城市与其经理相同的员工。

(20).找出数据库中所有工资高于“IBM”的每一个员工的员工信息。

(21).找出工资高于其所在公司员工平均工资的所有员工姓名(思考题)。

(22).找出平均工资高于“东软”的平均工资的所有公司。

(23).删除员工的居住地及其公司所在地都是“大连”的员工在工作表中的记录。

3.综合练习
问题描述:
本题用到下面三个关系表:
CARD 借书卡。

CNO 卡号,NAME 姓名,CLASS 班级
BOOKS 图书。

BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数
BORROW 借书记录。

CNO 借书卡号,BNO 书号,RDATE 还书日期
备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。

要求实现如下15个处理:
(1) 写出建立BORROW表的SQL语句.
(2) 找出借书超过5本的读者,输出借书卡号及所借图书册数。

(3) 查询借阅了"水浒"一书的读者,输出姓名及班级。

(4) 查询过期未还图书,输出借阅者(卡号)、书号及还书日期。

(5) 查询书名包括"网络"关键词的图书,输出书号、书名、作者。

(6) 查询现有图书中价格最高的图书,输出书名及作者。

(7) 查询当前借了"计算方法"但没有借"计算方法习题集"的读者,输出其借书卡号,并按卡号降序排序输出。

(8) 将"C01"班同学所借图书的还期都延长一周。

(9) 从BOOKS表中删除当前无人借阅的图书记录。

(10)建立一个视图,显示"力01"班学生的借书信息(只要求显示姓名和书名)。

(11)查询当前同时借有"计算方法"和"组合数学"两本书的读者,输出其借书卡号,并按卡号升序排序输出。

(12).对CARD表做如下修改:
a. 将NAME最大列宽增加到10个字符(假定原为6个字符)。

b. 为该表增加1列NAME(系名),可变长,最大20个字符。

相关文档
最新文档