当前位置:文档之家› SQLserver复习

SQLserver复习

SQLserver复习
SQLserver复习

1.SQL的视图是从()中导出的。

A.基本表 B. 视图 C. 基本表或视图 D. 数据库

2.建立索引的目的是()。

A.降低SQL Server数据检索的速度

B.与SQL Server数据检索的速度无关

C.加快数据库的打开速度

D.提高SQL Server数据检索的速度

3.向用户授予操作权限的SQL语句是()。

A.CTEATE B.REVOKE C.SELECT D.GRANT

4. 项目开发需要经过几个阶段,绘制数据库的E-R图应该在()阶段进行。

A. 需求分析

B. 概念模型设计

C. 详细设计

D. 代码编写

5. 关于SQL Server的注释类型以下说法正确的是()。

A. 单行注释以"--"开头

B. 单行注释以"**"开头

C. 多行注释以"-"开头,以"-"结束

D. 多行注释以"//"开头,以"//"结束

6. 模式查找like '_a%',下面哪个结果是可能的()。

A.aili

B. bai

C.bba

https://www.doczj.com/doc/068830577.html,a

7. 在SQL中,建立索引用的命令是( )。

A.CREATE SCHEMA

B.CREATE TABLE

C.CREATE VIEW

D.CREATE INDEX

8.安装MS SQL Server时,系统自动建立几个数据库,其中有一个数据库记录了一个SQL Server系统的所有系统信息,这个数据库是( )

A. master数据库

B.model数据库

C. tempdb数据库

D.pubs数据库

9. 建立如下数据库表:

CREATE TABLE department

(

DeptID int NOT NULL primary key,

DeptName varchar (20) NOT NULL

)

CREATE TABLE Employee

(

EmployeeID int NOT NULL,

DeptID int NOT NULL,

Name varchar (20) NOT NULL

)

要想保证Employee表中每一个雇员(Employee)是唯一的,且只能属于在Department 表中已经存在的部门,最佳的做法是()。

A. EmployeeID 和DeptID 设为组合主键

B. EmployeeID设为主键,同时在DeptID列上创建一个外键约束

C. EmployeeID设为主键,同时在DeptID列上创建一个检查约束

D. 在DepartmentID列上创建一个唯一约束,同时在DeptID列上创建一个外键约束10.用于求系统日期的函数是()。

A.YEAR()B.GETDATE()C.COUNT()D.SUM()

11.主索引可确保字段中输入值的( )性。

A.多样

B.重复

C.唯一

D.若干

12.查询家庭地址与“上海”有关的记录应该用( )。

A. SELECT * FROM 家庭信息WHERE 家庭地址LIKE ’*上海*’

B. SELECT * FROM家庭信息WHERE家庭地址= ’%上海%’

C. SELECT * FROM家庭信息WHERE家庭地址LIKE ’?上海?’

D. SELECT * FROM家庭信息WHERE家庭地址LIKE ’%上海%’

13.使用索引下列哪个说法是正确的()。

A. 节省磁盘空间

B. 缩短查询时间

C. 在执行插入、修改、删除时节省时间

D. 与表无关

14. 下列哪个不是sql 数据库文件的后缀()。

A..mdf B..ldf C..tif D..ndf

15. 为了加快对某表的访问速度,应对此表建立()。

A. 约束

B. 存储过程

C. 规则

D. 索引

16. 为数据库中一个或多个表的数据提供另一种查看方式的逻辑表被称为()。

A. 存储过程

B. 触发器

C. 视图

D. 表

17. 要建立一张教师表,包含姓名、职称、级别等字段。插入数据时,如果不输入级别字段,缺省值为“讲师”,最合适的实现方法是()。

A. 为“级别”字段建立default约束

B. 为“级别”字段建立check 约束

C. 在教师表上建立一个触发器(trigger)

D. 为教师表插入数据编写一个存储过程进行控制

18.限制输入到列的值的范围,应使用()约束。

A. CHECK

B. PRIMARY KEY

C. FOREIGN KEY

D. UNIQUE

19. 关于视图,以下说法错误的是()。

A. 使用视图,可以保护敏感数据

B. 使用视图,可以简化数据的使用

C. 视图是一种虚拟表,视图中的数据只能来源于物理数据表,不能来源于其它视图

D. 视图中只存储了查询语句,并不包含任何数据

20.下列聚合函数中哪一个是求总和 ( )

A、SUM (score)

B、MAX (score)

C、COUNT (score)

D、AVG (score)

21. 在sql SERVER中不是系统数据库的是( )。

A. Master

B. Model

C. tempdb

D. pubs

22. 以下哪种文件数据库有且只有一个( )

A、主要数据文件

B、次要数据文件

C、日志文件

D、索引文件

23. 数据定义语言的缩写词为 ( )。

A.DDL

B.DCL

C.DML

D.DBL

24. SQL语言中,删除表中数据的命令是( )。

A. DELETE

B. DROP

C. CLEAR

D. REMOVE

25.在MS SQL Server中,关于数据库的说法正确的是()

A、一个数据库可以不包含事务日志文件

