- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库原理与设计 数据库原理与设计 数据库原理与设计 数据库完整性 数据库的完整性 数据的正确性和相容性 防止不合语义的数据进入数据库。 例: 学生的年龄必须是整数,取值范围为14—29; 学生的性别只能是男或女; 学生的学号一定是唯一的; 学生所在的系必须是学校开设的系; 完整性:是否真实地反映现实世界 数据库完整性 数据的完整性和安全性是两个不同概念 数据的完整性 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据 数据的安全性 保护数据库防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作 为维护数据库的完整性,DBMS必须: 1.提供定义完整性约束条件的机制 2.提供完整性检查的方法 3.违约处理 在SQL SERVER中,对于基本表的约束分为列约束和表约束。 列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名; 表约束与列定义相互独立,不包括在列定义中,通常用于对多个列一起进行约束,与列定义用’,’分隔,定义表约束时必须指出要约束的那些列的名称。完整性约束的基本语法格式为: [ CONSTRAINT 约束名 ] 约束类型 约束名:约束不指定名称时,系统会给定一个名称。 约束类型:在定义完整性约束时必须指定完整性约束的类型。 在SQL SERVER中可以定义五种类型的完整性约束,下面分别加以介绍: (1)NULL/NOT NULL 是否允许该字段的值为NULL。 NULL值不是0也不是空白,更不是填入字符串“NULL”,而是表示“不知道”、“不确定”或“没有数据”的意思。 当某一字段的值一定要输入才有意义的时候,则可以设置为NOT NULL。 如主键列就不允许出现空值,否则就失去了唯一标识一条记录的作用 只能用于定义列约束, 其语法格式如下: [CONSTRAINT 约束名 ][NULL|NOT NULL] 例1:建立一个S表,对SNO字段进行NOT NULL约束。 USE STUDENT CREATE TABLE S (SNO CHAR(10) CONSTRAINT S_CONS NOT NULL, SN VARCHAR(20), AGE INT, SEX CHAR(2) DEFAULT 男 , DEPT VARCHAR(20)); 当SNO为空时,系统给出错误信息,无NOT NULL约束时,系统缺省为NULL。 其中S_CONS为指定的约束名称,当约束名称省略时,系统自动产生一个名字。如下列功能同上,只是省略约束名称。 USE STUDENT CREATE TABLE S (SNO CHAR(10) NOT NULL , SN VARCHAR(20), AGE INT, SEX CHAR(2) DEFAULT 男 , DEPT VARCHAR(20)); (2)UNIQUE约束 UNIQUE约束用于指明基本表在某一列或多个列的组合上的取值必须唯一。 定义了UNIQUE约束的那些列称为唯一键,系统自动为唯一键建立唯一索引,从而保证了唯一键的唯一性。 唯一键允许为空,但系统为保证其唯一性,最多只可以出现一个NULL值。 UNIQUE既可用于列约束,也可用于表约束。 UNIQUE用于定义列约束时,其语法格式如下: [CONSTRAINT 约束名] UNIQUE 例2:建立一个S表,定义SN为唯一键。 USE STUDENT CREATE TABLE S (SNO CHAR(6), SN CHAR(8) CONSTRAINT SN_UNIQ UNIQUE, SEX CHAR(2), AGE NUMERIC(2)); 例3 建立一个S表,定义SN+SEX为唯一键。 USE STUDENT CREATE TABLE S ( SNO CHAR(5), SN CHAR(8), SEX CHAR(2), CONSTRAINT S_UNIQ UNIQUE(SN,SEX)); 系统为SN+SEX建立唯一键,确保同一性别的学生没有重名。 (3)PRIMARY KEY约束 PRIMARY KEY约束用于定义基本表的主键,起唯一标识作用,其值不能为NULL,也不能重复,以此来保证实体的完整性。 PRIMARY KEY与UNIQUE约束类似,通过建立唯一索引来保证基本表在主键列取值的唯一性,但它们之间存在着很大的区别: ①在一个基本表中只能定义一个PRIMARY KEY约束,但可定义多个UNIQUE约束; ②对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一个列都不能出现空值,而对于UNIQUE所约束的唯一键,则允许为空。 注意:不能为同一个列或一组列
您可能关注的文档
最近下载
- 第一课整理书包有条理(课件)-一年级上册劳动鄂教版.pptx
- QJ 2850A-2011 航天产品多余物预防和控制.doc
- 2025道德与法治九年级上册开学第一课(含视频).pptx
- 消防质量保证体系及质量保证措施v2.pdf VIP
- 《智慧运输运营》课件——项目七 物流运输决策.pptx VIP
- Unit 7(单元解读课件)-八年级英语上册同步备课系列(人教版).pptx VIP
- (2021-2025)中医医院“十四五”建设与发展规划.pdf VIP
- 活在课堂里 课件.pptx VIP
- 中华传统文化教学设计(山东教育出版社)【四年级】.docx
- 必威体育精装版苏教版小学数学六年级上册(全套)试卷【含答案】.doc
文档评论(0)