- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 数据库完整性 学习导读 数据库完整性就是确保数据库中的数据的一致性和正确性。本章主要介绍SQL Server 2000提供的数据完整性机制。通过本章的学习,应掌握以下内容: 了解SQL Server 2000提供的各种约束 了解设置默认值的方法 掌握创建、解除和删除规则的方法 第9章 数据库完整性 数据库的完整性: 是指数据的正确性、有效性和相容性。 说明:完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。 数据库完整性约束条件:加在数据库数据之上的语义约束条件。 完整性检查:在DBMS中检查数据是否满足完整性条件的机制。 DBMS的完整性控制机制应具有三个方面的功能: (1)定义功能:提供定义完整性约束条件的机制。 (2)检查功能:检查用户发出的操作请求是否违背了完整性约束条件。 (3)防范功能:如果发现用户的操作请求使数据违背了完整性约束条件,采取一定的动作来保证数据的完整性。 9.1 约束 约束分类 列级约束:只能应用在一列上。 表级约束:可以应用在一个表中的多列上。 注意:数据完整性约束条件是在创建表结构的时候指定。 例:CREATE TABLE book ( bid int NOT NULL, --列级约束 bname char(8) NOT NULL, --列级约束 authorid char(10) ) PRIMARY KEY 约束 9.1.1 PRIMARY KEY约束 PRIMARY KEY约束也称为主键约束。主键能够惟一地确定表中的每一条记录,主键不能取空值。主键约束可以保证实体的完整性。 PRIMARY KEY约束可以在下面情况下使用: 作为表定义的一部分在创建表时创建。 添加到尚没有PRIMARY KEY约束的表中(一个表只能有一个PRIMARY KEY约束)。 如果己有PRIMARY KEY约束,则可对其进行修改或删除。 主键约束格式:PRIMARY KEY (列名表) 例:CREATE TABLE department /*部门表*/ ( dno int PRIMARY KEY, /*部门号,为主键*/ dname char(20), /*部门名*/ ) PRIMARY KEY 约束 注意:当约束用于表级时,应按下列形式设置: CONSTRAINT constraint_name 各种约束形式 constraint_name:约束名。 例:CREATE TABLE sc ( sno char(8), cno char(4), grade int, CONSTRAINT pk_sc primary key(sno,cno) ) FOREIGN KEY 约束 9.1.2 FOREIGN KEY 约束 FOREIGN KEY约束也称为外键约束。主要用来维护两个表之间数据的一致性,实现表之间的参照完整性。 外键--如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键字。 FOREIGN KEY 约束 例:teacher(tno,tname,tsex,tbirthday,prof,depart) course(cno,cname,tno) course表的tno是一个外键。 参照完整性规则:外键属性上的值或者取空值;或者等于它所参照的表中某个元组的主键值。 上例中:course表的tno取值: ① 空值(未给该课程指定教师) ② 非空值(必须是teacher表中某个元组的tno值)。 FOREIGN KEY 约束 FOREIGN KEY约束可以在下面情况下使用: 作为表定义的一部分在创建表时创建。 如果FOREIGN KEY约束与另一个表(或同一表)已有的PRIMARY KEY约束或UNIQUE约束相关联,则可向现有表添加FOREIGN KEY约束。一个表可以有多个FOREIGN KEY约束。 (例如:在score(sno,cno,degree)表中有两个FOREIGN KEY约束,一个是sno,参照student表的主键sno;另一个是cno,参照course表的主键cno)。 对己有的FOREIGN KEY约束进行修改或删除。 FOREIGN KEY 约束 外键约束格式: FOREIGN KEY [(列名表)] REFERENCE 目标表[(列名表)] [ON
文档评论(0)