当前位置:文档之家› 广东工业大学华立学院SQL Server 2008数据库应用与开发教程(第二版)考试重点(懒人专用)

广东工业大学华立学院SQL Server 2008数据库应用与开发教程(第二版)考试重点(懒人专用)

广东工业大学华立学院SQL Server 2008数据库应用与开发教程(第二版)考试重点(懒人专用)
广东工业大学华立学院SQL Server 2008数据库应用与开发教程(第二版)考试重点(懒人专用)

大二下学期SQL考试

一、考试时间:7月2日(十八周周四随堂考)

二、考试题型:

一、15道选择题(共30分)

二、10道填空题(共10分)

三、基本操作题

给出三张表,然后写出语句、加条件、表与表的连接、order by等。

四、2道应用题。

考函数、触发器、存储过程。(三选二)

三、考试重点:

第一章(不考)

第二章

2.11 系统数据库(P38)

1.master数据库:

master数据库用于记录SQL Server实例的所以系统级信息,是SQL Server的核心,不能对其进行直接修改,应当对其定期进行备份,如果master数据库变得不可用,那么SQL Server数据库引擎将无法启动。

2.model数据库:

Model数据库用作SQL Server2008实例上创建的所以数据库的模板,如果对model数据库进行了修改,都将应用于以后创建的用户数据中。

3.msdb数据库:

msdb数据库用于SQL Server2008代理计划警报和作业,是SQL Server中的一个Windows服务。用户不能再msdb数据库中执行下列操作:更改排列规则,默认排序规则为服务器排序规则;删除数据库;从数据库中删除guest用户;启用变更数据捕获;参与数据库镜像;删除主文件组、主数据文件或日志文件;重命名数据库或主文件组;将数据库设置为OFFLINE;将主文件组设置为READ_ONLY。

4.resource数据库:

resource数据库是一个只读和隐藏的数据库,它包含了SQL Server2008中的所以系统对象,resource数据库是唯一没有显示在其中的系统数据库,这是因为它在sys框架中存在。

2.1.4数据库文件及其文件组(P39)

(1)数据文件。主数据文件名称的默认后缀是.mdf;辅助数据文件是可选的,用于存放不在主数据文件中的其他数据和对象。数据库可以没有辅助数据文件,也可以有多个辅助数据文件,默认的后缀是.ndf.

SQL 语句:

创建数据库:CREATE DATABASE 数据库名称(p46)

修改数据库:ALTER DATABASE数据库名称(p49)

删除数据库:DROP DATABASE database【,…n】{表示可以有多于一个数据库名}(p52)

第三章

3.1.2表的数据类型:(p60)

3.1.3创建表(p64顶部)

CREATE TABLE SC

(SNO CHAR(5),

CNO CHAR(5),

SCORE NUMER(5,1) CHECK(SCORE>=0 AND SCORE<=100) )

3.4向表中添加数据(要会写)(p71)

3.6修改表

3.6.2使用T-SQL语句修改表(p74)

ALTER TABLE 表名

(ALTER COLUMN 列名列定义,

ADD 列名数据类型约束,

……

DROP 列名,

……

ADD CONSTRAINT 约束名约束,

……)

3.6.3使用INSERT SELECT语句(p75)

例【3-4】求每个学生的平均成绩,并按学号、姓名、平均成绩存入学生信息数据库。

首先创建一个表:

CREATE TABLE AG(

学号CHAR(8)PRIMARY KEY,

姓名CHAR(8),

平均成绩SMALLINT)

GO;

再求每个学生的平均成绩并把其插入已创建的表中:

INSERT INTO AG(学号,姓名,平均成绩)

SELECT SC.学号,MIN(姓名),AVG(成绩)

FROM Student,SC

WHERE Student.学号=SC.学号

GROUP BY SC.学号;

3.6.4使用SELECT INTO语句(p75)

例【3-5】统计每个学生未通过课程的门数,将其保存到临时表#stuexam表。显示系名、学号、姓名、未通过门数,并按系名排序。T_SQL语句如下:

SELECT MIN(系名),SC.学号,MIN(姓名),COUNT(*) 未通过门数

INTO #stuexam

FROM Student,SC

WHERE Student.学号=SC.学号AND 成绩<60

GROUP BY SC.学号

ORDER BY 系名;

第四章

4.3命令操作表数据

4.3.1使用INSERT语句插入表数据(p82)

向表中插入数据可以使用INSERT语句。INSERT语句最基本的格式如下:

INSERT table_name

VALUES(constant1,constant2,…)

