《数据库安全》第一章 绪论

上传人:考试不挂****2941... 文档编号:242939140 上传时间:2024-09-12 格式:PPT 页数:148 大小:1.82MB
返回 下载 相关 举报
《数据库安全》第一章 绪论_第1页
第1页 / 共148页
《数据库安全》第一章 绪论_第2页
第2页 / 共148页
《数据库安全》第一章 绪论_第3页
第3页 / 共148页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数据库与安全,教材及参考书,1.,指定教材,数据库与安全,校内教材,2.,参考书目,数据库安全,张敏,徐震等编著,.,科学出版社,数据库安全,刘晖,彭智勇编著,.,武汉大学出版社,王珊 萨师煊,数据库系统概论,第,4,版,高等教育出版社,2006.5,杨冬青 唐世渭等译,,数据库系统概念,,机械工业出版社,2003.3,(原著:,Database System Concepts,Fourth Edition,,,Abraham Silberschatz,Henry F.Korth, S.Sudarshan,),.,3,主要授课内容,绪论,数据管理基本原理与技术,数据库及其应用系统的安全语义,数据库的访问控制,数据库安全策略,多级数据库安全管理系统,数据挖掘及其安全问题,数据库其他安全问题,第 一 章,绪 论,本 章 概 要,1.1,数据库系统概述,1.2,数据模型,1.3,数据库系统结构,1.4,数据库安全概述,6,1.1.1,数据库技术的产生和发展,数据处理的中心问题是,数据管理。,数据管理是指对数据的,组织,、,分类,、,编码,、,存储,、,检索,和,维护,。,随着计算机硬件和软件的发展,数据管理经历了,人工管理,、,文件系统,和,数据库系统,三个发展阶段。,1.1,数据库系统概述,7,一、人工管理阶段,背景:,时间:,50,年代中期以前,硬件:磁带、纸带,,软件:无操作系统和管理软件,数据的存储空间的分配都由用户完成,数据处理方式:批处理,应用程序,1,应用程序,2,应用程序,n,数据集,1,数据集,2,数据集,n,8,人工管理阶段的特点如下:,数据不保存,应用程序管理数据,数据不共享,数据不具有独立性,数据处理方式:批处理,9,二、文件系统阶段,背景:,时间:,50,年代后期至,60,年代中期,软件:有了操作系统,提供了文件系统管理数据。,硬件:有了磁盘、磁鼓等存储设备,可以存储数据。,数据处理方式:批处理、实时处理。,10,文件管理数据的特点如下:,数据可以长期保存,由文件系统管理数据,文件形式多样化,程序与数据间有一定独立性,11,缺点:,数据文件是面向应用的,数据共享性差,冗余度大,数据独立性差,不支持并发访问、数据缺少统一管理,应用程序,1,文件,1,文件,n,应用程序,n,文件管理,系统,12,三、数据库系统阶段,背景:,时间:,60,年代后期,硬件:大容量磁盘,硬件价格下降,软件:软件价格上升,使开发和维护系统软件的成本增加。,数据处理方式:实时处理、批处理、分布式处理,13,数据库系统管理数据的特点如下:,1.,数据共享性高、冗余少,数据面向整个系统,当前所有用户可同时存取库中的数据。减少了数据冗余,节约存储空间,同时也避免了数据之间的不相容性与不一致性。,2.,数据结构化,按照某种,数据模型,,将全组织的各种数据组织到一个结构化的数据库中,整个组织的数据不是一盘散沙,可表示出数据之间的有机关联。,14,例如:学生人事记录,形式如下:,学号 姓名 性别 系别 年龄 政治面貌 家庭出身 籍贯,家庭成员 奖励情况,把定长的放在主记录里,不定长的形成明细记录。通过,“,学号,”,把他们关系起来,实现局部的系统结构化。,学生人事记录(,学号,姓名 性别 系别 年 龄 政治面貌 家庭出身 籍贯),家庭成员记录(,学号,与本人关系 姓名 详细情况),奖惩情况记录(,学号,日期 奖惩条目),15,16,为了实现整体数据的系统结构化,要在描述数据本身的同时,进一步描述,数据间的联系。,例:学校的信息管理系统。,系统包括:,学生的人事管理、学籍管理 、,选课管理等。,需要对整个应用的数据统一考虑。建立他们之间的联系,面向整个组织,实现整体的结构化。必须用数据库系统来实现,这是数据库系统与文件系统的,根本区别,。,17,例:学校的信息管理系统。,联系:,用带箭头的线表示,从主记录指向明细记录或其他相关记录。,18,3.,数据独立性高,数据的独立性:,是指逻辑独立性和物理独立性。,逻辑独立性:,是指当数据的逻辑结构改变时,应用程序不修改,从而保证了数据与程序间的逻辑独立性。,物理独立性:,是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。,19,4. 有统一的数据控制功能,数据的安全性控制:,防止不合法使用数据造成数据的泄露和破坏,保证数据的安全和机密;,措施:,用户标识与鉴定,存取控制等。,数据的完整性控制:,系统通过设置一些完整性规则以确保数据的正确性、有效性和相容性。,措施:,完整性约束条件定义和检查。,20,并发控制:,多用户同时存取或修改数据库时,防止相互干扰而提供给用户不正确的数据,并使数据库受到破坏。,措施:,封锁。,并发控制就是避免这种情况出现!,21,数据恢复:,当数据库被破坏或数据不可靠时,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态。,措施:,备份和日志文件。,22,数据库系统阶段程序与数据之间关系图,程序,1,程序,2,程序,n,数,据,库,数据库,管理系统,23,数据管理技术的发展动力,应用需求的推动,计算机硬件的发展,计算机软件的发展,24,1.1.2,数据库系统基本术语,数据库(,DataBase,,,DB,),存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是要一定格式存放的。,长期储存在计算机内的、,有组织,(,结构,),的、,可共享,的数据集合。数据库中的数据按一定的数据模式组织、描述和存储、具有较小的冗余度、较高的数据独立性、共享性和易扩展性。,数据库管理系统,(Data Base Management System,,,DBMS),:是对数据进行管理的大型系统软件,它是数据库系统的核心组成部分。,它的主要功能如下:,1.,数据定义,DBMS,提供数据定义语言,DDL,(,Data Define Language,),定义表的结构、视图、触发器、索引等,定义有关的约束条件。,2.,数据操纵,DBMS,提供数据操纵语言,DML,(,Data Manipulation Language,),实现对数据库的基本操作,包括检索、更新(插入、修改、删除)等。,3.,数据库运行管理,DBMS,对数据库的控制主要通过四个方面实现:,数据的安全性控制,数据的完整性控制,并发控制,数据库的恢复,4.,数据库的建立和维护功能,包括数据库的初始数据的装入,数据库建立时的物理分配,数据库的转储、恢复、重组织,系统性能监视、分析等功能,29,DBMS,的组成,1.,语言编译处理程序,1,)数据定义语言,DDL,及其编译程序,2,)数据操纵语言,DML,及其编译程序,实现对数,据库的基本操作。,2.,系统运行控制程序,系统总控程序、安全性控制程序、完整性控制程序、并发控制程序、数据存取和更新程序、通信控制程序。,3.,系统建立、维护程序,装配程序、重组程序、系统恢复程序,30,4. 数据字典(系统目录),用来描述数据库中有关信息的数据目录,,包括数据库的三级模式、数据类型、用户名、用户权限等有关数据库系统的信息,帮助用户、DBA 、DBMS本身使用和管理数据库。,31,DBMS对数据的存取通常需要以下四步:,用户使用某种特定的数据操作语言向DBMS发出存取请求;,DBMS接受请求并解释;,DBMS依次检查外模式、外模式/模式映象、模式、模式/内模式映象及存储结构定义;,DBMS对存储数据库执行必要的存取操作;,32,数据库管理系统的工作过程:,数据库,DBMS,操作,系统,系统缓冲区,应用程序,A,用户工作区,应用程序,X,用户工作区, ,外模式,A,模式,物理模式(内模式),子模式,X,1,2,3,4,5,6,7,8,9,10,33,数据库系统,(DataBase Sysyem DBS),计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统、应用系统、数据库管理员和用户组成。,主要由,数据库、人员、软件,和,硬件,四部分组成。,34,一、数据库,二、人员,人员是指建立和使用数据库的人,即对数据库的,建立,、,存储,、,维护,和,检索,等操作。,人员分为四类:,1.,第一类用户,,最终用户,主要是使用数据库的各级管理人员、工程技术人员、科研人员,一般为非计算机专业人员;,2.,第二类用户,,应用程序员,负责为终端用户设计和编制应用程序,以便终端用户对数据库进行存取操作。,35,3.,第三类用户:系统分析员和数据库设计员。,系统分析员:,主要对系统进行需求分析和规范说明,参与数据库概要设计。,数据库设计员:,数据库中数据的确定、数据库各模式的设计。,.,第四类用户,数据库管理员(,Dadabase Administrator,,简称,DBA,),数据库管理员,(DBA),的职责是:,决定数据库中的信息内容和结构,决定数据库的存储结构和存取策略,定义数据的安全性要求和完整性约束条件,监控数据库的使用和运行,36,三、 软件,操作系统、应用程序和数据库管理系统,(,Data Base Management System,,简称,DBMS,)。,数据库管理系统负责数据库存取、维护和管理的软件系统,数据库系统的各类人员对数据库的各种操作请求,都由,DBMS,完成,,DBMS,是数据库系统的核心软件。,四、硬件,存储和运行数据库系统的硬件设备。,包括,CPU,、内存、大容量的存储设备、外部设备等。,37,编译系统,OS,硬件,应用系统,应用开发工具,DBMS,数据库系统层次结构如下图,由上图看出:,DBMS,在操作系统(,OS,)的支持下工作,,应用程序在,DBMS,支持下才能使用数据库。,1.2,数据模型,1.2.1,数据模型的组成要素,模型:,是现实世界特征的模拟和抽象。,例:一张地图,一个精致的航模,是具体实物模型。,数据模型,也是一种模型,是现实世界,数据特征,的抽象。,数据模型定义:,数据模型是表示,实体及其实体与实体之间的联系,的数据库的数据结构。,数据库不仅要反映数据本身的内容,而且要反映数据之间的联系,计算机不能处理现实世界的实物,人们把实物转换成计算机能处理的数据。,数据模型分成两个不同的层次:,概念模型,,也称信息模型,它是按用户的观点来对数据和信息建模。脱离于计算机,主要用于数据库的设计,是用户与数据库设计人员交流的语言。通常,用,E-R,图来描述现实世界的概念模型。(针对用户而言),基本数据模型,,主要包括,网状模型 、层次模型、关系模型,等,它是按计算机系统的观点对数据建模。目的是用于,DBMS,的实现。(针对计算机而言),二者的目的不同。,对数据模型的要求:,(1),能真实的反映现实世界。,(2),用户易于接受。,(3),便于在计算机上实现。,数据模型的三个要素,数据结构,数据操作,数据的约束条件,1.,数据结构,数据结构,用于描述系统的,静态特性,。,数据结构:,是指对实体和实体间联系的表 达和实现。,数据本身,类型、内容、性质。如关系模型中的域、属性,关系等。,数据之间的联系,例如关系模型中的外码。,42,2.,数据操作,数据操作,用于描述系统的,动态特性,。,数据操作,:,是对数据库中各种数据操作的集合,包括操作及相应的操作规则。,如数据的检索、更新(插入、删除和修改)等。,数据模型必须定义这些操作的确切含义、操作规则以及实现操作的语言。,3.,数据的约束条件,数据的约束条件,是一组完整性规则的集合。,完整性规则,是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。,例如,在学生数据库中,学生的年龄不得超过,40,岁。,一、在信息世界中的主要概念,实体:,客观存在并且可以相互区别的,“,事物,”,称为,实体,。,实体可以是可触及的,对象,,如一个学生,一本书;也可以是抽象的事件,如一堂课,一次比赛等。,属性:,实体的某一特性称为,属性,。,如学生实体有学号、姓名、性别、系等方面的属性。,属性有,“,型,”,和,“,值,”,之分。,“,型,”,为属性名,如姓名、年龄、性别是属性的型;,“,值,”,即为属性的具体内容,如(,990001,张立,,20,,男,计算机),这些属性值的集合表示了一个学生实体。,1.2.2,概念模型,3.,实体型:,若干个属性型组成的集合可以表示一个实体的类型,简称实体型。,如学生(学号,姓名,年龄,性别,系)就是一个实体型。,4.,实体集:,同型实体的集合称为实体集。,如所有的学生、所有的课程等。,5.,键(,Key,):,能唯一标识一个实体的属性或属性集称为实体的键。,如学生的学号,学生的姓名可能有重名,不能作为学生实体的键。,6.,域:,属性值的取值范围称为该属性的域。,如学号的域为,6,位整数,姓名的域为字符串集合,年龄的域为小于,40,的整数,性别的域为(男,女)。,7.,联系:,在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来,,在信息世界中将被抽象为实体型内部的联系和实体型之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。,两个实体型之间的联系有如下三种类型:,(,1,)一对一联系(,1:1,),实体集,A,中的一个实体至多与实体集,B,中的一个实体相对应,反之亦然,则称实体集,A,与实体集,B,为一对一的联系。记作,1:1,。,(,2,)一对多联系(,1:n,),实体集,A,中的一个实体与实体集,B,中的多个实体相对应,反之,实体集,B,中的一个实体至多与实体集,A,中的一个实体相对应。记作,1:n,。,(,3,)多对多(,m:n,),实体集,A,中的一个实体与实体集,B,中的多个实体相对应,反之,实体集,B,中的一个实体与实体集,A,中的多个实体相对应。记作(,m:n,)。,不同实体集实体之间的联系,A B A B A B,1:1 1:N N:M,(a) (b) (c),49,实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。,可以用图形来表示两个实体型之间的这三类联系。,不同实体集实体之间的联系,工厂,负责,厂长,1,1,学校,工作,教师,1,n,职工,参加,体育团体,m,n,二、概念数据模型表示方法,-,图要点,E,R,图提供了表示实体型、属性和联系的方法:,实体型:用矩形表示,矩形框内写明实体名。,属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。,51,联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(,l,:,l,,,1,:,n,或,m,:,n,)。需要注意的是,如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。,52,例:学生选修课程,学生,课程,选修,姓名,学号,系别,课程名,先修课,学分,成绩,用矩形表示实体型,在框内写上实体名,用椭圆表示实体的属性,用无向边把实体与其属性连接起来,用菱形表示实体间的联系,将参与联系的实体用线段连接,m,n,联系的,数量,53,请为项目管理部门设计一个数据库,要求包括员工和项目的信息。员工信息包括员工编号、姓名、性别、年龄、工龄、所处部门号等属性;项目信息包括项目编号、项目名称、开工日期和完工日期等属性。考虑到员工和项目之间的参加关系是多对多的关系,请:画出对应的,E-R,图。,用,E-R,图来表示如下概念模型,54,1,)对应的,E-R,图。,员工,员工编号,姓名,性别,项目编号,项目,参加,工龄,部门号,年龄,项目名称,m,n,完工日期,开工日期,55,请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本被借出的书应记录借出日期和应还日期。画出相应的,E-R,图。,56,57,用,E-R,图来表示某工厂物资管理的概念模型,物资管理涉及的实体有:,仓库属性有仓库号、面积、电话号码。,零件属性有零件号、名称、规格、单价、描述。,供应商属性有供应商号、姓名、地址、电话号码、账号,项目属性有项目号、预算。开工日期。,职工属性有职工号、姓名、年龄、职称。,58,这些实体之间的联系如下:,1,)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。用库存量来表示某种零件在某个仓库中的数量。,2,)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。,3,)职工之间具有领导被领导关系。即仓库主任领导若干保管员。,4,)供应商、项目和零件三者之间具有多对多的联系。即一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。,59,1.2.3,数据模型,目前最常用的数据模型有,层次模型、网状模型,和,关系模型。,这三种数据模型的根本区别在于,数据结构,不同,即,数据之间联系的表示方式,不同,。,层次模型用“树结构”来表示数据之间的联系;,网状模型是用“图结构”来表示数据之间的联系;,关系模型是用“二维表”来表示数据之间的联系。,一、 层次模型,1968,年,美国,IBM,公司推出层次模型的,IMS,系统;,有且只有一个节点可以没有双亲,即根节点。,其余节点有且只有一个双亲结点。,层次模型用一棵“,有向树,”的数据结构来表示各类实体以及实体间的联系。,教员学生的层次模型,62,下图为教员学生模型对应的一个值。该值是,D02,系(计算机系)记录值及其所有后代记录值组成的一棵树。,63,层次模型表示多对多联系,必须首先将其分解成一对多联系。分解方法有两种:冗余结点法和虚拟结点法。,例如:一个学生可以选修多门课程,一门课程可由多个学生选修。学生的字段有学号、姓名、成绩三个字段组成,课程由课程号和课程名两个字段组成。,64,采用冗余结点法,即通过增设两个冗余结点将原多对多联系转换成两个一对多联系,如图。,采用虚拟结点的分解方法,即将上图中的冗余结点换为虚拟结点,所谓虚拟结点就是一个指引元,指向所替代的结点。,65,层次数据模型的存储结构,1,邻接法,:,按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来体现。,66,层次数据模型的存储结构,2 链接法,:,用指引元来反映数据之间的层次联系,利用子女兄弟链接法;是按树的前序穿越顺序链接各记录值,这种链接方法称为层次序列链接法。,二、网状模型,1969,年,美国数据系统语言协会(,CODASYL,)的数据库任务组(,DBTG,)发表关于,网状模型,的,DBTG,报告;,允许一个以上的节点没有双亲。,一个节点可以有多于一个双亲节点。,则此时有向树变成了,有向图,,该有向图描述了网状模型。,R1,R2,L3,L1 L2,R3,L4,R4,R5,学生和课程之间是多对多联系。因为网状模型中不能表示记录之间多对多的联系,引进一个学生选课的联结记录,它由三个数据项组成,即学号、课程号、成绩,表示某个学生选修某一门课程及其成绩。,学生与课程的网状模型图,69,这样,学生选课数据库包括三个记录;学生、课程和选课。每个学生可以选修多门课程,显然对学生记录中的一个值,选课记录中可以有多个值与之联系,而选课记录中的一个值,只能与学生记录中的一个值联系。学生与选课之间的联系是一对多的联系,联系名为,S-SC,。同样,课程与选课之间的联系也是一对多的联系,联系名为,C-SC,。,三、关系模型,1970,年由美国,IBM,公司,San Jose,研究室的研究员,E.F.Codd,提出。,80,年代后,关系数据库,已成为,应用最广泛,的数据库系统,典型代表有,:,Oracle,、,DB2,、,Sybase,、,SQL Server,等。,关系模型是建立在严格的,数学概念,基础上。,关系模型的数据结构:,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,71,数据库之父,E.F.Codd,1 9 2 3,年生,第二次世界大战爆发以后,年轻的考特,应征入伍在英国皇家空军服役,,1 9 4 2,至,1 9 4 5,年期间任机长,参与了许多重,大空战。,二战结束以后,考特上牛津大学学习数学,于,1 9 4 8,年取得学士学位以后到美国谋求发展。,参加了,I B M,第一台科学计算机,7 0 1,以及第一台大型晶体管计算机,S T R E T C H,的逻辑设计,主持了第一个有多道程序设计能力的操作系统的开发。,已年近,4 0,时在密歇根大学进修 ,,1 9 6 3,年获计算机与通信专业硕士学位,,1 9 6 5,年取得博士学位。,1 9 7 0,首次明确而清晰地提出数据库关系模型,完善与发展了关系理论,1981,年获,ACM,图灵奖。,例:关系,S,(学生登记表),SNO,学号,SN,姓名,SEX,性别,AGE,年龄,DEPT,系别,S1,赵亦,女,17,计算机,S2,钱尔,男,18,信息,S3,孙珊,女,20,信息,S4,李思,男,21,自动化,S5,周武,男,19,计算机,S6,吴丽,女,20,自动化,1.,关系模型的基本概念,(,1,)关系:,(Relation,),:,一个关系对应一张,二维表,。,(,2,)元组(,Tuple,),:,表格中的,一行,。,如:,S,表中的一个学生记录即为一个元组。,(,3,)属性(,Attribute,),:,表格中的一列。相当于记录中的一个,字段。,如:,S,表中有五个属性(学号,姓名,性别, 年龄,系别)。,(,4,)关键字(,Key,),:,可唯一标识元组的属性或属性集,也称为,关系键,或,主码,。,如:,S,表中学号可以唯一确定一个学生,为,学生关系的主码。,(,5,)域(,Domain,),:,属性的,取值范围,。,如:年龄的域是(,1440,),性别的域是(男,女)。,(,6,)分量,:,元组中的,属性值,。,如:某同学的学号、姓名、年龄等均是一个分量。,(,7,)关系模式,:,对关系的描述,一般表示为:,关系名(属性,1,,属性,2,,,属性,n,)。,如:学生(学号,姓名,性别,年龄,系别)。,75,关系模式,是对关系的描述,是,型,。静态的、稳定的。,关系,是,值,,是关系模式在某一时刻的状态或内容。动态的、随时间不断变化的。,关系模式和关系往往统称为关系。,在关系模型中,实体是用关系来表示的,如:,学生(学号,姓名,性别,年龄,系别),课程(课程号,课程名,课时),实体间的联系也是用关系来表示的,如,:,学生和课程之间的关系,选课关系(学号,课程号,成绩),76,关系模型要求关系必须是,规范化,的,即要求关系必须满足一定的规范条件,这些规范条件中最基本的一条就是,,关系的每一个分量必须是一个不可分的数据项,,也就是说,不允许表中还有表。,2,、关系模型的优点,有较强的数学理论根据。,概念单一、数据结构简单、清晰,用户易懂,易用,用关系描述实体。,用关系描述实体间的联系。,对数据的检索结果也是关系。,关系操作语言都是高度非过程的语言。关系 模型的存取路径对用户透明。,具有更高的数据独立性、更好的安全保密性,简化了程序员的工作和数据库建立和开发的工作,3,、关系模型的缺点主要有:,由于存取路径对用户透明,查询效率往往不如非关系模型。,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。,1.3,数据库系统结构,可以从多种不同的角度考查数据库系统的结构。,从数据库管理系统的角度看,数据库系统通常采用三级,模式结构,,这是数据库系统,内部的体系结构,;,从数据库最终用户的角度看,数据库系统的结构分为单用户结构、集中式结构、客户,/,服务器结构和分布式结构,这是数据库系统,外部的体系结构,。,1.3.1,数据库三级模式、两级映像结构,一、三级模式结构,数据模式:,是数据库中全体数据的逻辑结构和特征的描述。,数据模型中有“型”和“值”之分。,例如:学生记录定义为(学号、姓名、性别、系别、年龄),称为,记录型,而(,001101,,张立,男,计算机,,20,)则是该记录型的一个,记录值(实例)。,模式只是对记录型的描述,而与具体的值无关。,数据模型与数据模式的区别:,数据模型,是描述现实世界数据的,手段和工具。,数据模式,是利用这个手段和工具对数据的结构和相互间关系所进行的描述。,在数据库系统中,对于同一意义下的数据,如:学生数据,从计算机中处理的二进制表示到用户处理的诸如学生姓名、年龄等概念的数据之间,存在着许多抽象和转换。,数据模式通常分为三级:,外模式、模式,和,内模式,,,它们分别反映了看待数据库的三个角度。,应用,1,应用,2,应用,n,子模式,1,子模式,m,子模式,/,模式映象,模式,模式,/,内模式映象,内模式,数据库,数据库系统的三级模式结构:,1.,模式(逻辑模式),数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图,综合了所有用户的需求,一个数据库只有一个模式,模式的地位:,是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具无关。,模式的定义,数据的逻辑结构;数据之间的联系;数据有关的安全性、完整性要求,描述模式的数据定义语言称为,“,模式,DDL,”,。,例:模式定义,下面给出了教学管理数据库系统中模式的例子,学生关系模式:,学生(学号,姓名,性别,年龄,所在系),系关系模式:,系(系号,系名,系主任),课程关系模式:,课程(课程号,课程名,所在系,学分),选修关系模式:,选课(学号,课程号,成绩),”,。,85,例,建立一个,“,学生,”,表,Student,,,它由学号,Sno,、,姓名,Sname,、,性别,Ssex,、,年龄,Sage,、,所在系,Sdept,五个属性组成。其中学号不能为空并设为主键,姓名取值也唯一。,CREATE TABLE,Student,(,Sno,CHAR(5),NOT NULL PRIMARY KEY,,,Sname,CHAR(20),UNIQUE,,,/,列级完整性约束,Ssex,CHAR(2),DEFAULT,男, ,Sage,INT,CHECK,(Sage = 15 AND Sage =45),,,Sdept,CHAR(15),;,2.,外模式(子模式或用户模式),数据库用户(包括应用程序员和最终用户)使用的,局部,数据的逻辑结构和特征的描述,数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,外模式的地位:介于模式与应用之间,是三级结构的最外层。,模式与外模式的关系:外模式通常是模式的,子集。,一个数据库可以有,多个,外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求,对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同,外模式与应用的关系:,同一外模式可为某一用户的多个应用系统使用,,但一个应用程序只能使用一个外模式。,外模式的用途,保证数据库,安全性,的一个有力措施。,每个用户只能看见和访问所对应的外模式中的数据,方便用户的使用。,描述外模式的数据定义语言称为,“,外模式,DDL,”,。,例:外模式定义,DBMS提供外模式DDL来严格地定义外模式,如为教师创建一个所教课程号为C1的学生成绩视图,使用SQL语句表示如下。,CREATE VIEW 学生成绩,AS,SELECT 学号,课程号,成绩,FROM 选课,WHERE 课程号C1;,3.,内模式(物理模式或存储模式),是三级结构中的最内层,是数据的物理结构和存储方式的描述。,是数据在数据库内部的表示方式:记录的存储方式(顺序存储,按照,B,树结构存储,按,hash,方法存储);索引的组织方式;数据是否压缩存储;数据是否加密。,一个数据库只有,一个内模式,,描述内模式的数据定义语言称为,“,内模式,DDL,”,。,数据库的内模式依赖于它的全局逻辑结构,独立于数据库的用户视图,也独立于具体,的存储设备。,在数据库系统中,外模式可有,多个,,而模式、内模式只能各有,一个,。,内模式是整个数据库实际存储的表示,模式是整个数据库逻辑结构和特征的表示,外模式是模式的,某一部分,的抽象表示,模式、外模式和内模式都存于,数据字典,中,是数据目录的基本内容,,DBMS,通过数据,字典,,管理和访问数据模式。,总之:,模式是核心,。内模、外模都依赖于模式。,4.,三级结构的优点,(,1,)保证数据的独立性。,将模式和内模式分开,保证了数据的物理独立性;,将外模式和模式分开,保证了数据的逻辑独立性。,(,2,)简化了用户接口。,按照外模式编写应用程序或敲入命令,不需了解数据库内部的存储结构,方便用户使用系统。,(,3,)有利于数据共享。,在不同的外模式下可有多个用户共享系统中数据,减少了数据冗余。,(,4,)利于数据的安全保密。,在外模式下根据要求进行操作,不能对限定的数据操作,保证了其他数据的安全。,二、数据库系统的二级映象,数据库系统的三级模式针对数据的三个抽象级别,它使用户能逻辑地抽象地处理数据,而不必关心数据在计算机内部的存储方式,把数据的具体组织交给,DBMS,管理。,为了能够在,DBMS,内部实现这三个抽象层次的联系和转换,,DBMS,在三级模式之间提供了,二级映象,功能。,94,应用,1,应用,2,应用,n,子模式,1,子模式,m,子模式,/,模式映象,模式,模式,/,内模式映象,内模式,数据库,数据库系统的三级模式结构:,1.,外模式,/,模式映象,定义外模式与模式之间的对应关系,把外模式中的数据转换成模式中对应的数据,同样也能把模式中的数据转换成外模式中对应的数据。,每一个外模式都对应一个外模式模式映象,映象定义通常包含在各自外模式的描述中,96,外模式模式映象的用途:保证数据的逻辑独立性,当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的,逻辑独立性,。,逻辑独立性不容易完全实现。,97,2.,模式,/,内模式映象,模式内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的,.,把模式中的数据转换成内模式中对应的数据,同样也能把内模式中的数据转换成模式中对应的数据。,数据库中模式内模式映象是唯一的,.,98,模式内模式映象的用途:保证数据的物理独立性,当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变,应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。,99,1.3.2,数据库系统外部的体系结构,单用户结构,主从式结构,分布式结构,客户,/,服务器结构,浏览器,/,应用服务器,/,数据库服务器结构,100,1,、单用户数据库系统,整个数据库系统,(,应用程序、,DBMS,、数据,),装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。,101,2、主从式结构的数据库系统,一个主机带多个终端的多用户结构,数据库系统,包括应用程序、,DBMS,、数据,都集中存放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发地存取数据库,共享数据资源,102,主从式结构的数据库系统,主机,终端,103,优点,易于管理、控制与维护。,缺点,当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降。,系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。,104,(,3,)分布式结构的数据库系统,数据库中的数据在,逻辑上是一个整体,,但,物理地分布,在计算机网络的不同结点上。,网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用,同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用,105,优点,适应了地理上分散的公司、团体和组织对于数据库应用的需求。,缺点,数据的分布存放给数据的处理、管理与维护带来困难。,当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。,106,(,4,)客户服务器结构的数据库系统,把,DBMS,功能和应用分开,网络中某个(些)结点上的计算机专门用于执行,DBMS,功能,称为数据库服务器,简称服务器,其他结点上的计算机安装,DBMS,的外围应用开发工具,用户的应用系统,称为客户机,107,两层数据库系统结构图,108,客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量,数据库更加开放,客户与服务器一般都能在多种不同的硬件和软件平台上运行,可以使用不同厂商的数据库应用开发工具,109,“,胖客户,”,问题:,系统安装复杂,工作量大。,应用维护困难,难于保密,造成安全性差。,相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大浪费了系统资源。,系统规模达到数百数千台客户机,它们的硬件配置、操作系统又常常不同,要为每一个客户机安装应用程序和相应的工具模块,其安装维护代价便不可接受了。,110,(,5,)浏览器,/,应用服务器,/,数据库服务器结构,客户端,浏览器软件、用户界面,浏览器的界面统一,广大用户容易掌握,大大减少了培训时间与费用。,服务器端分为两部分:,Web,服务器(应用服务器)、数据库服务器,大大减少了系统开发和维护代价,能够支持数万甚至更多的用户,111,112,应用程序客户端:,完成显示逻辑,仅仅显示数据或接收用户输入的信息,应用服务器:,完成商业处理逻辑,数据库服务器:,完成对数据库中数据存取逻辑。,三层数据库系统结构图,1.4.1,数据库安全问题的提出,数据库的一大特点是,数据可以共享,,但数据共享必然带来数据库的安全性问题,数据库系统中的数据共享不能是无条件的,应是在,DBMS,统一的,严格的控制之下的共享,,即只允许有合法使用权限的用户访问允许他存取的数据,1.4,数据库安全问题,114,什么是数据库的安全性,数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。,数据库的安全性和计算机系统的安全性,数据库系统需要计算机系统的支持。,数据库的安全性和计算机系统的安全性是紧密联系相互支持的。,115,信息安全的严峻形势,敌对势力的破坏,2002年在江泽民主席的波音767专机上查出27个窃听器。,2002年和2003年法轮功分子三次攻击鑫诺卫星。把信息对抗引入到空间领域。,116,黑客入侵,2000,年,2,月,7,日起的一周内,黑客对美国的雅虎等著名网站发动攻击,致使这些网站瘫痪,造成直接经济损失,12,亿美元。我国的,163,网站也陷入困境。,2001,年,5,月,1,日前后,发生了一场网上,“,中美黑客大战,”,,双方互相攻击对方的网站,双方都有很大损失。这场网上大战,给我们留下深刻的思考。,117,2003年1月25日13时30分到19时30分的6个小时内,亚洲、北美和欧洲的INTERNET网络全部陷入瘫痪和半瘫痪状态。,可能的原因:,反战黑客反对美国对伊动武,对,美国网络发动攻击。,美国为对伊实施网络战在作准备。,新计算机病毒。,118,利用计算机进行经济犯罪,利用计算机进行经济犯罪超过普通经,济犯罪。,我国利用计算机进行经济犯罪的发案,率每年高速度递增。,计算机病毒严重危害信息安全,计算机病毒已超过,900,多万种,而且还在继续增加。,病毒新趋势:追求经济和政治目的,,团体作案。,119,信息战,信息技术的发展促进了军事革命,信,息战、网络战成为重要作战形式。,两次海湾战争中美国都实施了信息战。,美国、韩国、以色列都成立了网络作,战部队。,2003,年的伊拉克战争中美军使用电子,炸弹,发出微波脉冲,可损坏几百米,内的计算机和通信设备。,2007,年美国成立网络作战司令部。,1.4.2,数据库安全威胁,数据库的安全主要受到以下因素的威胁:,1,软硬件故障与灾害破坏,2,缺乏保护机制,3,管理漏洞,4,黑客攻击,5,不掌握数据库核心技术,6,敏感数据的泄漏问题,对数据库安全的威胁,数据库安全的目标:,数据库的安全性,数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。,防范对象是非法用户的非法操作,数据库完整性,防止错误信息的输入和输出所造成的无效操作和错误结果,保证数据的正确性、一致性和相容性。,防范对象是合法用户的非法操作,1.4.3,数据库安全需求,123,数据库的保密性,数据保密是指用户合法地访问到机密数据,后,不泄露给未经授权的个人和实体。,数据库的可用性,数据库的可用性是指不应拒绝授权用户对数,据库的正常操作,同时保证系统的运行效率,并提供用户友好的人机交互。,124,数据库主要的安全要求:,6,审计跟踪,7,数据加密,8,多级保护,9,数据推理,10,限界,1,物理完整性,2,逻辑完整性,3,元素完整性。,4,访问控制,5,用户认证,1,物理完整性,:要求从硬件或环境方面保护数据库的安全,防止数据被破坏或不可读。,应该有措施解决掉电时数据不丢失不破坏的问题,存储介质损坏时数据的可利用性问题,还应该有防止各种灾害(如火灾、地震等)对数据库造成不可弥补的损失,应该有灾后数据库快速恢复能力。,数据库的物理完整性和数据库留驻的计算机系统硬件可靠性与安全性有关,也与环境的安全保障措施有关。,2,逻辑完整性:,要求保持数据库逻辑结构的完整性。,需要严格控制数据库的创立与删除、库表的建立、删除和更改的操作,这些操作只能允许具有数据库拥有者或系统管理员权限的人才能够进行。,逻辑完整性还包括数据库结构和库表结构设计的合理性,尽量减少字段与字段之间、库表与库表之间不必要的关联,减少不必要的冗余字段,防止发生修改一个字段的值影响其他字段的情况。,3,元素完整性,:元素完整性主要是指保持数据字段内容的正确性与准确性。,元素完整性控制比较复杂,需要由,DBMS,、应用软件的开发者和用户共同完成。,4,访问控制:,DBMS,必须提供安全策略管理用户这些权限。,由于访问数据库的用户的安全等级是不同的,分配给他们的权限是不一样的,为了保护数据的安全,数据库被逻辑地划分为不同安全级别数据的集合。,有的数据允许所有用户访问,有的则要求用户具备一定的权限的用户访问数据库。,5,用户认证:,DBMS,必须建立自己的用户认证机制。,DBMS,要求很严格的用户认证功能,通过核对用户的名字或身份,(ID),,决定该用户对系统的使用权。数据库系统不允许一个未经授权的用户对数据库进行操作。,6,审计跟踪:,需要对指定用户在数据库中的操作进行监控和记录。,为了及时发现对数据库的非法访问和修改,需要对访问数据库的一些重要事件进行记录,利用这些记录可以协助维护数据库的完整性,帮助事后发现是哪一个用户在什么时间影响过哪些值。如果这个用户是一个黑客,审计日志可以记录黑客访问数据库敏感数据的踪迹和攻击敏感数据的步骤。审计的粒度直接决定审计的时间和代价。,7,数据加密:,通过加密技术对库中的敏感数据加密。,DBMS,除了通过访问控制机制对数据库中的敏感数据加强防护外,还可以通过加密技术对库中的敏感数据加密。,但加密虽然可以防止对数据的恶意访问,也显著地降低数据库访问效率。,8,多级保护:,将数据划分为不密级的集合。,不同的关系,不同的记录、不同的字段甚至同一字段的不同值,划分为不同的安全等级。,9,数据推理:,防止推理泄漏的问题。,由于数据库中的访问目标数据库、库表、记录与字段是相互关联的,具有某种逻辑关系的,可通过推理从已知的记录或字段的值间接获取其他记录或字段值,因此需要防止推理泄漏的问题。,而在操作系统中一般不存在这种推理泄漏问题,它所管理的目标(文件)之间并没有逻辑关系。,134,sum(,女*销售部,工资,),近似泄漏:,count(销售部)=3,count(销售部*(工资 750))=2,count(销售部*男)=2,count(销售部*男*(工资750))=2,而sum(销售部,工资)=2100,所以0sum(销售部*女,工资)750,10 密封限界:,防止程序之间出现非授权的信息传递。发现各种隐通道、存储通道、时间通道。,1.4.4,数据库安全与操作系统的关系,数据库安全同操作系统安全之间的差别,保护粒度:,操作系统仅仅只限于文件级访问控制,数据库实行保护的对象更多,要保护文件、记录和字段级 。,数据生命周期:,数据库中数据的生命周期较长,访问频率较高,整个生命周期,包括归档时间均需保护。,逻辑和物理对象:,数据库的数据无关性,要求数据对象以逻辑对象形式存在,与操作系统保护的物理对象大不相同。逻辑数据对象到物理数据对象的转换由数据库管理系统完成。,数据相关性:,数据库中存在大量有复杂关系的数据,数据库安全是涉及数据的语义,而操作系统中相互关联的数据很少,只处理数据的名和地址空间。,不同的结构层、如内模式,概念模式和外模式要求有不同的安全保护,。,需要一个可靠的操作系统,操作系统应至少提供下列功能:,用户认证:,有些数据库系统需要依靠操作系统进行用户认证。,缓冲区管理:,要对内存缓冲器中的数据提供保护,当敏感数据存放在内存缓冲器中时,必须防止非授权用户对之进行读写。,文件的隔离与管理:,数据库管理系统数据、数据字典和审计数据等一文件形式保存,操作系统必须加以保护,以防止,DBMS,之外的别的程序对数据库直接存取。,物理,I,O,:,进行正确的物理,I,O,,保证正确地读取数据库文件。,网络服务:,数据库管理系统要依靠操作系统的网络服务的安全性和接口,提供可靠的数据通信,通过通信线路传输数据时,应对之提供保护,防止泄露或被篡改。,1.4.5,数据库安全保护措施,基于计算机技术的,防卫措施,主要有:,1,、用户身份验证:,包括授权用户的身份验证,保证帐户与密码安全。,常用方法,用户名,/,口令,简单易行,容易被人窃取,安全的密码是保护数据库的最有力方式,密码放在数据字典中。,141,复杂密码规则:,密码不应该与用户名相一致,密码不使用常见单词,密码不使用顺序的字母或数字,,密码应超过一定的字符长度,不使用日期超过期限的密码,口令次数限定、有效期,用户标识除用户名外,还可以使用智能卡技术、物理特征(指纹、虹膜、脸型、声音等)认证技术。,142,设置合理的访问控制策略,控制对数据库的访问。将访问数据库的用户的安全等级是不同的,分配给他们不同的权限。,根据访问控制策略为,用户授予访问权限。,对于,DBA,采用授予最多权限原则。对用户采用最小权限原则。要求,DBA,不要轻易将权限授予给普通用户。,授权要随时间和内容的变化随时撤销。,可按功能模块对用户授权,每个功能模块对不同用户设置不同权限,如:仅可查询、可更新可查询、全部功能可使用等。,2,、访问控制,3,、通过视图调整授权:,定义用户视图,向用户授权数据库特定部分。,视图不同于基本表,它不存储实际数据,不产生冗余。当用户通过视图访问数据时,是从基本表获得数据。,通过为不同用户定义不同的视图,并对每个用户授予在某个视图上的存取权限。这样可以严格限制每个用户对基表的存取操作。,如规定只能存取基表中的某些列、某些行,从而把要保密的数据对无权存取的用户隐藏起来,自动地对数据提供一定程度的安全保护。,144,4,、备份和恢复:,定期建立数据库备份副本,并测试和实现恢复过程。,冷备份发生在数据库已经正常关闭的情况下,将关键性文件拷贝到另外位置。冷备份是最快和最安全的方法,能够较好的保证数据库的完整性 。,热备份是在数据库运行的情况下备份数据的方法。依赖于数据库的日志文件进行备份,备份时数据库仍可使用。,5,、保护机密数据:,使用加密技术保护机密数据。,数据库文件加密后,即使数据不幸泄露或者丢失,也难以被人破译和阅读。,数据在存储和传输中均可加密。,数据加密与解密程序会占用大量系统资源且耗时,此功能可灵活选择。,数据库加密以后,不需要了解数据内容的,DBA,不能见到明文,大大提高了关键数据的安全性。,6,、审计跟踪:,审计就是对指定用户在数据库中的操作进行监控和记录的一种数据库功能。,审计功能把用户对数据库的所有操作自动记录下来放入审计日志中。,DBA,可以利用审计跟踪的信息,找出非法存取数据的人、时间和内容等。,审计日志一般包括下列内容:,(,1,)操作类型(如查询、修改、删除等)。,(,2,)操作终端标识与操作人员标识。,(,3,)操作日期和时间。,(,4,)操作的数据对象(如表、视图、记录、元组、属性等)。,(,5,)数据修改前后的值。,147,建立单独的审计系统和审计员,审计数据需要存放在单独的审计文件中。,可控制审计的范围,如只审计关键表的关键字段,不审计全表,只审计某列,审计登录的成功与失败。负责审计的人还要定期删除过期的审计记录,。,严格规定审
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!