SQLServer数据库技术复习

SQLServer数据库技术复习
SQLServer数据库技术复习

SQL Server 数据库技术》期末复习题型一:

一、单项选择题(每小题2分,共30 分)

二、填充题(15 分)

三、简答题(每题5分,共25 分)

四、程序设计题(每题15 分,共30分)

题型二:

一、单项选择题(每小题2分,共30 分)

二、填充题(10 分)

三、判断题(每小题1分,共10 分)

四、简答题(每题5分,共20 分)

五、程序设计题(每题15 分,共30分)

1. SQL Server 2000 是一个( )的数据库系统。

(A)网状型 (B)层次型 (C)关系型 (D)以上都不是

2. DTS 是一个简称,它的全称是( )。

A. 数据运输系统

B. 数据传输服务

C. 数据库传输系统

D. 数据库运输服务

3. SQL Server 2000 采用的身份验证模式有( )。

(A)仅Windows身份验证模式

(B)仅SQL Server身份验证模式

(C)仅混合模式

(D)Windows身份验证模式和混合模式

4. SQL 语言按照用途可以分为三类,下面选项中哪一种不是的:( )

(A)DML(B) DCL ( C) DQL( D) DDL

5. 在SELECTS句的WHER子句的条件表达式中,可以匹配0个到多个字符的通配符是( )

( A) * ( B) % ( C) - ( D) ?

6. 下列哪个数据库记录了SQL Server 2000的所有系统信息?( )

A. master

B. model

C. pubs

D. msdb

7. 以下那种类型能作为变量的数据类型( )。

( A) text ( B) ntext ( C) table ( D) image

8. 下面不属于数据定义功能的SQL语句是:()

A. CREATE TABLE

B.CREATE DATABASE

C.UPDATE

D.ALTER TABLE

9. 如果希望完全安装SQL Server,则应选择()。

A. 典型安装

B. 最小安装

C. 自定义安装

D. 仅连接

10. 打开要执行操作的数据库,应该用哪个SQL 命令?( )

A. USE

B. GO

C. EXEC

D. DB

1. C

2.B

3.D

4.C

5.B

6.A

7.C

8.C

9.A 10.A

1、下面仅存在于服务器端的组件是:( )

A、服务管理器

B、企业管理器组件

C、查询分析器组件

D、导入导出组件

2、下面描述错误的是( )。

A、每个数据文件中有且只有一个主数据文件。

B日志文件可以存在于任意文件组中。

C主数据文件默认为primary文件组。?

D文件组是为了更好的实现数据库文件组织。

3、SQL Server 2000 企业版可以安装在操作系统上。

A、Microsoft Windows 98

B、Microsoft Windows 2000 Professional

C、Microsoft Windows 2000 Server

D、Microsoft Windows XP

4、下面字符串能与通配符表达式[ABC]_a进行匹配的是:()。

A、BCDEF

B、A_BCD

C、ABa

D、A%a

5、下面是合法的smallint 数据类型数据的是:()。

A、223.5 B 、32768 C 、-32767 D、58345

6、SQL Server 2000 中的数据以页为基本存储单位,页的大小为()

A、8KB B 、16KB C 、32KB D 、64KB

7、新安装SQL Server 后,默认有六个内置的数据库,其中的两个范例数据库

是Pubs 和()。

A、master B 、NorthWind C 、msdb D 、bookdb

8 SQL Server的字符型系统数据类型主要包括()。

A、Int、money、char

B、char、varchar、text

C、datetime、binary、int

D、char、varchar、int

9、SQL server 数据库文件有三类,其中主数据文件的后缀为:

A、.ndf B 、.ldf C 、.mdf D 、.idf

10、S ELECT 语句中与HAVING 子句通常同时使用的是()子句。

A、ORDER BY

B、WHERE

C、GROUP BY

D、无需配合

11、要删除mytable 表中的myindex 索引,可以使用()语句。

A、DROP myindex B 、DROP mytable.myindex

C、DROP INDEX myindex D 、DROP INDEX mytable.myindex

12、关于主键描述正确的是:()

A、包含一列

B、包含两列

C、包含一列或者多列D以上都不正确

13、S ELECT 查询中,要把结果中的行按照某一列的值进行排序,所用到的子句是:

A、ORDER BY

B、WHERE

C、GROUP BY

D、HAVING

1. A

2.B

3.C

4.C

5.C

6.A

7.B

8.B

9.C 10. 10.C 11.D 12.C 13.A

1、DBMS 是什么?( )

(A)操作系统(B)数据库管理系统(C)数据库(D)数据库管理员

2 、SQL Server 2000 是一个( )的数据库系统。

(A)网状型(B)层次型(C)关系型(D)以上都不是

3、SQL Server 2000 采用的身份验证模式有( )。

(A)仅Windows身份验证模式

(B)仅SQL Server身份验证模式

(C)仅混合模式

(D)Windows身份验证模式和混合模式

4、关于主键描述正确的是: ( )

(A)包含一列(B)包含两列(C)包含一列或者多列(D)以上都

不正确

5、下列( )数据库不属于SQL Server 2000 在安装时创建的系统数据库。( A) master ( B) NorthWind ( C) model ( D) bookdb

6. SQL 语言按照用途可以分为三类,下面选项中哪一种不是的:( )

(A) DML(B) DCL ( C) DQL( D) DDL

7. 以下哪种类型不能作为变量的数据类型( )。

( A) text ( B) ntext ( C) table ( D) image

8 SQL Server的字符型系统数据类型主要包括( )。

( A) Int、money、char ( B) char、varchar、text

( C) datetime、binary、int ( D) char、varchar、int

9、在SELECT 语句的WHERE 子句的条件表达式中,可以匹配0 个到多个字

符的通配符是( )

( A) * ( B) % ( C) -

( D) ?

10. SQL Server 2000 提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQL Server 的 4 种服务的是( )。

(A)企业管理器(B)导入和导出数据(C)事件探察器 (D)服务管理器

11、SELECT 查询中,要把结果中的行按照某一列的值进行排序,所用到的子句是:

(A) ORDER BY (B) WHERE ( C) GROUP BY (D) HAVING

12、要删除视图myview,可以使用( )语句。

( A) DROP myview ( B) DROP TABLE myview

(C) DROP INDEX myview ( D) DROP VIEW myview

13、对视图的描述错误的是: ( )

(A) 是一张虚拟的表

(B ) 在存储视图时存储的是视图的定义 (C ) 在存储视图时存储的是视图中的数据 (D ) 可以像查询表一样来查询视图

1. B

2.C

3.D

4.C

5.D

6.C

7.C

8.B

9.B 10.D 11.A 12.D 13.C

1、在 SQL Server 2000的工具中,用于输入和执行 Transaction-SQL 语句, 并迅速查看这些语句的执行结果的工具是( )。

A. 服务管理器

B. 查询分析器

C. 联机分析

D. 服务器网络实 用工具

2、 可以设置本机作为SQL Server 服务器时允许的连接协议的工具是()。 A. 服务管理器 B. 查询分析器 C. 联机分析 D. 服务器网络实 用工具

3、 下列哪一项不是 SQL Server 2000网络采用的通信协议?( ) A. 命名管道协议 B. TCP/IP 协议 C. 共享内存协议 D.

