常用对象
- 表:包含数据库中所有数据的数据库对象,由行和列组成,用于组织和存储数据。
- 字段:表中的列称为一个字段,字段具有自己的属性,如字段类型、字段大小等。基本字段类型:字符型、文本型、数值型、逻辑型、日期时间型。
- 索引:单独的、物理的数据库结构,依赖于表建立,使数据库程序无须对整个表进行扫描,就可以找到所需数据。
- 存储过程:一组为了完成特定功能的 SQL 语句集合(包含查询、插入、删除、更新等),编译后以名称的形式存储在 SQL Server 服务器端的数据库中,由用户通过制定存储过程的名字来执行。
数据库组成
一,文件。
1. 主要数据文件:存放数据和数据库的初始化信息。每个数据库有且只有一个主要数据文件,默认扩展名是 .mdf
。
2. 次要数据文件:存放除主要数据文件以外的所有数据文件。有些数据库可能没有次要数据文件,也可能有多个次要数据文件,默认扩展名是 .ndf
。
3. 事务日志文件:存放用于恢复数据库的所有日志信息。每个数据库至少有一个事务日志文件,也可以有多个事务日志文件,默认扩展名是 .ldf
。
二,文件组。
1. 主文件组:包含主要数据文件和任何没有明确指派给其他文件组的文件。系统表的所有页都分配在主文件组中。
2. 用户定义文件组:主要是在 create database 或 alter database 语句中,使用 filegroup 关键字指定的文件组。
文件分组规则:
1. 文件只能是一个文件组的成员;
2. 文件或文件组不能由一个以上的数据库使用;
3. 数据和事务日志信息不能属于同一文件或文件组;
4. 日志文件不能作为文件组的一部分,日志空间与数据空间分开管理。
系统数据库
- master 数据库:SQL Server最重要的数据库,记录SQL Server实例的所有系统级信息,包括实例范围的元数据、端点、链接服务器和系统配置设置。
- tempdb 数据库:临时数据库,用于保存临时对象或中间结果集。
- model 数据库:用作SQL Server实例上创建的所有数据库的模板,对其进行的修改将应用于以后创建的所有数据库。
- msdb 数据库:用于SQL Server代理计划警报和作业。
数据类型
一,精确数字。
1,整型。
bigint
,-9223372036854775808~9223372036854775807,字节数8;int
,-2147483648~2147483647,字节数4;smallint
,-32768~32767,字节数2;tinyint
,0~255,字节数1。
2,位型。
bit
,1和0(表真和假),字节数1/8。
3,货币型。
money
,-922337203685477.5808~922337203685477.5807,字节数8;smallmoney
,-214748.3648~214748.3647,字节数4。
4,十进制。
decimal
,-10^38-1 ~ 10^38-1,字节数5,9,13或17。
二,近似数字。
float
,-1.79E+308~1.79E+308,字节数4,8;real
,-3.40E+38~3.40E+38,字节数4。
三,日期时间。
datetime
,1753.1.1~9999.12.31,字节数8(精确到3.33毫秒);smalldatetime
,1900.1.1~2079.12.31,字节数4(精确到分钟)。
四,字符。
1,字符。
char(n)
,固定长度的单字节字符数据,最长8000个字符,字节数N;varchar(n)
,可变长度的单字节字符数据,最长8000个字符,字节数N;text
,可变长度的单字节字符数据,最长2^31-1个字符,字节数N。
2,Unicode。
nchar(n)
,固定长度的双字节字符数据,最长4000个字符,字节数N;nvarchar(n)
,可变长度的双字节字符数据,最长4000个字符,字节数N;ntext
,可变长度的双字节字符数据,最长2^30-1个字符,字节数N。
五,二进制。
binary(n)
,固定长度的n(默认1)字节二进制数据(1
六,特殊类型。
timestamp
,以二进制格式表示SQL活动的先后顺序,字节数8;uniqueidentifier
,以十六字节二进制数字表示一个全局唯一的标识号,字节数16。