B、一个数据库可以只包含一个事务日志文件和一个数据库文件

C、一个数据库可以包含多个数据库文件,但只能包含一个事务日志文件

D、一个数据库可以包含多个事务日志文件,但只能包含一个数据库文件

26. 目前()数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统。

A.关系B.面向对象C.分布 D.文件

27. ()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户

或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。

A.DBMS B.DB C.DBS D.DBA

28. 在SQL中,建立视图用的命令是 ( )。

A.CREATE SCHEMA

B.CREATE TABLE

C.CREATE VIEW

D.CREATE INDEX

29.以下关于主键的描述正确的是()。

A.标识表中唯一的实体

B.创建唯一的索引,允许空值

C.只允许以表中第一字段建立

D.表中允许有多个主键

30.以下关于外键和相应的主键之间的关系,正确的是( )。

A.外键并不一定要与相应的主键同名

B.外键一定要与相应的主键同名

C.外键一定要与相应的主键同名而且唯一

D.外键一定要与相应的主键同名,但并不一定唯一

31.在T-SQL语言中,修改表结构时,应使用的命令是()

A.UPDATE B. INSERT

C. ALTER

D. MODIFY

32. SQL语言中,条件表示年龄在40至50之间的表达式为 ( )。

A. IN (40,50)

B. BETWEEN 40 AND 50

C. BETWEEN 40 OR 50

D. BETWEEN 40 ,50

33.表示岗位为工程师,同时性别为男的表达式为( )

A. 岗位='工程师' ,性别='男'

B. 岗位='工程师' AND 性别='男'

C. BETWEEN '工程师' AND '男'

D. IN ('工程师','男')

34.如果要从数据库中删除触发器,应该使用SQL语言的命令( )

A、DELETE TRIGGER

B、DROP TRIGGER

C、REMOVE TRIGGER

D、DISABLE TRIGGER

35.DBS是采用了数据库技术的计算机系统。DBS是一个集合体,包含数据库、计算机硬件、软件和( )

A、系统分析员

B、程序员

C、数据库管理员

D、操作员

列举SQLServer几个基本的函数的应用.docx

-聚合函数 use pubs go select avg(distinct price) 一算平均数 from titles where type=*business' go use pubs go select max(ytd_sales) 一最大数 from titles go use pubs go select min(ytd_sales)"最小数 from titles go use pubs go select type,sum(price),sum(adva nee) —求和 from titles group by type order by type go use pubs go select count(distinct city) 一求个数 from authors go use pubs go select stdev(royalty) ■■返回给定表达式中所有值的统计标准偏差from titles go use pubs go select stdevp(royalty)-返回表达式中所有制的填充统计标准偏差

from titles go use pubs go select var(royalty)"返回所有值的统计方差 from titles go use pubs go select varp(royalty)-返回所有值的填充的统计方差 from titles go -数学函数 select sin(23.45),atan(1.234),rand(),PI(),sign(-2.34) 一其中rand 是获得一个随机数 -配置函数 SELECT @@VERSION 一获取当前数据库版本 SELECT @@LANGUAGE -当前语言 -时间函数 select getdate() as 'wawa_getdate' 一当前时间 select getutcdate() as !wawa_getutcdate' 一获取utc 时间 select day(getdate()) as 'wawa_day' 一取出天 select month(getdate()) as 'wawa_month' 一取岀月 select year(getdate()) as 'wawa_year' 一取出年 select dateadd(d,3,getdate()) as wawa_dateadd ?■力口三天,注意'd‘表示天,'m'表示月,yy表示年,下而一样 select datediff(d,*2004-07-01 *,*2004-07-15') as wawa_datediff 一计算两个时间的差 select datename(d,*2004-07-15!) as wawa_datename "取岀时间的某一部分select datepart(d,getdate()) as wawa_datepart 一取出时间的某一部分,和上面的那个差不多 "字符串函数 select ascii(123) as ,123',ascii('123') as ,H123m,ascii(,abc,) as H,abc M,一转换成ascii 码 select char(123),char(321 ),char(-123) ?■根据ascii 转换成字符 select lower('ABC'),lower('Abc'),upper('Abc'),upper('abc') 一转换大小写 select str(123.45,6,1), str(123.45,2,2) 一把数值转换成字符串

【最新大学期末考试题库答案】(SQLserver)大连理工大学城市学院SQLServer期末复习题库答案

数据库第一次作业 按照下表完成各个题目的SQL语句: 表1 学生信息表 学号姓名专业名性别出生时间总学分 081101 王林计算机男1990-02-10 50 081102 王燕计算机女1989-10-06 50 081103 韦严平计算机男1990-08-26 50 001218 孙研通信工程男1980-10-09 30 001219 吴薇华通信工程女1980-03-18 42 表2 课程信息表 课程号课程名类别学时学分 101 计算机导论 2 64 3 102 C++程序设计 1 100 4 203 国际贸易概论 2 72 3 206 系统工程 1 96 5 表3 成绩信息表 学号课程号成绩 081101 101 80 081101 102 78 081101 206 76 081102 101 62 081102 102 70 081102 206 81 081103 101 90 081103 102 84 081103 206 65 001218 102 78 001218 206 78 001219 101 65 001219 102 71 001219 206 80 1.用CREATE DA TABASE语句创建名为XSCJ的数据库,各文件参数如下: 文件名物理名初始大小最大大小增长Xscj_d1 D:\xuesheng\xscj1.mdf 1MB 20MB 10% Xscj_d2 D:\xuesheng\xscj2.ndf 2MB 30MB 2MB CSCJ_LOG1 D:\xuesheng\xscj.Ldf 3MB 20MB 1MB CREATE DATABASE XSCJ