VIA 协议

4、 下列哪一项不是SQL Server 所具有的功能?() A. 协调和执行客户对数据库的所有服务请求指令 B. 管理分布式数据库,保证数据的一致性和完整性 C. 降低对最终用户查询水平的要求 D. 对数据加锁,实施并发性控制

5、 下列哪个数据库记录了 SQL Server 2000的所有系统信息?( ) A. master

B. model

C. pubs

D. msdb

6下列哪个数据库是SQL Server 在创建数据库时可以使用的模板?( )

A. master

B. model

C. pubs

D. msdb 7、下列哪一项不是事务日志文件所具有的功能( )?

B. tinyint

C. bigint

D. decimal

A. 帮助用户进行计算和统计 C. 维护数据完整性

8、如果数据表中的某列值是从 据类型( )?

B. 记载用户针对数据库进行的操作 D. 帮助用户恢复数据库

0到 255的整型数据,最好使用下列哪种数 A. int

9、下面哪种数据库类型用来定义固定长度的非Unicode 字符数据?且最大长度不能超过8000 个字符()。

A. varchar

B. nchar

C. char

D. nvarchar

10、下列哪种数据类型的列不能设置标识属性(IDENTITY 列)()。

A. decimal

B. int

C. bigint

D. char

11、下列哪种角色的用户具有最大的权限,可以执行SQL Server 2000的任何操作()?

A. Security Administrators

B. Server Administrators

C. Setup Administrators

D. System Administrators

12、下列哪种函数用于返回当前系统日期和时间?()

A. DAY

B. DAGENAME

C. YEAR

D. GETDATE

13、下列哪种语句可以删除数据表()。

A. DROP DATABASE

B. CREATE TABLE

C. ALTER TABLE

D. DROP TABLE

1. B

2.D

3.D

4.C

5.A

6.B

7.A

8.B

9.C 10.D 11.D 12.D 13.D

1、在SQLServer 2000 的工具中,用于输入和执行Transaction-SQL 语句,并迅速查看这些语句的执行结果的工具是()。

A. 服务管理器

B. 查询分析器

C. 联机分析

D. 服务器网络实用工具

2、下列哪种数据类型的列不能作为索引的列()?

A. char

B. image

C. int

D. datetime

3、如果数据表中的某列值是从0 到255的整型数据,最好使用下列哪种数据类型()?

A. int

B. tinyint

C. bigint

D. decimal

4、在哪种索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同()?

A. 聚簇索引

B. 非聚簇索引

C. 两者都是

D. 两者都不是

5、数据库备份设备是用来存储备份数据的存储介质,下面()设备不属于常见的备份设备类型。

A. 磁盘设备

B. 软盘设备

C. 磁带设备

D. 命名管道设备

6、在下列情况下,SQL Server 可以进行数据库备份的是()。

A. 创建或删除数据库文件时

B. 创建索引时

7、在下列( )情况下,可以不使用日志备份的策略。

A. 数据非常重要,不允许任何数据丢失

B. 数据量很大,而提供备份的存储设备相对有限

C. 数据不是很重要,更新速度也不是很快

D. 数据更新速度很快,要求精确恢复到意外发生前几分钟 8可以将下列(

)类型的数据文件导入到SQL Server 数据库文件中。

A.电子表格文件

B.文本文件

C. MySql 数据文件

D.以上均可 9、不能将SQL Serve 数据库中的数据导出到下列( )格式

或类型的文件中。

A. Excel 文件

B. Word 文件

C. Access 文件

文件

10、

DTS 提供了许多任务,其中不包括(

)。 A.数据复制

B.数据转换

C.通知状况

11、 下列哪个是sql server 内置的示例数据库

A.n orthwi nd

B.master

C.model 12、打开要执行操作的数据库,应该用哪个 SQL 命令?( A. USE

B. GO

C. EXEC

13、下列哪个关键字在SELECT 语句中表示所有列?( )

1. B

2.B

3.B

4.A

5.B

6.D

7.C

8.D

9.B 10.C 11.A 12.A 13.A

二、填空题

1. SQLServer 2000是一个数据库管理系统,其版本主要包括 ______ 、 ______ 个人版和开发版 。

2?每个SQL Server 都包含了两种类型的数据库:系统数据库和 _________ 。 3.

收缩数据库即为删除

已经分配但尚未使用 的页,

D. Oracle 数据库

D.数据备份 D.temp ) D. DB

A. *

B. ALL

C. DESC

D. DISTINCT

从而更好地利用存储空

间。其方法主要有自动收缩和_________ 两种。

4. SQL Server中提供了________ 约束和惟一性约束来维护实体完整性;提供

了主键和 _____ 约束来维护参照完整性;

5. 如果要计算表中数据的平均值,可以使用的聚合函数是___________ 。

6. 针对不同数据库系统的实际情况,SQL Server 2000提出了4种数据库备份

类型,它们是:全库备份、日志备份、—及____________________ 。

7. SQL语言的全称是___________ ,它是目前使用最为广泛的关系数据库查询

8. 在SQL Server 2000中,我们创建数据库的语句是________ ,而修改数据库的语句是___________ 。

9. SQL语言的功能包括数据定义、_________ 、________ 和_ 4个方面。

1. 企业版标准版

2.用户数据库

3.手动

4.主键外键

5. AVG函数

6. 差异备份文件和文件组备份

7.结构化查询语言

8. CREATE DATABASE ALTER DATABASE 9.数据查询、数据操纵、数据控制

1、SQL Server服务包括有______ 、__________ 、Microsoft Search 和MS DTC 服务。

2、在Microsoft SQL Server 2000系统中,数据库备份的类型包括:数据库备份、

__________ 、 _________ 和______________ 。

3、SQL Server有两类数据库,_______ 和用户数据库。其中为新的用户数据库

提供模板的系统数据库是。

4、向表中添加数据应使用命令,更新数据应使用_______ 命令。

5、索引是SQL Server在列上创建的一种数据库对象。索引对表中的数据提

供__________ ,可以提高数据的访问速度,但过多地建立索引会 _ _。

6、针对不同数据库系统的实际情况,SQL Server 2000提出了4种数据库备份

类型,它们是:全库备份、、 _________ 及文件和文件组备份。

7、数据库的访冋权是通过映射一一和 _________ 一之间的关系来实现的。1. SQL Server月艮务SQL Server Agent月艮务(或代理服务)

2. 事务日志备份差异备份文件和文件组备份

1、 SQL Server 2000中常用的管理和开发工具有服务管理

器、 _________ 、 _____ 、服务器端与客户端网络实用工具 和导入和导出

数据DTS 等。

2、 从物理结构层次上说,SQL Server 2000数据库是由两个或多个文件组成, 根据文件的作用,可以将这些文件分为 3类: __________ 、 ____________ 、

和 ___________ 。 3、_

—记录了 SQL Server 所有的事务和由这些事务引起的数据库的变化,

它是维护数据库完整性的重要工具。

4、 数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态的 功能,这种功能是通过 __________ 与 _________ 机制实现的。

