sql数据库开发技术_第1页
sql数据库开发技术_第2页
sql数据库开发技术_第3页
sql数据库开发技术_第4页
sql数据库开发技术_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、填空题(每空1分,共20分)1.SQLserver中的索引类型分别为(聚集索引)和(非聚集索引)。2.视图是一个或多个表或视图中导出的(虚表)。3.在T-SQL语句中用(DECLARE)语句声明变量。4.触发器就是一种特殊类型的(存储过程)。5.每个事务必须具有4个属性:(原子性)、(一致性)、(隔离性)和(持久性)属性,既ACID属性。6.SQLserver使用(事务日志)文件记载用户对数据库进行的所有操作。7.(事务)是SQL程序中最小的工作单元,要么成功完成所有操作;要么就是失败,并将所作的一切还原。8.游标的概念包括两个部分,它们是(记录指针)和(结果集)。⒐select语句中不可缺少的两个子句是(SELECT)和(FROM)。10.在SQLserver2005中,可以把视图分成3种类型既(标视准图)、索引视图和(分区视图)。11.like子句中可以使用的4个通配符分别是%(_)、([])、([^])。得分二、单选题(每题1分,共20分)(说明:将认为正确答案的序号填在每小题后面的括号内)1.下面哪些不是系统数据库(B)。Amaster数据库Bmy_db数据库CModel数据库Dmsdb数据库2.在select语句中,下面哪个子句用于选择列表?(B)Aselect子句Bfrom子句Cwhere子句Dorderby子句3.使用GROUPBY子句进行分组查询后,再根据指定条件筛选查询结构集应使用下面哪个子句?(A)AHAVINGBWHERECGROUPBYDORDERBY4.下面哪个是字符串连接运算符?(D)A+B&C&&DAND5.SUBTRING(abcdef,2,3)的返回值是(B)。AabcBbcdCcdDdef6.读取名为MyCursor_01游标的语句是(B)。AOPENMyCursor_01BFETCHNEXTFROMMyCursor_01CCLOSEMyCursor_01DDEALLOCATEMyCursor_017.下面哪个是创建触发器的语句?(A)ACREATETRIGGERBALTERTRIGGERCDROPTRIGGERDCREATEPROCEDURE8.下面哪个语句可以调用用户自定义的函数?(B)AaddBselectCcreatefunctionDalterfunction9.下面用于创建用户自定义函数的语句是?(A)AcreatefunctionBDeletefunctionCDropfunctionDCleatfunction

10.下列不是数据库角色的是(B)。ApublicBcreator_dbCdb_datawriterDdb_ddladmin11.下列不可能在游标使用过程中使用的关键字是(C)。AOPENBCLOSECDROPDDEALLOCATE12.下列(C)操作会同时影响到deleted表和inserted表。AINSERT操作BDELETE操作CUPDATE操作DSELECT操作13.下列关于触发器的描述不正确的是(D)。A它是一种特殊类型的存储过程B可以实现复杂的商业逻辑C可以用来实现数据完整性D可以通过EXECUTE命令来执行触发器14.T-SQL中的全局变量通常以(A)作为前缀。A@@B@C##D#⒖修改视图中的数据时,不能同时修改(C)个基表。A1个B2个C两个或多个D以上都不对16.在select子句中,关键字(B)用于消除重复项。AASBDISTINCTCTOPDPERCENT17.在“连接”组中有两种连接认证方式,其中在(B)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。AWindows身份验证BSQLServer身份验证C以超用级户身份登录时D其他方式登录时18.SQLServer2005是一款基于(A)体系的关系型数据库管理系统。A客户机/服务器B主机CN层D单机19.在WHILE循环语句中,如果循环体语句条数多于一条,必须ABEGIN……ENDBCASE……END使用(A)。CIF…………THENDGOTO⒛SELECT语句中与HAVING子句通常同时使用的是(C)子句。AORDERBYBWHERECGROUPBYD无需配合得分三、简答题:(每题3分,共9分)1、简述SQLServer2005常见的版本有哪些企业版(EnterpriseEdition)标准版(StandardEdition)个人版(PersonalEdition)开发者版(DeveloperEdition)2、简述什么是触发器及其特点触发器定义在特定的表上,与表相关自动触发招待

