SQL期末考试复习资料docx.docx

上传人:b****2 文档编号:20203854 上传时间:2023-04-25 格式:DOCX 页数:23 大小:194.28KB
下载 相关 举报
SQL期末考试复习资料docx.docx_第1页
第1页 / 共23页
SQL期末考试复习资料docx.docx_第2页
第2页 / 共23页
SQL期末考试复习资料docx.docx_第3页
第3页 / 共23页
SQL期末考试复习资料docx.docx_第4页
第4页 / 共23页
SQL期末考试复习资料docx.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

SQL期末考试复习资料docx.docx

《SQL期末考试复习资料docx.docx》由会员分享,可在线阅读,更多相关《SQL期末考试复习资料docx.docx(23页珍藏版)》请在冰豆网上搜索。

SQL期末考试复习资料docx.docx

SQL期末考试复习资料docx

第一童

数据库技术发展的三个阶段

人工管理阶段、文件系统阶段、数据库系统阶段

数据库的基本概念

DataBase数据库是为了实现一定的目的、按某种规则组织起来的〃数据〃的

”集合〃,简而言之,它是有结构的数据集合。

数据库系统的三级模式结构(考)

外模式、模式、内模式

外模式/模式映射保证逻辑独立性

模式/内模式映射保证物理独立性

数据模型的要素及其特点

层次模型、网状模型、关系模型

要素:

数据结构:

数据操作:

关系代数、关系演算、具有关系代数和关系演算双重特点的语言(SQL)

完整性约束:

实体完整性、参照完整性和用户定义的完整性

关系的特点:

1、每列数据项不可再分解

2、同一个关系中,不能岀现相同的属性名

3、同一个关系中,不能有完全相同的元组

4、所有元组格式相同,长度相同;属性类型相同

5、行列顺序无关紧要

关系的完整性(插入):

实体完整性、参照完整性

关系的完整性(删除):

参照完整性规则

关系的完整性(修改)二删除+插入

实体之间的关系:

(1)一对一关系

(2)一对多关系

(3)多多关系

常见数据库:

foxpro、access,sqlserver,mybase、oracle

第—章

SQLServer2008新特性:

可信、高效率、智能

SQL(结构化查询语言):

数据定义语言(DDL)CREATE.DROP、ALTER

数据操作语言(DML)SELECT、INSERT、UPDATE.DELETE

数据控制语言(DCL)GRANT.REVOKE

