数据库约束的作用
A. 娣诲姞绾︽潫镄勭洰镄勬槸浠涔
棣栧厛鏄涓轰简鏁版嵁镄勬g‘镐.渚嫔备竴涓姹借溅鏁版嵁搴,链夋苯杞﹀拰浜у湴涓や釜琛,褰曞叆鏁版嵁镄勪汉杈揿叆:寰峰浗瀹濋┈,寰峰浗濂旈┌,镞ユ湰涓扮敯...锅囧备笉鎱庡啓阌,杈揿叆浜嗘棩链瀹濋┈,闾d箞绾︽潫灏变细鍒舵浣犺緭鍏ヨ繖涓阌栾镄勬暟鎹.锅囧傛病链夋坊锷犵害𨱒,杩囦竴娈垫椂闂存暟鎹搴揿氨浼氩嚭鐜板緢澶氭棩链瀹濋┈,寰峰浗涓扮敯杩欑被镄勬暟鎹,闇瑕佺箒鐞愮殑镓嫔姩淇鏀.
鍏舵℃槸绾︽潫鍙浠ヨ仈绾ф洿鏂板拰镵旂骇鍒犻櫎,姣斿备匠缇庢敼钖嶅彨鍑缇庣憺,鍙瑕佹洿鏂颁富琛,镵旂骇镟存柊鍙浠ユ妸瀛愯〃镓链変匠缇庢敼涓哄嚡缇庣憺.
约束,主要为了维护数据库的完整性而定义的一些规则,列约束作为列定义的一部分只作用于此列本身。表约束作为表定义的一部分,可以作用于多个列。在这里举几个例子。
1.主键约束
主关键字约束指定表的一列或几列的组合的值在表中具有惟一性,即能惟一地指定一行记录。每个表中只能有一列被指定为主关键字,且IMAGE 和TEXT 类型的列不能被指定为主关键字,也不允许指定主关键字列有NULL 属性。
多列组成的主键叫联合主键,联合主键就是表级约束,单列主键就是列级约束。
2.唯一性约束
某一列的值,在这个表中,只能出现一个,比如身份证号码等
3.外键约束
外关键字约束定义了表之间的关系。当一个表中的一个列或多个列的组合和其它表中的主关键字定义相同时,就可以将这些列或列的组合定义为外关键字,并设定它适合哪个表中哪些列相关联
等等,不一一列举了。
C. SQL中表约束是什么意思啊,它的作用是什么谢谢
约束是在表中定义的用于维护数据库戚蔽配完整性的一并穗些规则。
通过为表中的列定义约束可以防止将错误的数据插入表中,也可以保持表之间数据的一致性
.若某个约束条件只作用于单独的列,可以将其定义为列约束也可定义为表约束;
若某个约束条件作用域多个列,则必须定义为表约高指束。
D. 简要介绍数据库表的约束和主要类型、作用
首先应该说下什么是数据库约束?
数据库约束是为了保证数据的完整性而实现的一套机制,它具体的根据各个不同的数据库的实现而有不同的工具。所以我们在学习约束的时候就会看到域完整性(Domain Integrity)、实体完整性(Entity Integrity)、参照完整性(Referential Integrity)与用户定义完整性(User-defined Integrity)的不同的约束分类。但我今天就说下我们或是我们有些人刚接触数据库的同学,并且从SQL语言基础了解并学习到的。
1、非空约束(Not Null Constraint)
这个可能大家都了解,就是我们在添加那个表 userinfo,在id、name后面都添加了not null,就是有些列不能把它设为空,相信大家都理解,我就说下我在一个英文资料看到的一段英文:The not null specification prohibits the insertion
of a null value for this attribute.Any database modifucation that would cause a null to be inserted in an attribute declared to be not null generates an error diagnostic.(大家就得自己翻译了)
2、唯一约束(Unique Constraint)
一个唯一约束并不包括一个NULL值。直接在字段定义后加入UNIQUE即可定义该唯一约束。
1) 一个表只能创建一个主键约束,但一个表可以根据需要对不同的列创建若干unique约束
2)主键字段不允许为null ,unique允许为空
3)一般创建主键约束时,系统自动产生簇索引,unique约束自动产非簇索引
3、检查约束(The Check Clause)
通过在定义数据库表里,在字段级或者是在表级加入的检查约束,使其满足特定的要求。
我来举一个例子
create table student (
name varchar(15) not null,
student_id varchar(15),
degree_level varchar(15),
primary key(student_id),
check(degree_level in('Bachelors','Masters','Doctorate')));
Here ,we use the check clause to simulate an enumerated type by specifying that degree_level must to be one of 'Bachelors','Masters','Doctorate';
4、主键约束(Primary Key Constraint)
其实主键约束就是一张表只能建立一个主键约束,其实就是唯一约束+非空约束。大家通过上课讨论那么多关于“依赖”的事情,估计大家都能理解了
5、外健约束( Foreign Key Constraint)
Foreign Key Constraint主要是确保同一个表或者不同表之间的引用完整性,所以必须引用一个PRIMARY KEY或者UNIQUE约束,用户必须在应用表上具有REFERENCES权限;一个表中最多可以有31个外部键约束; 在临时表中,不能使用外部键约束; 主键和外部键的数据类型必须严格匹配 。这个就不多说了给大家推荐一个网站http://tech.sina.com.cn/s/2010-01-04/00481199365.shtml
系摘抄....
网上随便搜索一下,大把大把的~~~