不能直接调用是一个事务(可回滚)自动在内容中创建deleted和inserted只读,不允许修改,触发器执行成后,自动删除3、简述SQL提供了4种不同的备份方式,分别是哪些?完整备份和完整差异备份、部分备份和部分差异备份、事务日志备份、数据库文件和文件组备份。四、T-SQL设计题:(第1小题5分,2-6题每题4分,共25分)说明:第四题和第五题所涉及的数据库都是“学生管理数据库”,数据表分别是学生表、课程表、选课表学生表(学号,姓名,性别,出生日期,院系名称)选课表(学号,课程号,成绩)课程表(课程号,课程名,授课教师,学分)1.在E盘“数据库”文件夹下创建“学生管理数据库”数据库。其中主数据文件大小为10MB,最大值不受限,每次增量为2MB;事务日志文件大小为1MB,最大值不受限,文件每次增量10%。CREATEDATABASE学生管理数据库ONPRIMARY(NAME='学生管理数据库',FILENAME='E:\数据库\学生管理数据库.mdf',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=2MB)LOGON(NAME='学生管理数据库_LOG',FILENAME='E:\数据库\学生管理数据库.ldf',SIZE=1MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)GO2.在“学生管理数据库”创建“学生表”。学生表(学号,姓名,性别,出生日期,院系名称)要求:1)学号字符型(12)不允许为空2)姓名字符型(20)不允许为空3)性别字符型(2)允许为空默认值为“男”4)出生日期日期型允许为空5)院系名称字符型(20)允许为空参考答案:USE学生管理数据库CREATETABLE学生表([学号][varchar](8)NOTNULL,[姓名][nchar](20)NOTNULL,[性别][char](2)NULLDEFAULT('男'),[出生日期][smalldatetime]NULL,[院系名称][varchar](20)NULL)

3.创建一个学分小于3的课程信息视图,视图名称为ke_cheng。Createviewke_chengAsSELECT*FROM课程表WHERE学分<34.删除“学生管理数据库”中“学生表”的所有记录。USE学生管理数据库DELETEFROM学生表5.查询不及格所有的学生的“学号”、“姓名”和所在“院系名称”。SELECTDISTINCT学生表.学号,学生表.姓名,学生表.院系名称FROM学生表JOIN选课表ON学生表.学号=选课表.学号WHERE选课表.分数<606.以“课程号”分组,并统计各门课程的平均分,并且只查询平均分大于60分的行。SELECT课程号,AVG(分数)AS平均分FROM选课表GROUPBY课程号HAVINGAVG(分数)>60五、综合题:(第1、2题分别是10分,第3题是6分,共26分)1.创建一个名为成绩分段查询的存储过程dure,可以用它来找出任意两个指定分数之间的学生的姓名、课程名和成绩。然后调用这个存储过程,找出80—100分的学生的姓名、课程名和成绩。CREATEPROCEDUREdure@startgradedecimal,@endgradedecimalASSELECT姓名,课程名,成绩FROM学生表JOIN选课表ON学生表.Sno=课程表.学号JOIN课程表ON课程表.课程号=选课表.课程号WHERE成绩BETWEEN@startgradeAND@endgradeGOEXECUTEuserprocedure80,1002.定义一个游标为cursor_xx,要求该游标返回所有“工商系”的学生基本信息,在游标中查找并显示“好明”的记录。Declare@snochar(8),@snamechar(20),@sexchar(2)@chssmalldatetime,@deptchar(20)Declarecursor_xxcursorForselect学号,姓名,性别,出生日期,院系名称from学生表where所在分院=„工商系‟Opencursor_xxFetchnextformcursor_xxInto@sno,@sname,@sex@chs,@deptWhile@@fetch_status=0BeginIf@sname=‟好明‟Begin

