第7章 表的创建和约束机制.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数 据 库 原 理 与 应 用 (SQL Server 2005) 第7章 表的创建与约束机制 第7章 表的创建与约束机制 7.1 数据表的基本概念 表是用来存储数据和操作数据的逻辑结构。关系数据库中的所有数据都存储在表中。因此表是SQL Server 数据库中最为重要的组成部分。表是由行和列组成,最多可以有1024列,每行对应实体集的一个实体,也称为记录,每列代表一个属性,也称为字段。 SQL Server中,表分为系统表和用户表两类。 1.系统表 默认情况下,每个数据库都有一组系统表,系统表主要记录所有服务器活动的信息,大多数系统表的表名以sys开头。系统表中的信息组成了系统使用的数据字典。任何用户都不能直接修改系统表,也不允许直接访问系统表中的信息,如要访问其中的内容,最好通过系统存储过程或系统函数来访问。 2.用户表 用户表是由用户自定义建立的表,用来存储用户特定的数据,又可分为永久表和临时表两种。 7.1 数据表的基本概念 (1)永久表 永久表存储在用户数据库中,用户数据通常存储在永久表中,如果用户没有删除永久表,永久表及其存储过程将永久存在。 (2)临时表 临时表存储在tempdb数据库中,当不再使用时,系统会自动删除。临时表又可分为本地临时表和全局临时表两种。 本地临时表:表名以#开头,仅对当前连接数据库的用户有效,当用户断开连接时,本地临时表自动删除。 全局临时表:表名以##开头,对所有连接数据库的用户有效,当所有用户断开连接,全局临时表才自动删除。 7.2 表的设计与创建 设计表时,要事先确定需要什么样的表,表中有哪些数据,表中各字段的数据类型及其属性,建表一般经过定义表结构、设置约束、输入记录等步骤,其中设置约束既可以在定义表结构时进行,也可以在定义表结构完成之后进行。 1.定义表结构 确定表的各列的列名及其数据类型、数据长度、是否允许为空等。 定义表结构时要注意: 7.2 表的设计与创建 (1)允许空:决定某列在表中是否允许为空值。空值是不等于零、空白或零长度的字符串。 (2)默认值:当在表中插入该列为空值的行时,用此默认值。设置该值能够起到默认输入的作用,减少输入数据的工作量。如设置性别的默认值为“男”。 (3)标识列:设置为标识的列,可以有系统自动操作计数(自动编号),不用用户输入,对于一些具有递增或递减自动编号性质的列,如订单号、发票号等可以设置此附加属性。将一个字段设置为标识列,其数据类型必须是以下类型之一:int、bigint、smallint、tinyint、或小数位数为0的decimal、numeric字段。该字段不允许为空,且不能有默认值。 (4)计算列:计算字段是一个虚拟的字段,它并未将计算结果实际存储在表中,而只是在运行时才计算出结果。在设置计算字段时,不需要指定该字段的数据类型,当保存表结构,SQL Server会自动决定计算字段的数据类型。 7.2 表的设计与创建 2.设置约束 约束定义了关于允许什么数据进入数据库的规则,是分配给表或表中某列的一个属性。使用约束,主要目的在于防止列中出现非法数据,可以自动维护数据库中的数据完整性。数据完整性是指数据的正确性、完备性和一致性,是衡量数据库质量好坏的重要标准。使用INSERT、DELETE、UPDATE语句修改数据库内容时,数据的完整性可能会遭到破坏。可能会将无效的数据添加到表中,如将学生考试成绩输入成负数。为了解决类似的问题,SQL Server提供了对数据库中表、列实施数据完整性的方法。 完整性的类型主要包括: 7.2 表的设计与创建 (1)域完整性 域完整性是指一个列的输入有效性,是否允许空值。通常使用有效性检查强制域完整性,也可以通过限定列中允许的数据类型、格式或可能值的范围来强制域完整性。 (2)实体完整性 实体完整性是指保证表中所有的行唯一。实体完整性要求表中的所有行都有一个唯一标识符。这个唯一标识符可能是一列,也可能是几列的组合,称之为主键。也就是说,表中主键在所有行上必须取值唯一且不能为空值。 7.2 表的设计与创建 (3)参照完整性 参照完整性也叫引用完整性。参照完整性总是保证主关键字(被引用表)和外部关键字(引用表)之间的参照关系。 在SQL Server中约束是强制数据完整性的首选方法,它是强制数据完整性的ANSI标准方法。每种数据完整性类型,使用单独的约束类型进行强制。约束确保在列中录入有效的数据值,并且能维护表之间的关联关系。具体的约束类型及实现方法将在7.5节做详细介绍。 3.输入记录 表结构设计好之后,就可以向表中输入数据了。输入记录时,必须遵循所设置的约束条件,否则,服务器将拒绝接受所输入的不非法数据。 按照学生成绩管理系统数据库(SGMS)实际问题的需要,设计了9张表,分别为:student、co

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档