




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库与安全教材及参考书1.指定教材
《数据库与安全》校内教材2.参考书目数据库安全,张敏,徐震等编著.科学出版社数据库安全,刘晖,彭智勇编著.武汉大学出版社
王珊萨师煊《数据库系统概论》第4版
高等教育出版社2006.5杨冬青唐世渭等译,《数据库系统概念》,机械工业出版社2003.3
(原著:DatabaseSystemConcepts,FourthEdition,AbrahamSilberschatz,HenryF.Korth,S.Sudarshan).3主要授课内容绪论数据管理基本原理与技术数据库及其应用系统的安全语义数据库的访问控制数据库安全策略多级数据库安全管理系统数据挖掘及其安全问题数据库其他安全问题
第一章绪论本章概要
1.1
数据库系统概述1.2数据模型1.3数据库系统结构1.4数据库安全概述61.1.1数据库技术的产生和发展数据处理的中心问题是数据管理。数据管理是指对数据的组织、分类、编码、存储、检索和维护。随着计算机硬件和软件的发展,数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。1.1数据库系统概述7一、人工管理阶段背景:时间:50年代中期以前硬件:磁带、纸带,软件:无操作系统和管理软件数据的存储空间的分配都由用户完成数据处理方式:批处理应用程序1应用程序2应用程序n数据集1数据集2数据集n8人工管理阶段的特点如下:数据不保存应用程序管理数据数据不共享数据不具有独立性数据处理方式:批处理9二、文件系统阶段背景:时间:50年代后期至60年代中期软件:有了操作系统,提供了文件系统管理数据。硬件:有了磁盘、磁鼓等存储设备,可以存储数据。数据处理方式:批处理、实时处理。10文件管理数据的特点如下:数据可以长期保存由文件系统管理数据文件形式多样化程序与数据间有一定独立性11缺点:数据文件是面向应用的数据共享性差,冗余度大数据独立性差不支持并发访问、数据缺少统一管理应用程序1
文件1
文件n应用程序n文件管理系统12三、数据库系统阶段背景:时间:60年代后期硬件:大容量磁盘,硬件价格下降软件:软件价格上升,使开发和维护系统软件的成本增加。数据处理方式:实时处理、批处理、分布式处理13数据库系统管理数据的特点如下:1.数据共享性高、冗余少
数据面向整个系统,当前所有用户可同时存取库中的数据。减少了数据冗余,节约存储空间,同时也避免了数据之间的不相容性与不一致性。2.数据结构化
按照某种数据模型,将全组织的各种数据组织到一个结构化的数据库中,整个组织的数据不是一盘散沙,可表示出数据之间的有机关联。14例如:学生人事记录,形式如下:学号姓名性别系别年龄政治面貌家庭出身籍贯家庭成员奖励情况把定长的放在主记录里,不定长的形成明细记录。通过“学号”把他们关系起来,实现局部的系统结构化。学生人事记录(学号
姓名性别系别年龄政治面貌家庭出身籍贯)家庭成员记录(学号
与本人关系姓名详细情况)奖惩情况记录(学号
日期奖惩条目)1516为了实现整体数据的系统结构化,要在描述数据本身的同时,进一步描述数据间的联系。例:学校的信息管理系统。
系统包括:学生的人事管理、学籍管理、选课管理等。需要对整个应用的数据统一考虑。建立他们之间的联系,面向整个组织,实现整体的结构化。必须用数据库系统来实现,这是数据库系统与文件系统的根本区别。17例:学校的信息管理系统。联系:用带箭头的线表示,从主记录指向明细记录或其他相关记录。183.数据独立性高数据的独立性:是指逻辑独立性和物理独立性。逻辑独立性:是指当数据的逻辑结构改变时,应用程序不修改,从而保证了数据与程序间的逻辑独立性。物理独立性:是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。194.有统一的数据控制功能数据的安全性控制:防止不合法使用数据造成数据的泄露和破坏,保证数据的安全和机密;措施:用户标识与鉴定,存取控制等。数据的完整性控制:系统通过设置一些完整性规则以确保数据的正确性、有效性和相容性。措施:完整性约束条件定义和检查。20并发控制:多用户同时存取或修改数据库时,防止相互干扰而提供给用户不正确的数据,并使数据库受到破坏。措施:封锁。并发控制就是避免这种情况出现!21数据恢复:当数据库被破坏或数据不可靠时,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态。措施:备份和日志文件。22数据库系统阶段程序与数据之间关系图
程序1程序2程序n数据库数据库管理系统23数据管理技术的发展动力应用需求的推动计算机硬件的发展计算机软件的发展241.1.2数据库系统基本术语数据库(DataBase,DB)存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是要一定格式存放的。长期储存在计算机内的、有组织(结构)的、可共享的数据集合。数据库中的数据按一定的数据模式组织、描述和存储、具有较小的冗余度、较高的数据独立性、共享性和易扩展性。数据库管理系统(DataBaseManagementSystem,DBMS):是对数据进行管理的大型系统软件,它是数据库系统的核心组成部分。它的主要功能如下:1.数据定义DBMS提供数据定义语言DDL(DataDefineLanguage),定义表的结构、视图、触发器、索引等,定义有关的约束条件。2.数据操纵DBMS提供数据操纵语言DML(DataManipulationLanguage),实现对数据库的基本操作,包括检索、更新(插入、修改、删除)等。3.数据库运行管理DBMS对数据库的控制主要通过四个方面实现:数据的安全性控制数据的完整性控制并发控制数据库的恢复4.数据库的建立和维护功能包括数据库的初始数据的装入,数据库建立时的物理分配数据库的转储、恢复、重组织系统性能监视、分析等功能29DBMS的组成1.语言编译处理程序
1)数据定义语言DDL及其编译程序2)数据操纵语言DML及其编译程序,实现对数
据库的基本操作。2.系统运行控制程序
系统总控程序、安全性控制程序、完整性控制程序、并发控制程序、数据存取和更新程序、通信控制程序。
3.系统建立、维护程序
装配程序、重组程序、系统恢复程序304.数据字典(系统目录)用来描述数据库中有关信息的数据目录,包括数据库的三级模式、数据类型、用户名、用户权限等有关数据库系统的信息帮助用户、DBA、DBMS本身使用和管理数据库。31DBMS对数据的存取通常需要以下四步:用户使用某种特定的数据操作语言向DBMS发出存取请求;DBMS接受请求并解释;DBMS依次检查外模式、外模式/模式映象、模式、模式/内模式映象及存储结构定义;DBMS对存储数据库执行必要的存取操作;32数据库管理系统的工作过程:数据库DBMS操作系统系统缓冲区应用程序A用户工作区应用程序X用户工作区……外模式A模式物理模式(内模式)子模式X1234567891033数据库系统(DataBaseSysyemDBS)计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统、应用系统、数据库管理员和用户组成。主要由数据库、人员、软件和硬件四部分组成。34一、数据库二、人员人员是指建立和使用数据库的人,即对数据库的建立、存储、维护和检索等操作。人员分为四类:1.第一类用户,最终用户主要是使用数据库的各级管理人员、工程技术人员、科研人员,一般为非计算机专业人员;2.第二类用户,应用程序员负责为终端用户设计和编制应用程序,以便终端用户对数据库进行存取操作。353.第三类用户:系统分析员和数据库设计员。系统分析员:主要对系统进行需求分析和规范说明,参与数据库概要设计。数据库设计员:数据库中数据的确定、数据库各模式的设计。.第四类用户,数据库管理员(DadabaseAdministrator,简称DBA)数据库管理员(DBA)的职责是:决定数据库中的信息内容和结构决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件监控数据库的使用和运行36三、软件操作系统、应用程序和数据库管理系统(DataBaseManagementSystem,简称DBMS)。数据库管理系统负责数据库存取、维护和管理的软件系统,数据库系统的各类人员对数据库的各种操作请求,都由DBMS完成,DBMS是数据库系统的核心软件。四、硬件存储和运行数据库系统的硬件设备。包括CPU、内存、大容量的存储设备、外部设备等。37编译系统OS硬件应用系统应用开发工具DBMS数据库系统层次结构如下图由上图看出:
DBMS在操作系统(OS)的支持下工作,
应用程序在DBMS支持下才能使用数据库。1.2数据模型1.2.1数据模型的组成要素模型:是现实世界特征的模拟和抽象。例:一张地图,一个精致的航模,是具体实物模型。数据模型也是一种模型,是现实世界数据特征的抽象。数据模型定义:数据模型是表示实体及其实体与实体之间的联系的数据库的数据结构。数据库不仅要反映数据本身的内容,而且要反映数据之间的联系,计算机不能处理现实世界的实物,人们把实物转换成计算机能处理的数据。数据模型分成两个不同的层次:概念模型,也称信息模型,它是按用户的观点来对数据和信息建模。脱离于计算机,主要用于数据库的设计,是用户与数据库设计人员交流的语言。通常,用E-R图来描述现实世界的概念模型。(针对用户而言)基本数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。目的是用于DBMS的实现。(针对计算机而言)二者的目的不同。对数据模型的要求:
(1)能真实的反映现实世界。
(2)用户易于接受。
(3)便于在计算机上实现。数据模型的三个要素数据结构数据操作数据的约束条件1.数据结构数据结构用于描述系统的静态特性。数据结构:是指对实体和实体间联系的表达和实现。数据本身类型、内容、性质。如关系模型中的域、属性,关系等。数据之间的联系例如关系模型中的外码。422.数据操作数据操作用于描述系统的动态特性。数据操作:是对数据库中各种数据操作的集合,包括操作及相应的操作规则。如数据的检索、更新(插入、删除和修改)等。数据模型必须定义这些操作的确切含义、操作规则以及实现操作的语言。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)。不同实体集实体之间的联系
ABABAB1:11:NN:M(a)(b)(c)49实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。可以用图形来表示两个实体型之间的这三类联系。
不同实体集实体之间的联系工厂
负责厂长11学校
工作教师1n职工
参加体育团体mn二、概念数据模型表示方法E-R图要点E-R图提供了表示实体型、属性和联系的方法:实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。51联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(l:l,1:n或m:n)。需要注意的是,如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。
52例:学生选修课程学生课程选修姓名学号系别课程名先修课学分成绩用矩形表示实体型,在框内写上实体名用椭圆表示实体的属性用无向边把实体与其属性连接起来用菱形表示实体间的联系将参与联系的实体用线段连接mn联系的数量53请为项目管理部门设计一个数据库,要求包括员工和项目的信息。员工信息包括员工编号、姓名、性别、年龄、工龄、所处部门号等属性;项目信息包括项目编号、项目名称、开工日期和完工日期等属性。考虑到员工和项目之间的参加关系是多对多的关系,请:画出对应的E-R图。用E-R图来表示如下概念模型541)对应的E-R图。员工员工编号姓名性别项目编号项目参加工龄部门号年龄项目名称mn完工日期开工日期55请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本被借出的书应记录借出日期和应还日期。画出相应的E-R图。5657用E-R图来表示某工厂物资管理的概念模型物资管理涉及的实体有:仓库属性有仓库号、面积、电话号码。零件属性有零件号、名称、规格、单价、描述。供应商属性有供应商号、姓名、地址、电话号码、账号项目属性有项目号、预算。开工日期。职工属性有职工号、姓名、年龄、职称。58这些实体之间的联系如下:1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。用库存量来表示某种零件在某个仓库中的数量。2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。4)供应商、项目和零件三者之间具有多对多的联系。即一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。591.2.3数据模型目前最常用的数据模型有层次模型、网状模型和关系模型。这三种数据模型的根本区别在于数据结构不同,即数据之间联系的表示方式不同。层次模型用“树结构”来表示数据之间的联系;网状模型是用“图结构”来表示数据之间的联系;关系模型是用“二维表”来表示数据之间的联系。一、层次模型1968年,美国IBM公司推出层次模型的IMS系统;有且只有一个节点可以没有双亲,即根节点。其余节点有且只有一个双亲结点。层次模型用一棵“有向树”的数据结构来表示各类实体以及实体间的联系。教员学生的层次模型62下图为教员学生模型对应的一个值。该值是D02系(计算机系)记录值及其所有后代记录值组成的一棵树。63
层次模型表示多对多联系,必须首先将其分解成一对多联系。分解方法有两种:冗余结点法和虚拟结点法。
例如:一个学生可以选修多门课程,一门课程可由多个学生选修。学生的字段有学号、姓名、成绩三个字段组成,课程由课程号和课程名两个字段组成。
64采用冗余结点法,即通过增设两个冗余结点将原多对多联系转换成两个一对多联系,如图。采用虚拟结点的分解方法,即将上图中的冗余结点换为虚拟结点,所谓虚拟结点就是一个指引元,指向所替代的结点。
65层次数据模型的存储结构1邻接法:按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来体现。66层次数据模型的存储结构2链接法:用指引元来反映数据之间的层次联系,利用子女-兄弟链接法;是按树的前序穿越顺序链接各记录值,这种链接方法称为层次序列链接法。
二、网状模型1969年,美国数据系统语言协会(CODASYL)的数据库任务组(DBTG)发表关于网状模型的DBTG报告;允许一个以上的节点没有双亲。一个节点可以有多于一个双亲节点。则此时有向树变成了有向图,该有向图描述了网状模型。
R1
R2L3L1L2
R3L4
R4
R5
学生和课程之间是多对多联系。因为网状模型中不能表示记录之间多对多的联系,引进一个学生选课的联结记录,它由三个数据项组成,即学号、课程号、成绩,表示某个学生选修某一门课程及其成绩。
学生与课程的网状模型图
69这样,学生选课数据库包括三个记录;学生、课程和选课。
每个学生可以选修多门课程,显然对学生记录中的一个值,选课记录中可以有多个值与之联系,而选课记录中的一个值,只能与学生记录中的一个值联系。学生与选课之间的联系是一对多的联系,联系名为S-SC。同样,课程与选课之间的联系也是一对多的联系,联系名为C-SC。
三、关系模型1970年由美国IBM公司SanJose研究室的研究员E.F.Codd提出。80年代后,关系数据库已成为应用最广泛的数据库系统,典型代表有:
Oracle、DB2、Sybase、SQLServer等。关系模型是建立在严格的数学概念基础上。关系模型的数据结构:在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。71数据库之父——E.F.Codd1923年生第二次世界大战爆发以后,年轻的考特应征入伍在英国皇家空军服役,1942至1945年期间任机长,参与了许多重大空战。二战结束以后,考特上牛津大学学习数学,于1948年取得学士学位以后到美国谋求发展。参加了IBM第一台科学计算机701以及第一台大型晶体管计算机STRETCH的逻辑设计,主持了第一个有多道程序设计能力的操作系统的开发。已年近40时在密歇根大学进修,1963年获计算机与通信专业硕士学位,1965年取得博士学位。1970首次明确而清晰地提出数据库关系模型,完善与发展了关系理论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):
属性的取值范围。如:年龄的域是(14~40),性别的域是(男,女)。(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五个属性组成。其中学号不能为空并设为主键,姓名取值也唯一。
CREATETABLEStudent(SnoCHAR(5)NOTNULLPRIMARYKEY,
SnameCHAR(20)UNIQUE,//列级完整性约束
SsexCHAR(2)DEFAULT'男',
SageINTCHECK(Sage>=15ANDSage<=45),
SdeptCHAR(15));
2.外模式(子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示外模式的地位:介于模式与应用之间,是三级结构的最外层。模式与外模式的关系:外模式通常是模式的子集。一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同外模式与应用的关系:同一外模式可为某一用户的多个应用系统使用,但一个应用程序只能使用一个外模式。外模式的用途保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,方便用户的使用。描述外模式的数据定义语言称为“外模式DDL”。
例:外模式定义DBMS提供外模式DDL来严格地定义外模式,如为教师创建一个所教课程号为C1的学生成绩视图,使用SQL语句表示如下。
CREATEVIEW学生成绩ASSELECT学号,课程号,成绩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模式/内模式映象的用途:保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。991.3.2数据库系统外部的体系结构单用户结构主从式结构分布式结构客户/服务器结构浏览器/应用服务器/数据库服务器结构1001、单用户数据库系统整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。1012、主从式结构的数据库系统一个主机带多个终端的多用户结构数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成各个用户通过主机的终端并发地存取数据库,共享数据资源102主从式结构的数据库系统主机终端103优点易于管理、控制与维护。缺点当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降。系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。104(3)分布式结构的数据库系统数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用105优点适应了地理上分散的公司、团体和组织对于数据库应用的需求。缺点数据的分布存放给数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。106(4)客户/服务器结构的数据库系统把DBMS功能和应用分开网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机107两层数据库系统结构图108客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量数据库更加开放客户与服务器一般都能在多种不同的硬件和软件平台上运行可以使用不同厂商的数据库应用开发工具109“胖客户”问题:系统安装复杂,工作量大。应用维护困难,难于保密,造成安全性差。相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大浪费了系统资源。
系统规模达到数百数千台客户机,它们的硬件配置、操作系统又常常不同,要为每一个客户机安装应用程序和相应的工具模块,其安装维护代价便不可接受了。110(5)浏览器/应用服务器/数据库服务器结构客户端
浏览器软件、用户界面
浏览器的界面统一,广大用户容易掌握
大大减少了培训时间与费用。服务器端分为两部分:Web服务器(应用服务器)、数据库服务器大大减少了系统开发和维护代价能够支持数万甚至更多的用户111112应用程序客户端:完成显示逻辑,仅仅显示数据或接收用户输入的信息应用服务器:完成商业处理逻辑数据库服务器:完成对数据库中数据存取逻辑。
三层数据库系统结构图1.4.1数据库安全问题的提出数据库的一大特点是数据可以共享,但数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的,应是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据1.4数据库安全问题114什么是数据库的安全性数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。数据库的安全性和计算机系统的安全性数据库系统需要计算机系统的支持。数据库的安全性和计算机系统的安全性是紧密联系相互支持的。115信息安全的严峻形势敌对势力的破坏2002年在江泽民主席的波音767专机上查出27个窃听器。2002年和2003年法轮功分子三次攻击鑫诺卫星。把信息对抗引入到空间领域。116
黑客入侵2000年2月7日起的一周内,黑客对美国的雅虎等著名网站发动攻击,致使这些网站瘫痪,造成直接经济损失12亿美元。我国的163网站也陷入困境。
2001年5月1日前后,发生了一场网上“中美黑客大战”,双方互相攻击对方的网站,双方都有很大损失。这场网上大战,给我们留下深刻的思考。1172003年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数据推理:防止推理泄漏的问题。由于数据库中的访问目标数据库、库表、记录与字段是相互关联的,具有某种逻辑关系的,可通过推理从已知的记录或字段的值间接获取其他记录或字段值,因此需要防止推理泄漏的问题。而在操作系统中一般不存在这种推理泄漏问题,它所管理的目标(文件)之间并没有逻辑关系。134sum(女*销售部,工资)近似泄漏:count(销售部)=3count(销售部*(工资≥750))=2count(销售部*男)=2count(销售部*男*(工资≥750))=2而sum(销售部,工资)=2100所以0≤sum(销售部*女,工资)<75010密封限界:防止程序之间出现非授权的信息传递。发现各种隐通道、存储通道、时间通道。1.4.4数据库安全与操作系统的关系数据库安全同操作系统安全之间的差别保护粒度:操作系统仅仅只限于文件级访问控制,数据库实行保护的对象更多,要保护文件、记录和字段级。数据生命周期:数据库中数据的生命周期较长,访问频率较高,整个生命周期,包括归档时间均需保护。逻辑和物理对象:数据库的数据无关性,要求数据对象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗技术助力下的化学实验教学策略分析
- 教育心理学的智慧解码学生行为背后
- 心理辅导在招生过程中的作用
- 教育技术与职业发展
- 企业内部培训与教育心理学的结合
- 医疗教育机器人的研发与应用前景
- 教育投资的新风向游戏化学习平台融资指南
- 2025届江西省新余市高二物理第二学期期末综合测试模拟试题含解析
- 培养学习动力教育心理学的力量
- 企业园区的智能交通管理方案
- 2025年法院书记员招聘考试笔试试题(50题)附答案
- 集团资金集中管理办法
- 和面机使用方法安全操作规程
- 建设用地报批程序及基本要求
- 北师大版八年级数学上册教学课件全套
- GB/T 19806-2005塑料管材和管件聚乙烯电熔组件的挤压剥离试验
- 日本茶叶农残限量标准
- 社区工作者招聘考试笔试题库大全(含答案详解)
- 2022江苏省中央财政补贴型奶牛养殖保险条款
- 外贸业务员KPI考核量表
- 智慧物业管理系统解决方案
评论
0/150
提交评论