rCreateTable/AlterTable/DropTable-定义基本表(DDL彳CreateView/DropView:

视图操作

CreateIndex/DropIndex:

索引操作

rInsert

 

特点:

一体化、高度非过程化、以同一种语法格式提供两种使用方式、语言简捷,易学易用

SQL标识符

1.标识符的首字母必须是以下两种情况之一所有在统一码(Unicode)2.0标准规定的字符,包括26个英文字母a-z和A-Z,以及其他一些语言字符,如汉字。

下划线〃_〃、〃@〃或〃#〃。

2.后续字符:

除首字母约定外,还有数字字符及〃$"。

3.不允许是「SQL的保留字

4.不允许嵌入空格或其他特殊字符(@、#、##、@@)

常规标识符:

符合标识符的格式规则

分隔标识符:

使用了双引号(〃“)或方括号([])等分隔符号,既可以遵守标识符命名规则,也可以不遵守标识符命名规则。

第3章创建和管理数据库

数据库:

是按照数据结构来组织、存储、和管理数据的仓库,是存储在一起的相关数据的集合。

SQLServer2008的数据库对象主要包括表(table\视S(view\索引(index\

存储过程(storedprocedure)、触发器(trigger)和约束(constraint)等。

SQLServer2008数据库主要由文件和文件组组成。

文件主要分为3类:

主要数据文件、次要数据文件和事务日志文件。

文件组主要分为两种类型:

主文件组和用户定义文件组。

数据库对象的全名应该由服务器名、数据库名、拥有者名和对象名

两种类型的实例:

默认实例和命名实例(<计算机名称〉\<实例名称〉)

数据库操作(使用SSMS和T-SQL创建、修改、删除数据库)

新创建的数据库,系统对数据文件的默认值为:

初始大小3MB,最大大小不限

制,增量为1MB。

对日志文件的默认值为:

初始大小1MB,最大大小不限制,增长方式为按10%比例增长。

DROPDATABASE

数据表操作(使用SSMS和「SQL创建、修改、删除数据表)

createdatabaseuserdbl

on

name=userdb4_dataf

filename=1E:

\sql_data\userdb4.mdf1,

size=5,

maxsize=10,

filegrowth=llogon

name=userdb4_logf

filename=1E:

\sql_data\userdb4.ldf!

size=2,

maxsize=5,

filegrowth=l

创建、修改、删除约束(根据完整性规则应用SSMS和T-SQL设置表的主码、

约束和外码等)

添加日志文件:

usebooksys--使用数据库

alterdatabasebooksys--修改数据库

addlogfile--添加「I志文件

name-booksys_ldf,

filename=1I:

\sql_data\testl\booksys.ldf1,

size=2mb,

maxsize=10mbA

filegrowth=2mb

tofilegroup文件组名一将文件添加到文件组中

添加次要数据文件:

usebooksys

alterdatabasebooksys

addfile

name=booksys,

filename=1I:

\sql_data\test1\booksys.ndf1z

size-2mb,

maxsize=10mb,

filegrowth=2mb

添加文件组:

Al.terdatabase数据库乞

Addfilegroup文件组名

删除文件:

Alterdataba

removefile文件名

删除数据库:

Drop数据库名

创建表:

usebooksys

createtablebook

bookidvarchar(20)primarykey,--主键booknamevarchar(60)unique,--唯-哟束editorchar(8)notnull,--非空约束

pricenumeric(5,2)check(price>20),--检查约束publishvarchar(30)default('电子无斗人'),一一默认彳肖publishdatad&tetime,

qtyint,

foreignkey(字段)references参照表名(字段[主键])

修改列:

ALTERteble表名

ADD列名类型约束,

IALTERCOLUMN列名数据类型约束,

IDROPCOLUMN歹M

添加约束

-添加主键约束

reader(cardid)

altertableborrow

addconstraintpk_idprimarykey(bookid,cardid,bdate)

添加外键约束

altertableborrow

addconstraintfk_cardforeignkey(cardid)references

检查约束

ALTERTABLEstudent

ADDCONSTRAINTCHECK_sexCHECK(sex=11orsex='女‘)

默认值

ALTERTABLEstudent

ADDCONSTRAINTdf_spDEFAULTfHK1FOR歹U名

唯一约束

ALTERTABLEstudent

ADDCONSTRAINTuq_IDUNIQUE(ID)

删除约束:

ALTERTABLE衣名

DROP约束名

常见的约束:

1、NULL/NOTNULL:

空甸非空值约束。

2、PRIMARYKEY:

主键约束,等价非空、单值。

3、CHECK(逻辑表达式):

检查约束。

4、DEFAULT常量表达式:

默认值约束。

5、UNIQUE:

单值约束。

6、foreignkeyREFERENCES父表名(主键):

外键约束

删除表

droptable表名

数据操作(使用SSMS和「SQL添加、修改、删除数据)

插入数据

insertintobookvalues(*TP2001--001',*数据结构J,李国庆J*22.00*,,清华大学出版社-*2001-1-8*,20)

更新数据

updatestudentsetclassno=1051wherespno=1031

删除数据

deletestudentwherespno=1031

删除列前必须先删除其上的约束

第四章T-SQL编程与应用

DECLARE(考)

DECLARE

@变量名数据类型,@变量名数据类型[,...n]

通配符(考)

 

WHEREau^lnameLIKE'

将查找以de开始且其W的字母不为1的所有作者的姓氏。

上课例子:

SELECT*FROM数据表WHERE编号LIKE'00[A8]%[A-D]%#

可能会查出的编号值为:

A、006SABC

B、007SFFG

C、08ASX

D、005B

运算符优先级

当一个复杂表达式中包含有多个运算符时,运算符的优先级决定了表达式计算和

比较操作的先后顺序。

运算符的优先级由高到低的顺序如下:

(1)+(正)-(负)~(位反)

(2)*(乘)/(除)%(取余)(3)+(加)+(字符串串联运算符)■(减)

(4)二、>、<、>二、<二、<>、!

二、!

>、!

v(比较运算符)

(5)A(按位异或)&(按位与)|(按位或)

(6)NOT

(7)AND

(8)ALLANYBETWEENINLIKEORSOME(逻辑运算符)

(9)二(赋值)

第五章数据查询(设计题一定考)

查询语法格式(考)

SELECT列名

INTO新农名

FROMC表或视图〉

WHERE逻辑表达式一列级条件

GROUPBY列名

HAVING逻辑表达式一组级条件

ORDERBY列名asc升序,desc降序

常用的聚合函数(考)

sum()

Avg()

Max()

Min()

Count()

Count(distinct)

GROUPBY注意事项

(1)在SELECT子句的字段列表中,除了聚集函数外,其他所出现的字段一定

要在GROUPBY子句中有定义才行

(2)SELECT子句的字段列表中不一定要有聚集函数旦至少要用到GROUPBY

子句列表中的一个项目。

(3)在SQLServer中text、ntext和image数据类型的字段不能作为GROUP

BY子句的分组依据。

(4)GROUPBY子句不能使用字段别名。

交叉连接(笛卡尔积)

SELECTfieldlistFROMtablel,table2

SELECTfieldlistFROMtablelcrossJOINtable2

连接

SELECTfieldlist

FROMtablel[INNER|LEFT|RIGHT|FULL]JOINtable2

ONtablel.column=table2.column

INNERJOIN:

如果表中有至少一个匹配,则返回行

LEFTJOIN:

即使右表中没有匹配,也从左表返回所有的行

RIGHTJOIN:

即使左表中没有匹配,也从右表返回所有的行

FULLJOIN:

只要其中一个表中存在匹配,就返回行

子查询(IN比较运算符EXISTSUNION)(考选择、填空)

UNION操作符用于合并两个或多个SELECT语句的结果集。

UNION内部的

SELECT语句必须拥有相同数量的列。

列也必须拥有相似的数据类型。

同时,每

条SELECT语句中的列的顺序必须相同。

Between:

列名>二开始值and列名<二结束值(考)

(1)

NOT:

不满足条件

(2)AND:

满足所有条件

(3)OR:

满足其中任意一个条件

DISTINCT消除重复记录(考)

弟八早

(考)

视图(View)是一个虚拟表。

视图作用(考多选题)

视图能简化用户的操作、提高安全性、逻辑数据独立性

修改数据

•在from子句中引用多个表

•引用不可更新的视图

•GROUPBY或Having子句

•视图中不含非空列

创建视图:

(考)

CREATEVIEWview_name

ASselect_statement

修改视图:

ALTERVIEWview_name

ASselect_statement

删除视图:

DROPVIEW视图名

视图添加数据

Insertinto视图名values(列值,列值,…,列值n)

视图更新数据

update视图名set列=列值,列=列值

Where条件表达式

视图删除数据

DELETEFROM视图名WHERE逻辑表达式第七章索引与数据完整性索引优点(考)提高数据库的查找速度、保证列的惟一性、加快表与表之间的连接速度、减少查询中分组和排序的时间、检索数据的过程中使用优化隐藏器,提高系统性能索引类型(考)

存储结构:

聚集索引(物理顺序与索引顺序相同、_个表一个)和非聚集索引(物理顺序与索引顺序不相同、一个表可有多个)数据唯一性:

唯一索引(UNIQUEIndex)和非唯一索引(NonuniqueIndex)

唯一索引是指索引值必须是唯一的,不允许数据表中具有两行相同的索引值.

键列的个数:

单列索引和多列索引

索引分类(考)

聚集索引、非聚集索引、唯一索引、索引视图、全文索引

关键字

CREATE

[UNIQUE][CLUSTERED|NONCLUSTERED]--唯-S聚集,非聚集

INDEX索弓|名

ON表(视图)名(列名[ASCIDESC])

删除索引

dropindex表名.索弓I名

数据完整性

(1)数据类型准确无误。

(2)数据取值符合规定的范围。

(3)多个数据表之间的数据不存在冲突。

数据完整性机制(考)

实体完整性(行1域完整性(列1引用完整性(表与表1用户定义完整性以下为了解即可,不知道考不考

(1)唯一索引(UniqueIndex)。

(2)主键(PrimaryKey)。

(3)唯一码(UniqueKey)。

(4)标识列(IdentityColumn)。

域完整性常见的实现机制包括以下几点’

(1)默认值(Default)o

(2)检查(Check)。

(3)外键(ForeignKey)。

(4)数据类型(DataType)。

(5)规则(Rule)o

(1)当主表中没有关联的记录时,将记录添加到相关

表中。

(2)更改主表中的值并导致相关表中的记录孤立。

(3)从主表中删除记录,但仍存在与该记录匹配的相

关记录。

(1)规则(Rule)o

(2)触发器(Trigger)。

(3)存储过程(StoredProcedure)。

(4)创建数据表时的所有约束(Constraint)□

存储过程优点(考选择题)

允许标准组件式编程,可以嵌套使用,增强重用性和共享性

可以接受并使用参数动态执行其中的SQL语句

比一般的SQL语句执行速度快

具有安全特性

允许模块俯辩设计

减少网络通信流量

可以强制应用程序的安全性

存储过程类别(考)

系统提供的存储过程、用户自走义存储过程和扩展存储过程。

创建语法

CREATEPROCEDURE[proc]procedure_name[@参数]with[recompile(重新编译)|encryption(加密)](考)Assql语句

调用方法

Exec存储过程名参数

变量传值的调用方法:

declare@变量名数据类型

set@变量名

Execprocedure_name@变量名

修改存储过程:

alterPROCEDURE[proc]procedure_name[@参数]

Assq丄语句

删除存储过程

dropproc存储过程名

获得存储过程信息:

sp_helptext

查看存储过程的相关性信息:

sp.depends

查看存储过程的一般信息:

sp_help

例子:

createprocp_stu_avg

@stu_idchar(10),

@avg_cjintoutput

as

select@avg_cj=avg(chengji)

fromxuanke

wherexkid=@stu_id

declare@cjint

execp_stu_avg@stu_id=1090021r@avg_cj=@cjoutputselect@cjbs平均成绩

触发器:

trigger

触发器分为DML触发器和DDL触发器。

DML触发器可以分为如下5种类型。

1UPDATE触发器

2INSERT触发器

3DELETE触发器

4INSTEADOF触发器

根据触发的方式

5AFTER触发器

创建DML触发器语法:

CREATETRIGGER[schema_name•]trigger_name

ON{table|view}

{FOR|AFTER|INSTEADOF}

{[INSERT][,][UPDATE][,][DELETE]}

AS

sql_statement

DDL触发器只能在触发事件发生后才会调用执行,即它只能是AFTER触发器。

创建DDL触发器语句(无设计题)

CREATETRIGGERtrigger_name

ON{ALLSERVERIDATABASE}

Withencryption

{FORIAFTER}触发的事件类型

ASsql_statement

删除触发器

DROPTRIGGER触发器名

管理触发器

修改触发器、删除触发器、禁用(启用)触发器

第九章事务

系统函数:

标量函数,聚合函数,行集函数。

(考)

三种用户自定义函数:

标量函数:

返回单个数据值。

(考设计题)

内连表值函数:

返回值是一个记录集合——表。

在此函数中zreturn语句包含

—条单独的select语句。

多语句表值函数:

返回值是由选择的结果构成的记录集。

函数不能有输出参数,存储过程可以有输出参数。

创建函数语法:

(考设计题)

createfunction函数名(@形参名数据类型[,@形参名数据类型n])returns返回值数据类型

asbegin

命令行或程序块(必须有Return子句)

End

调用函数:

Printdbo.函数([实参])或selectdbo.函数([实参])

删除自定义函数

dropfunction函数名

Pivot(必考)

selectsex,信息学院计算机学院机械学院

from(selecta.studentID,a.sex’a.specialityfrom

studenta)ast

pivot(count(studentID)forspecialityin(信息学院,

计算机学院机械学院))asb

事务属性:

原子性(Atomicity)、一致性(Consistency)、隔离线(Isolation).

持久性(Durability)(考)

事务管理主要使用四条语句(考)

1.BEGINTRANSACTION(事务的起点)

2.COMMITTRANSACTION(事务的终点)

3.ROLLBACKTRANSACTION(事务回滚)

4.SAVETRANSACTION(事务保存点)

类型:

系统提供事务、用户定义事务(考)

模式:

自动提交事务、显式事务、隐性事务(考)

并发问题:

丢失更新、未确认的相关性(脏读)、不一致的分析(不可重复读X幻象读死锁条件:

互斥条件、请求与保持条件、不剥夺条件、循环等待条件锁:

共享锁S、独占锁X、更新锁U(考)

第十章

SQLServer的安全性管理是建立在验证(authentication)和访问许可

(permission)这两种机制上的。

SQLServer2008的验证方式包括Windows验证模式与混合验证模式.

SQLServer的安全模型中包括以下几部分:

•SQLServer身份验证;

•登录账户;

•数据库用户;

•角色;

•权限

在SQLServer中,账号有两种:

一种是登录服务器的登录账号,另外一种就是使用数据库的用户账号.

创建登陆名:

createlogin登录名withpassword^密码,

修改登录名:

alterlogin^:

录名withpassword=z密码,

删除登录名:

droplogin登录名

课后作业

--作业二

--In显zjxbook表中所有书号、书名和出版社

selectbookid,bookname,publishfrombook

—2、显示所有的书目(DISTINCT)

selectdistinetbooknmmefrombookorderbybookname

一3、显示年以后出版的书

select*frombookwhere((year)publishdate)>2001

-4、显示读者信息表中所有计算机系的男同学的信息

select*fromreaderwheredept=1计算机系1andsex='男1

--5、显示所有编者姓刘的图书情况

select*fromreaderwherename1ike'夫U%'

--6、将book中的I!

;籍信息按岀版时间先后显示

select*frombookorderbypublishdateASC

—7、列出在book表中总共有多少种书

selectcount(bookid)frombook

—8.列出水利水电出版社出版的书的种数

SELECTbooknameFROMbook

wherepublish=,水利水电出版社,

GROUPBYbookname

--9、查找最贵和最便宜的书的价格

SELECTmax(price)FROMbook

SELECTmin(price)FROMbook

—10、各类书的总库存

selectbooknmme,count(qty)ms总库存frombookgroupbybookname

-IK统计各出版社的图书库存总量

selectpublish,count(qty)bs总库存frombookgroupbypublish

--12、将进彳亍读者信息表reader和借书情况表borrow两张表进彳亍各种连接

Select*fromreaderJOINborrowONreader・cardid=borrow・cmtdid

selectreaderLeftJOINborrowONreader・cardid=borrow・cardid

selecreaderRightJOINborrowONreader.cardid-borrow•c&rdid

--创建查询某读者信息的存储过程proc_reader,(car

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 冶金矿山地质

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1