第一章关系数据库基础习题:1、与文件管理相比,数据库管理有哪些优点?答案:(1)相互关联的数据集合;(2)较少的数据冗余(3)程序与数据相互独立(4)保证数据的安全可靠(5)最大限度地保证数据的正确性(6)数据可以共享并能保证数据的一致性2、简述文件管理和数据库管理操作数据的主要区别。答案:文件系统不能提供数据的独立性,也不能提供数据共享、安全性等功能,这些需要客户端编程实现。而数据库管理系统可以很方便的提供这些功能。3、在数据库管理方式中,应用程序是否需要关心数据的存储位置和结构?为什么?答案:不需要,因为这些都由数据库管理系统来维护。4、在数据库系统中,数据库的作用是什么?答案:数据库是存储数据的仓库,其作用是存储数据。5、在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据库文件吗?答案:不可以。6、数据独立性指的是什么?它能带来了哪些好处?答案:数据独立性包括逻辑独立性和物理独立性两部分。物理独立性是指当数据的存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。这两个独立性使用户只需关心逻辑层即可,同时增强了应用程序的可维护性。7、数据库系统有哪几部分组成,每部分在数据库系统中的作用大致是什么?答案:数据库系统8、在文件服务器结构和客户/服务器结构中,对数据的处理有什么区别?第二章数据模型和数据库系统结构习题:1、解释数据模型的概念,为什么要将数据模型要分成两个层次?2、概念层数据模型和组织层数据模型分别是针对什么进行的抽象?3、实体之间的联系有哪几种?分别是哪些?请为每一种联系举出一个例子。4、说明实体-联系模型中的实体、属性和联系的概念。5、指明下列实体间联系的种类:(1)教研室和老师(假设一个教师只属于一个教研室,一个教研室可有多名教师);(2)商店和顾客;(3)国家和首都。6、解释关系模型中主键、外键的概念,并说明主键和外键的作用。7、指出下列关系模型中的主键:教师授课(教师号,课程号,学年,授课时数)。假设一个教师可以在同一个学年讲授多门课程,一门课程也可在同一学年有多名教师讲授,但一个叫是在一个学年对一门课程只讲授一次,每一次讲授有一个唯一的授课时数。8、设有如下两个关系模型,试指出每个关系模型式的主键、外键,并说明外键的引用关系。产品(产品号,产品名称,产品价格,生产日期),其中产品号没有重复,产品名称可能有重复。销售(产品号,销售时间,销售数量),假设可同时销售多种产品,但同一产品在同一时间只销售一次。9、关系模型的数据完整性包含哪些内容?分别说明每一种完整性的作用。10、数据库系统包含哪三层模式?试说明每一级模式的作用?11、数据库系统的两级映像的功能是什么?它带来了哪些功能?12、数据库三级模式划分的优点是什么?它能带来哪些数据独立性?第三章SQL语言基础及数据定义功能习题:T_SQL支持哪几种数据类型?TINYINT数据类型定义的数据的取值范围是多少?日期时间类型中的日期和时间的输入格式是什么?SMALLDATETIME类型精确到哪个时间单位?定点小数类型NUMERIC中的p和q的含义分别是什么?货币数据类型精确到小数点后面几位?CHAR(10)、NCHAR(10)的区别是什么?它们个能存放多少个字符?占用多少空间?CHAR(n)和VARCHAR(n)的区别是什么?其中n的含义是什么?各占用多少空间?数据完整性的含义是什么?10、在对数据进行说明操作时,系统检查DEFAULT约束?在进行说明操作时,检查CHECK约束?11、UNIQUE约束的作用是什么?12、写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束。(1)“图书表”结构书号:统一字符编码定长类型,长度为6,主键;书名:统一字符编码可变长类型,长度为30,非空;第一作者:普通编码定长字符类型,长度为10,非空;出版日期:小日期时间型;价格:定点小数,小数部分1位,整数部分3位。(2)“书店表”结构书店编号:统一字符编码定长类型,长度为6,主键;店名:统一字符编码可变长类型,长度为30,非空;电话:普通编码定长字符类型,8位长,每一位的取值均为0~9的数字;地址:普通编码可变长字符类型,40位长;邮政编码:普通编码定长字符类型,6位长。(3)“图书销售表”结构书号:统一字符编码定长类型,长度为6,非空;书店编号:统一字符编码定长类型,长度为6,非空;销售日期:小日期时间型,非空;销售数目:小整型,大于等于1;主键为(书号,书店编码,销售日期)。其中:“书号”为引用“图书表”的“书号”的外键;“书店编号”为引用“书店表”的“书店编号”的外键。(4)为第12题的“图书表”添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于1000。13、删除第12题的“书店表”中的“邮政编码”列。14、将第12题的“图书销售表”中的“销售数量”列的数据类型改为整型。第4章数据操作习题:利用第3章定义的Student、Course和SC表,编写实现如下操作的SQL语句。1、查询SC表中的全部数据。2、查询计算机系学生的姓名和年龄。3、查询成绩在70~80分范围内的学生的学号、课程号和成绩。4、查询计算机系年龄在18~20岁范围内的男学生的姓名和年龄。5、查询“C001”号课程的最高分。6、查询计算机系学生的最大年龄和最小年龄。7、统计每个系的学生人数。8、统计每门课程的选课人数和考试最高分。9、统计每个学生的选课门熟和考试总成绩,并按选课门数升序排列显示结果。10、查询选修“C002”号课程的学生的姓名和所在系。11、查询计算机系年龄最大的前2名学生,列出姓名和年龄。12、查询学分最高的前三门课程(包括并列的情况),列出课程名、学分和开课学期。13、查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。查询哪些课程没有学生选修,要求列出课程号和课程名。查询计算机系哪些学生没有选课,列出学生名。用子查询实现如下查询:查询选修了“C001”号课程的学生的姓名和所在系;查询通信工程系成绩80分以上的学生的学号和姓名;查询计算机系考试成绩最高的学生的姓名;查询年龄最大的男学生的姓名和年龄;查询“C001”号课程的考试成绩高于该课程平均成绩的学生的学号和成绩。17、创建一个新表,表名为test_t,起结构为(COL1,COL2,COL3),其中,COL1:整型,允许为空值;COL2:字符型,长度为10,不允许空值;COL3:字符型,长度为10,允许空值。试写出按行插入如下数据的语句(空白处表示空值)。COL1COL2COL3B11B2C22B318、删除成绩小于50分的学生的选课记录。19、删除计算机系VB成绩不及格学生的VB选课纪律。20、删除没人选的课程的基本信息。21、将“C001”号课程的考试成绩加10分。22、将计算机系所有选修“计算机文化学”课程的学生的成绩加10分。第五章索引和视图习题:1、索引的作用是什么?2、索引分为哪几种类型?分别是什么?它们的主要区别是什么?3、在一个表上可以创建几个聚集索引?可以穿件多个非聚集索引吗?4、聚集索引一定是唯一性索引,这种说法正确吗?繁殖呢?5、在建立聚集索引时,数据库管理系统是真正将数据按聚集索引列进行物理排序。这种说法正确吗?6、在建立非聚集索引时,数据库管理系统并不对数据进行物理排序。这种说法正确吗?7、不关对表进行什么类型的操作,在表上建立的索引越多越能提高操作效率。这种说法正确吗?8、经常对表进行哪类操作适合建立索引?适合在那些列上建立索引?9、使用第4章建立的Student、course和sc表,写出实现下列操作的SQL语句。(1)在Student表上为Sname列建立一个聚集索引,索引名为:SnoIdx。(2)在course表上为Cname列建立一个唯一的非聚集索引,索引名为:CnIdx。(3)在SC表上为Sno和Cno建立一个组合的聚集索引,索引名为:SnoCnoIdx。(4)删除Sname列上建立的SnoIdx索引。10、试说明使用视图的好处。11、使用试图可以加快数据的查询速度,这种说法正确吗?为什么?12、使用第4章建立的Student、Sourse和SC表,写出创建满足下属要求的属兔的SQL语句。(1)查询学生的学好、姓名、所在系、课程号、课程名、课程学分。(2)查询学生的学好、姓名、选修的课程名和考试成绩。(3)统计每个学生的选课门数,要求列出学生学好和选课门数。(4)统计每个学生的选修总学分,要求列出学生学好和总学分(说明:考试成绩大雨等于60才可获得此门课程的学分)。13、利用第12题建立的视图,写出实现下列操作的SQL语句。(1)查询考试成绩大雨等于90分的学生的姓名、课程名和成绩。(2)查询选课门数超过3门的学生的学好和选课门数。(3)查询计算机系选课门数超过3门的学生的姓名和选课门数。(4)查询选课总学分超过10分的学生的学好、姓名、所在系和选修总泄愤。(5)查询年龄大雨等于20岁的学生中,修课总学分超过10分的学生的姓名、年龄、所在系和修课总学分。14、修改第12题(4)定义的视图,使其查询每个学生的学好、总学分以及总的选课门数。第六章关系数据库规范化理论习题:1、关系规范化中的操作异常有哪些?它是有什么引起的?解决的办法是什么?2、第一范式、第二范式和第三范式的关系的定义分别是什么?3、什么是部分依赖?什么是传递依赖?请举例说明。4、第三范式的关系模式是否一定不包含部分依赖关系?5、对于主键只有一个属性组成的关系模式,如果它是第一范式关系模式,则它是否一定也是第二范式关系模式?6、设有关系模式:学生修课管理(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一个学生可以选多门课程,一门课程可以被多名学生选。一个学生有唯一的所在系,每门课程有唯一的课程名和学分。请指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。7、设有关系模式:学生(学号,姓名,所在系,班号,班主任,系主任)。其语意为:一个学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一名班主任,一个系可以有多个班。请指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。8、设有关系模式:教师授课(课程号,课程名,学分,授课教师号,教师名,授课时数)。其语义为:一门课程(由课程号决定)有确定的课程名和学分,每名教师(由教师号决定)有确定的教师名,每门课程可以有多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定的授课时数。请指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。第7章数据库设计习题:1、试说明数据库设计的特点。2、简述数据库的设计过程。3、数据库结构设计包含哪几个过程?4、需求分析中发现试试的方法有哪些?5、概念结构应该具有哪些特点?6、概念结构设计的策略是什么?7、什么是数据库的逻辑结构设计?简述其设计步骤。8、把E-R模型转换为关系模式的转换规则有哪些?9、数据模型的优化包含哪些方法?出版日期作者图书书号书名借书日期借阅联系电话单位读者读者编号读者姓名第八章事物并发控制习题:1、试说明事务的概念及四个特征。2、事务处理模型有哪两种?3、在数据库中为什么要有并发控制?4、并发控制的措施的什么?5、设有三个事务;T1,T2和T3,其所包含的动作有以下几个。T1:A=A+2;T2:A=A*2;T3:A=A**2(注:A**2表示A的平方)设A的初值为1,若这三个事务并发执行,则可能的调度策略有几种?A的最终结果分别是什么?6、当某个事务对某段数据加了S锁之后,在此事务释放锁之前,其他事务还可以对此段数据添加什么锁?7、什么叫死锁?8、怎样保证多个事务的并发执行是正确的?安全管理上机练