5、 DTS 设计器和DTS 导入/导出向导一样,都是在同构或者异构数据源之间进 行 ___________ 、 ___________ 和传输数据库对象的工具。

1、 在一个表中主键的个数为: _______ 。

2、 角色是一组用户所构成的组,可以分为服务器角色和 ___________ 色。

3、 如果要计算表中的行数,可以使用聚合函数 __________ 。

4、 在SQL Server 2000中修改表的结构应使用关键字 , 修改表中的数

据应使用关键字 ___________ 。

5. 在Microsoft SQL Server 2000系统中,数据库备份的类型包括:数据库备份、 __________ 、 _________ 和 _______________ 。

1. 企业管理器

2. 主要数据文件

3.

日志文件 4.

5.数据的转换 查询分析器

次要数据文件 数据库的备份

数据格式的转换 事务日志文件 恢复

6. 在SQL Server 2000中,我们创建数据库的语句是________ ,而修改数据库的语句是___________ 。

7. 在SQL Server 2000 中,约束有非空约

束、___________ 、_________ 、_______ 、__________ 和 _______ 等6种类型。

1. 1

2. 数据库

3. count

4. ALTER UPDATE

5. 事务日志备份差异备份文件和文件组备份

6. CREATE DATABASE ALTER DATABASE

7. 默认约束主键约束外键约束检查约束唯一性约束

1、每个SQL Server都包含了两种类型的数据库:________ 和_________ 。

2、收缩数据库即为删除 __________ 的页,从而更好地利用存储空间。其方法

主要有____________和___________ 两种。

3、数据库恢复是指 _________ 。能够恢复到什么状态是由_________ 决定的。

4、执行数据库修改操作的时候,SQL Server总是遵守“先写_________ 再进行_____________ ”的原则。

5、创建视图的命令语句是。

1. 系统数据库用户数据库

2. 已经分配但尚未使用自动收缩手动收缩

3. 把遭到破坏、丢失的数据或出现重大错误的数据库恢复到原来正常的状

态备份

简答题

1简述数据库用户的作用及其与服务器登录账号的关系。

答:数据库用户是用来指出哪一个人可以访问哪一个数据库。数据库的访问权是通过映射

数据库的用户和登录账户之间的关系来实现的。当登录账户通过了NT或SQL Server认证后,必须设置数据库用户才可以对数据库及其对象进行操作。一个登录账户在不同的数据库中可以映射成不同的数据库用户,从而可以具有不同的权限。

2、为什么需要在停止运行SQL Server之前先暂停SQL Server?

答:因为一旦暂停SQL Server,将不再允许任何新的上线者,然而原先已联机到SQL Server

的用户仍然能继续作业,这样可以确保原来正在进行中的作业不会中断,而可以持续进行并加以完成。

3、简述数据库用户的作用及其与服务器登录账号的关系。

答:数据库用户是用来指出哪一个人可以访问哪一个数据库。数据库的访问权是通过映射

数据库的用户和登录账户之间的关系来实现的。当登录账户通过了NT或SQL Server认证后,必须设置数据库用户才可以对数据库及其对象进行操作。一个登录账户在不同的数据库中可以映射成不同的数据库用户,从而可以具有不同的权限。

4、为什么说角色可以方便管理员集中管理用户的权限?

答:SQL Server管理者将操作数据库的权限赋予角色,然后再将数据库用户或登录账户设置为某一角色,从而使数据库用户或登录账户拥有了相应的权限。当若干个用户都被赋予同一个角色时,它们就都继承了该角色拥有的权限,若角色的权限变化了,这些相关的用户权限也都会发生相应的变化。因此,通过角色可将用户分为不同的类,相同类用户(相同角色的成员)进行统一管理,赋予相同的操作权限。从而方便管理员集中管理用户的权限。

5、试述Select语句中Where与having的相同点与不同点(区别)。

答:类似处:都是筛选数据。

不同之处:1)使用的前提不同:where条件可以随意使用,having条件只能在分组group by 子句中出现。2)作用的对象不同:where条件作用于整个表,从中选择满足条件的元组;而having只作用于每个组,从中选择出满足条件的组。3)Having条件必须是描述分组性

质的属性。

6、使用SELECT语句时,在选择列表中更改列标题有哪3种格式?

答:用户可以通过指定列的列名来改变查询结果的列标题,这对于含算术表达式、常量、

函数名的目标列表达式尤为有用。修改列标题的方法有三种格式:

⑴采用“标题名=列名”的格式;⑵采用“列名as标题名”的格式;⑶采用“列名标题

名”的格式

7、主键约束和惟一性(UNIQUE )约束的相同点和区别有哪些?

答:主键约束和惟一性约束的相同点是它们都可以保证数据的惟一性;但它们之间有以下

3个明显的区别:⑴惟一性约束主要作用在非主键的一列或多列上;⑵惟一性约束允许该列上存在空值,而主键则不允许出现这种情况;⑶一个表上可以定义多个惟一性约束,但

-11 -

主键约束只能有一个。

8、为什么要创建索引?答:创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是所以的最主要原因。第三,可以加速表与表之间的连接,特别是实现数据的参考完整性方面特有意义。第四,在使用ORDER BY 和GROUP BY 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询过程中,使用查询优化器,提高系统性能。

9、如何根据不同的恢复模型选择相应的备份方案?答:在简单恢复模型下,只能使用完全备份和差异备份。而在完全恢复模型和大容量日志记录恢复模型下,则必须进行完全备份和事务日志备份。例如,如果数据库由几个在物理上位于不同磁盘上的数据文件组成,当其中一个磁盘发生故障时,只需要恢复发生了故障的磁盘上的文件,此时可用差异备份或日志备份。而在高可用性的超大型数据库中,如果可用的备份时间不足以支持完全数据库备份,此时则需要进行文件或文件组备份。由于文件备份和恢复操作必须与事务日志备份一起使用,即在进行文件备份后必须保持连续的事务日志备份才能进行恢复。因此,文件备份也只适用于完全恢复模型和大容量日志记录恢复模型。

10、请说明Transact-SQL 语言与SQL 语言的关系。

答:SQL 是一种定义语言的标准,而Transact-SQL 是一种全面兼容SQL-92 标准的关系数据库查询语言。与标准的SQL 语言相比,它做了许多必要的补充。Transact-SQL 为了扩展SQL 语言的功能,以方便用户直接完成应用程序的开发,在SQL 语言里加入了程序流的控制结构(如if 结构和while 结构等),局部变量和其他一些功能。Transact-SQL 是SQL Server 功能的核心,不管应用程序的用户界面是什么,只要和数据库服务器进行交互,最终的命令形式都必然体现为Transact-SQL 语言。

11、SQL Server 数据库中常见的数据库对象有哪些?

答:SQL Server数据库中常见的数据库对象有表、存储过程、触发器、视图、规则、默认值、索引等。

12、权限类型及作用

①对象权限作用:决定用户对数据库对象所执行的操作,包括用户对数据库中的表、视图、列或存储过程等对象的操作权限

②语句权限作用:决定用户能否操作数据库和创建数据库对象

③隐含权限作用:控制那些只能由预定义系统角色的成员或数据库对象所有者执行的活动。

程序设计编程题

1.数据表如下所示:

student 表(学生表)