Print„找到好明的信息如下:‟Print@sno+‟‟+@sname+‟‟+@sex+‟‟convert(char(10),@chs)+‟‟+@deptBreakEndFetchnextfromcursor_xxInto@sno,@sname,@sex@chs,@deptEndIf@@fetch_sex!=0Print„很抱歉,没有找到好明的信息!‟Closecursor_xxDeallocatecursor_xx3.创建一个标量函数,该函数返回三个参数中的最大值。已知三个数分别为18、29、15CREATEFUNCTIONmax2(@par1real,@par2real,@par3real)RETURNSrealASBEGINDECLARE@parrealIF@par1>@par2SET@par=@par1ELSESET@par=@par2IF@par<@par3SET@par=@par3RETURN(@par)END《数据库开发技术》课程试卷B卷1用T-SQL语句中的(COMMIT)命令可以进行显示事务的提交。⒉(触发器)就是一种特殊类型的存储过程,主要作用是能实现由(外)键和(主)键所不能保证的、复杂的参照完整性和数据的一致性。⒊每个事务必须具有4个属性:(原子性)、(一致性)、(隔离性)和(持久性)属性,既ACID属性。⒉游标的概念包括两个部分,它们是(记录指针)和(结果集)⒊在使用差异数据库备份还原数据库时,应先还原最新的(数据库完整备份)备份。⒍在SQLserver2005中提供了六种约束:(主键约束)、唯一性约束、(检查约束)、默认约束、(外键约束)和NULL约束。⒎(索引)能够大大提高SQL语句的执行速度,通过创建(唯一索引),可以保证表中的数据不重复。⒏事务是一个不可分割的工作(逻辑工作单位)⒐从程序员的角度看,锁又分为(乐观锁)和(悲观锁)两种类型。⒑SQLServer2005通过(游标)提供了对一个结果集进行逐行处理的能力。得分二、单选题(每题1分,共20分)

(说明:将认为正确答案的序号填在每小题后面的括号内)⒈下面选项中不属于存储过程优点的是(D)。A增加代码的重要性和共享性B可以是运行加快速度,减少网络流量、C可以作为安全性机制D辑简单⒉下列函数不能进行数据类型转换的是(B)。ACONVERTBLTRIMCSTRDCAST⒊在select子句中,关键字(B)用于消除重复项。AASBDISTINCTCTOPDPERCENT⒋下列(C)操作会同时影响到deleted表和inserted表。AINSERT操作BDELETE操作CUPDATE操作DSELECT操作⒌使用(D)语句可以删除触发器。ACREATETRIGGERBALTERTRIGGERCINSERTTRIGGERDDROPTRIGGER⒍要使用游标具有滚动性,应在游标声明语句中使用关键字(A)。ASCROLLBRETURNCUPDATEDINSENSITIVE⒎SQLServer2005是一款基于(A)体系的关系型数据库管理系。统A客户机/服务器B主机CN层D单机⒏SUBTRING(ABCDEF,2,3)的返回值是(B)。AabcBbcdCcdDdef⒐以下关于视图的描述,错误的是(C)。A视图是从一个或多个基表或视图中导出的虚表B视图并不实际存储数据,只在数据库中保存其逻辑定义C视图里面的任何数据不可以进行修改DSQL中的select语句可以像查询基表一样对视图进行查询⒑SELECT语句中与HAVING子句通常同时使用的是(C)子句。AORDERBYBWHERECGROUPBYD无需配合⒒在Transact-SQL语法中,用来插入及更新数据的命令是(A)。AINSERT,UPDATEBUPDATE,INSERTCDELETE,UPDATEDCREATE,INSERTINTO⒓在SQLServer2005中,索引的顺序和数据表的物理顺序相同的索引是(A)。A聚集索引B非聚集索引C主键索引D唯一索引⒔下列关于触发器的描述不正确的是(D)A它是一种特殊类型的存储过程B可以实现复杂的商业逻辑C可以用来实现数据完整性D可以通过EXECUTE命令来执行触发器⒕SQLserver数据库文件有三类,其中主数据文件的后缀为(C)。AndfB.ldfC.mdfD.idf⒖下面描述错误的是(B)。A每个数据文件中有且只有一个主数据文件。B日志文件可以存在于任意文件组中。

