在我们对数据库中的数据进行修改插入的时候,如果对数据都进行完整性的检测会增加我们的麻烦,
现在把数据的完整性约束作为数据库有的一部分既可防止数据库的破坏,又可以提高完整性约束的检测
实体完整性约束和主码:
实体的完整性,一旦某个属性被定义为主码之后,该属性的值就不可以为空,而且不可以出现重复的现象,对于完整性
约束的添加,在sql语句中有两种定义形式
一些约束通过外部码约束实现的,也就是说这些相互约束是根据
学生的班级信息必须是要在在班级的表中含有的,而且被作为外部码的属性,必须是在另一个表中被说明为主码或者是加上了unique约束,用户自定义完整性约束利用check语句,通过check语句,我们可以更好的约束属性值。
约束的更新
现在把数据的完整性约束作为数据库有的一部分既可防止数据库的破坏,又可以提高完整性约束的检测
实体完整性约束和主码:
实体的完整性,一旦某个属性被定义为主码之后,该属性的值就不可以为空,而且不可以出现重复的现象,对于完整性
约束的添加,在sql语句中有两种定义形式
<span style="font-size:18px;">CREATE TABLE STUDENT(
SNO INT PRIMIRY KEY
PRIMIRY KEY (SNO));</span>
一些约束通过外部码约束实现的,也就是说这些相互约束是根据
<span style="font-size:18px;">CREATE TABLE STUDENT(
CNO CHAR (2) REFERENCE CLASS (CNO));</span>
学生的班级信息必须是要在在班级的表中含有的,而且被作为外部码的属性,必须是在另一个表中被说明为主码或者是加上了unique约束,用户自定义完整性约束利用check语句,通过check语句,我们可以更好的约束属性值。
<span style="font-size:18px;">AGE INT CHECK (AGE > 18 AND AGE <= 60)
CHECK (DNO IN (SELECT DNO FROM DEPARTMENT))</span>
约束的更新
删除当前已有的完整性约束:
<span style="font-size:18px;">ALTER TABLE STUDENT
DROP CONSTRAINT DF_SNO;</span>
添加完整性约束:
<span style="font-size:18px;">ALTER TABLE STUDENT
ADD UNIQUE (SNO);
ALTER TABLE STUDENT
ADD CONSTRAINT UN_SNO ;</span>
数据库的安全性问题
对于数据库的安全性问题,为保护数据库数据的安全性,常采用的方式是以下几种:
1.用户标示和鉴别,每一个用户拥有自己的登录口令。
2.访问控制,对于不同的用户对数据库数据的操作拥有不同的权限。
3.强制存取控制方法,该方法是在访问控制上的一个更新,对数据和用户划分密级,在操作的时候将密级进行一个比较,然后最终确定用户的读写。
4.视图和查询修改,通过视图隐藏一部分数据,查询修改就是在用户执行查找操作的时候,提前做一个优化,选择性的输出部分查询结果。
5.跟踪审计,对于用户的操作做一个记录,分析用户的操作来判断用户是否存在入侵数据库的行为。