SQLServer数据库试题九及答案

SQL Server数据库试题九及答案 一、选择题(每题2分,共30分) 1、下面不属于数据定义功能的SQL语句是:() A.CREAT TABLE B.CREAT CURSOR C.UPDA TE D.ALTER TABLE 2、SQL数据库中的视图与下列哪项是对应的()。 A.关系模式 B.存储模式 C.子模式 D.以上都不是 3、下列选项中不是数据库复制类型的是()。 A.快照复制 B.差异复制 C.事务复制 D.合并复制 4、下列说法错误的是: ()。 A.一个基本表可以跨一个或多个存储文件 B. 一个存储文件可以跨一个或多个基本表 C.每个存储文件与外部存储器上一个物理文件对应 D.每个基本表与外部存储器上一个物理文件对应 5.显示包含警告信息或其他信息的消息框,应该使用的操作是()。 A.Echo B.Message C.Warn D.MsgBox 6、在SQL Server 2000中,索引的顺序和数据表的物理顺序相同的索引是()。 A.聚集索引 B.非聚集索引 C.主键索引 D.唯一索引 7. SQL Server的字符型系统数据类型主要包括()。 A. Int、money、char B. char、varchar、text C. datetime、binary、int D. char、varchar、int 8、以下选项中哪一项不是访问数据库系统的接口()。 A.ODBC B.OLE DB C.API D.ADO 9、在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是() A.* B.% C.- D.? 10、SELECT语句中与HA VING子句同时使用的是()子句。 A.ORDER BY B.WHERE C.GROUP BY D.无需配合 11~15题使用如下数据: 当前盘当前目录下有数据库db_stock,其中有表stock的内容是: 股票代码股票名称单价交易所 600600 青岛啤酒7.48 上海 600601 方正科技15.20 上海 600602 广电电子10.40 上海 600603 兴业房产12.76 上海 600604 二纺机9.96 上海 600605 轻工机械14.59 上海 000001 深发展7.48 深圳 000002 深万科12.50 深圳 11、有如下SQL语句 create view stock_view as select * from stock where 交易所=”深圳” 执行该语句后产生的视图包含的记录个数是() A.1 B.2 C.3 D.4 12、有如下SQL语句

SQLSERVER操作命令

SQLSERVER数据库操作 ******操作前,请确定SQL的服务已经开启******** 一:登录进入sql数据库 1、开始---所有程序---Microsoft SQL Server 2005---SQL Server Management Studio Express 2、此时出现“连接到服务器”的对话框, “服务器名称”设置为SQL数据库所在机器的IP地址 “身份验证”设置为SQL Server身份验证或者Windows 身份验证 填写登录名和密码后,点击“连接”按钮,即可进入到SQL数据库操作界面。 二:新建数据库 登录进去后,右击“数据库”,选择—“新建数据库” 设置数据库名称,在下面的选项卡中还可以设置数据库的初始大小,自动增长,路径。 点击确定,一个数据库就建好了。 三:如何备份的数据库文件。 登录进入后,右击相应的需要备份数据库----选择“任务” 目标下的备份到,点击“添加”按钮可以设置备份数据库保存的路径。 四:如何还原备份的数据库文件。(以本地机器为例子) 1、设置服务器名称,点击右边的下拉框的三角,选择“浏览更多…”。 此时出现查找服务器对话框,选择“本地服务器”---点开“数据库引擎”前面 的三角---选中出现的服务器名称—确定。 (注:可以在“网络服务器”选项卡中设置网络服务器) 2、设置身份验证,选择为“windows身份验证” 3、点击连接按钮,进入数据库管理页面 4、右击“数据库”,选择“还原数据库”,出现还原数据库的对话框 还原的目标----目标数据库,这里设置数据库的名字 还原的源----选择“源设备”,在弹出的对话框中点击“添加”按钮,找到所备 份的数据库文件,确定。 5、此时,在还原数据库对话框中会出现所还原的数据库的信息。在前面选中所需还 原的数据库。确定。 6、为刚刚还原的数据库设置相应的用户。 a点开“安全性”---右击“登录名”---新建登录名 b 设置登录名(假如为admin),并设置为SQL Server身份验证,输入密码,去除 “强制实施密码策略”前的勾。 C 找到导入的数据库,右击此数据库----选择“属性”,在选择页中,点击“文件” 设置所有者,点击右边的按钮,选择“浏览”,找到相应的用户(如admin)。确 定。。 7、此时重新以admin的身份进入,就可操作相应的数据库。