C主数据文件默认为primary文件组。D文件组是为了更好的实现数据库文件组织。⒗下列说法中正确的是(D)。ASQL中局部变量可以不声明就使用BSQL中全局变量必须先声明再使用CSQL中所有变量都必须先声明后使用DSQL中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。⒘读取名为P_01游标的语句是(B)。AOPENP_01BFETCHNEXTFROMP_01CCLOSEP_01DDEALLOCATEP_01⒙下面存在于服务器端的组件是(A)。A服务器组件B企业管理器组件C查询分析器组件D导入导出组件⒚在select语句中,分组时使用关键字(B)。AORDERBYBGROUPBYCALLDWHERE⒛要使用模糊查询从数据库中查找与某一个数据相关的所有元组信息,可以使用(D)。AANDBORCALLDLIKE三、简答题:(每题3分,共分)1.根据T-SQL服务器游标的处理特性,SQLServer2005将游标分为4种,请简述这种四游标答:静态游标、动态游标、只进游标和键集驱动游标。2.简述变量的命名规则答:变量的命名要符合标识符的命名规则:♦以ASCII字母、Unicode字母、下画线、@或者#开头,后续可以为一个或多个ASCII字母、Unicode字母、下画线、@、#或者$,但整个标识符不能全部是下画线、@或者#。♦标识符不能是T-SQL的关键字。♦标识符中不能嵌入空格,或者其他的特殊字符。♦如果要在标识符中使用空格或者T-SQL的关键字以及特殊字符,则要使用双引号或者方括号将该标识符括起来。3.简述在MicrosoftSQLServer2005系统中,分别提供了哪几种存储过程:(1)系统存储过程(2)用户自定义存储过程(3)扩展存储过程。、四T-SQL设计题:(第1小题5分,2-6题每题4分,共25分)说明:第四题和第五题所涉及的数据库都是“学生管理数据库”,数据表分别是学生表、课程表、选课表学生表(学号,姓名,性别,出生日期,院系名称)选课表(学号,课程号,成绩)课程表(课程号,课程名,授课教师,学分)1.在E盘“数据库”文件夹下创建“学生管理数据库”数据库。其中主数据文件大小为10MB,最大值是100MB,每次增量为不受限制;事务日志文件大小为1MB,最大值不受限,文件每次增量10%。CREATEDATABASE学生管理数据库

ONPRIMARY(NAME='学生管理数据库',FILENAME='E:\数据库\学生管理数据库.mdf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=UNLIMITED)LOGON(NAME='学生管理数据库_LOG',FILENAME='E:\数据库\学生管理数据库.ldf',SIZE=1MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)GO2.将“学生表”的“学号”设置为主键。学生表(学号,姓名,性别,出生日期,院系名称)USE学生管理数据库ALTERTABLE学生表ADDCONSTRAINTPK_IDPRIMARYKEY(学号)GO3查询课程表学分大于3分的课程表的所有信息课程表(课程号,课程名,授课教师,学分)SELECT*FROM课程表WHERE学分>34.将课程号为“2005”的信息从课程表中删除。DELETEFROM课程表WHERE课程号='2005‟5.向学生表中插入一条记录。(学号,姓名,性别,出生日期,院系名称)'20050318','五海','男','1990-6-230:00:00','电子信息科学与技术‟INSERTINTO学生表VALUES('20050318','五海','男','1990-6-230:00:00','电子信息科学与技术')6.查询学生表非“计算机系”或者“电子信息系”学生。SELECT*FROM学生表WHERE院系名称NOTIN('计算机系',电子信息系')五、综合题:(第1、3题分别是10分,第2题是6分,共26分)1.创建存储过程名为sinf1,通过学生的姓名和课程名查询该生该课程的成绩,并调用存储过程。已知学生的姓名‟刘磊‟,课程名为„数据库开发技术‟Use学生管理数据库GoCreateproceduresinf1

