数据库系统的安全性和完整性有什么不同

数据库系统的安全性和完整性有什么不同,第1张

数据库系统的安全性和完整性有3点不同。相关介绍具体如下:

一、两者的分类不同:

1、数据库系统安全性的分类:一般数据库系统安全涉及5个层次,即用户层、物理层、网络层、 *** 作系统层、数据库系统层。

2、数据库系统完整性的分类:数据库完整性约束可分为6类,即列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束、关系级动态约束。动态约束通常由应用软件来实现。不同DBMS支持的数据库完整性基本相同。

二、两者的实质不同:

1、数据库系统安全性的实质:为数据库系统采取的安全保护措施,防止系统软件和其中数据遭到破坏、更改和泄漏。

2、数据库系统完整性的实质:数据库中数据在逻辑上的一致性、正确性、有效性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。

三、两者的相关途径不同:

1、数据库系统安全性的相关途径:主要通过DBMS实现的。数据库系统中一般采用用户标识和鉴别、存取控制、视图以及密码存储等技术进行安全控制。

2、数据库系统完整性的相关途径:可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计。

参考资料来源:百度百科-数据库完整性

参考资料来源:百度百科-数据库系统安全

数据库的检查约束相当于一个企业的大门保安,有合法身份的人进行,不合法人的则拒绝,在数据库中检查约束通过check关键字实现,如果一般情况也可以通过管理工具编写一个表达式实现,现通过在sqlserver中通过代码实现,如成绩表中的成绩规定为0到100分,如果录入数据不在此范围,则报错,具体写法如下:

create table 成绩表

(成绩 real null

constraint ck_成绩 check(成绩〉=0 and 成绩<=100)

)

从最终用户来看,数据库系统的外部体系结构可分为五种类型:单用户结构、主从结构、分布式结构、客户/服务器结构、浏览器/服务器结构。

根据数据模型分类,数据库可分为关系数据库(主流)、层次数据库、网状数据库、面向对象的数据库。其中不是关系数据库的数据库又统称为非关系数据库。

为了对数据进行存储,需要对现实世界进行抽象。现实世界称的“事物的特征”,在第一级抽象——信息世界中被映射为“属性”,在第二级抽象——计算机世界中被映射为“字段"。而对于使用关系模型的数据库(属于第二级世界)中,对应的又重新称为是“属性”。

在使用关系模型的数据库,一个关系就是一张规范化的二维表,它由表名、表头、标体组成。相容性是针对两个关系来说的,如果两个关系的属性数相同(即同度),且列上的属性类型是一一对应的(即列同质),则这两个关系是相容的。相容性概念是为传统集合运算服务的,只有两个关系是相容的,那这两个关系才能进行集合运算(广义笛卡尔积运算除外)。

最后,关于题目中“数据库约束”笔者没有找到直接的概念,但有“数据完整性约束”的概念。数据模式是由数据 *** 作(为动态特性)、数据结构(为静态特性)、数据完整性约束组成。完整性约束的分类笔者就不展开了,就举个例子,比如年龄必须是正整数或零,这就是一个约束。

建表的同时通常还可以定义与该表有关的完整性约束条件,这些完整性约束条件被存入系统的数据字典中,当用户 *** 作表中数据时由DBMS自动检查该 *** 作是否违背这些完整性约束条件如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级

例1 建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成其中学号不能为空,值是唯一的,并且姓名取值也唯一

CREATE TABLE Student

(Sno CHAR(5)NOT NULL UNIQUE,/列级完整性约束条件,Sno取值唯一,

Sname CHAR(20)UNIQUE,不许取空值/

Ssex CHAR(1),

Sage INT,

Sdept CHAR(15));

常用完整性约束:

主码约束:PRIMARY KEY

唯一性约束:UNIQUE

非空值约束:NOT NULL

参照完整性约束

数据的完整性靠添加约束实现。实现完整性约束的方法依类别不同而不同。完整性约束可以分为两大类:静态约束和动态约束。

1、静态约束

静态约束是对数据库状态的约束,有可分为固定约束、隐含约束和显示约束。

2、固定约束

是数据模型固有的约束,如关系的属性是原子的,即满足INF的约束。固有约束在DBMS实现时已经考虑。

3、隐含约束

指隐含于数据模式中的约束,一般用数据定义语言(DDL)语句说明,并存于数据目录中。例如,域完整性约束、实体完整性以及参照完整性约束,都由相应的DDL语句说明。

4、显示约束

固有约束、隐含约束是最基本的约束,但概括不了所有的约束。数据完整性是多种多样的,且依赖于数据的语义与应用,这些约束只有显式地说明,故称显式约束。显式约束的说明一般有三种方法:

①用过程说明约束。这种方法不约束的说明和检验交给应用程序,应用程序中可以插入一些过程,以检验数据库更新是否违反给定的约束,如果违反约束,则回滚事务。检验约束的过程一般用通用高级程序语言编写,可以表达各式各样的约束。这是一种普遍方法。

②用语言说明约束。断言指数据库状态必须满足的逻辑条件。数据库完整性约束可以看成一系列断言的集合。为了表示约束,DBMS须提供断言说明语言。

③用触发子表示约束。触发子是一个软件机制,其功能相当于WHENEVERTHEN,即一旦给定条件成立,系统就引发相应的动作。利用触发子可以表示约束,以违反约束作为条件,以违反约束的处理作为动作。

动作不限于回滚事务,也可以给用户一个消息或过程。在系统中定义一批触发之后,就会监督数据库状态,一旦出现违反约束的更新,就会引发相应的动作。

5、动态约束

动态约束不是对数据库状态的约束,而是数据库从一个状态变为另一个状态时应遵守的约束,例如在更新职工表时,工资、工龄这些属性值一般只会增加,不会减少。动态约束一般也是显式说明的。

在上述约束中,固有约束必然实施,隐含约束在大部分现代DBMS中基本实施或部分实施,显式和动态约束只在个别DBMS中实施。

扩展资料

知识点①:对数据 *** 作语句来说,数据存储到数据库中,如果我们不对其进行分析和处理的话那么数据就是没有价值的,这种用户对数据中数据的 *** 作大多数查询和修改的,修改包括了增加新的数据删除旧的数据以及更改已有的数据。

那么SQL语言提供了功能强大的数据查询以及修改功能,那么他的查询功能是html语言的核心功能,这是数据库中使用得最多的 *** 作,那么查询语句也是SQL语言中比较复杂的一个语句。

知识点②:其实查询语句是数据库 *** 作中最基本和最重要的女婿之一,它的功能是从数据库中检索满足条件的数据,查询的数据源可以来自一张表也可以来自多张表甚至是仕途,那么他的查询功能是由领航。

或者多煮几路组成的一个记录集合,并允许选择一个或多个字段来作为,输出字段了,查询语句的基本结构可以描述,在一些结构中,我们可以对指定的输出字段以及用于指定数据的来源,那么他有什么单表查询呢,数据源只设计一张表查询的话是为了帮助读者更好地理解SQL语句中的执行情况,这里指大部分查询语句均列出来返回了结果。

以上就是关于数据库系统的安全性和完整性有什么不同全部的内容,包括:数据库系统的安全性和完整性有什么不同、谁能准确讲述一下数据库的检查约束、数据库 相容性怎么理解类型,属性,关系,数据库约束分别怎么理解 能举例说明更好等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9753901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存