course 表(课程表)

sc表(选课表)

①把course表中课程号为3的课程的学分修改为3。

update course set 学分=3 where 课程号=3

②在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。select * from student where 年龄>18 order by 学号desc

③在以上三个表中查询选的课程的“学分”为3,并且成绩大于80的学生的学号、姓名和性别。

select distinct student.学号姓名,性别

from stude nt, course, sc

where (student.学号=sc.学号)and (course.课程号=sc.课程号)

2、人事管理数据库People中有一个表的结构如下:

bEmployee(Employeeld, Name, Sex, Birthday, Birthplace, Identity, Political , Culture, Marital, Zhicheng, DeptId)

试用SQL的查询语句表达下列查询:

①查询指定列,编写一条SELECT语句,检索bEmployee表中全体职工的工号(Employeeld)、姓名(Name)、性别(Sex)和职称(Zhicheng)列。(4分)SELECT EmployeeId, Name, Sex , Zhicheng

FROM bEmployee

②在bEmployee表中查询出所有的职称名称(使用DISTINCT关键字)。(4分)

SELECT Dist inct zhiche ng

from bEmployee

③查询年龄在30?45岁之间的职工的姓名、性别和年龄(使用别名“年龄”)

SELECT Name, Sex, Year(getdate())-Year(birthday) As 年龄

FROM bEmployee

WHERE Year(getdate())-Year(birthday) BETWEEN 30 AND 45

使用Transact-SQL语句创建人事管理数据库People,要求:主数据文件名为People_data.MDF,存放在目录下,初始值大小为2MB,增长方式为按照10%

的比例增长;日志文件名为People_log.LDF,存放在目录下,初始值大小为

2MB,增长方式为按照1MB的增量增长。

CREATE DATABASE People

ON

PRIMARY(NAME= ?People_Date?

FILENAME= Q\ People_data.MDF?

SIZE=2MB, FILEGROWTH=10%)

LOG ON (NAME= ?People_Log?

FILENAME= ?C:\ People_log.LDF?

SIZE=2MB, FILEGROWTH=1)

创建学生基本信息表bStuden,数据表的各字段属性如下表所示

学生信息表(bStudent)的逻辑结构

CREATE TABLE bStude nt

(Stud」d Varchar(IO) Primary Key,

Stud_Name Varchar(8) NOT NULL,

Stud_Sex Char(2),

Birth Datetime,

Member Char(2),

Family_Place Varchar(20),

Class_ld Varchar(8))

创建班级信息表bClass,数据表的各字段属性如下表所示

班级信息表(bStudent)的逻辑结构

CREATE TABLE bClass

(Class_Id Varchar(8) Primary Key, Class_Name Varchar(20) NOT NULL, Class_Num int, Major_ld Char(2),

Length Char(1),

Depart_Id Char(2))

某个学籍数据库有如下表结构:

学生(学号,姓名,性别,出生日期,班级)

课程(课程号,课程名称,课程类别,课时)

选课(学号,课程号,成绩)请完成下列查询要求。

1 ?查询出软件041'班的所有男生的学号和姓名。

SELECT学号,姓名FROM学生WHERE班级=,软件041? AND 性别=,男?

2?查询出课程名称中含有语言”一词的课程的所有信息。

SELECT * FROM 课程

WHERE 课程名称LIKE ‘ %语言%'

3?查询出各班级学生人数(要求使用别名)。

SELECT班级,COUNT(学号)AS人数

FROM学生GROUP BY 班级

数据库技术(SQLServer)习题与参考答案

数据库技术(SQLServer)习题与参考答案 第一章: 1、SQL Server 2005有哪些新增特性? 答:SQL Server 2005的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。企业数据管理体现在高可用性、管理工具、安全性与可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强与SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务与数据挖掘。 2、SQL Server 2005安装的软件与硬件环境就是什么? 答:SQL Server 2005安装的软件与硬件环境参见教材6。 3、SQL Server 2005有哪些版本?有哪些服务组件? 答:SQL Server 2005包括企业版、标准版、工作组版、开发版与简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。 4、什么就是实例?经常提到的SQL Server 2005服务器与服务器实例就是否具有相同的含义? 答:实例就就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其她实例共享的系统及用户数据库。一个SQL Server服务器就就是一个实例,一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为就是一个实例。 5、默认实例与命名实例有何差别?在安装与使用上有何不同? 答:实例又分为“默认实例”与“命名实例”,如果在一台计算机上安装第一个SQL SERVER 2005命名设置保持默认的话,那这个实例就就是默认实例。一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同。除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。 6、SQL Server 2005的安全性验证分为哪两个阶段? 答:第1个阶段就是身份验证,验证用户就是否具有“连接权”;第2个阶段就是数据库的访问权,验证连接到服务器实例的用户,即已登录到服务器实例的用户,就是否具有“访问权”。 7、SQL Server 2005有哪些主要的实用工具?每个工具都有什么用途? 答:SQL Server Management Studio,就是Microsoft SQL Server 2005中的新组件,这就是一个用于访问、配置、管理与开发SQL Server的所有组件的集成环境,就是SQL Server 2005中最重要的管理工具。SQL Server Configuration Manager,用来管理SQL Server 2005所

数据库技术(SQLServer)习题与

数据库技术(SQLServer)习题与参考答案. 数据库技术(SQLServer)习题与参考答案 第一章: 1、SQL Server 2005有哪些新增特性? 答:SQL Server 2005的新特性主要体现在企业

数据管理、开发人员生产力、商务智能三个方面。企业数据管理体现在高可用性、管理工具、安全性和可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强和SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。 2、SQL Server 2005安装的软件和硬件环境是什么?

答:SQL Server 2005安装的软件和硬件环境参见教材6。 3、SQL Server 2005有哪些版本?有哪些服务组件? 答:SQL Server 2005包括企业版、标准版、工作组版、开发版和简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。SQL Server 2005、什么是实例?经常提到的4. 服务器和服务器实例是否具有相同的含义? 答:实例就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的

系统及用户数据库。一个SQL Server服务 器就是一个实例,一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是 一个实例。 5、默认实例和命名实例有何差别?在安装 和使用上有何不同? 答:实例又分为“默认实例”和“命名实例”,如果在一台计算机上安装第一个SQL SERVER 2005命名设置保持默认的话,那这个实例就

数据库应用技术SQLServer篇第版

数据库应用技术——SQL Server 篇(第2版) 第 1 章数据库概述 1 1.1 订单管理系统概述 1 1.2 数据库基本原理 2 1.2.1 关系数据库系统概述 2 1.2.2 实体- 联系模型 2 1.2.3 关系模型 4 1.2.4 关系数据库标准语言 8 1.2.5 关系模型的规范化 9 习题11 第 2 章SQL Server 概述12 2.1 SQL Server 简介12 2.1.1 SQL Server 的发展及特性12 2.1.2 SQL Server 的环境要求13 2.2 SQL Server 的安装15 2.2.1 SQL Server 的应用环境设计15 2.2.2 SQL Server 的身份验证模式16 2.2.3 SQL Server 的安装17 2.3 SQL Server 的管理及开发工具21

习题28

