交互式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数据存储的存储空间。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器