第6章 索引及数据完整性.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.2.4 参照完整性的实现 6.2.4 参照完整性的实现 如果要在图6.6的基础上再添加KCB表并建立相应的参照完整性关系,可以使用以下步骤:右击图6.6中的空白区域,选择“添加表”菜单项,在随后弹出的“添加表”窗口中添加KCB表,之后定义CJB表和KCB表之间的参照关系,结果如图6.7所示。 6.2.4 参照完整性的实现 2.图形向导删除表间的参照关系 如果要删除前面建立的XSB表与CJB表之间的参照关系,可按以下步骤进行。 第1步:在PXSCJ数据库的“数据库关系图”目录下选择要修改的关系图,如Diagram_0,右击鼠标,在弹出的快捷菜单中选择“修改”菜单项,打开“数据库关系图设计”窗口。 第2步:在“数据库关系图设计”窗口中,选择已经建立的“关系”,单击鼠标右键,选择“从数据库中删除关系”,如图6.8所示。 6.2.4 参照完整性的实现 3.命令定义表间的参照关系 (1)创建表的同时定义外键约束。 语法格式在6.2.2小节中已经列出,这里只列出定义外键部分的语法。 CREATE TABLE table_name /*指定表名*/ (column_definition [ CONSTRAINT constraint_name ] [ FOREIGN KEY ][ ( column [ ,...n ] )] reference_definition ) 其中, reference_definition::= REFERENCES referenced_table_name [ ( ref_column [ ,...n ] ) ] [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] 6.2.4 参照完整性的实现 【例6.18】 创建stu表,要求stu表中所有的学生学号都必须出现在XSB表中,假设已经使用“学号”列作为主键创建了XSB表。 CREATE TABLE stu ( 学号 char(6) NOT NULL FOREIGN KEY (学号) REFERENCES XSB (学号), 姓名 char(8) NOT NULL, 出生时间 datetime NULL ) 【例6.19】 创建point表,要求表中所有的学号、课程号组合都必须出现在CJB表中。 CREATE TABLE point ( 学号 char(6) NOT NULL, 课程号 char(3) NOT NULL, 成绩 int NULL, CONSTRAINT FK_point FOREIGN KEY (学号,课程号) REFERENCES CJB (学号,课程号) ON DELETE NO ACTION ) 6.2.4 参照完整性的实现 (2)通过修改表定义外键约束。 使用ALTER TABLE语句的ADD子句也可以定义外键约束,语法格式与定义其他约束类似,这里不再列出。 【例6.20】 假设KCB表为主表,KCB的“课程号”字段已定义为主键。CJB表为从表,如下示例用于将CJB表的“课程号”字段定义为外键。 ALTER TABLE CJB ADD???CONSTRAINT kc_foreign FOREIGN KEY???(课程号) REFERENCES KCB(课程号 ) 6.2.4 参照完整性的实现 4.命令删除表间的参照关系 语法格式与前面其他约束删除的格式类似。 【例6.21】 删除上例对CJB表的“课程号”字段定义的外键约束。 ALTER TABLE CJB DROP CONSTRAINT kc_foreign 第6章 索引与数据完整性 6.1 索引 6.2 数据完整性 6.1 索引 6.1.1 索引的分类 1.聚集索引 聚集索引将数据行的键值在表内排序并存储对应的数据记录,使得数据表物理顺序与索引顺序一致。 2.非聚集索引 非聚集索引完全独立于数据行的结构。SQL Server 2008也是按B树方式组织非聚集索引的,与聚集索引的不同之处在于:非聚集索引B树的叶节点不存放数据页信息,而是存放非聚集索引的键值,并且每个键值项都有指针指向包含该键值的数据行。 6.1.2 索引的创建 1.界面方式创建索引 6.1.2 索引的创建 在“表设计器”窗口创建索引的方法如下。 6.1.2 索引的创建 2.利用SQL命令建立索引 使用CREATE INDEX语句可以为表创建索引。语法格式: CREATE [

文档评论(0)

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

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

1亿VIP精品文档

相关文档