45 第 3 章 数据库管理 29 3.1 SQL Server 数据库概念 29 3.1.1 数据库文件分类 29 3.1.2 页 30 3.1.3 数据库文件组 31 3.2 系统数据库及其表 32 3.3 创立数据库 33 3.3.1 创立数据库应具备的条件 33 3.3.2 在图形界面下创立数据库 34 3.3.3 用SQL 命令创立数据库 35 3.3.4 事务日志 38 3.3.5 查看数据库信息 39 3.4 管理和维护数据库 40 3.4.1 打开数据库 41 3.4.2 增减数据库空间 41 3.4.3 数据库选项的设定与修改 44 3.4.4 更改数据库名称 45 3.4.5 查看 SQL Server 上共有几个数据库 3.4.6 删除数据库 45 习题 46

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)习题与参考答案电子教案

数据库技术(SQLServer)习题与参考答案 第一章: 1、SQL Server 2005有哪些新增特性? 答:SQL Server 2005的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。企业数据管理体现在高可用性、管理工具、安全性和可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强和SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。 2、SQL Server 2005安装的软件和硬件环境是什么? 答:SQL Server 2005安装的软件和硬件环境参见教材6。 3、SQL Server 2005有哪些版本?有哪些服务组件? 答:SQL Server 2005包括企业版、标准版、工作组版、开发版和简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。 4、什么是实例?经常提到的SQL Server 2005服务器和服务器实例是否具有相同的含义?答:实例就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。一个SQL Server服务器就是一个实例,一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。 5、默认实例和命名实例有何差别?在安装和使用上有何不同? 答:实例又分为“默认实例”和“命名实例”,如果在一台计算机上安装第一个SQL SERVER 2005命名设置保持默认的话,那这个实例就是默认实例。一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同。除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。 6、SQL Server 2005的安全性验证分为哪两个阶段? 答:第1个阶段是身份验证,验证用户是否具有“连接权”;第2个阶段是数据库的访问权,验证连接到服务器实例的用户,即已登录到服务器实例的用户,是否具有“访问权”。 7、SQL Server 2005有哪些主要的实用工具?每个工具都有什么用途? 答:SQL Server Management Studio,是Microsoft SQL Server 2005中的新组件,这是一个用于访问、配置、管理和开发SQL Server的所有组件的集成环境,是SQL Server 2005中最重要的管理工具。SQL Server Configuration Manager,用来管理SQL Server 2005所提供的服务、服务器与客户端通信协议以及客户端的基本配置管理。SQL Server外围应

SQLserver数据库设计及开发规范

LMS项目数据库设计 及使用规

在本项目中,数据库的设计和使用必须遵循以下原则: 1命名原则 1.1约定: Pascal Casing命名方式: 1.每一个单词的第一个字母大写,例如:B ank N ame。 2.常用单词缩写三个字母以下字母都大写,例如:SP、PG 3.常用单词缩写三个字母以上第一个字母大写,例如:Xml 1.2表名和字段 规则如下: ?使用英文单词或词组作为表名,不得使用汉语拼音,建立一个中英文对照字典。 ?用名词和名词短语作表名 ?不使用复数,除非与数据库保留字冲突 ?用Pascal 命名规则 ?尽量谨慎地使用缩写 ?尽量不要和关键字重合 ?不要用任何名前缀(例如U,B) ?数据库对象名称不使用下划线 正确的命名,例如: Users Order Product 1.3存储过程 规则如下: 命名规则为up_xxx_StoredProcedureName,up表示User Procedure,用来区分它和系统存储过程,xxx表示子系统的名称,由三个字母构成,各个子系统参见下表,StoredProcedureName为存储过程含义 StoredProcedureName规则如下: ?用动词或动词短语来命名,并带有宾语 ?需要符合用Pascal 命名规则。 ?尽量谨慎地使用缩写 ?尽量不要和关键字重合

?不要用任何名前缀(例如U,B) ?StoredProcedureName不使用下划线 ?当操作依赖条件时,一般结尾使用By+条件 存储过程正确的命名,例如: Up_Usr_InsertUser Up_Usr_SearchUserByUserID Up_Usr_DeleteUserByUserID 各个子系统的缩写如下: 1.4视图 规则如下: ?视图的命名采用vw ViewName的格式,其中vw前缀表示视图,ViewName部分表示视图的含义。 ViewName规则如下: ?用名词和名词短语, ?不使用复数 ?用Pascal 命名规则 ?尽量谨慎地使用缩写 ?尽量不要和关键字重合 ?不要用任何名前缀(例如U,B) ?ViewName中不使用下划线 视图正确的命名,例如: vwUser vwUserOrder vwTranscation 视图错误的命名,例如: UserView vw_Transcation_View

SQLSERVER数据库应用技术

SQLSERVER数据库应用技术 (课程代码:0220591) 一、课程性质 《SQLSERVE数据库应用技术》是《计算机应用专业》网络技术应用方向的一门技术性、专业性及适用性较强的专业课程。 二、教案目的 本课程以SQL SERVER为基础,讲授数据库原理、关系数据库基本理论;SQL SERVER 的操作和使用方法,以及数据库安全管理知识。了解ORACLE数据库的基本操作和使用方 法。通过本课程的学习,使学生掌握数据库的关系数据库基本概念及其设计、操作、查询;能结合先修课程和相关软件,以SQL SERVER和ORACLED后台数据库开发简单适用数 据库查询系统和网络信息管理系统。同时通过本课程学习,培养学生良好学风和严谨的工作作风,并为后续课程学习打下良好的基础。 三、教案基本内容与学时分配 四、教案内容 理论教案内容 第一章数据库理论基础 教案要点 通过本章的教案,要求学生掌握数据库技术的基本概念、数据库的三级模式结构和二级映象功能;知道数据模型的三要素,会画E-R图。 教案重点 数据库系统的组成,数据模型的分类和三要素,数据库系统与文件系统的区别,图。教案E-R

难点数据库系统结构,模式之间的映射。 教案内容 1、数据库技术的基本概念; 2、数据库系统的组成和结构; 3、数据库模型的概念及分类; 4、数据库技术的发展。 作业及要求 理解数据库相关概念,掌握E-R 图会画后,设计并完成学生管理数据库的E-R 图. 第二章关系数据库理论教案要点 通过本章的教案,使学生理解关系模型的完整性约束条件;掌握选择、投影、连接三个专门的关系运算;能运用关系代数进行各种查询,并了解关系的数学定义和性质。 教案重点完整性约束,关系代数,关系规范化。 教案难点关系代数,关系规范化。 教案内容 1、关系的数学定义和性质; 2、关系模型的完整性约束条件; 3、关系代数; 4、关系的规范化原则、范式的基本概念和分解方法。 作业及要求 什么是范式? 第三章SQL Sever 的安装及系统介绍 教案要点通过本章的教案,要求学生了解SQL Server2000 的概念和特性;掌握安装SQL Server2000 的硬件要求和操作系统要求以及如何安装;熟悉SQL Server2000 的数据库组成及SQL Server2000 的常用可视化工具;理解它和ODBC 的概念并熟练掌握配置数据源的方法和步骤。 教案重点 掌握安装SQL Server2000 的硬件要求和操作系统要求以及如何安装。 教案难点 理解它和ODBC 的概念并熟练掌握配置数据源的方法和步骤。 教案内容 1、SQL Server2000 的特性; 2、SQL Server2000 的安装; 3、SQL Server2000 系统的主要组成; 4、SQL Server2000 和ODBC。作业及要求 要求学生了解SQL Server2000 的概念和特性;掌握安装SQL Server2000 的硬件要求和操作系统要求以及如何安装后,上机安装及配置SQL Server2000. 第四章SQL 数据库及其操作教案要点 通过本章的教案,使学生熟练掌握SQL 语言的命令,并能够在查询分析器中执行。 教案重点 利用SQL 语言创建数据库的主要特点。 教案难点 SQL 语言修改数据库。教案内容 1、利用向导及SQL 语言创建数据库的主要特点; 2、利用向导及SQL 语言修改数据库; 3、利用向导及SQL 语言进行数据库备份。作业及要求 1、如何利用向导及SQL 语言进行数据库备份? 2、如何利用向导及SQL 语言修改数据库?第五章创建SQL 数据表教案要点 通过本章的教案,使学生熟练掌握掌握在SQL Server 中创建和设计数据表的基本方法;掌握对

