![](/assets/images/bg-loading.gif)
![](/assets/images/bg-loading.gif)
![](/assets/images/bg-loading.gif)
![](/assets/images/bg-loading.gif)
![](/assets/images/bg-loading.gif)
![](/assets/images/bg-loading.gif)
![](/assets/images/bg-loading.gif)
![](/assets/images/bg-loading.gif)
![](/assets/images/bg-loading.gif)
![](/assets/images/bg-loading.gif)
还剩27页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第1章数据库概述.试说明数据、数据库、数据库管理系统和数据库系统的概念答数据是数据库中存储的基本对象数据库是存放数据的场所数据库管理系统管理数据库数据及其功能的系统软件数据库系统由数据库、数据库管理系统、数据库管理员和数据库应用程序共同构成的系统.数据管理技术的发展主要经历了哪几个阶段?答文件管理和数据库管理.文件管理方式在管理数据方面有哪些缺陷?答
(1)编写应用程序不方便
(2)数据冗余不可避免
(3)应用程序依赖性
(4)不支持对文件的并发访问
(5)数据间联系弱
(6)难以满足不同用户对数据的需求.与文件管理相比,数据库管理有哪些优点?答
(1)相互关联的数据集合;
(2)较少的数据冗余;
(3)程序与数据相互独立;
(4)保证数据的安全可靠;
(5)最大限度地保证数据的正确性;
(6)数据可以共享并能保证数据的一致性.比较用文件管理和用数据库管理数据的主要区别答文件系统不能提供数据的独立性,也不能提供数据共享、安全性等功能,这些需要客户端编程实现而数据库管理系统可以很方便地提供这些功能.在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么?答不需要因为这些都由数据库管理系统来维护.在数据库系统中,数据库的作用是什么?答数据库是存储数据的仓库,其作用是存储数据.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗?答不可以.数据独立性指的是什么?它能带来哪些好处?答数据独立性包括逻辑独立性和物理独立性两部分物理独立性是指当数据的存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内Wheresdept=计算机系,4查询年龄最大的男学生的姓名和年龄SelectsnamesagefromstudentWheresage=selectmaxsagefromstudentwheressex=男,andssex=男5查询数据结构考试成绩最高的学生的姓名、所在系、性别和成绩SelectsnamesdeptssexgradefromstudentsJoinscons.sno=sc.snoJoincourseconc.eno=sc.enoWherecname=数据结构,AndgradeinSelectmaxgradefromscjoincourseconc.cno=sc.enoWherecname=数据结构,.查询没有选修Java课程的学生的姓名和所在系SelectsnamesdeptfromstudentWheresnonotinSelectsnofromscjoincourseconc.eno=sc.enoWherecname=Java.查询计算机系没有选课的学生的姓名和性别SelectsnamessexfromstudentWheresdept=计算机系,AndsnonotinSelectsnofromsc.创建一个新表,表名为其结构为COL1COL2COL3其中,COL1整型,允许空值COL2字符型,长度为10不允许空值C0L3字符型,长度为10允许空值试写出按行插入如下数据的语句空白处表示空值Createtabletest_tC0L1intCOL2char10notnull»COL3char10Insertintotest_tCOL2valuesBlInsertintotest_tCOL1zCOL2values1zB2ZInsertintotest_tvalues2B3NULL.删除考试成绩低于50分的学生的选课记录Deletefromscwheregrade
50.删除没人选的课程的基本信息DeletefromcoursewhereenonotinSelectenofromcourse.删除计算机系Java成绩不及格学生的Java选课记录DeletefromscFromscjoinstudentsons.sno=sc.snoJoincourseconc.eno=sc.enowherecname=Javaandgrade60andsdept=计算机系,.将第2学期开设的所有课程的学分增加2分UpdateCoursesetcredit=credit+2Wheresemester=
2.将Java课程的学分改为3分Updatecoursesetcredit=3wherecname=Java.将计算机系学牛.的年龄增加1岁UpdateStudentsetsage=sage+1wheresdept=计算机系.将信息系学生的“计算机文化学”课程的考试成绩加5分UpdateSCsetgrade=grade+5Fromstudentsjoinscons.sno=sc.snoJoincourseconc.eno=sc.enoWheresdept=信息系,andcname=计算机文化学,.查询每个系年龄大于等于20的学生人数,并将结果保存到一个新永久表Dept_Age中Selectsdeptcount*人数intoDept_AgefromstudentWheresage=20Groupbysdept.查询计算机系每个学生的JAVA考试情况,列出学号、姓名、成绩和成绩情况,其中成绩情况的显示规则为如果成绩大于等于90则成绩情况为“好”;如果成绩在80〜89则成绩情况为“较好”;如果成绩在70〜79则成绩情况为“一般”;如果成绩在60〜69则成绩情况为“较差”;如果成绩小于60则成绩情况为“差Selects.sn,snamegrade成绩情况=Casefromstudentsjoinscons.snoJoincourseconc.eno=sc.enoWheresdept=
20.统计每个学生的选课门数包括没有选课的学生,列出学号、选课门数和选课情况,其中选课情况显示规则为如果选课门数大于等于6门,则选课情况为“多”;如果选课门数超过在3〜5门,则选课情况为“一•般”;如果选课门数在广2H则选课情况为“偏少如果没有选课,则选课情况为“未选课”.修改全部课程的学分,修改规则如下如果是第1〜2学期开设的课程,则学分增加5分;如果是第3〜4学期开设的课程,则学分增加3分;如果是第5〜6学期开设的课程,则学分增加1分;对其他学期开设的课程,学分不变Selects.snocountsc.sno选课门数,选课情况=CaseWhencountsc.sno=6then多,Whencountsc.snobetween3and5then一般Whencountsc.snobetween1and2then偏少’Whencountsc.sno=0then未选课,endfromstudentsleftjoinscons.sno=sc.snoGroupbys.sno.查询“李勇”和“王大力”所选的全部课程,列出课程名、开课学期和学分,不包括重复的结果Selectcnamesemestercreditfromcoursecjoinsconc.eno=sc.enoJoinstudentsons.sno=sc.snoWheresname=李勇unionSelectcnamesemestercreditfromcoursecjoinsconc.eno=sc.enoJoinstudentsons.sno=sc.snoWheresname=王大力.查询在第3学期开设的课程中,“李勇”选了但“王大力”没选的课程,列出课程名和学分Selectcnamesemestercreditfromcoursecjoinsconc.eno=sc.enoJoinstudentsons.sno=sc.snoWheresname=李勇andsemester=3exceptSelectcnamesemestercreditfromcoursecjoinsconc.eno=sc.enoJoinstudentsons.sno=sc.snoWheresname=王大力andsemester=
3.查询在学分大于3分的课程中,“李勇”和“王大力”所选的相同课程,列出课程名和学分Selectcnamezsemestercreditfromcoursecjoinsconc.eno=sc.enoJoinstudentsons.sno=sc.snoWheresname=李勇andcredit3INTERSECTSelectcnamesemestercreditfromcoursecjoinsconc.eno=sc.enoJoinstudentsons.sno=sc.snoWheresname=王大力andcredit3第5章索引和视图.试说明使用视图的好处答利用视图可以简化客户端的数据查询语句,使用户能从多角度看待同一数据,可以提高数据的安全性,视图对应数据库三级模式中的外模式,因此提供了一定程度的逻辑独立性.使用视图可以加快数据的查询速度,这句话对吗?为什么?答不对,因为通过视图查询数据时.,比直接针对基本表查询数据多了一个转换过程,即从外模式到模式的转换.使用第3章建立的Student、Course和SC表,写出创建满足下述要求的视图的SQL语句1查询学生的学号、姓名、所在系、课程号、课程名、课程学分CreateviewvlAsSelects.snosnamesdeptc.enocnamecreditFromstudentsjoinscons.sno=sc.snoJoincourseconc.eno=sc.eno2查询学生的学号、姓名、选修的课程名和考试成绩Createviewv2AsSelects.snosnamecnamegradeFromstudentsjoinscons.sno=sc.snoJoincourseconc.eno=sc.eno3统计每个学生的选课门数,要求列出学生学号和选课门数Createviewv3AsSelectsnocount*astotalFromscgroupbysno4统计每个学生的修课总学分,要求列出学生学号和总学分说明考试成绩大于等于60才可获得此门课程的学分Createviewv4AsSelectsnosumcreditastotal_creditFromsnojoincourseconc.eno=sc.enoWheregrade=60Groupbysno
(5)查询计算机系JAVA考试成绩最高的学生的学号、姓名和JAVA考试成绩Createviewv5AsSelecttop1withtiess.snosnamegradeFromstudentsjoinscons.sno=sc.snoJoincourseconc.eno=sc.enoWheresdept=计算机系,andcname=javazOrderbygradedesc.利用第3题建立的视图,完成如下查询
(1)查询考试成绩大于等于90分的学生的姓名、课程名和成绩SelectsnamecnamegradeFromv2wheregrade=90
(2)查询选课门数超过3门的学生的学号和选课门数Select*fromv3wheretotal=3
(3)查询计算机系选课门数超过3门的学生的姓名和选课门数Selectsnametotalfromv3joinstudentsons.sno=v
3.snoWheresdept=计算机系andtotal=3
(4)查询修课总学分超过10分的学生的学号、姓名、所在系和修课总学分Selectv
4.snosnamesdepttotal_creditFromv4joinstudentsons.sno=v
4.snoWheretotal_credit=10
(5)查询年龄大于等于20岁的学生中,修课总学分超过10分的学生的姓名、年龄、所在系和修课总学分Selectsnamesagesdepttotal_creditFromv4joinstudentsons.sno=v
4.snoWheresage=20andtotal_credit=
10.修改第3题
(4)定义的视图,使其查询每个学生的学号、总学分以及总的选课门数Alterviewv4AsSelectsnosum(credit)astotal_creditzcount(*)astotal_cnoFromscjoincourseconc.eno=sc.enoGroupbysno.修改第3题
(5)定义的视图,使其统计全体学生中JAVA考试成绩最高的学生的学号、姓名、所在系和JAVA考试成绩Alterviewv5AsSelecttop1withtiess.snosnamesdeptgradeFromstudentsjoinscons.sno=sc.snoJoincourseconc.eno=sc.enoWherecname=javazOrderbygradedesc第6章关系数据库规范化理论.关系规范化中的操作异常有哪些?它是由什么引起的?解决的办法是什么?答主要有插入异常、删除异常和修改异常,这些都是由数据冗余引起的,解决的办法是进行模式分解,消除数据冗余.第一范式、第二范式和第三范式的关系的定义分别是什么?答第一范式不包含重复组的关系(即不包含非原子项的属性)是第一范式的关系第二范式如果R(UF)W1NF并且R中的每个非主属性都完全函数依赖于主码贝ljR(UF)G2NFo第三范式如果R(UF)£2NF并R所有的非主属性都不传递依赖于主码,则R(UF)e3NFo.什么是部分函数依赖?什么是传递函数依赖?请举例说明答部分函数依赖如果X-Y并且对于X的一个任意真子集X,有X,一Y成立,则称Y部分函数依赖于X传递函数依赖如果X-Y、Y-*Z则称Z传递函数依赖于X例
1.对于关系模式选课(学号,姓名,课程号,成绩)该关系模式的主码是(学号,课程号),而有学号1姓名因此姓名对主码是部分函数依赖关系例
2.对于关系模式学生(学号,姓名,所在系,系主任)该关系模式的主码是学号,由于有学号令所在系,所在系今系主任因此系主任对学号是传递函数依赖关系.第三范式的关系模式是否一定不包含部分依赖关系?答是.对于主码只由一个属性组成的关系模式,如果它是第一范式关系模式,则它是否一定也是第二范式关系模式?答是.设有关系模式学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)设一个学生可以选多门课程,一门课程可以被多名学生选每个学生对每门课程有唯一的考试成绩一个学生有唯一的所在系,每门课程有唯一的课程名和学分请指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码答候选码(学号,课程号)第一范式因为有学号好姓名,因此存在部分函数依赖(学号,课程号)P9姓名第三范式关系模式学生(钻1姓名,所在系,性别)课程(课程号课程名,学分)考试(学号,课程号成绩),学号为引用学生的外码,课程号为引用课程的外码.设有关系模式学生(学号,姓名,所在系,班号,班主任,系主任),其语义为一个学生只在一个系的一个班学习,一个系只有一个系主任,一个人只担任一个系的系主任;一个班只有一名班主任,但一名教师可以担任多个班的班主任;一个系可以有多个班请指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码答候选码学号属于第二范式但有学号3班号,班号少班主任,因此存在传递函数依赖学号传递分班主任第三范式关系模式学生(造,姓名,所在系,班号),班号为引用班的外码,所在系为引用系的外码班(班号,班主任)系(系名系主任).设有关系模式教师授课(课程号,课程名,学分,教师号,教师名,职称,授课时数授课学年),其语义为一门课程(由课程号决定)有确定的课程名和学分,每名教师(由教师号决定)有确定的教师名和职称,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,在同一学年每个教师对每门课程只讲授一次,且有确定的授课时数指出此关系模式的候选码,判断此关系模式属于第几范式,若不属于第三范式,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码答候选码(课程号,授课教师号)属于第一范式因为有课程号分课程名,因此存在部分函数依赖关系(课程号,授课教师号)p玲课程名第三范式关系模式课程(课程号课程名,学分)教师(教师号教师名,职称)授课(课程号,教师号授课时数,授课学年)课程号为引用课程的外码,教师号为引用教师的外码容发生变化时,不影响应用程序的特性这两个独立性使用户只需关心逻辑层即可,同时增强了应用程序的可维护性
10.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答数据库系统一般包括3个主要部分数据库、数据库管理系统和应用程序数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序第7章数据库保护.试说明事务的概念及四个特征答事务的概念及四个特征为原子性、一致性、隔离性和持久性原子性指事务的原子性是指事务是数据库的逻辑工作单位,事务中的操作,要么都做,要么都不做一致性指定事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态隔离性指数据库中一个事务的执行不能被其他事务干扰持久性指事务一旦提交,则其对数据库中数据的改变就是永久的.事务处理模型有哪两种?答一种是ISO制定的事务处理模型,即明尾暗头;另一种是T-SQL事务处理模型,即事务有明确的开始和结束标记.并发控制的措施是什么?答:加锁.设有如下三个事务:Tl B=A+1;T2B=B*2;T3A=B+1
(1)设A的初值为2B的初值为1如果这三个事务并发的执行,则可能的正确的执行结果有哪些答TiTT29TA=7B=6TifT39T2A=4B=6T2^Ti^T3A=3B=3T2TT3玲A=3B=4T3-L A=2B=6T39TA=2B=3
(2)给出一种遵守两段锁协议的并发调度策略.当某个事务对某段数据加了S锁之后,在此事务释放锁之前,其他事务可以对此段数据加什么锁?答S锁(共享锁).什么是死锁?如何预防死锁?答事务为得到某个资源而处于无限等待状态,就是死锁预防死锁的方法有多种,常用的方法有一次封锁法和顺序封锁法.三级封锁协议分别是什么?各级封锁协议的主要区别是什么?每一级封锁协议能保证什么?答一级封锁协议对事务T要修改的数据加X锁,直到事务结束(包括正常结束和非正常结束)时才释放二级封锁协议一级封锁协议加上事务T对要读取的数据加S锁,读完后即释放S锁三级封锁协议一级封锁协议加上事务T对要读取的数据加S锁,并直到事务结束才释放三个封锁协议的区别是在对读数据的加锁上一级封锁协议可以防止丢失修改;二级封锁协议除了可以防止丢失修改外,还可以防止读“脏”数据;三级封锁协议除了可以防止丢失修改和不读“脏”数据之外,还进一步防止了不可重复读.什么是可串行化调度?如何判断一个并行执行的结果是否是正确的?答多个事务的并发执行是正确的,当且仅当其结果与按某一顺序的串行执行的结果相同,称这种调度为可串行化的调度如果并发调度的执行结果和某个串行调度结果一样,这个并发调度就是正确的调度.两段锁的含义是什么?答两段锁是指所有的事务必须分为两个阶段对数据进行加锁和解锁,具体内容如下•在对任何数据进行读、写操作之前,首先要获得对该数据的封锁•在释放一个封锁之后,事务不再申请和获得任何其他锁.数据库故障大致分为几类?答主要有三类事务内部的故障;系统故障;其他故障.数据库备份的作用是什么?答主要有三类事务内部的故障;系统故障;其他故障第8章数据库设计
1.简述数据库的设计过程答数据库设计一般包含如下过程需求分析结构设计,包括概念结构设计、逻辑结构设计和物理结构设计行为设计,包括功能设计、事务设计和程序设计数据库实施,包括加载数据库数据和调试运行应用程序数据库运行和维护阶段.数据库结构设计包含哪几个过程?答概念结构设计、逻辑结构设计和物理结构设计.需求分析中发现事实的方法有哪些答常用的有检查文档、面谈、观察操作中的业务、研究和问卷调查等.数据库概念结构设计有哪些特点?答有丰富的语义表达能力易于交流和理解易于更改易于向各种数据模型转换,易于导出与DBMS有关的逻辑模型.什么是数据库的逻辑结构设计?简述其设计步骤答逻辑结构设计的任务是把在概念结构设计中设计的基本E-R模型转换为具体的数据库管理系统支持的组织层数据模型逻辑结构设计一般包含两个步骤
(1)将概念结构转换为某种组织层数据模型
(2)对组织层数据模型进行优化.把E-R模型转换为关系模式的转换规则有哪些?答转换的一般规则如下一个实体转换为一个关系模式实体的属性就是关系的属性,实体的码就是关系的主码对于实体间的联系有以下不同的情况
(1)11联系一般是将联系与任意一端实体所对应的关系模式合并,即在一个实体的关系模式的属性中加入另一个实体的码和联系本身的属性1:n联系一般与n端所对应的关系模式合并,即在n端对应的关系模式中加入1端实体的码以及联系本身的属性m n联系必须转换为一个独立的关系模式与该联系相连的各实体的码以及联系本身的属性均转换为此关系模式的属性,且关系模式的主码包含各实体的码
(4)有相同主码的关系模式可以合并.数据模型的优化包含哪些方法?答数据模型的优化通常以关系规范化理论为指导,并考虑系统的性能具体为
(1)确定各属性间的函数依赖关系根据需求分析阶段得出的语义,分别写出每个关系模式的各属性之间的函数依赖以及不同关系模式中各属性之间的数据依赖关系
(2)对各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系
(3)判断每个关系模式的范式,根据实际需要确定最合适的范式
(4)根据需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行分解或合并
(5)对关系模式进行必要的分解,以提高数据的操作效率和存储空间的利用率常用的分解方法是水平分解和垂直分解.图7-28(a)~(d)所示为某企业信息管理系统中的局部E-R图,请将这些局部E-R图合并为一个全局E-R图,并指明各实体以及联系的属性,标明联系的种类(注为使图形简洁明了,在全局E-R图中可只画出实体和联系,属性单独用文字描述)将合并后的E-R图转换为符合3NF要求的关系模式,并说明主码和外码.将下列E-R图转换为符合3NF的关系模式,并指出每个关系模式的主码和外码
(1)图8-27所示为描述图书、读者以及读者借阅图书的E-R图答对图书、读者E-R模型,转换后的关系模式为图书(苴殳,书名,出版日期,作者)读者(读者编号读者姓名,联系电话,所在单位)借阅(书号,读者编号,借书日期)书号为引用图书的外码,读者编号为引用读者的外码厂家(厂家编号联系地址,联系电话)商店(商店编号商店名,联系电话)商品(商品编号商品名称,库存量,商品分类),订购(商店号,厂家编号,商品编号,订购R期订购数量),商店号为引用商店的外码,商品编号为引用商品的外码,厂家编号为引用厂家的外码学生(学号,姓名,性别,专业,社团号,参加日期),社团号是引用社团的外码社团(社团号,社团名,电话,性质)第9章SQLServer基础SQLServer2012提供了几个版本?答提供了企业版、商业智能版、标准版、开发版、简易版对操作系统的要求安装SQLServer2012对硬盘及内存的要求分别是什么?答全部安装大概需要4GB空间,内存不小于1GBSQLServer实例的含义是什么?实例名的作用是什么?答实例代表一个实际安装的SQLServer实例名标识了每个不同的实例SQLServer2012的核心弓|擎是什么?答SQLServerMSSQLSERVERSQLServer2012提供的设置服务启动方式的工具是哪个?答SQLServerConfigurationManager
7.提供通过图形化方法操作数据库的工具是哪个?答SQLServerManagementStudio第10章数据库及表的创建与管理.根据数据库用途的不同,SQLServer将数据库分为哪两类?答系统数据库和用户数据库.安装完SQLServer之后系统提供了哪些系统数据库?每个系统数据库的作用是什么?答4个系统数据库master、msdb^model和tempdbomaster用于记录SQLServer系统中所有系统级信息msdb供SQLServer代理服务调度报警和作业以及记录操作员时使用,保存关于调度报警、作业、操作员等信息mode1包含所有用户数据库的共享信息tempdb是临时数据库,用于存储用户创建的临时表、用户声明的变量以及用户定义的游标数据等,并为数据的排序等操作提供一个临时工作空间SQLServer数据库由哪两类文件组成?这些文件的推荐扩展名分别是什么?答数据文件和日志文件数据文件中主数据文件的推荐扩展名为.mdf;次要数据文件的推荐扩展名为.ndf日志文件的推荐扩展名为.ld£SQLServer数据库可以包含几个主要数据文件?几个次要数据文件?几个日志文件?答1个主数据文件,0个或多个次要数据文件,1个或多个日志文件数据文件和口志文件分别包含哪些属性?答包含逻辑文件名、物理存储位置、初始大小、增长方式、最大大小5个属性.SQLServer中数据的存储单位是什么?存储单位对存储数据有何限制?答数据页数据页是数据的最小存储分配单位,其大小也就是表中一行数据的最大大小,因为行不能跨页存储.SQLServer2012每个数据页的大小是多少?数据页的大小对表中一行数据大小的限制有何关系?答8KB表中一行数据的大小不能超过一个数据页的大小.如何估算某个数据表所占的存储空间?如果某个数据表包含20000行数据,每行的大小是5000字节,则此数据库表大约需要多少存储空间?在这些存储空间中,有多少空间是浪费的?答根据数据是按数据页存储,且行不能跨页存储的原则即可估算出一个数据表所占的大致空间需要160MB有差不多3/8是浪费的.用户创建数据库时,对数据库主要数据文件的初始大小有什么要求?答不能小于Model数据库的大小第11章安全管理.通常情况下,数据库中的权限划分为哪儿类?答划分为两类一类是对数据库系统进行维护的权限,另一类是对数据库中的对象和数据进行操作的权限.数据库中的用户按其操作权限可分为哪几类,每一类的权限是什么?答数据库中的用户按其操作权限的不同可分为如下三类1系统管理员在数据库服务器上具有全部的权限2数据库对象拥有者对其所拥有的对象具有全部权限3普通用户只具有对数据库数据的增、册k改、查权限.SQLServer2012的登录帐户的来源有几种?分别是什么?答有两种一种是Windows用户,另一种是SQLServer用户非Windows用户.权限的管理包含哪些内容?答包括授权、授权和拒绝权限三种.什么是用户定义的角色,其作用是什么?答用户根据自己的实际需要创建的角色即为用户定义的角色其作用是简化权限管理.在SQLServer2012中,用户定义的角色中可以包含哪些类型的成员?答可以包含数据库用户和用户定义的角色.写出实现下述功能到T-SQL语句1建立一个Windows身份验证的登录名,Windows域名为CS登录名为:Win_Jone答CREATELOGIN[CS\Win_Jone]FROMWINDOWS;2建立一个SQLServer身份验证的登录名,登录名为SQL_Stu密码为3Wcd5sTap43Ko答CREATELOGINSQL_StUWITHPASSWORD=3Wcd5sTap43K13删除Windows身份验证的登录名,Windows域名为IS登录名为Ulo答DROPLOGIN[IS\U1]4删除SQLServer身份验证的登录名,登录名为U2答DROPLOGINU25建立一个数据库用户,用户名为SQL_Stu对应的登录名为SQLServer身份验证的SQL_StUo答CREATEUSERSQL_Stu6建立一个数据库用户,用户名为Jone对应的登录名为Windows身份验证的Win_JoneWindows域名为CS答CREATEUSERJoneFORLOGIN[CS\Win_Jone]7授予用户ul具有对course表的插入和删除权答GRANTINSERTDELETEONCourseTOul8授予用户ul具有对Course表数据的删除权答GRANTDELETEONCourseTOul9收回ul对course表数据的删除权答REVOKEDELETEONCourseFROMul10拒绝用户ul获得对Course表数据的更改权答DENYUPDATEONCourseTOul11授予用户ul具有创建表和视图的权限答GRANTCREATETABLECREATEVIEWTOul12收回用户ul创建表的权限答REVOKECREATETABLEFROMul13建立一个新的用户定义的角色,角色名为NewRoleo答CREATEROLENewRole14为New_Role角色授予SC表数据的查询和更改权答GRANTSELECTUPDATEONSCTONewRole15将SQLServer身份验证的ul用户和Windows身份验证的Win_Jone用户添加至New_Role角色中答EXECsp_addrolemember*New_Role*1CS\Win_JoneEXECspaddrolemember*NewRole*1ul第12章备份和恢复数据库.在确定用户数据库的备份周期时,应考虑哪些因素?答要考虑数据的更改频率和用户能够允许丢失多少数据.对用户数据库和系统数据库分别应该采取什么备份策略?答对系统数据库应采用修改之后即备份的策略,对用户数据库应采用周期性备份的策略.SQLServer的备份设备是一个独立的物理设备吗?答不是.在创建备份设备时需要指定备份设备的大小吗?备份设备的大小是由什么决定的?答不需要备份设备的大小由备份内容决定.SQLServer2012提供了几种备份数据库方式?答三种完整、差异和事务日志备份.日志备份对数据库恢复模式有什么要求?答不能是“简单”的.第一次对数据库进行备份时,必须使用哪种备份方式?答完整备份.差异备份备份的是哪段时间的哪些内容?答从上次完整备份到当前时刻数据库所发生的所有变化内容.日志备份备份的是哪段时间的哪些内容?答备份从上次备份到当前时刻的日志内容.差异备份备份数据库日志吗?答备份.恢复数据库时,对恢复的顺序有什么要求?答
(1)恢复最近的完整数据库备份
(2)恢复完整备份之后的最近的差异数据库备份(如果有的话)
(3)按事务日志备份的先后顺序恢复自完整备份或差异备份之后的所有日志备份第2章数据库系统结构.解释数据模型的概念,为什么要将数据模型分成两个层次?答数据模型实际上是模型化数据和信息的工具,在数据库中,数据模型要满足三个要求第一,要能够比较真实地模拟现实世界;第二,要容易被人们理解;第三,要能够很方便地在计算机上实现用一种模型来同时满足这三方面的要求比较困难,因此在在数据库系统中针对不同的使用对象和应用目的,采用了两种不同的数据模型来实现,一个是概念层数据模型,用来满足第一和第二个要求;另一个是组织层数据模型,用来满足第三个要求.概念层数据模型和组织层数据模型分别是针对什么进行的抽象?答概念层数据模型主要针对用户的业务进行抽象,组织层数据库模型主要针对具体的数据库管理系统采用的数据组织方式进行抽象.实体之间的联系有几种?分别是哪些?请为每一种联系举出一个例子答有三种1:1;1:n;m:no1:1示例系和系主任l:n示例班和学生;m:n示例:教师和学生.说明实体-联系模型中的实体、属性和联系的概念答实体是具有公共性质的并可相互区分的现实世界对象的集合属性是实体所具有的特征或性质联系是实体之间的关联关系.指明下列实体间联系的种类
(1)教研室和教师(假设一个教师只属于一个教研室,一个教研室可有多名教师)答一对多
(2)商店和顾客答多对多
(3)国家和首都答一对一.解释关系模型中的主码、外码、主属性、非主属性的概念,并说明主码、外码的作用答主码是用于唯一确定表中一个元组的一个属性或最小的属性组用于实现实体完整性外码用于实现数据之间的关联关系(参照完整性)主属性候选键所包含的属性非属性主属性之外的其他属性
12.SQLServer在备份数据库时允许用户访问数据库吗?在恢复数据库时呢?答备份时允许,恢复时不允许.指出下列关系模式的主码(I)考试情况(课程号,考试性质,考试日期,考试地点)假设一门课程在不同的日期可以有多次考试,但在同一天只能考一次多门不同的课程可以同时进行考试答(课程号,考试日期)
(2)教师授课(教师号,课程号,授课时数,学年,学期)假设一名教师在同一个学年和学期可以讲授多门课程,也可以在不同学年和学期多次讲授同一门课程,对每门课程的讲授都有一个授课时数答(教师号,课程号,学年)
(3)图书借阅(书号,读者号,借书日期,还书日期)假设一个读者可以在不同的日期多次借阅同一本书,一个读者可以同时借阅多本不同的图书,一本书可以在不同的时间借给不同的读者但一个读者不能在同一天对同一本书借阅多次答(书号,读者号,借书日期).设有如下两个关系模式,试指出每个关系模式的主码、外码,并说明外码的引用关系产品表(产品号,产品名称,产品价格,生产日期),其中产品名称有重复销售表(产品号,销售时间,销售数量),假设可同时销售多种产品,但同一产乩在同一时间只销售一次答产品的主码产品号,无外码销售的主码(产品号,销售时间),其中产品号为引用产品表的外码.关系模型的数据完整性包含哪些内容?分别说明每一种完整性的作用答包含实体完整性、参照完整性和用户定义的完整性实体完整性作用是保证表中的不存储相同的数据,也不存储无意义的数据参照完整性用于描述实体之间的联系用户定义的完整性用于限定属性的取值范围,目的是保证数据库中存储的值与现实世界相符.数据库系统包含哪三级模式?试分别说明每一级模式的作用?答外模式、模式和内模式外模式是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同用户对数据的需求模式是数据库中全体数据的逻辑结构和特征的描述,它满足所有用户对数据的需求内模式是对整个数据库的底层表示,它描述了数据的存储位置和存储方式.数据库系统的两级映像的功能是什么?它带来了哪些好处?答两级映像是外模式/模式映像和模式/内模式映像外模式/模式映像保证了当模式发生变化时可以保证外模式不变,从而是用户的应用程序不需要修改模式/内模式映像保证了当内模式发生变化,比如存储位置或存储文件名改变,可以保持模式不变,从而使用户不需要知道这些变化.数据库三级模式划分的优点是什么?它能带来哪些数据独立性?答数据库三级模式的划分使用户可以在逻辑层处理数据,而不需要关心具体的物理细节,同时当内模式或模式发生变化时,可以通过模式之间的映像关系,保持外模式不变从而避免了修改应用程序三级模式以及三级模式之间的两级映像带来了数据的逻辑独立性和物理独立性.简单说明数据库管理系统包含的功能答数据定义、数据操纵、优化和执行、数据安全性和完整性、数据恢复和并发、尽可能高效的完成各种操作第3章SQL语言基础及数据定义功能Tinyint数据类型定义的数据的取值范围是多少?答0~255日期时间类型中的日期和时间的输入格式是什么?答在输入日期部分时可采用英文数字格式、数字加分隔符格式和纯数字格式采用英文数字格式时,月份可用英文全名或缩写形式在输入时间部分时可以采用12小时格式或24小时格式使用12小时制时要加上AM或说明是上午还是下午在时与分之间可以使用冒号作为分隔符Sma11Datatime类型精确到哪个时间单位答分钟定点小数类型numeric中的p和q的含义分别是什么?答p代表数字位长度,即整数部分和小数部分的数字位之和q代表小数位数Char
10.nchar10的区别是什么?它们各能存放多少个字符?占用多少空间?答char10是普通编码,固定占10个字节,最多能存放10个字母或数字字符,5个汉字Nchar10是统一字符编码,固定占20个字节,最多能存放10个字符包括字母和汉字Charn和varcharn的区别是什么?其中n的含义是什么?各占用多少空间?答Charn是定长字符类型,varcharn是可变长字符类型Charn中的n代表固定占n个字节的空间;varcharn中的n代表最多占n个字节的空间数据完整性的作用是什么?答数据的完整性作用是防止数据库中存在不符合语义的数据在对数据进行什么操作时,系统检查DEFAULT约束?在进行什么操作时,检查CHECK约束?答插入操作且省略了某些列的值时检查DEFAULT约束插入和修改操作检查CHECK约束UNIQUE约束的作用是什么?答限制列的取值不重复.写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束答Createtable图书表书号nchar6primarykey书名nvarchar30notnull第一作者char10notnull出版日期smalldatetime价格numeric41Createtable书店表书店编号nchar6primarykey店名nvarchar30notnull电话char8check电话like[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]z地址varchar40邮政编码char6Createtable图书销售表书号nchar6notnull书店编号nchar6notnull销售日期smalldatetimenotnull;销售数量smalldatetimecheck销售数量>=1;.为“图书表”添加“印刷数量”歹U,类型为整数,同时添加约束,要求此列的取值要大于等于1000c答altertable图书表Add印刷数量intcheck印刷数量>=
1000.删除“书店表”中的“邮政编码”列答altertable书店表Dropcolumn邮政编码.将“图书销售表”中的“销售数量”列的数据类型改为整型答altertable图书销售表Altercolumn销售数量int第4章数据操作.查询sc表中的全部数据Select*fromsc.查询计算机系学生的姓名和年龄Selectsnamesagefromstudentwheresdept=计算机系.查询成绩在70〜80分的学生的学号、课程号和成绩Selectsnoenogradefromscwheregradebetween70and
80.查询计算机系年龄在18〜20岁的男学生的姓名和年龄Selectsnamesagefromstudentwheresdept=计算机系zandsagebetween18and
20.查询课程号为“cOOl”的课程的最高的分数Selectmaxgradefromscwhereeno=C001z.查询计算机系学生的最大年龄和最小年龄Selectmaxsage最大年龄,minsage最小年龄fromstudentWheresdept=计算机系,.统计每个系的学生人数Selectsdeptcount*人数fromstudentGroupbysdept.统计每门课程的选课人数和考试最高分Selectcn,count*选课人数,maxgrade最高分fromscGroupbyeno.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果Selectsnocount*选课门数,sumgradefromscGroupbysnoorderbycount*asc.查询总成绩超过200分的学生,要求列出学号、总成绩Selectsnosumgrade总成绩fromscGroupbysnohavingsumgrade
200.查询选修“C002”号课程的学生的姓名和所在系Selectsnamesdeptfromstudentsjoinscons.sno=sc.snoWhereeno=C
002.查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果SelectsnameenogradeFromstudentsjoinscons.sno=sc.snoWheregrade80Orderbygradedesc.查询哪些课程没有学生选修,要求列出课程号和课程名Selectc.enocnamefromcoursecleftjoinsconc.eno=sc.enoWheresc.enoisnull.查询与Java在同一学期开设的课程的课程名和开课学期Selectcl.cnamecl.semesterfromcoursecljoincoursec2oncl.semester=c
2.semesterWherec
2.cname=Javazandcl.cname!=Java
7.查询与李勇年龄相同的学生的姓名、所在系和年龄Selectsi.snamesi.sdeptsi.sagefromstudentsijoinstudents2onsi.sage=s
2.sageWheres
2.sname=李勇andsi.sname!=李勇.用子查询实现如下查询1查询选修了“C001”号课程的学生的姓名和所在系SelectsnamesdeptfromstudentWheresnoinselectsnofromscwhereeno=C001A2查询数学系成绩80分以上的学生的学号、姓名、课程号和成绩SelectsnosnameenogradefromstudentsJoinscons.sno=sc.snoWheresdept=数学系andsnoinSelectsnofromscwheregrade803查询计算机系考试成绩最高的学生的姓名Selectsnamefromstudentsjoinscons.sno=sc.snoWheresdept=计算机系andgrade=Selectmaxgradefromscjoinstudentsons.sno=sc.snoCOL1C0L2C0L3B11B2C22B3。
![贤阅信息](/assets/images/honor-2.png)
![贤阅信息](/assets/images/honor-3.png)
![贤阅信息](/assets/images/honor-4.png)