SQLServer复习题_第1页
SQLServer复习题_第2页
SQLServer复习题_第3页
SQLServer复习题_第4页
SQLServer复习题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、SQL Server复习题一,选择1.SQL Server系统中的所有服务器级系统信息存储于哪个数据库( A  )。A. master                       B. modelC. tempdb            &

2、#160;          D. msdb2下列标识符可以作为局部变量使用(  C )。A. Myvar                        B. My varC. Myvar      

3、                D. My var3.以下关于主键的描述正确的是(  A  )。   A.标识表中唯一的实体    B.创建唯一的索引,允许空值 C.只允许以表中第一字段建立      D.表中允许有多个主键 4.为数据表创建索引的目的是( A  )。   

4、60;       A.提高查询的检索性能            B.创建唯一索引 C.创建主键                      D.归类   5.下列哪个不是sql 数据库文件的后缀。(C

5、)A.mdf                         B.ldfC.dbf                       &

6、#160; D.ndf   6.在SQL SERVER服务器上,存储过程是一组预先定义并(  B )的Transact-SQL语句。A.保存                          B.编译C.解释         &#

7、160;                D.编写  7.以下关于外键和相应的主键之间的关系,正确的是(  A )。A.外键并不一定要与相应的主键同名B.外键一定要与相应的主键同名C.外键一定要与相应的主键同名而且唯一D.外键一定要与相应的主键同名,但并不一定唯一8.在T-SQL语言中,修改表结构时,应使用的命令是(C ) AUPDATE       

8、;                B. INSERTC. ALTER                        D. MODIFY9.下列哪个不是数据库对象(   A )。A数据模型&#

9、160;    B视图        C表         D用户10.在SQL中,建立表用的命令是 (    A  )。A.CREATE TABLE                  B.CREATE RUL

10、EC.CREATE VIEW                   D.CREATE INDEX11.在MS SQL Server中,用来显示数据库信息的系统存储过程是(   D   )。A. sp_dbhelp    B. sp_db       C. sp_help 

11、   D. sp_helpdb12.SQL语言中,删除记录的命令是(  B    )。A. DELETE       B. DROP        C. CLEAR      D. REMOVE13.在学生成绩表cjb中的列score用来存放某学生学习某课程的考试成绩(0-100分,没有小数),用下面的哪种类型最节省空间?( C )A.int B.

12、smallint C.tinyint D.decimal(3,0)14.订单表orders的列orderID的类型是小整型(smallint),根据业务的发展需要改为整型(integer),应该使用下面的哪条语句?( B )A.ALTER COLUMN orderID integer from ordersB.ALTER TABLE orders ALTER COLUMN orderID integerC.ALTER TABLE orders(orderID integer )D. ALTER COLUMN orders.orderID integer15.查询每个部门年龄最长者的信息,要求得

13、到的信息包括部门名和最长者的出生日期。正确的语句是( A )Aselect 部门名,min(出生日期) from 部门,职工 where 部门.部门号=职工.职工号 group by部门号Bselect 部门名,max(出生日期) from 部门,职工 where 部门.部门号=职工.职工号 group by部门号Cselect 部门名,min(出生日期) from 部门,职工 on 部门.部门号=职工.职工号 group by部门号Dselect 部门名,max(出生日期) from 部门,职工 on 部门.部门号=职工.职工号 group by部门号16.在select语句中,能够实现数据

14、表之间连接查询的是( C )。A.having B.group by C.join D.order by 17.在学生成绩表cjb中的列score用来存放某学生学习某课程的考试成绩(0-100分,没有小数),用下面的哪种类型最节省空间?( C )A.int B.smallint C.tinyint D.decimal(3,0)18.订单表orders的列orderID的类型是小整型(smallint),根据业务的发展需要改为整型(integer),应该使用下面的哪条语句?( B )A.ALTER COLUMN orderID integer from ordersB.ALTER TABLE o

15、rders ALTER COLUMN orderID integerC.ALTER TABLE orders(orderID integer )D. ALTER COLUMN orders.orderID integer19.在学生管理管理系统中使用下面的学生信息表:Create table 学生信息表(学号 char(8) primary key nonclustered, 姓名 varchar(20) not null, 身份证号码 varchar(30) not null 出生日期 datetime null系号 char(2) not null)学生的身份证号码是惟一的。用户想把每个学

