
《数据库原理及应用》
第1章 绪论
1.1 数据管理技术的发展
1.1.1 人工管理阶段
1.1.2 文件系统阶段
1.1.3 数据库管理阶段
1.2 数据库系统结构
1.2.1 三级模式结构
1.2.2 数据库系统的二级独立性
1.2.3 数据库系统的二级映像
1.3 数据库、数据库管理系统和数据库系统
1.3.1 数据库
1.3.2 数据库管理系统
1.3.3 数据库系统
1.4 数据库技术的发展
小结
习题
第2章 数据模型
2.1 数据模型的概念
2.1.1 数据的三个范畴
.2.1.2 数据模型的组成要素及分类
2.2 e-r模型
2.2.1 基本概念
2.2.2 e-r图设计
2.3 面向对象模型
2.3.1 对象建模的基本知识
2.3.2 类图
小结
习题
第3章 关系数据库
3.1 关系数据模型
3.1.1 关系数据模型概述
3.1.2 基本术语
3.1.3 关系的性质
3.2 关系的完整性
3.3 关系代数
3.3.1 传统的集合运算
3.3.2 专门的关系运算
3.3.3 关系代数运算的应用实例
3.3.4 关系代数的扩充 *** 作
小结
习题
第4章 结构化查询语言sql
4.1 sql概述
4.1.1 sql语言的发展
4.1.2 sql语言的特点
4.1.3 sql语言的基本概念
4.2 数据定义语句
4.2.1 基本表的定义
4.2.2 基本表的修改与删除
4.2.3 基本表的删除
4.3 查询
4.3.1 单表查询
4.3.2 连接查询
4.3.3 嵌套查询
4.3.4 集合查询
4.4 数据 *** 纵
4.4.1 插入数据
4.4.2 修改数据
4.4.3 删除数据
4.5 视图
4.5.1 视图的定义与删除
4.5.2 查询视图
4.5.3 更新视图
4.5.4 视图的作用
小结
习题
第5章 存储过程、触发器和数据完整性
5.1 sql server编程结构
5.1.1 变量
5.1.2 显示信息
5.1.3 注释语句
5.1.4 批处理
5.1.5 流程控制语句
5.2 存储过程
5.2.1 存储过程的基本概念
5.2.2 创建存储过程
5.2.3 使用sql server管理控制台执行存储过程
5.2.4 修改和删除存储过程
5.3 触发器
5.3.1 触发器的基本概念
5.3.2 创建触发器
5.3.3 修改和删除触发器
5.4数据库完整性
5.4.1 约束
5.4.2 默认值
5.4.3 规则
5.4.4 用户定义的数据完整性
小结
习题
第6章 关系数据库设计理论
6.1 问题的提出
6.2 基本概念
6.2.1 函数依赖
6.2.2 码
6.3 规范化
6.3.1 第一范式
6.3.2第二范式
6.3.3 第三范式
6.3.4 bc范式
6.3.5 多值依赖与第四范式
6.3.6 关系模式规范化
6.4 函数依赖的公理系统
6.4.1 armstrong公理系统
6.4.2 闭包
6.4.3 函数依赖集的等到价和最小化
6.5 模式分解
6.5.1 模式分解的准则
6.5.2 分解的函数依赖保持性和无损连接性
6.5.3 模式分解的算法
小结
习题
第7章 索引
7.1 索引的概念
7.1.1 聚集索引
7.1.2 非聚集索引
7.1.3 唯一索引
7.1.4 何时应该创建索引
7.1.5 系统如何访问表中的数据
7.2 sql server 2005中的索引
7.2.1 索引的结构
7.2.2 管理索引
小结
习题
第8章 数据库设计
8.1 数据库设计概述
8.2 数据库设计的过程
8.2.1 数据库设计的步骤
8.2.2 需求分析阶段
8.2.3 概念设计阶段
8.2.4 逻辑设计阶段
8.2.5 物理设计阶段
8.2.6 数据库实现阶段
8.2.7 数据库的运行与维护阶段
8.3 数据库设计实例:电网设备抢修物资管理数据库设计
8.3.1 需求分析
8.3.2 概念模型
8.3.3 逻辑模型
小结
习题
第9章 数据库安全
9.1 安全性概述
9.1.1 用户标识与鉴别
9.1.2 存取控制
9.1.3 自主存取控制方法
9.1.4 强制存取控制方法
9.1.5 视图机制
9.1.6 审计
9.1.7 数据加密
9.2 sql server的安全性
9.2.1 sql server 2005的身份验证模式
9.2.2 sql server 2005的安全机制
9.3 用户管理和角色管理
9.3.1 登录用户和数据库用户
9.3.2 用户管理
9.3.3 角色管理
9.3.4 sql server的固定角色
9.4 权限管理
9.4.1 授予权限
9.4.2 收回权限
9.4.3 禁止权限
9.5 架构
小结
习题
第10章 数据库保护
10.1 事务
10.1.1 事务的定义
10.1.2 事务的acid性质
10.1.3 事务的状态
10.2 并发控制
10.2.1 并发 *** 作与数据的不一致性
10.2.2 封锁
10.2.3 并发 *** 作的调度
10.3 数据库的恢复
10.3.1 存储器的结构
10.3.2 恢复的原则和实现方法
10.3.3 故障类型和恢复方法
10.4 sql server数据库备份与恢复
10.4.1 数据库备份方法
10.4.2 数据库恢复
小结
习题
第11章数据库技术新进展
11.1 数据仓库
11.1.1 数据仓库的概念、特点与组成
11.1.2 数据的技术
11.1.3 数据仓库的几个重要概念
11.1.4 数据仓库的结构
11.1.5 数据仓库的多维数据模型
11.1.6 数据仓库系统设计
11.1.7 数据仓库的未来
11.2 数据挖掘
11.2.1 支持数据挖掘的基础
11.2.2 数据挖掘的分析方法
11.2.3 数据挖掘常用的基本技术
11.2.4数据挖掘技术实施的步骤
11.2.5数据挖掘技术发展
11.3 数据库技术的研究及发展
11.3.1 数据库技术的研究热点
11.3.2 数据库技术的发展方向
11.4 结语
小结
习题
附录a sql server 2005的安装及使用
a.1 sql server简介
a.2 sql server 2005的安装
a.3 sql server配置管理器
a.4 启动sql server服务
a.5 使用sql server management studio管理数据库
附录b 实验
实验一 通过sql server management studio创建及管理数据库
实验二 通过sql语句创建与管理数据表
实验三 单表查询
实验四 复杂查询
实验五 视图的创建与使用
实验六 存储过程
实验七 触发器
实验八 实现数据完整性
实验九 索引及数据库安全
参考文献
计算机安全是当前信息社会非常关注的问题,而数据库系统更是担负着存储和管理数据信息的任务,因而如何保证和加强其安全性,更是迫切需要解决的热门课题。下面将讨论数据库的安全策略,并简单介绍各种策略的实现方案。\x0d\x0a一、数据库的安全策略\x0d\x0a数据库安全策略是涉及信息安全的高级指导方针,这些策略根据用户需要、安装环境、建立规则和法律等方面的限制来制定。\x0d\x0a数据库系统的基本安全性策略主要是一些基本性安全的问题,如访问控制、伪装数据的排除、用户的认证、可靠性,这些问题是整个安全性问题的基本问题。数据库的安全策略主要包含以下几个方面:\x0d\x0a1.保证数据库存在安全\x0d\x0a数据库是建立在主机硬件、 *** 作系统和网络上的系统,因此要保证数据库安全,首先应该确保数据库存在安全。预防因主机掉电或其他原因引起死机、 *** 作系统内存泄漏和网络遭受攻击等不安全因素是保证数据库安全不受威胁的基础。\x0d\x0a2.保证数据库使用安全\x0d\x0a数据库使用安全是指数据库的完整性、保密性和可用性。其中,完整性既适用于数据库的个别元素也适用于整个数据库,所以在数据库管理系统的设计中完整性是主要的关心对象。保密性由于攻击的存在而变成数据库的一大问题,用户可以间接访问敏感数据库。最后,因为共享访问的需要是开发数据库的基础,所以可用性是重要的,但是可用性与保密性是相互冲突的。\x0d\x0a二、数据库的安全实现\x0d\x0a1.数据库存在安全的实现\x0d\x0a正确理解系统的硬件配置、 *** 作系统和网络配置及功能对于数据库存在安全十分重要。比如对于硬件配置情况,就必须熟悉系统的可用硬盘数量,每个硬盘的可用空间数量,可用的CPU数量,每个CPU的Cache有多大,可用的内存数量,以及是否有冗余电源等问题;对于 *** 作系统,则应该周期性的检查内存是否有泄漏,根文件系统是否需要清理,重要的日志是否已经察看;对于网络就应该随时确保网络没有过载,网络畅通、网络安全是否得到保证等等。因为这一部分不是本文的重点,所以不再一一细述,总之,这三方面的安全运行是和维护数据库存在安全不可分割的。\x0d\x0a2.数据库完整性的实现\x0d\x0a数据库的完整性包括库的完整性和元素的完整性。\x0d\x0a数据库的完整性是DBMS(数据库管理系统)、 *** 作系统和系统管理者的责任。数据库管理系统必须确保只有经批准的个人才能进行更新,还意味着数据须有访问控制,另外数据库系统还必须防范非人为的外力灾难。从 *** 作系统和计算系统管理者的观点来看,数据库和DBMS分别是文件和程序。因此整个数据库的一种形式的保护是对系统中所有文件做周期性备份。数据库的周期性备份可以控制由灾祸造成的损失。数据库元素的完整性是指它们的正确性和准确性。由于用户在搜集数据、计算结果、输入数值时可能会出现错误,所以DBMS必须帮助用户在输入时能发现错误,并在插入错误数据后能纠正它们。DBMS用三种方式维护数据库中每个元素的完整性:通过字段检查在一个位置上的适当的值,防止输入数据时可能出现的简单错误;通过访问控制来维护数据库的完整性和一致性;通过维护数据库的更改日志,记录数据库每次改变的情况,包括原来的值和修改后的值,数据库管理员可以根据日志撤消任何错误的修改。\x0d\x0a3.数据库保密性的实现\x0d\x0a数据库的保密性可以通过用户身份鉴定和访问控制来实现。\x0d\x0aDBMS要求严格的用户身份鉴定。一个DBMS可能要求用户传递指定的通行字和时间日期检查,这一认证是在 *** 作系统完成的认证之外另加的。DBMS在 *** 作系统之外作为一个应用程序被运行,这意味着它没有到 *** 作系统的可信赖路径,因此必须怀疑它所收的任何数据,包括用户认证。因此DBMS最好有自己的认证机制。\x0d\x0a访问控制是指根据用户访问特权逻辑地控制访问范围和 *** 作权限。如一般用户只能访问一般数据、市场部可以得到销售数据、以及人事部可以得到工资数据等。DBMS必须实施访问控制政策,批准对所有指定的数据的访问或者禁止访问。DBMS批准一个用户或者程序可能有权读、改变、删除或附加一个值,可能增加或删除整个字段或记录,或者重新组织完全的数据库。\x0d\x0a4.数据库可用性的实现\x0d\x0a数据库的可用性包括数据库的可获性、访问的可接受性和用户认证的时间性三个因素。下面解释这三个因素。\x0d\x0a(1)数据的可获性\x0d\x0a首先,要访问的元素可能是不可访问的。例如,一个用户在更新几个字段,其他用户对这些字段的访问便必须被暂时阻止。这样可以保证用户不会收到不准确的信息。当进行更新时,用户可能不得不阻止对几个字段或几个记录的访问通道,以便保证数据与其他部分的一致性。不过有一点要注意,如果正在更新的用户在更新进行期间退出,其他用户有可能会被永远阻止访问该记录。这种后遗症也是一个安全性问题,会出现拒绝服务。\x0d\x0a(2)访问的可接受性\x0d\x0a记录的一个或多个值可能是敏感的而不能被用户访问。DBMS不应该将敏感数据泄露给未经批准的个人。但是判断什么是敏感的并不是那么简单,因为可能是间接请求该字段。一个用户也许请求某些包含敏感数据的记录,这可能只是由非敏感的特殊字段推出需要的值。即使没有明确地给出敏感的值,数据库管理程序也可能拒绝访问这样的背景信息,因为它会揭示用户无权知道的信息。\x0d\x0a(3)用户认证的时间性\x0d\x0a为了加强安全性,数据库管理员可能允许用户只在某些时间访问数据库,比如在工作时间。数据库数据加密
数据加密可以有效防止数据库信息失密性的有效手段。通常加密的方法有替换、置换、混合加密等。虽然通过密钥的保护是数据库加密技术的重要手段,但如果采用同种的密钥来管理所有数据的话,对于一些不法用户可以采用暴力破解的方法进行攻击。
但通过不同版本的密钥对不同的数据信息进行加密处理的话,可以大大提高数据库数据的安全强度。这种方式主要的表现形式是在解密时必须对应匹配的密钥版本,加密时就尽量的挑选最新技术的版本。
强制存取控制
为了保证数据库系统的安全性,通常采取的是强制存取检测方式,它是保证数据库系统安全的重要的一环。强制存取控制是通过对每一个数据进行严格的分配不同的密级,例如政府,信息部门。在强制存取控制中,DBMS所管理的全部实体被分为主体和客体两大类。主体是系统中的活动实体,它不仅包括DBMS 被管理的实际用户,也包括代表用户的各进程。
客体是系统中的被动实体,是受主体 *** 纵的,包括文件、基表、索引、视图等等。对于主体和客体,DBMS 为它们每个实例(值)指派一个敏感度标记。主客体各自被赋予相应的安全级,主体的安全级反映主体的可信度,而客体的安全级反映客体所含信息的敏感程度。对于病毒和恶意软件的攻击可以通过强制存取控制策略进行防范。但强制存取控制并不能从根本上避免攻击的问题,但可以有从较高安全性级别程序向较低安全性级别程序进行信息传递。
审计日志
审计是将用户 *** 作数据库的所有记录存储在审计日志(Audit Log)中,它对将来出现问题时可以方便调查和分析有重要的作用。对于系统出现问题,可以很快得找出非法存取数据的时间、内容以及相关的人。从软件工程的角度上看,目前通过存取控制、数据加密的方式对数据进行保护是不够的。因此,作为重要的补充手段,审计方式是安全的数据库系统不可缺少的一部分,也是数据库系统的最后一道重要的安全防线。
数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。其软件主要包括 *** 作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)