您的位置:首页技术开发数据库教程 → SQL Server 7.0 入门(一)

SQL Server 7.0 入门(一)

时间:2004/11/7 4:14:00来源:本站整理作者:蓝点我要评论(0)

交互式SQL(Transact SQL,TSQL)

它是SQL Server的查询语言。提供以下命令:

· 创建和数据库对象。

· 访问和修改数据。

· 数据聚合(aggregation,又称聚集)。

· 实施安全措施。



数据库对象

       数据库对象是数据库中的物理对象。这些对象拥有唯一的名字,并保存数据和数据关系信息。SQL Server定义了如下几种对象:

1、 表(table)

表是用来存储数据的两维数组,它有行和列。列也称为表属性或字段,表中的每一列拥有唯一的名字,每一列包含具体的数据类型,这个数据类型由列中的数据类型定义。

2、 视图(view)

视图是虚拟的表,它只包含表的一部分。与表不同的是,保存在视图中的数据并不是物理存储的数据,它是由表派生的,派生表被称为视图的基本表。视图的定义存储在数据库中。

3、 约束条件(constraint)

约束条件定义数据的完整性和有效性。约束条件为列中的值建立规则。换而言之,如果在某一列上定义了结束条件,则插入这一列的每一个值需要通过约束条件检查。约束条件是在触发器和规则上保证数据完整性和有效性的较佳选择。SQL Server Query Optimizer利用约束条件产生出低成本的查询计划。约束条件有如下类型:

· NOT NULL 这个约束条件要求列中不能有NULL值。

· CHECK 为列指定能拥有的值的集合后,检查约束条件。列中任何在定义之外的数据都为无效数据。有效值集合称为列的域。

· PRIMARY KEY 主关键字是列或列组合,它用来唯一标识一行。

· FOREIGN KEY 用来定义两个表之间的父子关系。如果一个关键字既是一个表的主关键字的一部分,同时又是另一个表的主关键字,则称它为外来关键字。外来关键字用来定义数据的引用完整性。

· UNIQUE 唯一约束条件是指无任何两行在列中有相同的NON-NULL值。唯一性由主关键字保证,但他们不允许NULL值,并且每一个表只能有一个关键字。

4、 默认值(default)

默认值是为列定义的值,如果在插入一行时没有提供某一列的值,则此列使用默认值,默认值可以是以下的一种:

· 常量

· 数学表达式

· 内部函数(Built-in function)

5、 规则(rule)

规则执行和CHECK约束条件同样的功能。但规则和约束条件不同的是:规则作为独立的对象存在,它可以用于多个表,而约束条件作为表的一部分存储。然而,规则是作为向后兼容特点而提供的,建议用户使用约束条件。

6、 触发器和存储过程

触发器和存储过程是一个TSQL命令集,它们作为一个对象存储在数据库中。



对象命名约定

SQL Server用三段式(three-part)名字标识对象:

<数据库名>.<所有者名>.<对象名>

前两部分可以省略,系统有一个默认值。数据库名的默认值是当前数据库,所有者名的默认值是数据库所有者(dbo)。



数据类型

       任何包含数据的对象都有一个数据类型和它关联。数据类型是指定对象能包含何种数据的属性。

       SQL Server数据类型

数据类型

说  明

同  义



Bit

1位,值为0或1

Int



Integer

4字节,值为-2^31~2^31-1





Smallint

2字节,值为-2^15~2^15-1





Tinyint

1字节,值为0~255





Decimal (p,s)

数字数据,固定精度为P,宽度为S

Numeric



Money

8字节,存放货币类型,值为-2^63~2^63-1





Small money

4字节,存放货币类型,值为-214748.3648~+214748.3647近似数值数据类型





Float (n)

N在1~24之间,4字节,7位精度

N=1~7为real





N在25~53之间,8字节,15位精度

=8~15为float



Datetime

8字节,描述某天的日期和时刻,值的精确度为1/300秒





Smalldatetime

4字节,描述某天的日期和时刻,精度为分钟





Cursor

对游标的引用





Timestamp

8字节,存放在数据库内唯一的数据





Uniqueidentifier

16字节,存放全局唯一标识(GUID)





Char (n)

非unicode字符串的固定长度,n=1~8000

Character (n)



Varchar (n)

可变长度,非unicode字符串n=1~8000

Char varying(n)



Text

服务器代码页中可变长度非unicode数据。最大长度为231-1个字符





Nchar

固定长度unicode字符串n=1~4000

National character (n),

National char(n)



Nvarchar

固定长度unicode字符串n=1~4000

National character varying(n)



Ntext

可变长度unicode数据,最大长度为230-1个字符

National text



Binary (n)

固定长度二进制数据,n在1~8000之间,存储空间为n+4字节





Varbinary (n)

可变长度二进制数据,n=1~8000

Binary varying (n)



Tmage

可变长度二进制数据,大小为0~231-1





注意:

1)    对于数值型数据类型,宽度(scale)是指存储在小数点后的数字位数,而精度(precision)是指能存储的包含小数点在内的所有数字位数。

2)    money和small money的存储宽度为4。

3)    时间戳列值在每一行更新时系统自动更新,时间戳列不能是关键字或关键字的一部分。

4)    唯一标识数据类型不能使用算术操作符(如+、-等),这种数据类型只能使用相等比较操作。Unicode是所有字符集的一致存储数据的标准。它要使用两倍于非Unicode数据存储的存储空间。






相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 oracle10g安装图解(wi

最新文章 数据库流行度排行2019oracle10g安装图解(wi SQL2008全部数据导出导入两种方法SQL2005新建复制“找不到存储过程 错误:28Dos远程登录mysql数据库详细图文教程mysql怎么开启远程登录功能

人气排行 mysql自动定时备份数据库的最佳方法-支持wiVisual Foxpro 6.0安装向导图文教程SQL Server 2008 安装图文教程SQL2008全部数据导出导入两种方法SQL 2000/2005/2008 的收缩日志方法,和清理mysql出 Can't connect to MySQL server onoracle10g安装图解(win7)sql2005安装图解_(sql server2005)安装教程