SqlServer数据库优化方案

第一部分SQL SERVER数据库优化方案 微软公司的SQL SERVER 是一个功能完备的数据库管理系统,它提供了完整的关系数据库创建、开发和管理功能。现社会信息技术的快速发展,对数据库技术的要求也越来越高,SQL SERVER数据库在信息化的过程中得到了广泛的应用。 第一章数据库系统概述 从20世纪60年代开始到现在,数据库技术经过了30多年的发展。在这30多年的历程中,在数据库技术的理论研究和系统开发上取得了辉煌的成就,确立了数据技术在现代计算机系统中不可或缺的地位。成为现代信息科学与技术的重要组成部分以及计算机数据处理和信息管理系统的核心。 1.1 基本概念 与数据库技术密切相关的基本概念包括:数据、数据库、数据库管理系统和数据库系统四大概念。 1.数据(Data) 数据是对客观事物的一种描述,是由能被计算机识别与处理的数值、字符等符号构成的集合,即数据是指描述事物的符号记录。 广义地说,数据是一种物理符号的序列,用于记录事物的情况,是对客观事物及其属性进行的一种抽象化及符号化的描述。数据的概念应包括数据的内容和形式两个方面。数据的内容是指所描述的客观事物的具体特性,也就是通常所说的数据的“值”;数据的形式则是指数据内容所存储的具体形式,即数据的“类型”。故此,数据可以用数据类型和值来表示。 2.数据库(Data Base,DB) 页脚内容1

数据库是指长期存储在计算机内部、有组织的、可共享的数据集合,即在计算机系统中按一定的数据模型组织、存储和使用的相关联的数据集合成为数据库。 数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性、易扩展性、集中性和共享性,以文件的形式存储在存储介质上的。数据库中的数据由数据库管理系统进行统一管理和控制,用户对数据库进行的各种数据操作都是通过数据库管理系统实现。 3.数据库管理系统(Data Base Management System,DBMS) 数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件,是位于操作系统与用户之间的一层数据管理软件。主要功能是对数据库进行定义、操作、控制和管理。 1)数据定义 数据的定义包括:定义构成数据库结构的外模式、模式和内模式,定义各个外模式和模式之间的映射,定义模式与内模式之间的映射,定义有关的约束条件。 2)数据处理 对数据的处理操作主要包括对数据库数据的检索、插入、修改和删除等基本操作。 3)安全管理 对数据库的安全管理主要体现在:对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(如索引、数据字典的自动维护)等。并且能够管理和监督用户的权限,防止拥护有任何破坏或者恶意的企图。 4)数据的组织、存储和管理 负责分类地组织、存储和管理数据库数据,确定以何种文件结构和存取方式物理地组织数据,如何实现数据之间的联系,以便提高存储空间利用以及提高随机查找、顺序查找、增加、删除和查改 页脚内容2

SQLServer数据库技术复习

SQL Server 数据库技术》期末复习题型一: 一、单项选择题(每小题2分,共30 分) 二、填充题(15 分) 三、简答题(每题5分,共25 分) 四、程序设计题(每题15 分,共30分) 题型二: 一、单项选择题(每小题2分,共30 分) 二、填充题(10 分) 三、判断题(每小题1分,共10 分) 四、简答题(每题5分,共20 分) 五、程序设计题(每题15 分,共30分)

1. SQL Server 2000 是一个( )的数据库系统。 (A)网状型 (B)层次型 (C)关系型 (D)以上都不是 2. DTS 是一个简称,它的全称是( )。 A. 数据运输系统 B. 数据传输服务 C. 数据库传输系统 D. 数据库运输服务 3. SQL Server 2000 采用的身份验证模式有( )。 (A)仅Windows身份验证模式 (B)仅SQL Server身份验证模式 (C)仅混合模式 (D)Windows身份验证模式和混合模式 4. SQL 语言按照用途可以分为三类,下面选项中哪一种不是的:( ) (A)DML(B) DCL ( C) DQL( D) DDL 5. 在SELECTS句的WHER子句的条件表达式中,可以匹配0个到多个字符的通配符是( ) ( A) * ( B) % ( C) - ( D) ? 6. 下列哪个数据库记录了SQL Server 2000的所有系统信息?( ) A. master B. model C. pubs D. msdb 7. 以下那种类型能作为变量的数据类型( )。 ( A) text ( B) ntext ( C) table ( D) image 8. 下面不属于数据定义功能的SQL语句是:() A. CREATE TABLE B.CREATE DATABASE C.UPDATE D.ALTER TABLE 9. 如果希望完全安装SQL Server,则应选择()。 A. 典型安装 B. 最小安装 C. 自定义安装 D. 仅连接 10. 打开要执行操作的数据库,应该用哪个SQL 命令?( ) A. USE B. GO C. EXEC D. DB 1. C 2.B 3.D 4.C 5.B 6.A 7.C 8.C 9.A 10.A 1、下面仅存在于服务器端的组件是:( ) A、服务管理器 B、企业管理器组件 C、查询分析器组件 D、导入导出组件 2、下面描述错误的是( )。 A、每个数据文件中有且只有一个主数据文件。 B日志文件可以存在于任意文件组中。

Sqlserver技术知识点之二十.复习课程

Sqlserver 技术知识点之二十 系统存储过程就是系统创建的存储过程,目的在于能够方便地从系统表中查询信息或完成与更新数据库表相关的管理任务或其它的系统管理任务。系统过程以“sp_"_ 为开头,在Mast er 数据库中创建并保存在该数据库中,为数据库管理者所有。一些系统过程只能由系统管理员使用,而有些系统过程通过授权可以被其它用户所使用。 系统存储过程主要包括以下几类:(这里主要给出每类系统过程中经常使用的系统过程)

在上面几节我们介绍了一般意义的存储过程,即用户自定义的存储过程和系统存储过程。本节将介绍一种特殊的存储过程,即触发器。在余下各节中我们将对触发器的概念、作用以及对其的使用方法作详尽介绍,使读者了解如何定义触发器,创建和使用各种不同复杂程度的触发器。 12.5.1 触发器的概念及作用 触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。 触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能: (1)强化约束(Enforce restriction) 触发器能够实现比CHECK 语句更为复杂的约束。