该语句的功能是向由table_name指定的表中加入由VALUES指定的各列值的行。

例【4-1】向XSCJ数据库的表XS中插入如下一行数据。

001112 罗林琳计算机0 “1/30/1980 0:0:0”40

可以使用如下的T_SQL语句:

USE XSCJ

INSERT INTO XS

VALUES(‘001112’,’罗林琳’,‘计算机’,0,‘1/30/1980’,0:0:0’,40,NULL)

GO

执行结果:略。

4.3.2使用DELETE或TRANCATE语句删除数据(p86)

1、使用DELETE语句删除数据

DELETE的功能是从表中删除行,其最基本的语法格式如下:DELETE[FROM]

{table_name|view_name}

[WHERE]

该语句的功能为从table_name指定的表或view_name所指的的视图中删除满足条件的行,若省略该条件,则表示删除所有行。

例【4-4】将XSCJ数据库的XS表中总学分小于39的行删除。

使用如下T_SQL语句:

USE XSCJ

DELETE FROM XS

WHERE 总学分<39

GO

执行结果:略。

4.3.3使用UPDATE语句修改数据(p89)

在T_SQL中,UPDATE语句可用来修改表中的数据行。UPDATE语句的最基本格式如下:

UPDATE{table_name|view_name}

SET column_name={expression|DEFAULT|NULL}[,…n]

[WHERE]

该语句的功能是:将table_name指定的表或view_name指定的视图中满足条件的记录中由SET指定的各列的列值设置为SET指定的新值,如果不使用WHERE子句,则更新所有记录的指定列值。

例【4-7】将XSCJ数据库的XS表中学号为001110的学生的“备注”列值改为“三好学生”,使用如下的T_SQL语句:

USE XSCJ

UPDATE XS

SET 备注=”三好生”

WHERE 学号=001110

GO

执行结果:略。

第五章

5.2.1管理对SQL Server实例的访问(p96)

●在windows身份验证模式下,SQL Server依靠操作系统来认证请

求SQL Server实例的用户。由于已经通过了Windows的认证,因此用户不需要在连接字符串中提供任何认证信息。

●在混合身份验证模式下,用户既可以使用Windows身份验证模式,

也可以使用SQL Server身份验证模式来连接SQL Server身份验证需要用户在连接字符串中提供连接SQL Server的用户名和密码。

第六章

6.1.2 T_SQL语音的分类(p119)

SQL语句分为以下三类:

●数据操作语句(DML)用于在数据库中检索、计算、插入、编辑

和删除数据。第四章至第十章介绍了数据操作语句SELECT、INSERT、UPDATE和DELETE。第十四章介绍了语句START(或BEGIN)、COMMITH和ROLLBACK。

●数据定义语句(DDL)用于创建、修改和销毁数据表、索引、视

图等数据库对象。数据定义语句CREATE、ALTER和DROP将在随后的章节中逐一介绍。

●数据控制语句(DCL)用于授权某些与用户查看、更改、删除数据

或数据库对象。GRANT语句分配权限和角色(角色是一组权限的集合)。REVOKE语句用于取消权限。本书没有介绍GRANT和REVOKE,因为它们是数据库管理员的职责。书中介绍的所以DBMS (除了Access)都支持GRANT和REVOKE,但与SQL标准有一些差异。

6.1.3 T_SQL语法约定(p119)

1.注释:

●注释符“--”用于单行注释。使用双连字符“--”作为注释符

时,从双连字符开始到行尾的内容都是注释内容。这些注释内

容既可以与要执行的代码处于同一行,也可以另起一行。双连

字符“--”注释方式主要用于在一行中对代码进行解释和描述。

●注释符“/**/”。用于注释多行文字。在斜线星号“/**/”注释

方式中,开始注释对“/*”和结束注释对“*/”之间的所有内

容均可视为注释。这些注释字符既可用于多行文字,也可以与

执行的代码处于同一行,甚至还可以在可执行代码的内部。

6.2.3 变量(p123)

(1)变量名称

每个变量必须有一个唯一的名称,用来标记系统所开辟的存储空间。在SQL Server 2008系统中,变量的命名规则如下:

●第一个字符必须是字母、数字、下划线或@符号。需要注意的

是,符号“@”开头的变量表示局部变量、符号“@@”开头

的变量表示全局变量。

●变量名不能是T_SQL语言的系统保留字(如:IF、ELSE、

CONTINUE等),包括大写和小写形式。

●变量名中不允许出现空格或其他特殊字符。

(2)变量的值(p124)

语法格式如下;

格式一:使用SET语句赋值