@snamechar(8),@kmchar(20),@scoretinyintoutputAsSelect@score=成绩FROM学生表JOIN选课表ON学生表.Sno=课程表.学号JOIN课程表ON课程表.课程号=选课表.课程号where姓名=@sname,课程名=@kmdeclare@scoretinyintexectsinf1‟刘磊‟,‟数据库开发技术‟,@scoreoutput2.求已知一张无限大的纸对折,问折多少次能达到珠穆朗玛峰的高度?已知珠穆朗玛峰的高度8844.43米,纸的厚度为0.5厘米。参考答案:DECLARE@xint,@sumintSET@x=0SET@sum=0.5WHILE@x<884443BEGINSET@x=@x+1SET@sum=2*@sumENDPRINT'对折的次数为:'+ltrim(str(@sum))3.请创建某一科平均成绩。数据库开发技术》课程试卷C卷⒈外键约束中包含外键的表,称为(主表),包含外键所引用的主键或唯一键的表称为(从表)。⒉游标的概念包括两个部分,它们是(记录指针)和(结果集)。⒊程序员的角度看,锁又分为(乐观锁)和(悲观锁)两种类型。⒋表)是数据库中最重要的对象,包含着数据库中的所数有据。⒌每个事务必须具有4个属性:(原子性)、(一致性)、(隔离性)和(持久性)属性,既ACID属性。⒌SQLserver2005中提供了六种约束:(主键约束)、唯一性约束、(检查约束)、默认约束、(外键约束)和NULL约束。⒍select语句中不可缺少的两个子句是(SELECT)和(FROM)。⒎SELECT'123'+'456'语句的结果是(123456)。⒐(存储过程)是一组为了完成特定功能的T-SQL语句集,经编译后存储在SQLServer服务器端数据库中。⒑如果一个已打开的游标暂时不用,就可⒒SQLServer2005指定了一个良好的(备份还原)策略,定期将数据库进行备份以保护数据库,以便在事故发生后还原数据库。以用(CLOSE)语句关闭游标。得分

