sql数据库中,表约束,和列约束是什么意思,简单说说

sql数据库中,表约束,和列约束是什么意思,简单说说,第1张

约束,主要为了维护数据库的完整性定义的一些规则,列约束作为列定义的一部分只作用于此列本身。表约束作为表定义的一部分,可以作用于多个列。在这里举几个例子。

1.主键约束

主关键字约束指定表的一列或几列的组合的值在表中具有惟一性,即能惟一地指定一行记录。每个表中只能有一列被指定为主关键字,且IMAGE 和TEXT 类型的列不能被指定为主关键字,也不允许指定主关键字列有NULL 属性。

多列组成的主键叫联合主键,联合主键就是表级约束,单列主键就是列级约束。

2.唯一性约束

某一列的值,在这个表中,只能出现一个,比如身份z号码等

3.外键约束

外关键字约束定义了表之间的关系。当一个表中的一个列或多个列的组合和其它表中的主关键字定义相同时,就可以将这些列或列的组合定义为外关键字,并设定它适合哪个表中哪些列相关联

等等,不一一列举了。

可分为三种类型:与表有关的约束、域(Domain)约束、断言(Assertion)。

1、与表有关的约束:是表中定义的一种约束。可在列定义时定义该约束,此时称为列约束,也可以在表定义时定义约束,此时称为表约束。包括列约束(表约束+NOTNULL)和表约束(PRIMARYKEY、foreignkey、check、UNIQUE)。

2、域(Domain)约束:在域定义中被定义的一种约束,它与在特定域中定义的任何列都有关系。

3、断言(Assertion):在断言定义时定义的一种约束,它可以与一个或多个表进行关联。不必与特定的列绑定,可以理解为能应用于多个表的check约束,因此必须在表定义之外独立创建断言。

扩展资料:

完整性约束中包含四个完整性,即域完整性,实体完整性、参照完整性和用户定义完整性。

1、域完整性为保证数据库字段取值的合理性。属性值应是域中的值,这是关系模式规定了的。除此之外,一个属性能否为NULL,这是由语义决定的,也是域完整性约束的主要内容。

2、实体完整性,指关系的主关键字不能重复也不能取“空值"。一个关系对应现实世界中一个实体集。现实世界中的实体是可以相互区分、识别的,也即它们应具有某种惟一性标识。

3、参照完整性,定义建立关系之间联系的主关键字与外部关键字引用的约束条件。关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。

4、用户定义完整性,则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。

参考资料来源:百度百科-数据完整性约束

约束是在表中定义的用于维护数据库完整性的一些规则。

通过为表中的列定义约束可以防止将错误的数据插入表中,也可以保持表之间数据的一致性

.若某个约束条件只作用于单独的列,可以将其定义为列约束也可定义为表约束;

若某个约束条件作用域多个列,则必须定义为表约束。

SQL Server中的约束用来确保系统的完整性。一般约束可以分为:

主键约束

外键约束

检查约束

默认约束

唯一约束

非空约束。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10704394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存