第六章 表的管理与使用1.ppt_第1页
第六章 表的管理与使用1.ppt_第2页
第六章 表的管理与使用1.ppt_第3页
第六章 表的管理与使用1.ppt_第4页
第六章 表的管理与使用1.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL Server 2005数据库应用技术(第二版),第六章 表的管理与使用(1),复习,导入: 表是SQL Server中一种重要的数据库对象,它存储数据库中的所有数据,管理好表也就管理好了数据库。 本章主要介绍表的创建、修改和删除,表数据的插入、修改和删除。另外还将介绍对表数据的管理和索引的创建、查看、删除等方面的知识。,第6章 表的管理与使用,6-1 创建表,6-1 创建表 6-1-1 按需规划设计数据表 在“XS”数据库中规划、设计与创建三个名为XSDA、KCXX、XSCJ数据表。 XSDA: 存储学生基本信息表。 KCXX: 存储课程数据信息表。 XSCJ: 存储成绩情况信息表。

2、补充:分析各E-R模型与范式设计,6-1 创建表,6-1 创建表 一个二维表由若干行与若干列组成 。 表的创建:定义表的结构,6-1 创建表,6-1 创建表 例:有如下二维表:,6-1 创建表,6-1 创建表 表结构:决定表由多少列组成,每一列的取值范围,即需要决定每一列的数据类型。 数据类型:定义每个列所能存放的数据值和存储格式。 列的数据类型可以是SQL Server 2005提供的系统数据类型,也可以是用户自定义数据类型,系统提供的数据类型,6-1 创建表,补充:系统数据类型 (1)字符型 字符常量表示形式:将串中的符号用单引号括起来,如abc、John&Tom。 SQL Server字

3、符型包括两类:固定长度(char)或可变长度(varchar)。 char 定义格式:char(n)。n定义字符型数据的长度,n在18000之间,默认为1。 若实际存储的串长度不足n,则在串的尾部添加空格,以达到长度n,若输入的字符超出了n,则超出的部分被截断。 varchar 定义格式:varchar(n)。n的规定与定长字符型char中n完全相同。 varchar(n)的长度为输入字符串的实际字符个数,而不一定是n。,6-1 创建表,补充:系统数据类型 (2)Unicode字符型 Unicode是“统一字符编码标准”,用于支持国际上非英语语种的字符数据的存储和处理。 常量表示:Nabc U

4、nicode字符包括nchar(n)和nvarchar(n)两类。 nchar 定义格式:nchar(n)。n的值在14000之间,默认为1。长度为2n字节。 若输入的字符串长度不足n,将以空白字符补足。 nvarchar 定义格式:nvarchar(n)。n的值在14000之间,默认为1。 长度是所输入字符个数的两倍。,6-1 创建表,补充:系统数据类型 (3)文本型 存储大量的字符数据,如较长的备注、日志信息等。 文本型包括text和ntext两类,分别对应ASCII字符和Unicode字符。,6-1 创建表,补充:系统数据类型 (4)整数型 整数型包括bigint、int、smallin

5、t和tinyint。数值范围逐渐缩小。 bigint: 大整数,其精度为19,小数位数为0,长度为8字节,数范围为-263 263-1,即-92233720368547758089223372036854775807。 int: 整数,数范围为-231231-1,即- 21474836482147483647,其精度为10,小数位数为0,长度为4字节。 smallint: 短整数,数范围为-215215-1,即-3276832767,其精度为5,小数位数0,长度为2字节。 tinyint: 微短整数,数范围为0255,长度为1字节,其精度为3,小数位数为0,长度为1。,6-1 创建表,补充:系

6、统数据类型 (5)精确数值型 由整数部分和小数部分构成,能够以完整的精度存储十进制数。包括decimal和numeric两类。两者的惟一区别在于decimal不能用于带有identity关键字的列。 声明格式:numeric(p,s) decimal(p,s),其中p为精度(总位数,不包括小数点),s为小数位数,s的默认值为0。 例如: decimal(6,3) 存储从-1038+11038-1的固定精度和小数位的数字数据,它们的存储长度随精度变化而变化(见P428),6-1 创建表,补充:系统数据类型 (6)浮点型:近似数值型,不能提供精确表示数据的精度,可用于处理取值范围非常大且对精度要求

7、不高的数值量。 包括float(n)和real两类。都使用科学计数法表示数据,如1.6432E20,-7.918E10,1.237667E-5等。 Real:4字节存储数据,数据精度为7位有效数字。 float定义中的n取值范围是153,用于指示其精度和存储大小;存储长度为8字节,精度为15位有效数字; (7)货币型 提供两种专门用于处理货币的数据类型:money和smallmoney,它们用十进制数表示货币值。 money类型的数据的数范围为-263263-1,其精度为19,小数位数为4,长度为8字节。smallmoney数的范围为-231231-1,其精度为10,小数位数为4,长度为4字节

