文档介绍:《网络数据库技术与应用》课件——第3章西安航空职业技术学院王姝制作
第3章表和视图
表的定义及创建
表的维护操作
视图
索引
表的查询
存储过程的创建和调用
实例教学——表的建立与维护
小结
数据库中的数据是以表的形式存在的。一个数据库中可以包含多个彼此相关的表。本章主要介绍数据表的建立及基本的维护操作。另外,还将介绍视图的概念以及如何对数据表建立索引。存储过程相当于子程序,通过存储过程可以查询表文件中的数据并对其进行维护。
表的定义及创建
在各种数据库对象中,表是一种最重要的对象,其主要功能是存储数据。在每个新建的数据库中已经包含一些系统表,它们主要用于存储数据库本身的信息。要在数据库中存储用户的数据,就必须建立属于用户自己的表。
SQL Server中的表文件是“关系”型。表中的每个字段都属于某种数据类型。在创建表的过程中,应当根据实际需要对每个字段指定适当的数据类型,因此,建表之前需要对SQL Server中的数据类型有所了解。
表中字段的数据类型
在SQL Server中,主要有以下几种常用的数据类型:字符型、文本型、数值型和日期型。
字符型数据由汉字、英文字母、数字和各种符号组成。如:“SQL Server教程”、“198”、“GO”等都是有效的字符串数据。字符型又可以细分为以下几种:
(1)定长字符串类型:char[(n)]
当一个字段中包含字符串数据且每个数据项具有相同的固定长度时,使用char数据类型是一个好的选择。n表示字符串最大长度,其取值范围为1~8000个字符。对于一个char类型字段,不论用户输入的字符串有多长,都将固定占用n个字节的存储空间。当输入字符串的长度小于n时,如果该字不允许NULL值,则不足部分用空格填充;如果该字允许NULL值, 则不足部分不用空格填充。如果输入字符串的长度大于n,则多余部分被截断。
(2)变长字符串类型varchar[(n)]
当一个字段中包含的字符数可以变化而且数据项长度不超过8KB时,可以使用varchar数据类型。n表示字符串最大长度, 其取值范围为1~8000个字符,占用的字节数就是输入字符串的实际长度(不包括尾随空格),而不是n个字节。如果一个varchar类型字段中包含尾随空格,则这些空格会被自动删除。这是使用varchar类型的一个优点。但是使用varchar类型时,由于数据项长度可以变化,在处理速度上往往不及固定长度的char类型。
(3)文本类型text
当需要在一个字段中存储容量超过8KB的大量文本数据时,可以选择text数据类型。使用text类型字段最多可以存储231-1(2 147 483 647 )个字符。实际上,text类型字段中仅存储一个指针,它指向由若干个以8KB为单位的数据页所组成的连接表,系统经由这种连接表存取所有的文本数据。
SQL Server支持统一字符编码标准Unicode,可以采用双字节对字符进行编码。如果要在一个字段中处理来自不同字符集的字符,可以选择可存储Unicode字符的数据类型,即nchar、xt数据类型。这些数据类型类似于相应的字符串数据类型,但不同的是,每个Unicode 字符都要占用两个字节的存储空间。
(1)定长字符串类型nchar[(n)]
nchar数据类型用于存储Unicode字符串数据。n表示最大字符数。其取值范围为1~4000。对于一个nchar字段指定n 的数值后,不论用户输入多少个字符,该字段都将占用2n个字节的存储空间。当输入字符串长度小于n时,不论该字段是否允许空值,不足部分都会用空格来填充。