数据库的安全性是尽可能保证非法用户不破坏数据的正确性。
数据库的完整性是尽可能保证合法用户不破坏数据的正确性。
问题:你还记得实体完整性约束和参照完整性约束是怎么回事吗?
数据库的完整性是为了防止数据库中存在不符合语义的数据。
为此,DBMS需要完成:
- 提供定义完整性约束条件的机制
- 提供完整性检查的方法
- 违约处理
完整性分类:实体完整性、参照完整性和用户定义完整性。
约束
约束:就是一种强制性的规定。
SQL Server的六种约束:
- not null 非空约束
- check 检查约束
- unique 唯一约束
- primary key 主码约束
- foreign key 外码约束
- default 默认约束
1、建立非空约束。
alter table course
alter column credit smallint not null
其中,必须给出列的类型。
2、建立唯一约束。
alter table course
add constraint UQ_cname unique(cname)
其中:constraint关键词即对该约束进行命名,即UQ_cname是约束名。
注意:对每个约束都进行命名是个好习惯。
约束的建立:
- 在创建表的同时建立
- 在已有表上建立
注意:若表中已有数据,则建立约束时可能会失败。