数据库与程序设计文档格式.docx

上传人:b****6 文档编号:22039943 上传时间:2023-02-02 格式:DOCX 页数:23 大小:22.41KB
下载 相关 举报
数据库与程序设计文档格式.docx_第1页
第1页 / 共23页
数据库与程序设计文档格式.docx_第2页
第2页 / 共23页
数据库与程序设计文档格式.docx_第3页
第3页 / 共23页
数据库与程序设计文档格式.docx_第4页
第4页 / 共23页
数据库与程序设计文档格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

数据库与程序设计文档格式.docx

《数据库与程序设计文档格式.docx》由会员分享,可在线阅读,更多相关《数据库与程序设计文档格式.docx(23页珍藏版)》请在冰豆网上搜索。

数据库与程序设计文档格式.docx

(列名+数据类型+是否空值+约束)

2.查看结构

EXECsp_help表名

2、修改数据表(page96)

1.修改表中某列

ALTERTABLE表名

ALTERCOLUMN修改的内容

2.添加一列

ADD添加的内容

3.删除某一列

DROPCOLUMN列名

3、删除数据表(page98)

DROPTABLE表名

数据表的基本操作

1、添加记录(page99)

【重点程序page100】

1.插入一条记录

INSERTINTO表名

VALUES(插入的数值)

2.插入子查询的结果

USE数据库

INSERTINTO添加的位置

SELECT选择的数据

2、修改记录(page102)

UPDATE表名

SET列名+用于取代相应属性的表达式值

WHERE修改条件

3、删除记录(page103)

DELETEFROM表名

WHERE指定删除条件

数据库完整性的实现

1、数据完整性(page104)

数据完整性是指数据的正确性、有效性和相容性,目的是为了防止错误的数据进入数据库。

1.实体完整性,也称行完整性。

要求表中的所有行有一个唯一的标识符,这种标识符一般称为主键值。

主键值能否被修改或表中的数据是否能够被全部删除都要依赖于主键表和其他表之间要求的完整性。

2.参照完整性。

参照完整性是保证参照表(外键所在的表)与被参照表(主键所在的表)中数据的一致性。

如果被参照表中的一行被一个外键参考,那么这一行数据便不能直接被删除,用户也不能直接修改主键值。

3.域完整性,也称为列完整性。

指定一个数据集对某一个列是否有效和确定是否允许空值。

域完整性通常是经过使用有效性检查来实现的,并且还可以通过限制数据的类型、格式或者可能取值范围来实现。

二、约束(page105)

1.PRIMARYKEY约束(page106)

主键约束作为表的一个属性,可以唯一标识表中的记录。

在输入数据时,主键列不能为空且不能有重复值。

每个表都应该有且只有一个主键。

(1)建立PRIMARYKEY约束

ADDCONSTRAINTPK_列名PRIMARYKEY(列名)

(2)删除PRIMARYKEY约束

DROPCONSTRAINTPK_列名

2.FOREIGNKEY约束(page107)

外键约束标识表之间的关系,可以定义为一个列或多个列,这些列参照同一个表或另外的一个表中的PRIMARYKEY约束或UNIQUE约束列。

(1)建立FOREIGNKEY约束

GO

ADDCONSTRAINTFK_表名_列名

FOREIGNKEY(列名)REFERENCES(参照的列名)

(2)删除FOREIGNKEY约束

DROPCONSTRAINTFK_表名_列名

3.UNIQUE约束

唯一值约束规定表中某一列或多个列不能有相同的两行两行以上的数据存在。

这种约束用来强制实体完整性。

(1)建立UNIQUE约束

ADDCONSTRAINTIX_表名_列名

UNIQUE(列名)

(2)删除UNIQUE约束

DROPCONSTRAINTIX_表名_列名

4.CHECK约束

条件约束通过指定的逻辑表达式来限制列的取值范围,只有当逻辑表达式为真时,才满足列的取值要求。

干约束用来加强域完整性。

可以为每列指定多个CHECK约束。

(1)建立CHECK约束

ADDCONSTRAINTCK_表名_列名CHECK(约束条件)

(2)删除CHECK约束

DROPCONSTRAINTCK_表名_列名

三、默认(page112)

1.创建DEFAULT约束

ADDCONSTRAINTDF_表名_列名

DEFAULT默认值FOR列名

2.使用默认值

CREATEDEFAULTDF_列名AS默认值

3.绑定默认值

EXECsp_bindefault'

DF_列名'

表名.列名'

4.删除默认值

DROPDEFAULTDF_表名_列名

四、规则(page114)

1.创建规则并绑定到列

CREATERULE要创建的规则名称AS指定规则的条件

sp_bindrule'

R_列名'

2.删除规则

DROPRULER_列名

索引

1、索引的分类(page117)

1.按索引的顺序和表中记录的物理存储顺序是否相同。

(1)聚集索引

(2)非聚集索引

2.按索引值是否唯一

(1)唯一索引

(2)非唯一索引

2、创建索引(page117)

【重点程序page119】

CREATE[UNIQUE][CLUSTERED][NONCLUSTERED]

INDEXIX_表名_列名

ON表名(列名)