SQLserver复习

1.SQL的视图是从()中导出的。 A.基本表 B. 视图 C. 基本表或视图 D. 数据库 2.建立索引的目的是()。 A.降低SQL Server数据检索的速度 B.与SQL Server数据检索的速度无关 C.加快数据库的打开速度 D.提高SQL Server数据检索的速度 3.向用户授予操作权限的SQL语句是()。 A.CTEATE B.REVOKE C.SELECT D.GRANT 4. 项目开发需要经过几个阶段,绘制数据库的E-R图应该在()阶段进行。 A. 需求分析 B. 概念模型设计 C. 详细设计 D. 代码编写 5. 关于SQL Server的注释类型以下说法正确的是()。 A. 单行注释以"--"开头 B. 单行注释以"**"开头 C. 多行注释以"-"开头,以"-"结束 D. 多行注释以"//"开头,以"//"结束 6. 模式查找like '_a%',下面哪个结果是可能的()。 A.aili B. bai C.bba https://www.doczj.com/doc/068830577.html,a 7. 在SQL中,建立索引用的命令是( )。 A.CREATE SCHEMA B.CREATE TABLE C.CREATE VIEW D.CREATE INDEX 8.安装MS SQL Server时,系统自动建立几个数据库,其中有一个数据库记录了一个SQL Server系统的所有系统信息,这个数据库是( ) A. master数据库 B.model数据库 C. tempdb数据库 D.pubs数据库 9. 建立如下数据库表: CREATE TABLE department ( DeptID int NOT NULL primary key, DeptName varchar (20) NOT NULL ) CREATE TABLE Employee ( EmployeeID int NOT NULL, DeptID int NOT NULL, Name varchar (20) NOT NULL ) 要想保证Employee表中每一个雇员(Employee)是唯一的,且只能属于在Department 表中已经存在的部门,最佳的做法是()。 A. EmployeeID 和DeptID 设为组合主键 B. EmployeeID设为主键,同时在DeptID列上创建一个外键约束

sqlserver日期时间函数

sql server日期时间函数 Sql Server中的日期与时间函数 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数。 select datediff(day,'2004-09-01','2004-09-18') --返回:17 4. datepart 返回代表指定日期的指定日期部分的整数。 SELECT DATEPART(month, '2004-10-15') --返回 10 5. datename 返回代表指定日期的指定日期部分的字符串 SELECT datename(weekday, '2004-10-15') --返回:星期五 6. day(), month(),year() --可以与datepart对照一下 select 当前日期=convert(varchar(10),getdate(),120) ,当前时间=convert(varchar(8),getdate(),114) select datename(dw,'2004-10-15') select 本年第多少周=datename(week,'2004-10-15') ,今天是周几=datename(weekday,'2004-10-15') 函数参数/功能 GetDate( ) 返回系统目前的日期与时间 DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1 DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期 DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值

(SQLServer)考试试题及答案

2013年(下)全国信息技术水平考试数据库应用系统设计技术水平证书 (SQL Server)考试试卷 第一大题:单选题(30 分) 1. (1分) 数据模型的三要素不包括()。 (A) 数据结构(B) 数据操作(C) 数据完整性约 束(D) 数据恢复 2. (1分) 数据的存储结构与数据逻辑结构之间的独立性称为数据的 ()。 (A) 结构独立性(B) 物理独立性(C) 逻辑独立 性(D) 分布独立性 3. (1分) 如果对于实体集A中的每一个实体,实体集B中可有多个实体与之联 系;反之,对于实体集B中的每一个实体,实体集A中也可有多个实体与之联系。则称实体集A与B具有()。 (A) 1:1联系(B) 1:n联系(C) n:m联 系(D) 多种联系 4. (1分) 当对关系R和S使用自然联接时,一般要求R和S至少含有一个共同的()。 (A) 元组(B) 关键字(C) 记 录(D) 属性 5. (1分) 若关系模式R(A,B,C,D,E)上的函数依赖集F={AB->C,A->D,A->E},为了满足BCNF,可以将R分解为()。 (A) R1(A,B,C,D) R2(A,E) (B) R1(A,B,C) R2(A,D,E) (C) R1(A,B,C) R2(D,E) (D) R1(A,B) R2(A,C,D,E) 6. (1分) SQL语言查询一次的结果是一个()。 (A) 元组(B) 表(C) 属性(D) 数据

