约束类型
总的来说有五种:唯一性和主键约束、外键约束、检查约束、空值约束、默认值约束,约束的简介
数据的完整性是指数据的正确性和一致性,可以通过定义表时定义完整性约束,也可以通过规则,索引,触发器等。约束分为两类:行级和表级,处理机制是一样的。行级约束放在列后,表级约束放在表后,多个列共用的约束放在表后。
完整性约束是一种规则,不占用任何数据库空间。完整性约束存在数据字典中,在执行SQL或PL/SQL期间使用。用户可以指明约束是启用的还是禁用的,当约束启用时,他增强了数据的完整性,否则,则反之,但约束始终存在于数据字典中。
有五大关键词,UNIQUE和PrimaryKey,ForeignKey,CHECK,NOTNULL,DEFAULT
数据库约束是为了保证数据的完整性而实现的一套机制,它具体的根据各个不同的数据库的实现而有不同的工具。\x0d\一般来说有以下几种实现方式:\x0d\1、检查约束:\x0d\通过在定义数据库表里,在字段级或者是在表级加入的检查约束,使其满足特定的要求。\x0d\比如以下的表定义:\x0d\CRATE TABLE student(\x0d\id serial,\x0d\name varchar(10),\x0d\scrore integer CHECK (scrore > 0));\x0d\定义分数不能小于0。\x0d\也可以在表级定义:\x0d\CHECK (字段1 秘字段2之间的关系)\x0d\2、非空约束:\x0d\这个大家应该很熟悉了。直接在字段后面加上:NOT NULL。\x0d\3、唯一约束:\x0d\定义一个唯一约束但是它并不包括NULL值。直接在字段定义后加入UNIQUE即可定义一个唯一约束。\x0d\4、主键约束:\x0d\SQL 92建议在建立一个表时定义一个主键:它其实就是:唯一约束+非空约束。\x0d\5、外键:\x0d\所有约束里数这个约束最有意思了:比如说有这样一件事,你需要做一个学生查询的网页。那么为了方便,你将建立三个数据表:\x0d\一个是学生情况表:\x0d\CREATE TABLE student(\x0d\id serial primary ke,\x0d\name varchar(10),\x0d\\x0d\);\x0d\一个表是记录所开的课程\x0d\CREATE TABLE class(\x0d\class_id varchar(5) primary key,\x0d\describe varchar(20)\x0d\\x0d\);\x0d\一个表是记录学生成绩的表:\x0d\CREATE TABLE score(\x0d\id integer references student,\x0d\class_id varchar(5) references class,\x0d\score integer CHECK (score > 0)\x0d\);\x0d\\x0d\这个时候你会发现以下几件事:\x0d\如果你在成绩表里输入不存在的学生和课程,数据系统将拒绝。如果你要删除一个学生,但是他已经在成绩表里有记录,数据库将拒绝删除这个学生的记录。\x0d\那么我们现在来看,前面一个对我们是有利的,因为谁都不想一个学生无缘无故的有了一个成绩的记录,但是在删除的时候就会比较麻烦了,有时候我的确是想删除这个学生。那么我总不能在应用程序里照顾得那么周到吧。不要紧我们在定义数据表的时候只在外键那一样加入以下控制就OK了,我们来重新定义数据表 score\x0d\CREATE TABLE score(\x0d\id integer references student ON UPDATE CASCADE ON DELETE CASCADE, //我们希望在学生记录改变时自动改变分数记录,在删除学生级联删除分数记录\x0d\class_id varchar(5) references class ON UPDATE CASCADE ON DELETE\x0d\RESTRICT, //我们希望在改变课程时自动改变分数记录表里关于课程的引用,但是不希望删除课程时级联删除分数。\x0d\\x0d\);\x0d\\x0d\这样我们就可以很好做到数据完整了。
参照完整性
指建立两个关系建立联系的主外键的约束
foreign
key
外键
4,实体完整性域完整性保证表中数据的合理性
check
检查
default
默认
not
null
不为空
unique
唯一约束
3。
1实体完整性
指关系的主关键字不为空且不重复
primary
key
主键
2、参照完整性和用户定义完整性域完整性用户自定义完整性除了上述关键字
数据库实体就是数据库管理系统中的不同管理对象。数据库管理系统中的各种用于数据管理方便而设定的各种数据管理对象,如:数据库表、视图、存储过程等都是数据库实体。广义上讲,这些对象中所存储的数据也是数据库实体。因为它们也是确切存在着的实体。
数据库完整性约束定义 关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性通常包括域完整性,实体完整性、参照完整性和用户定义完整性,其中域完整性,实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。
关系数据库基本概念 是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。目前主流的关系数据库有oracle、SQL、access、db2、sqlserver,sybase等。
altertable[]addconstraintcons_02unique(zoneName)。
约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过CREATETABLE语句),或者在表创建之后也可以(通过ALTERTABLE语句)。
扩展资料:
SQL具有数据定义、数据 *** 纵和数据控制。
1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式有叫做视图(View),全局模式简称模式(Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。
2、SQL数据 *** 纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。
3、SQL的数据控制功能:主要是对用户的访问权限加以控制,以保证系统的安全性。
以上就是关于数据库中约束的类型有几种全部的内容,包括:数据库中约束的类型有几种、数据库设置约束条件有什么好处、数据库完整性里主要有那些约束等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)