8、。 常量表示:$2000.14、$500、$-15000.125。,6-1 创建表,补充:系统数据类型 (8)位型 相当于其他语言中的逻辑型数据,它只存储0和1,长度为1个字节。 当为bit类型数据赋0时,其值为0,而赋非0(如100)时,其值为1。 若表中某列为bit类型数据,那么该列不允许为空值,并且不允许对其建立索引。 (9)二进制型 表示位数据流,包括binary(固定长度)和varbinary(可变长度)两种。 binny(n)。 n取值范围为18000,默认为1。 varbinary(n)。 n取值范围为18000,默认为1。,6-1 创建表,补充:系统数据类型 (10)日期时间类

9、型 用于存储日期和时间信息,包括datetime和smalldatetime两类。 datetime:日期范围从1753年1月1日到9999年12月31日的日期和时间数据。长度为8字节,日期和时间分别使用4个字节存储。 smalldatetime:日期范围从1900年1月1日到2079年12月31日的日期和时间数据。长度为4字节,日期和时间分别使用2个字节存储。 常用的日期表示格式如下: 月/日/年:5/1/2003、05/01/03 月-日-年:5-1-2003、05-01-03 月.日.年:5.1.2003、05.01.03 常用的时间表示格式如下: 时:分 08:05、10:20 时:分

10、:秒 08:05:25、10:20:30 时:分:秒:毫秒 08:05:25:28、10:20:30:28 时:分AM|PM 08:05AM、10:20PM,6-1 创建表,补充:系统数据类型 (11)日期时间戳timeStamp 若创建表时定义一个列的数据类型为时间戳型,那么每当对该表加入新行或修改已有行时,都有系统自动将一个计数器加到该列,即将原来的时间戳值加上一个增量,表示SQL Server在一行上的活动顺序。一个表只能有一个timestamp列,长度为8字节。 (12)图像数据类型image 用于存储图片、照片等。实际存储的是可变长度二进制数据,介于02311字节之间。 (13)其他

11、数据类型 SQL Server 还提供了其他几种数据类型:cursor、sql_variant、table 和uniqueidentifier等。,6-1 创建表,6-1 创建表 创建表的实质就是定义表的结构及约束等属性。 在创建表之前,先要设计表结构,即确定表的名字、所包含的各列名称、列的数据类型和长度、是否为空值、是否使用约束等。 空值(NULL)概念:空值通常表示未知、不可用或将在以后添加的数据。空值不等于零 、空白或零长度的字符串,NULL 意味着没有输入。 两种方式创建表:管理工具与 T-SQL语句,6-1 创建表,6-1 创建表 使用SSMS管理工具来创建表: 示例:创建XS数据库

12、中学生档案表(表名XSDA),6-1 创建表,6-1 创建表 使用T-SQL语句创建表 基本语法格式: CREATE TABLE database_name . schema_name . | schema_name . table_name ( | ,.n ) ON partition_scheme_name ( partition_column_name ) | filegroup | default TEXTIMAGE_ON filegroup | default := column_name data_type|IDENTITY(seed,increment)|NOT NULL|NUL

13、L,6-1 创建表,6-1 创建表 使用T-SQL语句创建表 说明: table_name:新创建表的名称。表名必须符合标识符规则。 column_name:列名。列名必须符合标识符规则,并且在表内唯一。 data_type:列的数据类型。可以是系统数据类型或用户定义数据类型。 IDENTITY(seed,increment):指出该列为标识列。必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。 NOT NULL|NULL:指出该列中是否允许空值。,6-1 创建表,6-1 创建表 【例】使用T-SQL语句创建XSDA表,学号设为主键。性别的默认值为1。 USE

14、 XS CREATE TABLE XSDA ( 学号 char(6) NOT NULL PRIMARY KEY, -学号设为主键 姓名 char(8) NOT NULL , 性别 bit NOT NULL DEFAULT(1), 系名 char(10) NOT NULL , 出生日期 smalldatetime NOT NULL , 民族 char(4) NOT NULL , 总学分 tinyint NOT NULL , 备注 text NULL ) GO,6-1 创建表,6-1 创建表 可设置标识列 【例】创建名为jobs的表,要求工号列为标识列(10000,1)、主键。 USE XS CR

15、EATE TABLE jobs ( 工号 smallint IDENTITY(10000,1) -列为标识列,种子为10000,增量为1 PRIMARY KEY, -指定主键约束 姓名 char(8) NOT NULL, 工种 char(12) NULL ) GO,6-1 创建表,6-1 创建表 指定存储表的文件组:ON filegroup | DEFAULT 。 【例】在数据库XS中创建文件组group1,创建数据表jobs1,并将其放在新建文件组group1中。 ALTER DATABASE xs ADD FILEGROUP group1 GO ALTER DATABASE xs ADD

16、FILE (NAME=XS_DATA1, FILENAME=E:SQLDATAXS_DATA1.NDF )TO FILEGROUP GROUP1 GO,6-1 创建表,6-1 创建表 USE XS CREATE TABLE jobs1 ( 工号 smallint IDENTITY(10000,1) -指定列为标识列,种子为10000,增量为1 PRIMARY KEY, -指定主键约束 姓名 char(8) NOT NULL, 工种 char(12) NULL ) ON group1 GO,6-1 创建表,6-1 创建表 定义计算列:列名 AS 表达式。计算列是物理上并不存储在表中的虚拟列。计算列由同一表中的其它列通过表达式计算得到。表达式可以是非计算列的列名、常量、函数、变量,也可以是用一个或多个运算符连

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论