库 7. (1分) 在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,则称函数依赖X→Y为()。 (A) 平凡函数依赖 (B) 部分函数依赖 (C) 完全 函数依赖 (D) 传递函数依赖 8 . (1分) 在Transact-SQL中,下列命令能让程序完全跳出循环的是( )。 (A) CASE (B) WAIT (C) BREAK (D) CONTINU E 9 . (1 分) 在Transact-SQL中,下列选项不属于数值型数据类型的是( )。 (A) NUMERIC (B) DECIMAL (C) INTEGER (D) DATE 10. (1分) 下列选项中,可以正确表达姓“张”的通配符是( )。 (A) 张 _ (B) 张 % (C) 张 ^ (D) 张& 1 1. (1 分) 下列聚合函数中正确的是( )。 (A) SUM (*) (B) MAX (*) (C) COUNT (*) (D) AVG (*) 12. (1 分) 如果某一列的数据类型是FLOAT,则不允许对该列使用的函数是( )。 (A) SUM (B) ABS (C) LEFT (D) ROUND 13 . (1 分 ) 在SQL的SELECT语句中,与投影运算对应的子句是( )。 (A) SELECT (B) FROM (C) WHERE (D) GROU P BY 14. (1 分) 在SQL语言中,给表起别名应使用( )。 (A) AS (B) RENAME (C) SET (D) FOR 15. (1分) 在SELECT语句中使用GROUP BY SNO时,SNO必须() 。 (A) 在WHERE中出现 (B) 在FROM中出现

SqlServer存储过程基本语法

动态语句基本语法 1 :普通SQL语句可以用exec执行 Select * from tableName exec('select * from tableName') exec sp_executesqlN'select * from tableName' -- 请注意字符串前一定要加N 2:字段名,表名,数据库名之类作为变量时,必须用动态SQL declare @fnamevarchar(20) set @fname = 'FiledName' Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。exec('select ' + @fname + ' from tableName') -- 请注意加号前后的单引号的边上加空格 当然将字符串改成变量的形式也可 declare @fnamevarchar(20) set @fname = 'FiledName' --设置字段名 declare @s varchar(1000) set @s = 'select ' + @fname + ' from tableName' exec(@s) -- 成功 exec sp_executesql @s -- 此句会报错 declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000) set @s = 'select ' + @fname + ' from tableName' exec(@s) -- 成功 exec sp_executesql @s -- 此句正确 3. 输出参数 declare @numint, @sqlsnvarchar(4000) set @sqls='select count(*) from tableName' exec(@sqls) --如何将exec执行结果放入变量中? declare @numint, @sqlsnvarchar(4000) set @sqls='select @a=count(*) from tableName ' execsp_executesql @sqls,N'@aint output',@num output select @num 1 :普通SQL语句可以用Exec执行例: Select * from tableName Exec('select * from tableName')

Sqlserver2005数据库练习题(1)

Sqlserver2005数据库练习题 第1章数据库技术基础 1.简述数据库、数据库管理系统、数据库系统的含义? 2.简述数据库、数据库管理系统、数据库系统之间的联系? 3.简单描述层次模型、网状模型、关系模型的含义? 4.简述一个学生都包含哪些属性? 5.对于一个学生表来说学生姓名是否可以作为主键,为什么? 6.描述你所在的班级都有哪些实体? 第2章安装Sql Server 2005与服务器管理 1.安装sqlserver 2005需要计算机的最低配置是什么? 2.x86操作系统是什么概念? 3.x64操作系统是什么概念? 4.安装数据库时应该选择什么样的操作系统? 5.开始安装时需要有哪些准备工作? 6.开始安装界面中的其他信息是什么意思? 7.用户许可协议必须为接受么? 8.用户许可协议是否可以打印? 9.系统配置界面中需要检查哪些项? 10.详细信息中哪些项要求必须安装成功才能进行下一步的操作? https://www.doczj.com/doc/068830577.html,+目录指的是什么? 12.iis功能要求指的是什么? 13.mdac版本的最低要求是什么? 14.实例名中的默认实例是什么含义? 15.实例名中的命名实例是什么含义? 16.服务器名指的是什么? 17.服务帐户中使用内置系统帐户是什么含义? 18.服务帐户中使用域帐户是什么含义? 19.安装结束时启动服务包括什么? 20.sqlserver2005提供的服务有哪些? 21.安装结束后,哪些服务要求必须启动? 22.ms sqlserver是什么服务? 23.sql server agent是什么服务? 24.sql server analysis services是什么服务? 25.sql server browser是什么服务? 26.如何对服务进行启动、暂停和停止操作? 27.启动数据库时需要做什么工作? 28.如何注册数据库? 29.如何删除注册的服务? 30.如何更改数据库的登陆模式?

SQLServer单科测试题(带答案)

选择题(每题2分,共计100分) 1.在SQL Server中,要防止大于100的数被保存到int类型的列,可以使用()。 -------------------------------------- 2.装-------------------------------------- 3. 4.订------------------------------ 5.线---------------------------------------- 6. 7. 8.A.主键约束 B.限制约束 C.外键约束 D.检查约束 在SQL Server中,下面关于数据完整性的描述正确的是()。[选两项] A.如果数据库中没有重复的数据,数据就是完整的 B.维护数据完整性就是保证数据的准确性 C.数据库中数据越详细越符合数据完整性 D.维护数据完整性可以保证数据的一致性,避免出现没有意义的数据 在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。

