一、约束分类(保证数据的完整性)。
A、主键约束——实体
设置主键不能为空值,具备唯一标识性,是为了防止录入错误,设置了主键,减慢了新增数据的速度,但大大提高了查询的效率。1.不重。2.不空。3.排序。4.唯一(不能出现两个主键)5.组合主键。
建主键:
1.可视化建主键。在“对象资源管理器”中选中要设置主键的表,右键点击“设计”,弹出的窗口中,右击该表设计器里列名前面的小三角--选“设置主键”即可。
2.代码建主键。 primary key
B、外键约束——引用
两个表,主表和从表。主表——用主键来约束对方的。从表——被约束的表,被约束的列称为外键列。从表外键上填写的内容必须是主表主键里面的已经有的内容。
建外键:
1.可视化操作:
第一步,在某个要成为外键的表设计器中右击列名前的小三角,单击“关系”;第二步:弹出“外键关系”窗口,在“表和列规范”这里单击。
2.代码:references 主表名(主键列)
C、非空约束 ——不能为空
1.可视化:表的设计界面,每一列后都有一个“允许为null”的复选框。
2.代码:not null
D、自增长
它有“种子”(起始值)和"步长"(每次增长的数量)。
注意:
1.每个自增长的值,一旦被用过了,就废了,不会再重复使用。
2.任何向自增长列添加值的行为都不正确。
3.对列有类型要求:int decimal
1.可视化:在列的属性中,标识规范——是。
2.代码:identity(a,b)--都有固定的索引,前面的a是指从a开始自增长,后面b是指增长几;
例:Code int primary identity( 1,-1)
E、Check约束
主要是对列里面的值做进一步的规范化。
1.可视化:在列上右击——check约束——在弹出的对话框中添加check约束。
2.代码:check(表达式)
F、默认值
1.可视化:在列的属性——默认值或绑定
2.代码:default 值
G、唯一约束
可以空,但不能重。
1.可视化:在列上右击选择——索引/键——在这个界面中既可以建索引又可以建唯一约束。
2.代码:unique
H、索引
提高查询的效率。一个表可以对不同的列建立多个索引。 簇索引(排序,主键),非簇索引(普通索引)。索引的劣势:对增、删、改的效率会降低。
1.可视化:跟唯一约束的建法相似。
2.代码:create index 索引名 on 表名(列名)
二、视图
把查询给包装起来,使用起来就像用一个表一样。视图本身不存储数据。
视图可以从一个表、多个表、多个表和视图上建立起来。
视图的优势:查看方便。
劣势:增、删、改不方便。
1.可视化:对象资源管理器中,数据库--视图右击--新建视图。
2.代码:create view 视图名 as SQL查询语句,分组,排序,in 等都不能写
视图的用法: select * from 视图名