文档详情

第5章 数据表创建及管理.pdf

发布:2017-09-19约2.4万字共23页下载文档
文本预览下载声明
第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,存储空间为一个字符对应两个字节。
显示全部
相似文档