A.master B.model C.msdb D.pubs 在SQL Sever 2005中,假设表users包含主键列id,那么执行”update users set id=20 whereid=30”,执行的结果可能有()。 A.如果表中含有id为30的记录,但不包含id为20的记录,则更新失败 B.执行出错,因为主键列不可以被更新 C.如果表中同时含有id为20和id为30的记录,则更新失败。 D.如果表中不包含id为20和id为30的记录,则更新一行记录 在SQLServer2005数据库中,使用update语句更新数据库表中的数据,以下说法正确的是()。 A.每次只能更新一行数据 B.每次可更新多行数据 C.如果没有数据项被更新,将提示错误消息 D.更新数据时,必须带有WHERE条件句子 关于数据完整性,以下说法正确的是()。[选两项] A.引用完整性通过主键和外键之间的引用关系实现 B.引用完整性通过限制数据类型、检查约束等实现 C.数据完整性是通过数据操纵者自身对数据的控制来实现的 D.如果两个表中存储的信息相互关联,那么只要修改了一个表,另外一个表也要做出相应的修改,则称该这两个表中的数据具备完整性

sqlserver常用函数

Sql Server 常用函数 1,统计函数avg, count, max, min, sum 2, 3,多数聚会不统计值为null的行。可以与distinct一起使用去掉重复的行。可以与group by 来分组4, 5, 2,数学函数 6, 7, SQRT 8, ceiling(n) 返回大于或者等于n的最小整数 9, floor(n), 返回小于或者是等于n的最大整数 10,round(m,n), 四舍五入,n是保留小数的位数 11,abs(n) 12,sign(n), 当n>0, 返回1,n=0,返回0,n<0, 返回-1 13,PI(), 3.1415.... 14,rand(),rand(n), 返回0-1之间的一个随机数 15,3,字符串函数 16, 17,ascii(), 将字符转换为ASCII码, ASCII('abc') = 97 18,char(), ASCII 码转换为字符 19,low(),upper() 20,str(a,b,c)转换数字为字符串。a,是要转换的字符串。b是转换以后的长度,c是小数位数。 str(123.456,8,2) = 123.46 21,ltrim(), rtrim() 去空格 22,left(n), right(n), substring(str, start,length) 截取字符串 23,charindex(子串,母串),查找是否包含。返回第一次出现的位置,没有返回0 24,patindex('%pattern%', expression) 功能同上,可是使用通配符 25,replicate('char', rep_time), 重复字符串 26,reverse(char),颠倒字符串 27,replace(str, strold, strnew) 替换字符串 28,space(n), 产生n个空行 29,stuff(), SELECT STUFF('abcdef', 2, 3, 'ijklmn') ='aijklmnef', 2是开始位置,3是要从原来串中删除的字符长度,ijlmn是要插入的字符串。 30,3,类型转换函数: 31, 32,cast, cast( expression as data_type), Example: 33,SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales FROM titles WHERE CAST(ytd_sales AS char(20)) LIKE '3%' 34,convert(data_type, expression) 35,4,日期函数 36, 37,day(), month(), year() 38,dateadd(datepart, number, date), datapart指定对那一部分加,number知道加多少,date指定在谁的基础上加。datepart的取值包括,

SQLServer数据库管理-复习题