(2)跟踪变化Auditing changes 触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。 (3)级联运行(Cascaded operation)。 触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。 (4)存储过程的调用(Stored procedure invocation)。 为了响应数据库更新触,发器可以调用一个或多个存储过程,甚至可以通过外部过程的调用而在DBMS(数据库管理系统)本身之外进行操作。 由此可见,触发器可以解决高级形式的业务规则或复杂行为限制以及实现定制记录等一些方面的问题。例如,触发器能够找出某一表在数据修改前后状态发生的差异,并根据这种差异执行一定的处理。此外一个表的同一类型(INSERT、 UPDATE、 DELETE)的多个触发器能够对同一种数据操作采取多种不同的处理。 总体而言,触发器性能通常比较低。当运行触发器时,系统处理的大部分时间花费在参照其它表的这一处理上,因为这些表既不在内存中也不在数据库设备上,而删除表和插入表总是位于内存中。可见触发器所参照的其它表的位置决定了操作要花费的时间长短。 12.5.2 触发器的种类 SQL Server 2000 支持两种类型的触发器:AFTER 触发器和INSTEAD OF 触发器。其中AFTER 触发器即为SQL Server 2000 版本以前所介绍的触发器。该类型触发器要求只有执行某一操作(INSERT UPDATE DELETE)之后,触发器才被触发,且只能在表上定义。可以为针对表的同一操作定义多个触发器。对于AFTER 触发器,可以定义哪一个触发器被最先触发,哪一个被最后触发,通常使用系统过程sp_settriggerorder 来完成此任务。 INSTEAD OF 触发器表示并不执行其所定义的操作(INSERT、 UPDATE、 DELETE),而仅是执行触发器本身。既可在表上定义INSTEAD OF 触发器,也可以在视图上定义INSTE AD OF 触发器,但对同一操作只能定义一个INSTEAD OF 触发器。 上面介绍了有关触发器的概念、作用和一些基本问题,下面我们将分别介绍在MS SQLServer 中如何用SQL Server 管理工具Enterprise Manager 和Transaction_SQL 来创建触发器。 在创建触发器以前必须考虑到以下几个方面: ?CREATE TRIGGER 语句必须是批处理的第一个语句; ?表的所有者具有创建触发器的缺省权限,表的所有者不能把该权限传给其它用户; ?触发器是数据库对象,所以其命名必须符合命名规则; ?尽管在触发器的SQL 语句中可以参照其它数据库中的对象,但是,触发器只能创建在当前数据库中; ?虽然触发器可以参照视图或临时表,但不能在视图或临时表上创建触发器,而只能在基表或在创建视图的表上创建触发器; ?一个触发器只能对应一个表,这是由触发器的机制决定的; ?尽管TRUNCATE TABLE 语句如同没有WHERE 从句的DELETE 语句,但是由于TRUNCATE TABLE 语句

SQLServer数据库性能优化技术

1数据库设计 要在良好的SQLServer方案中实现最优的性能,最关键的是要有1个很好的数据库设计方案。在实际工作中,许多SQLServer方案往往是由于数据库设计得不好导致性能很差。所以,要实现良好的数据库设计就必须考虑这些问题。 1.1逻辑库规范化问题 一般来说,逻辑数据库设计会满足规范化的前3级标准: 1.第1规范:没有重复的组或多值的列。 2.第2规范:每个非关键字段必须依赖于主关键字,不能依赖于1个组合式主关键字的某些组成部分。 3.第3规范:1个非关键字段不能依赖于另1个非关键字段。 遵守这些规则的设计会产生较少的列和更多的表,因而也就减少了数据冗余,也减少了用于存储数据的页。但表关系也许需要通过复杂的合并来处理,这样会降低系统的性能。某种程度上的非规范化可以改善系统的性能,非规范化过程可以根据性能方面不同的考虑用多种不同的方法进行,但以下方法经实践验证往往能提高性能。 1.如果规范化设计产生了许多4路或更多路合并关系,就可以考虑在数据库实体中加入重复属性。 2.常用的计算字段可以考虑存储到数据库实体中。 比如某一个项目的计划中有计划表,其字段为:项目编号、年初计划、二次计划、调整计划、补列计划…,而计划总数是用户经常需要在查询和报表中用到的,在表的记录量很大时,有必要把计划总数作为1个独立的字段加入到表中。这里可以采用触发器以在客户端保持数据的一致性。 3.重新定义实体以减少外部属性数据或行数据的开支。相应的非规范化类型是: 把1个实体分割成2个表。这样就把频繁被访问的数据同较少被访问的数据分开了。这种方法要求在每个表中复制首要关键字。这样产生的设计有利于并行处理,并将产生列数较少的表。 把1个实体分割成2个表。这种方法适用于那些将包含大量数据的实体。在应用中常要保留历史记录,但是历史记录很少用到。因此可以把频繁被访问的数据同较少被访问的历史数据分开。而且如果数据行是作为子集被逻辑工作组访问的,那么这种方法也是很有好处的。1.2生成物理数据库 要想正确选择基本物理实现策略,必须懂得数据库访问格式和硬件资源的操作特点,主要是内存和磁盘子系统I/O。这是一个范围广泛的话题,但以下的准则可能会有所帮助。 1.与每个表列相关的数据类型应该反映数据所需的最小存储空间,特别是对于被索引的列更是如此。比如能使用smallint类型就不要用integer类型,这样索引字段可以被更快地读取,而且可以在1个数据页上放置更多的数据行,因而也就减少了I/O操作。 2.把1个表放在某个物理设备上,再通过SQLServer段把它的不分簇索引放在1个不同的物理设备上,这样能提高性能。尤其是系统采用了多个智能型磁盘控制器和数据分离技术的情况下,这样做的好处更加明显。 3.用SQLServer段把一个频繁使用的大表分割开,并放在2个单独的智能型磁盘控制器的数据库设备上,这样也可以提高性能。因为有多个磁头在查找,所以数据分离也能提高性能。 4.用SQLServer段把文本或图像列的数据存放在1个单独的物理设备上可以提高性能。1个专用的智能型的控制器能进一步提高性能。 2与SQLServer相关的硬件系统 与SQLServer有关的硬件设计包括系统处理器、内存、磁盘子系统和网络,这4个部分基本

SQLserver高可用方案设计

SQL server高可用方案 一、高可用的类型 ●Always On 高可用性解决方案,需要sql server 版本在2012以上 SQL Server Always On 即“全面的高可用性和灾难恢复解决方案”。客户通过使用Always On 技术,可以提高应用程序可用性,并且通过简化高可用性的部署和管理方面的工作。 SQL Server Always On 在以下2个级别提供了可用性。 *数据库级可用性 是一种“热备份”技术。在同步提交模式下,主副本的数据被同步更新到其他辅助副本,主副本与辅助副本之间可以保持实时同步。当系统监测到主副本发生故障时,辅助副本可以立即成为新的主副本。 *实例级可用性 Always On 故障转移群集实例(Failover Cluster Instance,简称FCI)可以在多个16个节点之间实现故障转移(Failover)。企业版最多支持16个节点,标准版只支持2个节点。 当主节点发生故障时,辅助节点提升为主节点并获取共享存储中的数据,然后才在这个新的主节点服务器中启动SQL Server 服务。 FCI 是一种“冷备份”技术。辅助节点并不从主节点同步数据,唯一的一份数据被保存在共享存储(群集共享磁盘)中。 ●日志传送 日志传送依赖于传统的Windows 文件复制技术与SQL Server 代理。