SET 变量名称=表达式

格式二:使用SELECT语句赋值

SELECT 变量名称=表达式[,…n]

6.6.3 逻辑运算符(p126)

【看后面的例子,看懂就行】

表格略。

6.4 流程控制语句(p130)

6.4.1 BEGIN…END语句

6.4.2 IF…ELSE语句

例【6-6】设变量score,根据score的值判断成绩是否合格,并输出结论。

T_SQL语句如下:

DECLAER @score INT,@a NCHAR(10)

SET @score=55

IF @score>=60

SET @a=N’成绩合格’

ELSE

SET @a=N’成绩不合格’

SELECT @a

6.4.3 CASE语句

6.5.4 聚合函数(p138)

AVG:返回一组值的平均值。

COUNT: 返回一组值中项目的数量,返回值为int类型。

MAX: 返回表达式或者项目中的最大值。

MIN: 返回表达式或者项目中的最小值。

SUM: 返回表达式中所有项的和,或者只返回DISTINCT值。SUM 只能用于数字列。

6.5.5 用户自定义函数

例【6-14】创建一个内联表值函数xscj,返回指定学生的成绩。ALTER FUNCTION [dbo].[xscj](@xh varchar(12))

RETURNS TABLE

AS

RETURN

(

SELECT 选课表.学号,课程表.课程名,选课表.分数

FROM 选课表

INNER JOIN 课程表ON(课程表.课程号=选课表.课程号) WHERE[学号]=@xh

)

例【6-15】创建一个标量函数,改函数返回两个参数中的最大值。CREATE FUNCTION max2(@par1 real,@par2 real)

RETURNS real

AS

BEGIN

DECLARE @par real

IF @par1>@par2

SET @par=@par1

ELSE

SET @par=@par2

RETURN(@par)

END 返回参数

第七章

一、重点看P147-160,具体略。

二、P173习题七的第八大题。(略)

第八章

看聚集索引和非聚集索引。

第九章

9.3约束的概念和类型(p187)

在SQL Server 2008中,共有6种约束:主键约束、唯一性约束、检查约束、默认约束、外部键约束、空值约束。

第十章

10.1存储过程

例【10-1】创建名为snoquery的存储过程:通过用户输入的学生学号来查询学生的姓名、年龄、性别和所属院系。(p207)

(1)启动SSMS,展开服务器。

(2)展开所需的“数据库”文件夹,展开要在其中创建存储过程的数据库。本例中,我们展开stuinfo数据库。

(3)展开“可编程性”文件夹,在“存储过程”文件夹上单击鼠标右键,从弹出的快捷菜单中选择“新建存储过程”命令。

(4)系统弹出T_SQL语句编写窗口,其中的代码是创建存储过程的格式说明。输入如下T_SQL代码:

CREATE PROCEDURE snoquery

@xuehao char(10)

AS

SELECTE sno 学号,sname 学生姓名,sage 年龄,ssex 性别,sdept 所属院系

FROM student

WHERE sno=@xuehao

(5)代码输入结束后,只要将以上代码在“查询分析器”里在执行一次,系统就会在当前数据库中创建一个名为snoquery的存储过程。单击刷新按钮,选择stuinfo数据库,在左边的树型列表中选择“存储过程”,就可以看到属于dbo(database owner)的存储过程dbo.snoquery。

10.2触发器

10.2.1 触发器概述

触发器的种类:DML触发器和DDL触发器

10.2.2

触发器中的逻辑(虚拟)表(p213)

Insert表中存放的是更新前的记录:

Deleted表中存放的是已从表中删除的记录:

例【10-6】创建触发器stu_delete,实现如下功能:当按照学号删除student表中的某学生记录后,对应的该学生在sc表中的记录也被自动删除。

T_SQL语句如下:

USE stuinfo

GO

CREATE TRIGGER stu_Delete ON Student

FOR DELETE

AS

DELECT FROM sc WHERE sno=(SELECT sno FROM deleted) 执行后,我们查询student表和sc表,如图10-6(p215)所示,可以看到两个表中均存在学号为20070102的学生记录。

在student表中执行如下数据删除语句:

DELETE FROM student WHERE sno=’20070102’

第十一章(不考)

第十二章(不考)

第十三章(无)

附:总结

1、对象:create + datebase

alter table

drop view

DDL

2、数据:insert + datebase

update table

delete view

DML

3、where

select

from

as

for

重要的话不说三遍:(所以我说四遍)

祝大家考试顺利!

祝大家考试顺利!

祝大家考试顺利!

祝大家考试顺利!

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