3、管理索引(page120)

1.查看索引

EXECsp_helpindex表名

2.重命名索引

EXECsp_rename'

表名.IX_表名_列名'

'

IX_表名_列名'

index'

3.删除索引

DROPINDEX表名.IX_表名_列名

数据管理

1、基本查询(page127)

【重点程序page128】

各参数说明如下:

ALL:

返回结果集中的所有行,是系统默认值。

DISTINCT:

指明结果集中如果有值相同的行,则指显示其中的一行。

TOP<

n>

指明仅返回结果集中的前n行。

PERCENT<

指明仅返回结果集中的前百分之n行。

1.查询指定的数据列

(1)查询全部列

SELECT*FROM表名

(2)查询指定的列

SELECT列名,列名FROM表名

(3)消除取值重复的行

SELECTDISTINCT列名FROM表名

2.改变列标题

SELECT'

列标题'

=列名,列名AS列标题FROM表名

3.数据运算

SELECT列名<

运算符>

AS'

FROM表名

2、条件查询(page130)

查询条件

谓词

比较

=,>

<

>

=,<

=,!

>

!

<

确定范围

BETWEENAND,NOTBETWEENAND

确定集合

IN,NOTIN

字符匹配

LIKE,NOTLIKE

空值

ISNULL,ISNOTNULL

多重条件

AND,OR,NOT

(1)比较大小

SELECT列名FROM表名

WHERE条件范围

(2)限定范围

WHERE列名[NOT]BETWEEN数值AND数值

(3)限定集合

WHERE列名[NOT]IN(集合条件)

(4)字符匹配

WHERE列名[NOT]LIKE'

匹配串>

'

(5)空值

WHERE列名IS[NOT]NULL

(6)多重条件

WHERE条件[AND][OR][NOT]条件

3、排序(page134)

1.查询结果排序

WHERE条件

ORDERBY列名,列名[ASC][DESC]

2.选取查询结果的前几行数据

SELECTTOP<

列名FROM表名

4、查询输出(page135)

1.存储到基本表中

SELECT列名INTO基本表FROM表名

2.存储到临时表中

SELECT列名INTO#临时表FROM表名

5、聚合查询(page136)

1.SELECT子句中的聚合

在SELECT子句中可以使用聚合函数进行运算,运算结果作为新列出现在结果集中。

在聚合运算的表达式中可以包括列名、常量以及由算式运算符连接起来的函数。

函数

功能

COUNT([DISTINCT|ALL]*)

统计记录个数

