sql_表的约束1

来源:互联网 发布:3d粒子动画网站源码 编辑:程序博客网 时间:2024/06/05 23:29

为了增强表的安全性(在数据库中创建的用户表必须安全),需要对表中的每列数进行约束。

约束方式有两种:

1、    建表时设置约束

2、    建表后追加约束

 

当应用程序访问数据库时,还要注意的是,如果是数据库设计方面的操作,一定要在数据库中完成,而不能借用其他形式(如在应用程序中操作);

 

单表的五类约束:

多表的一类约束:

第一类约束:可空、非空约束

null,默认可空,用来约束列的,标明这列数据可有可无;

not null,非空,用来约束列的,标明这列数据必须有;


第二类单表约束:

主键约束:primary key

它的作用是用来标记行的唯一性,即某行记录与其他所有行记录不同。

要求对于任何一个表,都要设计主键约束,而且一个表中只有一个主键约束。

对于表中的多列,如何选择主键约束到哪一列上?

按照生活中的实际逻辑关系进行选择。

表中作为主键的列,可以是单列,也可以是多列(称为复合主键或联合主键),在sqlserver中不建议使用复合主键。

约束的要素:

1、    约束名称,可以由用户定义,如果用户不定义,则由服务器自动命名;

2、    约束类型

与not null约束存在时没有任何变化。

表中符合主键约束列的条件:

1、    唯一

2、    非空

主键列的几种形式:

1、    字符型主键列数据,其内容需要用户输入,无论是否包括中文;

a) 如果不包括中文,则使用单字节字符编码

b) 如果数据中有中文存在,则一定要使用双字节编码

c) 如果是变长的数据,也以按照以上两点执行。

2、    整数自增型数据作为主键

a) sqlserver中的自增属性,此技术在mysql(increment)和oracle(sequence)也都存在;用法为提供一个种子和一个增量,每添加一行记录,此列就会增大或减小。

b) 在数据值数据中,只有整型数据可以作主键,实数不行。

c) 整数作主键,只是唯一非空即可,不一定非自增。


主键约束的另一种操作形式,建表后向表中追加。

如果表中已经存在了主键约束,就不能继续向表中追加了;当追加约束时,如果表中已经有了记录,如果记录中有不符合主键约束的条件,仍然追加不上。

 

向表中追加约束的过程,相当于修改了表的结构,使用关键字alter



0 0
原创粉丝点击