16、生的信息按照身份证号码的顺序物理地存放在数据库文件中。下面的哪个约束可以完成任务?( A )A.unique clustered B.unique nonclusteredC.Primary Key clustered D.primary key nonclustered20.在登记学生成绩时要保证列score的值在0-100之间,下面的方法中哪种最简单?( D )A.编写一个存储过程,管理插入和检查数值,不允许直接插入B生成用户自定义类型type_score和规则,将规则与数据类型type_score相关联,然后设置列score的数据类型为type_scoreC编写一个触发器来检查score

17、的值,如果不在0和100之间,则撤消插入D在score列增加检查限制21.在SQL Server 2000创建了订单表,创建语句如下:Create table 订单表(订单代号 int identity(1,1) primary key, 客户代号 int not null, 雇员代号 int not null,-经手该笔业务的雇员的代号 定单日期 datetime not null, 销售金额 money not null, 备注:varchar(200) null)用户需要获得订单信息列表,包括雇员代号,销售金额和订单日期。用户想按日期从近到早的顺序显示,并且对每一天的订单,按销售金额从大

18、到小的顺序排列。下面哪条语句能够准确地完成该任务?( C )A.select 雇员代号,销售金额,订单日期 from 订单表 Order by 销售金额,订单日期descB. select 雇员代号,销售金额,订单日期 from 订单表 Order by订单日期,销售金额descC.select 雇员代号,销售金额,订单日期from订单表Order by订单日期desc,销售金额descD.select 雇员代号,销售金额,订单日期from订单表Order by销售金额desc,订单日期desc22.查询所有目前年龄在35岁以上(不含35岁)的职工信息(姓名,性别和年龄),正确的语句是( C

19、)A. select姓名,性别,year(getdate()-year(出生日期)as 年龄 from 职工 where 年龄>35B. select姓名,性别,year(getdate()-year(出生日期)as 年龄 from 职工 where year(出生日期)>35C. select姓名,性别,year(getdate()-year(出生日期)as 年龄 from 职工 where year(出生日期)-year(getdate()>35D. select姓名,性别,年龄=year(getdate()-year(出生日期)from 职工 where year(ge

20、tdate()-year(出生日期)>3523.数据库操作时服务器突然断电,当重新启动后,如何恢复已经完成但还没反数据写入硬盘的事务以及正在进行一半的事务?( B )A运行ROLL FORWARD ALL TRANSACTIONB不用。SQL Server 2000自动恢复,即通过日志恢复所有已经完成但还没把数据写入硬盘的事务到硬盘,并撤消正在进行一半的事务。C先备份事务日志,再将数据库恢复到上一完全数据库备份,再把刚备份的事务日志恢复到当前数据库的日志中。D没有办法,只能使用数据库以前的备份。SQL Server支持对查询结果进行合并运算,其运算符是( B )A.plus B.Unio

21、n C.+ D.U24.查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期。正确的语句是( A )A. select 部门名,min(出生日期) from 部门,职工 where 部门.部门号=职工.职工号 group by部门号B. select 部门名,max(出生日期) from 部门,职工 where 部门.部门号=职工.职工号 group by部门号C. select 部门名,min(出生日期) from 部门,职工 on 部门.部门号=职工.职工号 group by部门号D. select 部门名,max(出生日期) from 部门,职工 on 部门.部门号=

22、职工.职工号 group by部门号二,填空1. 目前最常用的数据库有层次数据库、_网状_数据库和_关系_数据库,其中_关系_数据库是目前应用最广泛的一种数据库。2. 关系数据模型的逻辑结构是_二维表_,关系中的列称为_属性_,行称为_元组_。3. 关系数据库模型的数据操作主要包括插入、_删除_、_更新_和_查询_数据。4实体之间的联系类型有三种,分别为_一对一_、_一对多_和_多对多_。5数据库系统的三级模式结构和两级数据映像确保了数据的_逻辑_独立性和_物理_独立性。6SQL Server代理主要由_操作员_、_作业_ 和_警报_来组成。7在SQL中,create view、alter v

23、iew和drop view命令分别为_建立_、_修改_和_删除_视图的命令。8.Select 语句中的distinct选项的含义是( 返回唯一不同值 )9.在select语句中,如果要标注查询项的列标题,可以使用( as )关键字10.使用( CREATE CLUSTERED )子句将创建聚集索引,使用( CREATENONCLUSTERED )子句将创建非聚集索引。11.执行下列语句,创建bookDb数据库:Create database bookdbOn primary(name=bookdb_dat,Filename=d:mssqlbook.mdfSize=2mb,Maxsize=20m

24、b,Filegrowth=1mb)Log on(name=bookdb_log,Filename=d:mssqlbook.ldf,Size=1mb,Maxsize=5mb,Filegrowth=1mb)Go建立的bookdb数据库的主文件名是( book.mdf ),操作系统使用的主文件名是( bookdb_dat ),主文件的初始大小是( 2mb ),最大增长是( 20mb ),每一次的增量是( 1mb )。建立的bookdb数据库的日志文件是( book.ldf ),操作系统使用的事务日志文件名是( bookdb_log ),事务日志文件的初始大小是( 1mb ),最大增长是( 5mb )

25、,每一次的增量是( 1mb )。查看该数据库的信息使用( EXEC sp_helpdb bookDb )命令。三,解答1.什么是数据库备份和恢复?为什么要备份和恢复数据库?设计一个方案,最大限度地减少数据库备份恢复时间以及降低数据损失的数量。 (1). 数据库备份是指将当前的数据库系统、数据文件或日志文件复制到一个专门的备份服务器、活动磁盘或者其他能长期存储数据的介质上,作为副本。数据库备份记录了在进行备份这一操作时数据库中所有数据的状态。一旦数据库因意外而遭损坏,这些备份文件可用来恢复数据库。        &#

26、160;               (2). 恢复是与备份相对应的数据库管理工作,数据库备份后,一旦数据库发生故障,就可以将数据库备份加载到系统,使数据库恢复到备份时的状态。系统进行数据库恢复的过程中,自动执行安全性检查,然后根据数据库备份自动创建数据库结构,并且恢复数据库中的数据。 (3). 备份方案如下:          

27、0;         创建定期的数据库备份。 在每个数据库备份之间定期创建差异数据库备份(例如,对于高度活动的系统,每隔四小时或四小时以上备份一次)。 如果使用完全恢复模型或大容量日志记录恢复模型,则创建事务日志备份的频率比差异数据库备份大,如每隔 30 分钟。          还原差异数据库备份的顺序为: 还原最新的数据库备份。 还原最后一次的

28、差异数据库备份。 如果使用完全恢复或大容量日志记录恢复,则应用自上次创建差异数据库备份后创建的所有事务日志备份。 2.什么是实体完整性,域完整性,参照完整性,可以通过哪些方法实现这些完整性?(1).实体的完整性     实体完整性将行定义为特定表的惟一实体。实体完整性强制表的标识符列或主键的完整性(通过索引、UNIQUE 约束、PRIMARY KEY 约束或IDENTITY 属性)。 (2).域完整性      域完整性是指给

29、定列的输入有效性。强制域有效性的方法有: 限制列值的数据类型(通过数据类型) 限制列值的格式(通CHECK 约束和规则) 限制列值的取值范围(通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则)。  (3).参照完整性     在输入或删除记录时,参照完整性保持表之间已定义的关系。在SQL Server 2000 中,参照完整性基于外

30、键与主键之间或外键与惟一键之间的关系(通过 FOREIGN KEY 和 CHECK 约束)。参照完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。3.在SQL Server2000中定义了哪些基本的数据类型?如果要定义一个字符类型数据,可以使用哪些字符类型来定义? (1). 数值型,字符型,日期型,货币型、文本型、图像型等。(2). 可以使用char,varchar,nchar,nvarchar等字符型数据4 .什么是触发器,当对表进行哪些操作时,可以触发触

31、发器? 触发器是一种特殊类型的存储过程,                   当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE5.什么是文件组,创建文件组应该遵守哪些规则。 为了便于分配和管理,SQL Server允许将多个文件归纳为同一组,并赋予此组一个名称,这就是文件组。与数据库文件一样,文件组也分为主

32、文件组(Primary File Group)和次文件组(Secondary File Group)。                      建立文件和文件组时遵守规则: (1).文件和文件组不能被多个数据库使用,每个文件也只能成为一个文件组的成员。 (2) 日志文件是独立的,不能放在任何文件组中的,即日志文件和数

33、据文件总是分开的。 (3) 一旦一个文件作为数据库的一部分创建,就不能被移动到另一个文件组中。如果用户希望移动文件,必须删除然后再重新创建文件。 (4)SQL Server中的数据文件和事务日志文件无法存放在压缩文件系统中或共享的网络目录中。四,创建与查询A. 创建一个test数据库: 其主数据文件逻辑名test_data,物理文件名test_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB;数据库日志文件逻辑名称为test_log,物理文件名为test_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%。create dat

34、abase teston(name=test_data,filename='C:test_data.mdf',size=10,maxsize= unlimited,filegrowth=1)log on(name=test_log,filename='C:test_log.idf',size=1,maxsize= 5,filegrowth=10%)B. 学生成绩数据表结构如下:表名:student说明:学生基本信息表属性列数据类型长度空值列约束说明st_idnVarChar9Not NullPK学生学号st_nmnVarChar8Not Null学生姓名st_s

35、exnVarChar2Null学生性别st_birthdatetimeNull出生日期st_scoreintNull入学成绩st_datedatetimeNull入学日期st_fromnChar20Null学生来源st_dpidnVarChar2Null所在系编号st_mnttinyintNull学生职务表名:couse说明:课程信息表属性列数据类型长度空值列约束说明cs_idnVarChar4Not NullPK课程编号cs_nmnVarChar20Not Null课程名称cs_tmintNull课程学时cs_scintNull课程学分表名:slt_couse说明:选课表属性列数据类型长度空

36、值列约束说明cs_idnVarChar4Not NullFK课程编号st_idnVarChar9Not NullFK学生编号scoreintNull课程成绩sltdatedatetimeNull选课日期表名:dept说明:院系信息表属性列数据类型长度空值列约束说明dp_idnVarChar2Not Null系编号dp_nmnVarChar20Not Null院系名称dp_drtnVarChar8Null院系主任dt_telnVarChar12Null联系电话1.使用CREATE TABLE 创建学生基本信息表create table Student( st_id nvarchar(9) pri

37、mary key not null, st_mn nvarchar(8) not null, st_sex nvarchar(2), st_birth datetime, st_score int, st_date datetime, st_from nchar(20), st_dpid nvarchar(2), st_mnt tinyint)2.使用CREATE TABLE 创建选课表create table Slt_couse( cs_id nvarchar(4) references Couse(cs_id), st_id nvarchar(9) references Student(s

38、t_id), score int, sltdate datetime)3.为“dept”表添加“dp_count”列(数据类型为nvarchar,长度为3,允许为空)alter table deptadd dp_count nvarchar(3) null4.将student表中的st_sex列属性更改为NOT NULLalter table studentalter column st_sex nVarChar(2) not null5.创建默认值对象df_today为当前日期,并将其绑定到slt_couse表中的sltdate列,然后取消绑定,最后删除默认值对象df_today。CREAT

39、E DEFAULT df_today AS Getdate( )goEXEC sp_bindefault df_today, 'slt_couse.sltdate'goEXEC sp_unbindefault 'slt_couse.sltdate'GODROP DEFAULT df_todayGO6.将slt_couse表中的score列的检查约束设置为>=0且<=100alter table slt_couseadd constraint ch_score check(score>=0 and score<=100)7.向dept表插入

40、一条记录,系号11,系名自动控制系,系主任为李其余,电话81234567insert deptvalues('11','自动控制系','李其余','81234567')8.向student表插入一条记录,学号070201001,姓名为王小五,性别为男,出生日期为1990年9月9日,系号为11,其余字段为NULL或默认值insert student values('070201001','王小五','男','9/9/1990','11',null,nul

41、l,null,null)9.向couse表插入一条记录,课程号1234,课程名为操作系统,其余字段为NULL或默认值insert into Couse values('1234','操作系统',null,null)10.向slt_couse表插入一条记录,课程号1234,学名070201001,其余字段为NULL或默认值insert slt_cousevalues('1234','操作系统',null,null)11.修改student表记录,将王小五的入学成绩改为88update studentset st_score = &#

42、39;88'where st_nm = '王小五'12.修改couse表记录,将所有记录的学分改为4,学时改为64update Couseset cs_tm=64goupdate Couseset cs_sc=4go13.使用"="号为couse表中属性指定列名:课程号、课程名、学时(=cs_sc*16)、学分select 课程号="cs_id",课程名="cs_nm",学时="cs_tm",学分="cs_sc" from Couse14.查询dept表的系号、系名和系主任,向查询结果中插入说明列:系号、系名和系主任select dp_id as 系号,dp_nm as 系名,dp_drt as 系主任 from dept15.查询student表中2008年及以后入学的学生信息select *from student where DATEPART(YY,st_date)>=200816.在查询student表080808班学生的学号

温馨提示

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

评论

0/150

提交评论