SQL Server2000实用教程第1章 SQL Server数据库基础.pptVIP

SQL Server2000实用教程第1章 SQL Server数据库基础.ppt

  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文档。上传文档
查看更多
数据完整性 数据完整性(Data Integrity)用来确保数据库中的数据的正确性和可靠性。 例如,数据库中某一个表的数据得到了更新,则所有与此相关的数据都要更新。再如,在教学管理数据库中,当输入选课表的记录时,应该保证所输入的学生姓名在学生表中存在。否则,不许输入(因为这将是无效数据)。 数据的完整性种类 1.实体完整性 实体完整性是为了保证表中的数据唯一。实体完整性可由设置主键来实现。 (1)主键(Primary Key)约束 表中的主键在所有记录上的取值必须唯一。例如,课程表中的课程号必须唯一,以保证每门课程的唯一性。如果主键约束定义在不止一列上,则其中一列中的值可以重复,但主键约束定义中的所有列组合的值必须唯一。 实体完整性 在SQL Server中,在创建或更改表时可定义主键约束。一个表只能有一个主键,而且主键中的列不能接受空值。 当为表指定主键约束时,SQL Server 2000 通过为主键列创建唯一索引来强制数据的唯一性。在查询中使用主键时,该索引还可用来对数据进行快速访问。 唯一性(Unique)约束 (2)唯一性(Unique)约束 除了设置主键约束外,在SQL Server中还可使用唯一性约束确保在非主键列中不输入重复值。尽管唯一性约束和主键约束都强制唯一性,但在强制下面的唯一性时应使用唯一性约束而不是主键约束: 非主键的一列或列组合。一个表可定义多个唯一性约束,而只能定义一个主键约束。 允许空值的列。允许空值的列上可以定义唯一性约束(即允许有一条记录该列为空值),而不能定义主键约束(因为主键不允许有空值)。 域完整性 域完整性可以保证数据的取值在有效的范围内。例如,可以限制选课表成绩字段的取值范围为0-100。若输入的内容不在此范围内,则不符合域完整性,系统不接受。域完整性是对业务管理或者对数据库数据的限制,它们反映了业务的规则,因此域完整性也称之为商业规则(Business Rule)。 在SQL Server中,域完整性主要通过设置检查约束(CHECK CONSTRAINT)和非空约束(NOT NULL)等来实现。 域完整性 (1)检查(CHECK)约束 CHECK 约束通过限制输入到列中的值来强制域的完整性。它通常通过逻辑表达式判断。例如,在选课表中通过创建 CHECK 约束可将成绩列的取值范围限制在0至100之间,从而防止输入的成绩值超出正常的成绩范围。在学生表中通过创建CHECK约束规定性别列只能输入汉字字符“男”或“女”,而不能是其他字符。 可以通过任何返回结果为 TRUE 或 FALSE 的逻辑(布尔)表达式来创建 CHECK 约束。 域完整性 例如对上面成绩列的CHECK约束,逻辑表达式为: 成绩=0 and 成绩=100 或者:成绩 between 0 and 100 对于性别列的CHECK约束,逻辑表达式为: 性别 in (‘男’,’女’) 域完整性 (2)允许空值(NULL) 是否允许列为空决定该列在表中是否允许暂时没有数据。空值(NULL) 并不等于零 (0)或零长度的字符串(如),NULL 意味着没有输入、没有值。NULL 的存在通常表明值未知或未定义。例如,选课表中成绩列的空值并不表示该学生没有成绩,而是指其成绩未知或尚未设定(尚未考核)。 域完整性 如果插入某行但没有为允许空值的列指定值,则SQL Server 2000 提供 NULL 值(除非存在默认定义)。用关键字 NULL 定义的列也接受用户用键盘显式输入NULL,不论它是何种数据类型或是否有默认值与之关联。 NULL 值不应放在引号内,否则会被解释为字符串“NULL”而不是空值。 SQL Server允许施加唯一约束(UNIQUE)的列只能包含一个带有NULL键值的行,后面带有NULL的行将无效。 属于主键的任何列中都不能含有NULL。 域完整性 由于空值在查询和更新时会使事情变得复杂,而且有其它一些设置(如主键约束等)不能使用允许空值的列,所以对较重要的字段应避免允许空值。 (3)默认值 记录中的每一列均必须有值,即使它是 NULL。由于有时不希望有值为空的列,或者在大多数情况下,该列的值都是某确定值,因此可为该列定义默认值。 例如,通常将数字型列的默认值指定为零,将字符串列的默认值指定为“暂缺”。又如,将某单位各部门的电话号码的默认值设置为本单位总机的电话号码等。 参照完整性 参照完整性又称引用完整性,是用于确保相联系的表间的数据一致,避免因一个表的记录修改,造成另一个表的内容成为无效的值。 一般来说,参照完整性是通过主键和外键来维护的。例如,在选课表中,学号为外键,即是学生表的主键。通过主键和外键的对照关系,可以确保选课表中输入的学号

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档