网站大量收购独家精品文档,联系QQ:2885784924

第6章 索引与数据完整性.pptx

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 索引与数据完整性;6.1 索引;6.1.2 索引的创建;在“表设计器”窗口创建索引的方法如下。;2.利用SQL命令建立索引;;【例6.3】根据CJB表的“学号”列和“课程号”列创建复合索引。 CREATE INDEX CJB_ind ON CJB(学号, 课程号) WITH(DROP_EXISTING= ON) 【例6.4】根据XSB表中的“总学分”列创建索引,例中使用了FILLFACTOR子句。 CREATE NONCLUSTERED INDEX score_ind ON XSB(总学分) WITH FILLFACTOR = 60;【例6.5】根据XSB表中“学号”列创建唯一聚集索引。如果输入了重复的键,将忽略该INSERT或UPDATE语句。 CREATE UNIQUE CLUSTERED INDEX xs_ind ON XSB(学号) WITH IGNORE_DUP_KEY ;6.1.3 重建索引;6.1.4 索引的删除;2.通过SQL命令删除索引;6.2 数据完整性;3.参照完整性 参照完整性又称为引用完整性。参照完整性保证主表中的数据与从表(被参照表)中数据的一致性。 在SQL Server 2008中,参照完整性的实现是通过定义外键与主键之间或外键与唯一键之间的对应关系来实现的。;码:即前面所说的关键字,又称为“键”,是能唯一标识表中记录的字段或字段组合。如果一个表有多个码,可选其中一个作为主键(主码),其余的称为候选键。 外码:如果一个表中的一个字段或若干个字段的组合是另一个表的码,则称该字段或字段组合为该表的外码(外键)。;例如,对于PXSCJ数据库中XSB表的每一个学号,在CJB表中都有相关的课程成绩记录,将XSB作为主表,“学号”字段定义为主键,CJB作为从表,表中的“学号”字段定义为外键,从而建立主表和从表之间的联系,实现参照完整性。XSB和CJB表的对应关系如表6.1和表6.2所示。 ;6.2.2 实体完整性的实现;;其中,column_constraint为列的约束,table_constraint为表的约束。 column_constraint ::= /*定义列的约束*/ [ CONSTRAINT constraint_name ] { { PRIMARY KEY | UNIQUE } /*定义主键与UNIQUE键*/ [ CLUSTERED | NONCLUSTERED ] /*定义约束的索引类型*/ [ ON { partition_scheme_name ( partition_column_name ) | filegroup | default } ] | [ FOREIGN KEY ] reference_definition /*定义外键*/ | CHECK ( logical_expression ) /*定义CHECK约束*/ } ? table_constraint ::= /*定义表的约束*/ [ CONSTRAINT constraint_name ] { { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] (column [ ASC | DESC ] [ ,...n ] ) /*定义表的约束时需要指定列*/ [ ON { partition_scheme_name (partition_column_name) | filegroup | default } ] | FOREIGN KEY ( column [ ,...n ] ) reference_definition | CHECK ( logical_expression ) } ;【例6.7】 创建XSB1表(假设XSB1表未创建),并对“学号”字段创建PRIMARY KEY约束,对“姓名”字段定义UNIQUE约束。 USE PXSCJ GO CREATE TABLE XSB1 ( 学号 char(6) NOT NULL CONSTRAINT XH_PK PRIMARY KEY, 姓名 char(8) NOT NULL CONSTRAINT XM_UK UNIQUE, 性别 bit NOT NULL DEFAULT 1, 出生时间 date NOT NULL, 专业 char(12) NULL, 总学分 int NULL, 备注 varchar(500) NULL );;;;6.2.3 域完整性的实现;;;;定义CHECK约束的语法格式为: AL

文档评论(0)

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

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

1亿VIP精品文档

相关文档