主数据库所做出的任何数据变化都会被生成事务日志,这些事务日志将定期备份。然后备份文件被辅助数据库所属的实例复制到它的本地文件夹, 最后事务日志备份在辅助数据库中进行恢复,从面实现在两个数据库之间异步更新数据。 当主数据库发生故障时,可以使辅助数据库变成联机状态。可以把每一个辅助数据库都当作“冷备用”数据库 ●其它辅助技术 对数据库进行备份,当出现故障时,手动将数据还原到服务器,使得数据库重新联机,这也可以算作实现高可用性的一种技术手段。 复制(Replication)并不算是一个高可用性解决方案,只是它的功能可以实现高可用性。复制通过“发布-订阅”模式,由主服务器向辅助服务器发布数据,使这些服务器间实现可用性。 SQL server复制 定义及应用:数据库间复制和分发数据和数据库对象,然后在数据库间进行 同步操作以维持一致性。使用复制,可以通过局域网和广域网、拨号连接、 无线连接和Internet 将数据分配到不同位置以及分配给远程或移动用户sql server复制分成三类: 事务复制通常用于需要高吞吐量的服务器到服务器方案(包括:提高可伸缩 性和可用性、数据仓库和报告、集成多个站点的数据、集成异类数据以及减 轻批处理的负荷)。 合并复制主要是为可能存在数据冲突的移动应用程序或分步式服务器应用 程序设计的。常见应用场景包括:与移动用户交换数据、POS(消费者销售 点)应用程序以及集成来自多个站点的数据。

SQLSERVER数据库、表的创建及SQL语句命令

SQLSERVER数据库、表的创建及SQL语句命令SQLSERVER数据库,安装、备份、还原等问题: 一、存在已安装了sql server 2000,或2005等数据库,再次安装2008,会出现的问题 1、卸载原来的sql server 2000、2005,然后再安装sql server 2008,否则经常sql server服务启动不了 2、sql server服务启动失败,解决方法: 进入sql server configure manager,点开Sql server 网络配置(非sql native client 配置),点sqlzhh(我sqlserver 的名字)协议,将VIA协议禁用。再启动Sql Server服务,成功 如图: 二、在第一次安装SQLSERVER2008结束后,查看安装过程明细,描述中有较多项插件或程度,显示安装失败。 解决方法: 1、重新启动安装程度setup.exe,选择进行修复安装,至完成即可。 三、先创建数据库XXX,再进行还原数据库时,选择好备份文件XXX.bak,确定后进行还原,会报如下图的错误。

解决方法: 选择好备份数据库文件后,再进入“选项”中,勾选“覆盖现在数据库”即可。 四、查看数据库版本的命令:select @@version

在数据库中,点击“新建查询”,然后输入命令,执行结果如下 五、数据库定义及操作命令: 按照数据结构来组织、存储和管理数据的仓库。由表、关系以及操作对象组成,把数据存放在数据表中。 1、修改数据库密码的命令: EXEC sp_password NULL, '你的新密码', 'sa' sp_password Null,'sa','sa' 2、操作SQL2008数据库的命令 备份SQL数据库: backup database[3D-DATA]/*原数据库*/to disk='D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\backup\3D-DATA_backup_20131017.bak/*数据库备份文件*/' with name='3D-DATA_backup_20131017'/*数据库备份文件*/ 查看备份数据库的逻辑文件: restore filelistonly from disk= 'd:\Program Files\Microsoft SQL Server\ MSSQL10.MSSQLSERVER\MSSQL\backup\3D-DATA_backup_20131017.bak ' 强制还原SQL数据库: [其中,Test-3d是已存在的数据库,3D-FEP_data和3D-FEP_log为备份数据库的两个逻辑文件,] restore database[Test-3d] from disk='d:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\3D-DATA_backup_20131017.bak' with move'3D-FEP_data'to'D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-3d.mdf', move'3D-FEP_log'to'D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test-3d_log.ldf', stats= 10/* 表示每完成10%显示一条记录*/,replace/*表示强制,放置在with后,加英文逗号也可*/

数据库技术(SQLServer)习题与参考答案教案资料

数据库技术 (S Q L S e r v e r)习题与 参考答案

数据库技术(SQLServer)习题与参考答案 第一章: 1、SQL Server 2005有哪些新增特性? 答:SQL Server 2005的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。企业数据管理体现在高可用性、管理工具、安全性和可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强和SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。 2、SQL Server 2005安装的软件和硬件环境是什么? 答:SQL Server 2005安装的软件和硬件环境参见教材6。 3、SQL Server 2005有哪些版本?有哪些服务组件? 答:SQL Server 2005包括企业版、标准版、工作组版、开发版和简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。 4、什么是实例?经常提到的SQL Server 2005服务器和服务器实例是否具有相同的含义? 答:实例就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。一个SQL Server服务器就是一个实例,一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。 5、默认实例和命名实例有何差别?在安装和使用上有何不同?

sqlserver数据库分页查询技术

SQL Server 数据库分页查询技术 1.引言 在列表查询时由于数据量非常多,一次性查出来会非常慢,就算一次查出来了,也不能一次性显示给客户端,所以要把数据进行分批查询出来,每页显示一定量的数据,这就是数据要分页。 2.常用的数据分页方法 我们经常会碰到要取n到m条记录,就是有分页思想,下面罗列一下一般的方法。 我本地的一张表 tbl_FlightsDetail,有300多W记录,主键 FlightsDetailID(Guid),要求按照FlightsDetailID排序取 3000001 到3000010 之间的10条记录,也是百万级。 方法1 定位法 (利用ID大于多少) 语句形式: select top10*from tbl_FlightsDetail where FlightsDetailID>( select max(FlightsDetailID) from ( select top3000000 FlightsDetailID from tbl_FlightsDetail order by FlightsDetailID ) as t ) order by FlightsDetailID 执行计划: 先查出 top 300000,再聚合取这个集合中最大的Id1,再过滤 id大于id1的集合(上图中使用到索引),再取top 10 条。

方法2 (利用Not In) 语句形式: select top10*from tbl_FlightsDetail where FlightsDetailID not in ( select top3000000 FlightsDetailID from tbl_FlightsDetail order by FlightsDetailID ) order by FlightsDetailID 执行计划: 和方法一类似,只是过滤where条件不一样,这里用到的是not in,上图中没有用到索引,耗时8秒。如果 FlightsDetailID不是索引的话,方法1和该方法将差不多。 方法3 (利用颠颠倒倒top) 语句形式: select top10*from ( select top3000010*from tbl_FlightsDetail order by FlightsDetailID ) as t order by t.FlightsDetailID desc 执行计划:

相关文档
最新文档