COUNT([DISTINCT|ALL]<

列名>

统计一列中值的个数

SUM([DISTINCT|ALL]<

计算一列值的总和(此列必须是数值型)

AVG([DISTINCT|ALL]<

计算一列值的平均值(此列必须是数值型)

MAX([DISTINCT|ALL]<

求一列值中的最大值

MIN([DISTINCT|ALL]<

求一列值中的最小值

SELECT函数(列名)AS'

FROM表名

2.COMPUTE子句中的集合

在SELECT子句中出现聚合函数时,结果集中的数据全是聚合值,没有明细值。

COMPUTE子句不仅可以使用聚合函数计算聚合值,而且可以依然保持原有的明细值;

新的聚合值作为附加的汇总列出现在结果集的最后。

需要注意的是,COMPUTE子句中不允许使用DISTINCT关键字。

6、分组查询(page138)

GROUPBY子句对查询结果按照一定条件进行分组,分组子句通常与SQLServer提供的聚合函数一起使用。

对查询结果分组的目的是为了细化聚合函数的作用对象,如果未对查询结果分组,则聚合函数将作用于整个查询结果,分组后聚合函数将作用于每一个组,每一个组都有一个函数值。

SELECT语句后的输出列只能是聚合函数和分组列。

1.使用GROUPBY子句

GROUPBY列名

2.使用WITH选项

(1)使用CUBE操作符

GROUPBY列名WITHCUBE

(2)使用ROLLUP操作符

GROUPBY列名WITHROLLUP

3.使用HAVING子句

GROUPBY列名

HAVING子句指定筛选条件

7、连接查询(page140)

一个查询同时涉及两个或者两个以上的表,并且每一个表中的数据往往作为一个单独的列出现在结果中,则需要用到连接查询。

连接查询操作类型:

①INNER:

内连接,指定返回两个表中所有匹配的行,此项是默认值。

②LEFT[OUTER]:

左外连接,返回连接查询左边的表中的相应记录,在右表中对应于左表中无记录的部分用NULL表示。

③RIGHT[OUTER]:

右外连接,返回连接查询两个表中所有的相应记录,在左表中对应于右表中无记录的部分用NULL表示。

④FULL[OUTER]:

完全外联结,返回连接查询两个表中所有的相应记录,对应于无记录的部分用NULL表示。

⑤JOIN:

指示制定的连接操作应在制定的表源或视图之间执行。

1.交叉连接

(1)用谓词表示交叉连接

SELECT表名.列名,表名.列名FROM表名,表名

(2)用JOIN关键字表示交叉连接

SELECT表名.列名,表名.列名FROM表名CROSSJOIN表名

2.内连接

①用谓词表示等值连接

WHERE表名.列名=表名.列名

②用JOIN关键字表示等值连接

SELECT表名.列名,表名.列名

FROM表名INNERJOIN表名ON表名.列名=表名.列名

3.外连接

①左外连接

SELECT表名.列名,表名.列名

FROM表名LEFTOUTERJOIN表名ON表名.列名=表名.列名

②右外连接

FROM表名RIGHTOUTERJOIN表名ON表名.列名=表名.列名

8、嵌套查询(page145)

1.单值嵌套查询

子查询的返回结果是一个值的嵌套查询称为单值嵌套查询。

当能确切知道子查询返回的是单值时,可以用>

=,>

等比较运算符将一个表达式的值与子查询返回的值进行比较运算。

SELECT列名,列名FROM表名

WHERE列名='

查询名称'

AND列名[比较运算符](SELECT函数(列名)FROM表名WHERE列名='

2.多值嵌套查询

子查询的返回结果是一列值的嵌套查询。

(1)使用[NOT]IN运算符

SELECT列名,列名,列名

WHERE列名NOTIN(SELECT列名FROM表名WHERE条件)

(2)利用谓词ANY或ALL

WHERE列名[比较运算符]ALL/ANY(SELECT列名FROM表名WHERE条件)

3.使用谓词EXISTS的子查询

WHEREEXISTS(SELECT列名FROM表名WHERE条件)

9、组合查询(page148)

两个查询语句之间可以进行集合运算。

其中UNION运算符表示并集运算,EXCEPT运算符表示差运算,INTERSECT表示交运算。

1.并运算(UNION[ALL]用来将多个查询结果集合并起来,如果不加ALL,系统自动去掉重复的记录,加上ALL系统会自动保留全部记录。

SELECT列名,列名FROM表名WHERE条件

UNION

2.差运算(从左查询中返回右查询中没有找到的非重复值)

EXCEPT

3.交运算(返回左右两个查询语句都包含的所有非重复值)

INTERSECT

视图及其应用

1、视图的概述(page150)

1.视图的含义

视图一经定义之后,就可以像基本表一样被查询、添加、修改和删除。

当对通过视图看到的数据进行添加、修改和删除时,相应的基本表中的数据也会发生变化;

同时,当基本表的数据变化时,也会自动反映到视图之中。

2.使用视图的优点

①数据保密

②简化用户权限的管理

③集中用户使用的数据

④简化查询操作

⑤保证数据的逻辑独立性

2、创建视图(page151)

【重点程序page154】

CREATEVIEWVW_视图名称(列标题,列标题,列标题)

AS

3、维护视图(page154)

【重点程序page155】

1.查看视图信息

EXECsp_helptextVW_视图名称

2.修改视图的定义

ALTERVIEWVW_视图名称

SELECT列名AS列标题,列名AS列标题,列名AS列标题

3.视图的重命名

EXECsp_renameVW_视图名称,VW_修改后的视图名称

4.视图的删除

DROPVIEWVW_视图名称

4、视图数据操作(page157)

1.查询视图数据

SELECT列名

FROMVW_视图名称

2.更新视图数据

①插入数据

INSERTINTOVW_视图名称

VALUES('

数据值'

②修改数据

UES数据库名

UPDATEVW_视图名称

SET修改的语句

③删除数据

DELETEFROMVW_视图名称

存储过程

1、创建存储过程(page163)

【重点程序page165】

1.不适用参数,创建存储过程

CREATERROC存储过程名称

SELECT表名.列名,表名.列名,表名.列名

FROM表名,表名,表名

2.执行存储过程

EXEC存储过程名称

3.使用参数,创建存储过程

CREATEPROC存储过程名称(@变量数据类型,@变量数据类型)

WHERE含有变量的条件

4.执行含有参数的存储过程

EXEC存储过程名称'

变量值'

5.使用默认参数,建立存储过程

CREATERROC存储过程名称(@变量数据类型='

@变量数据类型='

6.执行使用默认参数的存储过程

7.使用返回参数

【重点程序page167】

2、存储过程管理(page168)

1.查看存储过程的源代码

EXECsp_helptext存储过程名称

2.修改存储过程

ALTERPROC存储过程名称

AS

3.重命名存储过程

EXECsp_rename存储过程名称,修改后的存储过程名称

4.删除存储过程

DROPPROC存储过程名称

触发器

1、触发器概述(page170-page172)

2、创建触发器(page172)

【重点程序page174】

CREATETRIGGER触发器名称ON表名

FOR[INSERT],[UPDATE],[DELETE]

程序语句

3、触发器的管理

1.查看触发器的定义信息

EXECsp_helptext'

触发器名称'

2.修改触发器

ALTERTRIGGER触发器名称ON表名

3.删除触发器

DROPTRIGGER触发器名称

4.禁止和启用触发器

[ENABLE]|[DISABLE]TRIGGER触发器名称

自定义函数

1、自定义函数概述(page177)

自定义函数的优点:

1.允许模块化设计

2.执行速度更快

3.减少网络流量

2、自定义函数创建与管理(page17

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

当前位置:首页 > 高等教育 > 农学

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

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