二、单选题(每题1分,共20分)(说明:将认为正确答案的序号填在每小题后面的括号内)⒈若想查询出所有姓张的、且出生日期为空的学生信息,则WHERE条件应为(C)。A姓名LIKE„张%‟AND出生日期=NULLB姓名LIKE„张*‟AND出生日期=NULLC姓名LIKE„张%‟AND出生日期ISNULLD姓名LIKE„张_‟AND出生日期ISNULL⒉下面关于触发器的描述,错误的是(B)。A触发器是一种特殊的存储过程,用户可以直接调用B触发器表和DELETED表没有共同记录C触发器可以用来定义比CHECK约束更复杂的规则D删除触发器可以使用DROPTRIGGER命令,也可以使用企业管理器⒊下面关于事务的描述,错误的是(D)。A事务可用于保持数据的一致性B事务应该尽小且应尽快提交C应避免人工输入操作出在在事务中D在事务中可以使用ALTERDATEABSE⒋在SELECT语句中,用于去除重复行的关键字是(B)。ATOPBDISTINCTCPERCENTDHAVING⒌在Transact-SQL语法中,用来删除及更新数据的命令是(C)。AINSERT,UPDATEBUPDATE,INSERTCDELETE,UPDATEDCREATE,INSERTINTO⒍下面哪一个约束用来设置默认值?(C)。AUNIQUEBNULLCDEFAULTDFOREIGNKEY⒎关于表结构的定义,下面说法中错误的是(C)。A表名在同一个数据库内应是唯一的B创建表使用CREATETABLE命令C删除表使用DELETETABLE命令D修改表使用ALTERTABLE命令⒏在SQLServer2005中,数据存储的基本单位是页,页的大小是(D)。A1KB2KC4KD8K⒐关闭名为P_01游标的语句是(C)。AOPENP_01BFETCHNEXTFROMP_01CCLOSEP_01DDEALLOCATEP_01⒑SUBTRING(abcdef,1,3)的返回值是(A)。AabcBbcdCcdDdef⒒要使用游标不具有滚动性,应在游标声明语句中使用关键字(A)。AINSENSITIVEBRETURNCUPDATEDSCROLL⒓在SQLServer2005中,数据表的物理顺序和索引的顺序相同的索引是(A)。A聚集索引B非聚集索引C主键索引D唯一索引⒔下面不属于数据定义功能的SQL语句是(B)。ACREATTABLEBCREATCURSORCUPDATEDALTERTABLE⒕求每个交易所的平均单价的SQL语句是(D)。ASELECT(交易所,avg(单价)FROMstockGROUPBY单价BSELECT(交易所,avg(单价)FROMstockORDERBY单价CSELECT(交易所,avg(单价)FROMstockORDERBY交易所DSELECT(交易所,avg(单价)FROMstockGROUPBY交易所⒖在当前盘当前目录下删除表student的命令是(C)。ADROPstudentBDELETETABLEstudentCDROPTABLEstudentCDELETEstudent

⒗SQLServer2005采用的身份验证模式有(D)。A仅Windows身份验证模式B仅SQLServer身份验证模式C仅混合模式DWindows身份验证模式和混合模式⒘在SQLSERVER中局部变量前面的字符为(D)。A*B#C@@D@⒙假如有两个表的连接是这样的:studentINNERJOINstucou其中student和stucou是两个具有公共属性的表,这种连接会生成哪种结果集?(D)。A包括student中的所有行,不包括stucou的不匹配行B包括stucou中的所有行,不包括student的不匹配行C包括和两个表的所有行D只包括student和stucou满足条件的行⒚要查询student表中所有姓名中第2个字为“红”开头的学生性别,可用(C)语句。ASELECTsexFROMstudentWHEREname=„红*‟BSELECTsexFROMstudentWHEREnameLIKE„*红‟CSELECTsexFROMstudentWHEREname=„_红%‟DSELECTsexFROMstudentWHEREnameLIKE„红‟⒛SQLServer2005是一个(C)的数据库系统。A网状型B层次型C关系型D以上都不是三、简答题:(每题3分,共分)1.简述固定服务器的角色有哪些。批量管理员、数据库创建者、磁盘管理员、进程管理员、安全管理员、服务器管理员、安装管理员、系统管理员2.请简述在进行分离和附加数据库操作时,要注意事项有哪些?(1)不能进行更新,不能运行任务,用户也不能连接在数据库上。(2)在移动数据库之前,为数据库做一个完整的备份。(3)确保数据库要移动的目标位置及将来数据增长能有足够的空间。(4)分离数据库并没有将其从磁盘上将数据库文件从它们所在的位置上真正的删除。如果需要,可以对数据库的组成文件进行移动、复制或删除。3.简述静态游标特点静态游标的完整结果集在游标打开时建立在tempdb中。静态游标总是按照游标打开时的原样显示结果集。静态游标不反映在数据库中所做的任何影响结果集成员身份的更改,也不反映对组成结果集中行或列值所做的更新。注意,SQLServer2005静态游标始终时只读的。由于静态游标的结果集存储在tempdb的工作表中,因此结果集中的行大小不能超过SQLServer表的最大行大小。四、T-SQL设计题:(第1小题5分,2-6题每题4分,共25分)说明:第四题和第五题所涉及的数据库都是“学生管理数据库”,数据表分别是学生表、课程表、选课表学生表(学号,姓名,性别,出生日期,院系名称)选课表(学号,课程号,成绩)课程表(课程号,课程名,授课教师,学分)

1.在E盘“数据库”文件夹下创建“学生管理数据库”数据库,要求同时创建3个数据文件。其中“学生管理数据库1”主数据文件为10MB,最大大小为100MB,增量为10MB;次要“学生管理数据库2”数据文件属于F_Group文件组,文件大小为10MB,最大值不受限,增量为10%。事务日志文件大小为20MB,最大值不受限,每次增量为5MB。CREATEDATABASE学生管理数据库ONPRIMARY(NAME=DB1,FILENAME='E:\数据库\学生管理数据库1.mdf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=10MB),FILEGROUPF_Group(NAME=DB2,FILENAME='E:\数据库\学生管理数据库2.Ndf',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)LOGON(NAME='DB1_LOG',FILENAME='E:\数据库\学生管理数据库1.ldf',SIZE=20MB,MAXSIZE=UNLIMITED,FILEGROWTH=5MB)GO2.为“选课表”的“学号”列添加外键,外键的名称为“fk_学号”,对应了“学生表”的“学号”选课表(学号,课程号,成绩)USE学生管理数据库ALTERTABLE选课表ADDCONSTRAINTfk_学号FOREIGNKEY(学号)REFERENCES学生表(学号)GO3.查询课程表刘强老师把授的课程的所有信息课程表(课程号,课程名,授课教师,学分)SELECT*FROM课程表WHERE授课教师=„刘强‟4.显示“选课表”成绩最高的前100个学生的学号。SelectTOP(20)(distinct)学号,from选课表5.查询选修“数据库开发技术”的所有的学生的信息。SELECT学生表.学号,学生表.姓名,学生表.院系名称FROM学生表JOIN选课表ON学生表.学号=选课表.学号JOIN课程表ON课程表.课程号=选课表.课程号WHERE课程表.课程名='数据库开发技术'6.查看学生表中各个分院学生的人数,以“院系名称”分组,显示输出院系人数大于100人的院系

有哪些。SELECT院系名称,COUNT(*)AS人数FROM学生表GROUPBY院系名称HAVINGCOUNT(*)>100五、综合题:(第1、2题分别是10分,第3题是6分,共26分)1.创建一个名为成绩分段查询的存储过程ff,可以用它来找出任意两个指定分数之间的学生的姓名、课程名和成绩。然后调用这个存储过程,找出大于>90且小于60分的学生的姓名、课程名和成绩。CREATEPROCEDUREff@startgradedecimal,@endgradedecimalASSELECT姓名,课程名,成绩FROM学生表JOIN选课表ON学生表.Sno=课程表.学号JOIN课程表ON课程表.课程号=选课表.课程号WHERE成绩notBETWEEN@startgradeAND@endgradeGOEXECUTEff90,602.在“学生管理数据库”中查询所有同学选课的成绩情况:显示输出的信息有姓名、课程名、成绩。要求:凡成绩为空者输出“没有选课”,小于是60分的输出不及格“不及格”;60-70分输出“及格”;70-80分的输出“中”;80-90分的输出“良好”;90-100分的输出“优秀”。并且按姓名进行排序。参考答案:use学生管理数据库GoSelect姓名,课程名,成绩=CaseWhen成绩isnullthen„没有选课‟When成绩<60then„不及格‟When成绩>60and成绩<70then„及格‟When成绩>70and成绩<80then„中‟When成绩>80and成绩<90then„良好‟When成绩>90andthen„优秀‟EndFROM学生表JOIN选课表ON学生表.学号=选课表.学号JOIN课程表ON课程表.课程号=选课表.课程号Orderyby姓名3.求100~1000之间所有数的和,但如果和大于3000,立刻退出。DECLARE@xint,@sumintSET@x=100SET@sum=0WHILE@x<1000

BEGINSET@x=@x+1SET@sum=@sum+@xIf@sum>3000ENDPRINT'100-1000所有数的和是:'+ltrim(str(@sum))《数据库开发技术》课程试卷D卷一、填空题(每空1分,共20分)⒈个事务必须具有4个属性:(原子性)、(一致性)、(隔离性)和(持久性)属性,既ACID属性。⒉SQLserver2005中提供了六种约束:(主键约束)、唯一性约束、(检查约束)、默认约束、(外键约束)和NULL约束。⒊游标的概念包括两个部分,它们是(记录指针)和(结果集)。⒋务器角色是(固)定的,不能在实例级创建角色。⒌SQLServer2005指定了一个良好的(备份还原)策略,定期将数据库进行备份以保护数据库,以便在事故发生后还原数据库。⒌完整数据库)备份是对所有数据库操作和事务日志中的事务进行备份。⒎触发器是一种特殊类型的存储过程,它在执行语言事件时自动生效。例如,当对某一个表进行诸如(UPDATE)、(DELETE)、(INSERT),SQLServer就会自动执行触发器所定义的T-SQL语句,从而确保对数据的处理必须符合由这些T-SQL语句所定义的规则。⒏即要么都执行,要么都不执行,因此,(事务)是一个不可分割的工作逻辑单元。⒐(回滚)会结束当前事务,并且放弃自事务开始以来所有的操作,回到事务开始的状态。⒑连接分为内连接、外连接和交叉连接。(内连接)是系统的默认方式。⒒如果一个已打开的游标暂时不用,就可以用(CLOSE)语句关闭游标。⒓(存储过程)是一组为了完成特定功能的T-SQL语句集,经编译后存储在SQLServer服务器端数据库中。得分二、单选题(每题1分,共20分)(说明:将认为正确答案的序号填在每小题后面的括号内)⒈要查询student表中所有姓名中第2个字为“雪”开头的学生性别,可用(C)语句。ASELECTsexFROMstudentWHEREname=„雪*‟BSELECTsexFROMstudentWHEREnameLIKE„雪*‟CSELECTsexFROMstudentWHEREname=„雪_%‟DSELECTsexFROMstudentWHEREnameLIKE„雪‟⒉假如有两个表的连接是这样的:studentINNERJOINclass其中student和class是两个具有公共属性的表,这种连接会生成哪种结果集?(D)A包括student中的所有行,不包括class的不匹配行B包括class中的所有行,不包括student的不匹配行C包括和两个表的所有行

D只包括student和class满足条件的行3.SQLServer2005采用的身份验证模式有(D)。A仅Windows身份验证模式B仅SQLServer身份验证模式C仅混合模式DWindows身份验证模式和混合模式⒋删掉名为P游标的语句是(D)。AOPENPBFETCHNEXTFROMPCCLOSEPDDEALLOCATEP⒍列说法中正确的是(D)。ASQL中局部变量可以不声明就使用BSQL中全局变量必须先声明再使用CSQL中所有变量都必须先声明后使用DSQL中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自已建立。⒍SQLserver数据库文件有三类,其中次数据文件的后缀为(A)。A.ndfB.ldfC.mdfD.idf⒎下列关于触发器的描述不正确的是(D)。A它是一种特殊类型的存储过程B可以实现复杂的商业逻辑C以用来实现数据完整性D可以通过EXECUTE命令来执行触发器⒎面哪些不是系统数据库(B)。Amaseter数据库Bmy数据库CModel数据库Dmsdb数据库⒐下列不是数据库角色的是(D)。ApublicBdb_owerCdb_datawriterDupdate⒑在“连接”组中有两种连接认证方式,其中在(B)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。AWindows身份验证BSQLServer身份验证C以超级用户身份登录时D其他方式登录时⒒表在数据库中是一个非常重要的数据对象,它是用来(C)各种数据内容的。A显示B查询C、存放D检索⒓为数据表创建索引的目的是(A)。A提高查询的检索性能B创建唯一索引C可以实现复杂的商业逻辑D显示数据对象⒔SQLServer2005是一个(C)的数据库系统。A网状型B层次型C关系型D以上都不是⒕求每个交易所的平均单价的SQL语句是(D)。ASELECT(交易所,avg(单价)FROMstockGROUPBY单价BSELECT(交易所,avg(单价)FROMstockORDERBY单价CSELECT(交易所,avg(单价)FROMstockORDERBY交易所DSELECT(交易所,avg(单价)FROMstockGROUPBY交易所⒖在SQLServer2005中,当数据表被修改时,系统自动执行的数据库对象是(B)。A存储过程B触发器C视图D其他数据库对象⒗下面选项中不属于存储过程优点的是(D)。A增加代码的重要性和共享性B可以是运行加快速度,减少网络流量、C可以作为安全性机制

D编辑简单⒘下面哪个语句可以调用用户自定义的函数?(B)AaddBselectCcreatefunctionDalterfunction⒙„hello„属于什么常量类型。AAcharBintCdateD以上都不对⒚下面哪个是创建触发器的语句?(A)ACREATETRIGGERBALTERTRIGGERCDROPTRIGGERDCREATEPROCEDURE⒛事务的起点使用的语句是(A)。ABEGINTRANSACTIONCROLLBACKTRANSACTIONBCOMMITTRANSACTIONDSAVETRANSACTION三、简答题:(每题3分,共分)1.简述局部变量和全局变量区别?用DECLARE语句声明T-SQL的变量,声明的同时可以指定变量的名字(必须以@开头)、数据类型和长度,并同时将该变量的值设置为NULL。全局变量是SQLServer系统内部使用的变量,其作用范围并不局限于某个程序,而是任何程序任何时间都可以调用。全局变量通常用于存储一些SQLServer的配置设定值和效能统计数据。可以利用全局变量来测试系统的设定值或者T-SQL的命令执行后的状态值。2.锁定“学生表”,延时时间设置为5秒钟。SELECT*FROM学生表WITH(HOLDLOCK)waitfordelay'00:00:05'3.什么是存储过程存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论