SQL-第06章-表的创建和管理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2004-10-1 第6章 表的创建与管理 第6章 表的创建和管理 6.1 创建表 6.2 表结构的修改 6.3 表的重命名与删除 6.4 向表中添加、更新、删除数据 6.5 数据完整性的概念与实施方法 练习 6.1 创建表 表是存储各种数据的载体,具有以下特点: l在特定的数据库中表名是唯一的,在特定的表中,列名是唯一的,但不同的表可以有相同的列名。两者的唯一性都是由SQL Server强制实现的; l表是由行和列组成的,行又称为记录,列被称为字段。行和列的次序是任意的; l每个表最多1024列,每行最多8060字节的用户数据; l数据行在表中是唯一的,行的唯一性可以通过定义主键来实现。在一个表中,不允许有两个完全相同的行存在。 6.1.1 设计表的结构 定义表中的列(字段)的名称、每列的数据类型和宽度。 数据类型指定了在每列中存储的数据的类型,例如文本、数字、日期等等。宽度指定了可以向列中输入多少个字符或数字,也可以使用用户自定义型数据。除此之外,还需要设定表中列是否允许为空,是否有缺省值,是否设置为标识列。 1. 几个与表结构设计相关的概念 ⑴ NULL与 NOT NULL 在数据库中NULL是一个特殊值,表示数值未知。 NULL不同于空字符或数字0,也不同于零长度字符串。 比较两个空值或将空值与任何其它数值相比均返回未知, 如果某个列上的空值属性为NULL,表示接受空值;空值属性为NOT NULL,表示拒绝空值。 在程序代码中,要检查空值以便只在具有有效(或非空)数据的行上进行某些计算。执行计算时消除空值很重要,因为如果包含空值列,某些计算(如平均值)会不准确。若要测试数据列中的空值,可在WHERE子句中使用IS NULL 或 IS NOT NULL。 注意:为了减少对已有查询或报表的维护和可能的影响,建议尽量少使用空值。 ⑵ 缺省值(DEFAULT) 缺省值表示在用户未输入数据时列的取值。 ⑶ 计算列(CALCULATED COLUMN) 一个表的某些列的取值是由基于定义该列的表达式计算得到的。该列不是存储数据的列,是表的虚拟列,该列中的值并未存储在表中,而是在运行时经过计算而得到的。 ⑷ 标识列(IDENTITY) IDENTITY属性使得某一列的取值是基于上一行的列值和为该列定义的步长自动生成的。IDENTITY列的值可以唯一地标识表中的一行。 定义一个IDENTITY列,必须给出一个种子值(初始值),一个步长值(增量)。在一个IDENTITY列定义后,每当向表中插入一行数据时,IDENTITY列就会自动产生下一个值。在插入数据行的语句中,不应包含IDENTITY列的值,该列的值由系统自动给出。 定义IDENTITY列时,应注意如下几点: ① 每张表只允许有一个IDENTITY列。 ② IDENTITY列不能被更新。 ③ IDENTITY列不允许有NULL值。 ④ IDENTITY列只能用于具有下列数据类型之一的列:INT、SMALLINT、TINYINT、NUMERIC(小数部分为0)、DECIMAL(小数部分为0)。 ⑤ 通过函数ident_seed (table_name) 可获得seed值,通过ident_incr(table_name)可获得步长值,使用全局变量@@identity可以返回标识列的数据。 2. 表结构设计示例 以 teacher 表结构设计为例,teacher表有9个列,其中,teacher_id 为主键,性别采用BIT数据类型,0表示女教师,1表示男教师,默认值为1,邮政编码使用前面第三章定义过的用户自定义的数据类型postalcode。整个表的列性质如表6-1:(P91) 6.1.2 利用Transact-SQL语言创建表 语法格式如下: CREATE TABLE table_name (column_name data_type [null|not null][,…n]) 在上述语法形式中: table_name:为新创建的表指定的名字。 column_name:列名。 data_type :列的数据类型和宽度。 null|not null :指定该列是否允许为空。 [,…n]:允许创建多个字段。 【例6-1】用CREATE TABLE语句创建表department。该表有3个字段:系号(department_id)、系名(department_name)、系主任(department_header)。 use jwgl go CREATE TABLE department ( department_id char(6) NOT NULL, department_name

文档评论(0)

kbook + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档