第5章 数据表创建及管理.pdf
文本预览下载声明
第5 章 数据表的创建与管理
本章内容简介及学习要点
在上一节中,我们重点研究了数据库的物理存储结构,从本节开始,我们将讨论构成数
据库逻辑结构的数据库对象。在数据库中,表的作用是存储基础数据,而且是其他数据库对
象依赖的基础,所以在本节中,我们将对表对象进行讲解。
5.1 SQL Server 数据表
表是包含数据库中所有数据的数据库对象,用来存储各种各样的信息。表定义为列的集
合,数据在表中是按行和列的组织形式排列的,每一行代表唯一的一条记录,每一列则代表
记录中的一个域。
在SQL Server 数据库中,表对象分为三种:系统表、用户定义表和临时表。系统表由
SQL Server 安装或数据库建立时由系统自动创建,一般用于维护服务器或数据库的管理配
置,不建议用户对系统表进行直接操作。用户定义表是用户进行数据操作的主要对象,在本
节中我们重点讲解用户定义表的创建、修改等设置。临时表存储在tempdb 中,有本地表和
全局表两种类型。在用户不再使用时,临时表自动被SQL Server 删除。
5.1.1 数据类型
表是由列的集合构成,因此表的结构设置,主要是每一列的属性设置,而在设置表之前,
我们要知道SQL Server 系统允许我们为表格列设置什么数据类型。
1. 系统数据类型
系统数据类型是由SQL Server 预先定义好的,可以直接使用。 具体有:
(1) 整型数据类型
①Bigint :用8 个字节存储数字,最高 1 位表示正负值。
②Int (integer ):用4 个字节存储数字,最高 1 位表示正负值。
③Smallint :用2 个字节存储数字,最高 1 位表示正负值。
④Tinyint :用1 个字节存储数字,所有位数用于表示数值,所以表示数值范围为0~255 。
(2) 浮点数据类型
用于存储十进制小数 ,采用只入不舍的方式。
①Real:用4 个字节存储数据的,最高 1 位表示正负值,最大7 位精确位数。
②Float :可以精确到第15 位小数,默认占用8 个字节的存储空间。Float 数据类型也可
以写为float (n )的形式,n 为 1~15 之间的整数值。当n 取 1~7 时,系统用4 个字节存
储它;当n 取8~15 时,用8 个字节存储它。
③Decimal 和numeric :可以提供小数所需要的实际存储空间,可以用2~17 个字节来存
储。也可以将其写为 decimal (p ,s )的形式,数值类型的总位数不包括小数点。例如
decimal (10,4 ),表示共有10 位数,其中整数6 位,小数4 位。
(3) 字符数据类型
用来存储各种字母、数字符号和特殊符号。在使用时需要在其前后加上英文单引号。
①Char :其定义形式为char (n ),表示固定长度字符串,其中n 表示字符数,默认为 1,
取值范围为 1~8000,存储空间为一个字符对应一个字节。例如定义char(20) ,如果只输
入了 14 个字符,在存储数据时仍然分配20 个字节空间,后6 个字节空间用空值填充;
如果输入了24 个字符,截取前20 个字符存储。
②Varchar :其定义形式为Varchar (n ),表是可变长度字符串,其中n 表示字符数,默
认为1,取值范围为1~8000,存储空间为一个字符对应一个字节。和char 类型不同varchar
类型可根据输入数据的实际长度来分配空间。例如定义 Varchar(20) ,如果只输入了 14
个字符,在存储数据只分配 14 个字节空间;但如果输入了24 个字符,仍然只截取前
20 个字符存储。
③Nchar :其定义形式为nchar (n ),表示采用Unicode 字符集的固定长度字符串,其中
n 表示字符数,默认为 1,取值范围为 1~4000,存储空间为一个字符对应两个字节。
④Nvarchar :其定义形式为nvarchar (n ),表示采用Unicode 字符集的可变长度字符串,
其中n 表示字符数,默认为 1,取值范围为 1~4000,存储空间为一个字符对应两个字节。
显示全部