一、单选题 (说明:每题有且仅有一个正确答案,正确答案必须填入下表,否则不给分。) 1. 在Transcat-SQL语句中,一个select语句中,()。 A、最多可以使用六个表 B、最多可以使用四个表 C、最多可以使用二个表 D、对表的数目没有限制 2. 在SQL SERVER 2008中,要给查询出的结果集按照升序排序可以使用()子句。 A 、Having B、Order by C、distinct D、Group by 3.你使用以下T-SQL语句创建了一个数据库benet和一个表students, create database benetcreate table students(id int,stuname nchar(10))请问这两个语句是:( ) A、DDL(数据定义语言) B、DML(数据操纵语言) C、DCL(数据控制语言) 4.Northwind数据库中有一张Customers表用于存放公司的客户信息,现在数据库管理员想通过使用一条SQL语句列出所有客户所在的城市,而且列出的条目中没有重复项,那么他可以在SELECT City FROM Customers语句中使用()关键词。 A、TOP B、DISTINCT C、DESC D、ASC 5.关于创建数据库的说法正确的是:( ) A、新创建的数据库中不包含表对象 B、新创建的数据库中包含model数据库中的表对象 C、创建数据库应估算实际使用的大小,并一次性定义好需要的空间,否则数据增长将导致数据库不可 用 D、创建数据库时,应该将数据库文件分成多个,以实现冗余 6.数据库管理员创建了一个设备清单表格,包括以下几项:编号,名称,类型,价格,规格,数量。请问最适合做表格主键的是:( ) A、名称 B、类型,名称 C、编号,类型 D、规格,价格 7.SQL Server 2008的数据结构模型属于()模型。 A、网状 B、层次 C、树状 D、关系 8.以下关于SQL Server 2008中的视图和存储过程说法不正确的是:( ) A、存储过程可以比相同的T-SQL代码执行速度快 B、视图可以包含来自多个表中的列 C、视图中不包含任何存放在基表中的数据 D、存储过程中不能包含大量的T-SQL代码 9.执行语句:SELECT * from Item as a right outer join orderdetails as b on a.icode=b.itemcode将返回:( ) A、item 表和orderdetails表中的相关记录以及orderdetails表中其余的不相关记录 B、item 表和orderdetails表中的相关记录 C、item 表和orderdetails表中的相关记录以及item表中其余的不相关记录 10.引用完整性规则是针对()而言的。 A、外键 B、主键 C、非主属性 D、编号 11.SQLServer2008的组件中用来进行综合管理的是( ) A、事件探查器 B、联机丛书 C、查询分析器 D、企业管理器 12.主要用来执行Transact-SQL语句的是()。 A、事件探查器 B、联机丛书 C、查询分析器 D、企业管理器13.多表查询中定义表的别名的关键字是:() A、join B、on C、as D、where 14.你是公司的数据库管理员,数据库benet中有个员工表employees,该表中有职务列。你想检查哪些员工的信息中没有填写职务一栏,应该使用子句:( ) A、Select * from employees where 职务=NULL B、Select * from employees where 职务=’NULL’ C、Select * from employees where 职务IS NULL D、Select * from employees where 职务IS ‘NULL’ 15.数据库管理员小明希望将旧服务器上的数据库转移到新购置的服务器上,该如何做:( ) A、将原有服务器上的数据库文件剪切至移动硬盘上,再复制到新服务器上 B、将原有服务器上的数据库文件备份至移动硬盘上,再复制到新服务器上 C、将原有服务器上的数据库文件分离,再复制到新服务器上,在新服务器上执行附加的操作 D、将原有数据库服务器上的硬盘安装在新服务器上 16.执行语句select len(‘hello’)的结果是:( ) A、7 B、hello hai C、5 D、hello 17.下面哪一项不属于关系数据库中的完整性规则:( ) A、实体完整性规则 B、索引完整性规则 C、引用完整性规则 D、数据完整性规则 18.你是某软件公司的SQL Server 2008数据库管理员,一天公司一名开发工程师说他无法使用sa帐号连接到公司用于测试的SQL Server 2008数据库服务器上,当进行连接时出现如下图所示的错误信息: 但是当他使用自己的域用户帐时却可以登录到该服务器上,那么产生这种情况最有可能的原因是:( ) A、该SQL Server服务器上的sa帐户被禁用 B、管理员误删除了该SQL Server上的sa帐户 C、该SQL Server使用了仅Windows的身份验证模式 D、没有授予sa帐户登录该服务器的权限 19.使用SQL命令将教师表teacher中工资salary字段的值增加200,应该使用的命令是()。 A、Replace salary with salary+200 B、Update teacher salary with salary+200 C、Update teacher set salary=salary+200 D、Update set salary with salary+200 20 . 当今常用的数据库有()。 A、SQLServer B、Sysbase C、ACCESS D、OFFICE 21.主要用来执行Transact-SQL语句的是()。 A、事件探查器 B、查询分析器 C、联机丛书 D、企业管理器 22.SQLServer服务器组和SQLServer服务器之间的关系是() A、SQLServer服务器组可以包含SQLServer服务器和SQLServer服务器子组 B、SQLServer服务器组不能包含SQLServer服务器

SQLServer数据库期末复习试题试卷及答案

现有关系数据库如下: 数据库名:教学数据库(Teacher) 教师信息表(教师编号,姓名,性别,民族,职称,身份证号) 课程信息表(课程号,课程名,标准课时数) 任课信息表(教师编号,课程号,实际课时数) 一、用SQL语言实现下列功能 1.创建数据库。 要求:数据库名为Teacher,主数据文件名为Teacher_data.MDF,存放在C:\目录下,初始值大小为2MB,增长方式为按照10%的比例增长;日志文件名为Teacher_log.LDF,存放在C:\目录下,初始值大小为1MB,增长方式为按照1MB的增量增长。 2.创建教师信息表Teacherinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Teacher_Id char 6 主键教师编号 Teacher_Name nvarchar 8 不允许空姓名 Sex nchar 2 检查(男/女) 性别 Birth_Place nvarchar 20 默认值(汉族) 民族 Zhicheng nvarchar 20 不允许空职称 H_Id char 16 唯一身份证号 3.创建课程信息表Courseinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Course_Id char 5 主键课程号 Course_Name nvarchar 20 不允许空课程名 B_Hours Int 检查(0~200)标准课时数 4.创建任课信息表TCinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Id int 自动编号 Teacher_Id char 6 外键教师编号 Course_Id char 5 外键课程号 S_Hours Int 实际课时数 5.将下列课程信息添加到课程表中: 课号课程名称课时数 30001 SQL Server数据库 90 30002 数据结构 60 30003 VB程序设计 72

SQLSERVER函数大全

SQL SERVER函数大全 SQL SERVER命令大全 SQLServer和Oracle的常用函数对比 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001) value O:select floor(-1.001) value from dual 4.取整(截取) S:select cast(-1.002 as int) value O:select trunc(-1.002) value from dual 5.四舍五入 S:select round(1.23456,4) value 1.23460 O:select round(1.23456,4) value from dual 1.2346 6.e为底的幂 S:select Exp(1) value 2.7182818284590451 O:select Exp(1) value from dual 2.71828182 7.取e为底的对数 S:select log(2.7182818284590451) value 1 O:select ln(2.7182818284590451) value from dual; 1 8.取10为底对数 S:select log10(10) value 1 O:select log(10,10) value from dual; 1 9.取平方 S:select SQUARE(4) value 16 O:select power(4,2) value from dual 16

