SQL中表约束是什么意思啊,它的作用是什么?谢谢
3个回答
展开全部
SQL Server中的约束用来确保系统的完整性。一般约束可以分为:
主键约束
外键约束
检查约束
默认约束
唯一约束
非空约束
但是一般我们需要特别注意前三种约束:
主键约束,一就是说跟你系统的实体有很大的关系,它是用来确保实体的完整性的。要求一个表只能有一个实体,用经验来说就是不能有表中表存在。是不是跟第一范式的概念很相似?相似就对了,一般做到一个表一个实体的话也就满足了第一范式
外键约束
外键约束是来确保引用的完整性。也就是说你的系统中每个外间必须跟一个实体(主键约束)对应起来,而不能随意的乱搞关系。这个主要是满足第二范式的要求
检查约束和默认约束是来确保数据的完整性。比如说你一个表的年龄字段,那么肯定要检查他是否大于0。这个主要是说的第三范式。
我们一般情况下做设计只需要达到第二范式即可,一味的满足三范式,实际上系统会很庞大,对后期的维护优化没有任何好处。适当的冗余数据是对系统有力的
主键约束
外键约束
检查约束
默认约束
唯一约束
非空约束
但是一般我们需要特别注意前三种约束:
主键约束,一就是说跟你系统的实体有很大的关系,它是用来确保实体的完整性的。要求一个表只能有一个实体,用经验来说就是不能有表中表存在。是不是跟第一范式的概念很相似?相似就对了,一般做到一个表一个实体的话也就满足了第一范式
外键约束
外键约束是来确保引用的完整性。也就是说你的系统中每个外间必须跟一个实体(主键约束)对应起来,而不能随意的乱搞关系。这个主要是满足第二范式的要求
检查约束和默认约束是来确保数据的完整性。比如说你一个表的年龄字段,那么肯定要检查他是否大于0。这个主要是说的第三范式。
我们一般情况下做设计只需要达到第二范式即可,一味的满足三范式,实际上系统会很庞大,对后期的维护优化没有任何好处。适当的冗余数据是对系统有力的
展开全部
约束是在表中定义的用于维护数据库完整性的一些规则。
通过为表中的列定义约束可以防止将错误的数据插入表中,也可以保持表之间数据的一致性
.若某个约束条件只作用于单独的列,可以将其定义为列约束也可定义为表约束;
若某个约束条件作用域多个列,则必须定义为表约束。
SQL Server中的约束用来确保系统的完整性。一般约束可以分为:
主键约束
外键约束
检查约束
默认约束
唯一约束
非空约束。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
约束是在表中定义的用于维护数据库完整性的一些规则
通过为表中的列定义约束可以防止将错误的数据插入表中,也可以保持表之间数据的一致性
.若某个约束条件只作用于单独的列,可以将其定义为列约束也可定义为表约束;
若某个约束条件作用域多个列,则必须定义为表约束
表约束通常放在最后一个列定义的后面
.如:CREATE TABLE products ( product_no integer, name text, price numeric CHECK (price > 0) ) 这是列约束
CREATE TABLE products ( product_no integer, name text, price numeric, discounted_price numeric, CHECK (price > discounted_price)) 这是表约束
通过为表中的列定义约束可以防止将错误的数据插入表中,也可以保持表之间数据的一致性
.若某个约束条件只作用于单独的列,可以将其定义为列约束也可定义为表约束;
若某个约束条件作用域多个列,则必须定义为表约束
表约束通常放在最后一个列定义的后面
.如:CREATE TABLE products ( product_no integer, name text, price numeric CHECK (price > 0) ) 这是列约束
CREATE TABLE products ( product_no integer, name text, price numeric, discounted_price numeric, CHECK (price > discounted_price)) 这是表约束
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询