SQLServer语句优化

SQLServer语句优化 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 我们把这种正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。 需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。 下面的表总结了何时使用聚集索引或非聚集索引(很重要): 动作描述使用聚集索引使用非聚集索引 列经常被分组排序应应 返回某范围内的数据应不应 一个或极少不同值不应不应 小数目的不同值应不应 大数目的不同值不应应 频繁更新的列不应应 外键列应应 主键列应应 频繁修改索引列不应应 事实上,我们可以通过前面聚集索引和非聚集索引的定义的例子来理解上表。如:返回某范围内的数据一项。比如您的某个表有一个时间列,恰好您把聚合索引建立在了该列,这时您查询2004年1月1日至2004年10月1日之间的全部数据时,这个速度就将是很快的,因为您的这本字典正文是按日期进行排序的,聚类索引只需要找到要检索的所有数据中的开头和结尾数据即可;而不像非聚集索引,必须先查到目录中查到每一项数据对应的页码,然后再根据页码查到具体内容。 结合实际,谈索引使用的误区 理论的目的是应用。虽然我们刚才列出了何时应使用聚集索引或非聚集索引,但在实践中以上规则却很容易被忽视或不能根据实际情况进行综合分析。下面我们将根据在实践中遇到的实际问题来谈一下索引使用的误区,以便于大家掌握索引建立的方法。 1、主键就是聚集索引 这种想法笔者认为是极端错误的,是对聚集索引的一种浪费。虽然SQL SERVER默认是在主键上建立聚集索引的。 通常,我们会在每个表中都建立一个ID列,以区分每条数据,并且这个ID列是自动增大的,步长一般为1。我们的这个办公自动化的实例中的列Gid就是如此。此时,如果我们将这个列设为主键,SQL SERVER会将此列默认为聚集索引。这样做有好处,就是可以让您的数据在数据库中按照ID进行物理排序,但笔者认为这样做意义不大。 显而易见,聚集索引的优势是很明显的,而每个表中只能有一个聚集索引的规则,这使得聚集索引变得更加珍贵。 从我们前面谈到的聚集索引的定义我们可以看出,使用聚集索引的最大好处就是能够根据查询要求,迅速缩小查询范围,避免全表扫描。在实际应用中,因为ID号是自动生成的,我们并不知道每条记录的ID号,所以我们很难在实践中用ID号来进行查询。这就使让ID号这个主键作为聚集索引成为一种资源浪费。其次,让每个ID号都不同的字段作为聚集索引也不符合“大数目的不同值情况下不应建立聚合索引”规则;当然,这种情况只是针对用户经常修改记录内容,特别是索引项的时候会

SQLSERVER试题

**学院课程考试试卷 课程名称:《SQLServer:数据库设计和高级查询》(A)卷 年级:班级: 1. 授予用户teacher对Score表的插入和修改的权限,正确的授权语句是()。 A. GRANT INSERT,UPDATE TO TABLE Score ON teacher B. GRANT INSERT AND UPDATE TO TABLE Score ON teacher C. GRANT INSERT,UPDATE ON Score TO teacher D. GRANT INSERT AND UPDATE ON Score TO teacher 2. 建立如下数据库表: CREATE TABLE department ( DeptID int NOT NULL primary key, DeptName varchar (20) NOT NULL ) CREATE TABLE Employee ( EmployeeID int NOT NULL, DeptID int NOT NULL, Name varchar (20) NOT NULL ) 要想保证Employee表中每一个雇员(Employee)是唯一的,且只能属于在Department表中已经存在的部门,最佳的做法是()。 A. EmployeeID 和DeptID 设为组合主键 B. EmployeeID设为主键,同时在DeptID列上创建一个外键约束 C. EmployeeID设为主键,同时在DeptID列上创建一个检查约束 D. 在DepartmentID列上创建一个唯一约束,同时在DeptID列上创建一个外键约束 3. 建立一张员工表(employee),当向表中插入数据时,若不提供入职时间(beginTime),就把系统当前时间自动作为员工入职时间插入数据库中,以下说法正确的是()。 A. 约束中不能使用各种函数,所以只能使用触发器来实现 B. 可以使用CHECK约束实现,默认值采用日期函数getDate() C. 入职时间必须设为日期类型 D. 可以使用DEFAULT 约束实现,默认值采用日期函数getDate() 4. 为了加快对某表的访问速度,应对此表建立()。 A. 约束 B. 存储过程 C. 规则 D. 索引 5. 假设有表student的设计如下: ID(学号) Name(姓名) Address(家庭住址) Department(所在系) DepartmentHead(系主任) 该表最高满足第()范式。 A. 1NF B. 2NF C. 3NF D. 不满足任何范式 6. 为数据库中一个或多个表的数据提供另一种查看方式的逻辑表被称为()。

相关主题
文本预览
相关文档 最新文档