第3章关系数据库设计.docx
- 文档编号:30020101
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:18
- 大小:28.61KB
第3章关系数据库设计.docx
《第3章关系数据库设计.docx》由会员分享,可在线阅读,更多相关《第3章关系数据库设计.docx(18页珍藏版)》请在冰豆网上搜索。
第3章关系数据库设计
第3章关系数据库设计
数据库设计的基本步骤
数据库应用程序编制及调试
数据库的完整性
数据库的安全性
数据库设计的基本步骤
需求分析
概念设计与E-R模型
逻辑结构设计
数据库物理设计
数据库设计的特征
反复性:
数据库设计需要反复推敲和修改才能完成。
试探性:
数据库设计的结果一般不是惟一的,设计的过程往往是个试探的过程。
分步进行:
数据库设计常常由不同的人员分阶段进行。
这样做,一是由于技术上分工的需要,二是为了分段把关,逐级审查,保证设计的质量和进度。
数据库设计的基本过程
数据库设计过程中需要注意的问题
(1)实现用户所需要的功能
(2)制作能重复使用的构件
(3)使用开发管理工具
(4)指定用户组和权限
(5)提供一致的用户界面
(6)在应用系统中加入诊断功能
需求分析
需求分析人员既要对数据库技术有一定的了解,又要对单位的情况比较熟悉,一般由数据库技术人员和本单位的有关工作人员合作进行。
需求分析的结果整理成需求说明,需求说明是数据库技术人员和应用单位的工作人员取得共识的基础,必须得到单位的有关管理人员的确认。
进行需求分析时,要调查清楚用户的实际要求,与用户达成共识,然后再分析与表达这些需求。
调查用户需求的步骤
①调查组织机构情况。
包括了解该组织的部门组成情况、各部门的职责等,为分析信息流程做准备。
②调查各部门的业务活动情况。
包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么,这是调查的重点。
③明确对数据库系统的各项需求。
在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求、处理要求、完全性与完整性要求,这是调查的又一个重点。
④确定新系统的边界。
对之前调查的结果进行初步分析,确定哪些功能由计算机完成,哪些工作由人工完成。
由计算机完成的功能就是新系统应该实现的功能。
数据流图
数据流程是业务流程及业务中数据联系的形式描述。
数据流图是从“数据”和“处理”两方面表达数据处理过程的一种图形化的表示方法。
数据字典
数据字典是面向数据库设计人员和用户的,它是用DBMS或专用软件实现的一个应用系统。
用数据字典管理元数据,不但可以减少设计者的负担,也有利于保持数据的一致性(如避免重复或重名)和提供各种统计数据,因而可以提高数据库设计的质量。
数据字典详细描述系统中的全部数据,它是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。
数据项
数据项是不可再分的数据单位,对数据项的描述通常包括以下内容:
数据项名
数据项含义说明
别名
数据类型
长度
取值范围
取值含义
与其他数据项的逻辑关系
数据项之间的联系
数据结构
数据结构反映了数据之间的组合关系。
一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。
数据结构通常由以下几部分组成。
数据结构名
含义说明
组成:
{数据项或数据结构}
数据流
数据流是数据结构在系统内传输的路径。
数据流包含以下各项:
数据流名
说明
数据流来源(说明该数据流来自哪个过程)
数据流去向(说明该数据流将到哪个过程去)
组成:
{数据结构}
平均流量(单位时间内的传输次数)
高峰期流量(高峰时期的数据流量)
数据存储
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
对数据存储的描述通常包括以下几项。
数据存储名
说明
编号
输入的数据流(说明该数据流的来源)
输出的数据流(说明该数据流的去向)
组成:
{数据结构}
数据量
存取频度(指单位时间内存取几次、每次存取多少数据等信息)
存取方式(包括是批处理还是联机处理,是检索还是更新,是顺序检索还是随机检索等)
处理过程
处理过程的具体处理逻辑一般用判定表或判定树来描述。
数据字典中只需要描述处理过程的说明性信息,通常包括以下内容。
处理过程名
说明
输入:
{数据流}
输出:
{数据流}
处理:
{简要说明}(主要说明该处理过程的功能及处理要求)
概念设计与E-R模型
概念模型不依赖于具体的计算机系统,是纯粹反映信息需求的概念结构。
在需求分析的基础上,用概念数据模型,例如E-R数据模型,表示数据及其相互间的联系。
概念数据模型是面向现实世界的数据模型,因而也易于为用户所理解。
概念设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
概念模型的特性
①有丰富的语义表达能力。
能表达用户的各种需求,包括描述现实世界中各种事物和事物之间的联系,能满足用户对数据的处理要求。
②易于交流和理解。
概念模型是DBA、应用系统开发人员和用户之间的主要交流工具。
③易于变动。
概念模型要能灵活地加以改变,以反映用户需求和环境的变化。
④易于向各种数据模型转换,易于从概念模型导出与DBMS有关的逻辑模型。
设计概念模型的策略
①自顶向下。
首先定义全局概念结构的框架,再作逐步细化。
②自底向上。
首先定义每一局部应用的概念结构,然后按一定的规则把它们集成,从而得到全局概念结构。
这也是最常用的一种策略。
③由里向外。
首先定义最重要的那些核心结构,再逐渐向外扩充。
④混合策略。
把自顶向下和自底向上结合起来的方法。
概念模型的表示方法
在概念模型的表示方法中,最常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-RelationshipApproach)。
该方法是数据库逻辑设计的一种简明扼要的方法,也称为E-R模型。
E-R图提供了表示实体型、属性和联系的方法。
采用E-R方法的概念模型设计
设计局部概念模型
设计全局概念模型
概念模型的优化与评审
设计局部概念模型
①确定局部概念模型的范围。
以用户为起点,在需求分析结果的基础上划分局部结构范围。
②定义实体。
确定每个实体类型的属性和键。
注意,实体、属性和联系事实上并没有标准可以从形式上截然区分。
③定义联系。
防止并且消除冗余的联系,对联系命名和确定键。
④确定属性。
确定属性的原则是:
属性是不可再分解的语义单位,实体与属性间应是1:
n的关联,隶属不同实体型的属性间无直接关联,不宜隶属任一实体型的属性应作为联系的属性。
⑤逐一画出所有的局部E-R图,附以相应的说明文件。
设计全局概念模型
确定公共实体类型。
检查存在于多个局部E-R图的公共实体类型。
合并局部E-R图。
把局部E-R图逐一合并到全局E-R图中,对每个局部E-R图,首先合并公共实体类型,其次合并那些有联系的局部结构,最后加入其他独立的局部结构。
消除不一致因素。
局部E-R图间存在的不一致又称冲突。
通常有以下几种冲突。
命名冲突
属性冲突
结构冲突
优化全局E-R图。
经合并得到的全局E-R图需要进行优化。
画出全局E-R图,附以相应的说明文件。
概念模型的优化与评审
优化目标
实体类型个数尽可能少;
实体类型所含属性尽可能少;
实体类型间联系无冗余。
评审步骤
用户评审
开发人员评审
逻辑结构设计
在逻辑设计阶段,将概念设计阶段所得到的以概念数据模型表示、与DBMS无关的数据模式,转换成以DBMS的逻辑数据模型表示的逻辑(概念)模式,并对其进行优化。
数据库的逻辑设计也不简单是个数据模型的转换问题,而是进一步深入解决数据模式设计中的一些技术问题,例如数据模式的规范化、满足DBMS的各种限制等。
数据库逻辑设计的结果以数据定义语言(DDL)表示。
除数据库的逻辑模式外,还得为各类用户或应用设计其各自的逻辑模式,即外模式。
E-R模型向关系数据模型的转换
一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。
一个1:
1联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并。
一个1:
n联系可以转换为一个独立的关系模式,也可以与联系的任意n端实体所对应的关系模式合并。
一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的键以及联系本身的属性均转换为关系的属性,而关系的键为各实体键的组合。
三个或三个以上的实体间的多元联系转换为一个关系模式。
具有相同键的关系模式可以合并。
关系数据库的逻辑结构设计过程
①从E-R图导出初始关系模式。
将E-R图按规则转换成关系模式。
②规范化处理。
消除异常,改善完善性、一致性和存储效率,一般达到第三范式要求即可。
③模式评价。
模式评价的目的是检查数据库模式是否满足用户的要求,包括功能评价和性能评价。
④优化模式。
优化包括对于设计过程中疏漏的要新增关系或属性,性能不好的要采用合并、分解或选用另外结构等工作。
⑤形成逻辑结构设计说明书。
逻辑结构设计说明书
应用设计指南:
包括访问方式、查询路径、处理要求、约束条件等。
物理设计指南:
包括数据访问量、传输量、存储量、递增量等。
模式及子模式的集合:
该部分可用DBMS语言描述,也可列表描述。
外模式的设计
外模式是用户所看到的数据模式,各类用户有各自的外模式。
外模式不简单地是逻辑模式的子集,虽然它来自逻辑模式,但在结构和形式上可以不同于逻辑模式。
外模式的主要作用如下:
提供一定的逻辑数据独立性;
更好地适应不同用户对数据的需求
有利于数据保密
数据库物理设计
①确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构。
②对物理结构进行评价,评价的重点是时间和空间效率。
关系模式的存取方法
存取方法是快速存取数据库中数据的技术。
数据库管理系统一般都提供许多种存取方法。
常用的存取方法有三类:
索引方法
聚簇方法
分区设计方法。
不适宜建立索引的条件
不出现或很少出现在查询条件中的属性。
属性值很少的属性。
属性值分布严重不均匀的属性。
经常更新的属性或表。
因为更新时索引需要维护。
过长的属性,例如超过30个字节。
因为在过长的属性上建立索引,索引所占的存储空间较大,而且索引级数也随之增加,有诸多不利之处。
太小的表,例如小于六个物理块的表。
适宜建立索引的条件
如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引)。
如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。
如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引。
对于以读为主或只读的表,只要需要,且存储空间允许,可以多建索引。
聚簇存取方法
聚簇就是把有关的元组集中在一个物理块内或物理上相邻的区域内,以提高某些数据访问的速度。
具有同一聚簇键值的元组,尽可能放在同一个物理块中。
如果放不下,可以向预留的空白区发展,或链接多个物理块。
适宜建立聚簇的情况
通过聚簇键进行访问或连接是该表的主要应用,与聚簇键无关的其他访问很少,或是次要的。
对应每个聚簇键值的平均元组数既不太少,也不太多。
聚簇键的值应相对稳定,以减少修改聚簇键所引起的维护开销。
分区设计方法
数据库系统一般有多个磁盘驱动器,有些系统还带有磁盘阵列。
数据在多个磁盘组上的分布也是数据库物理设计的内容之一,这就是分区设计方法。
分区设计的原则如下:
减少访盘冲突,提高I/O的并行性。
分散热点数据,均衡I/O负荷。
保证关键数据的快速访问,缓解系统的瓶颈。
数据库的存储结构
确定数据库物理结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。
确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率和维护代价三方面的因素。
数据库应用程序编制及调试
在程序编制中,最基本的是使用DBMS提供的数据语言,对数据库中的数据进行定义、检索、更新和实施各种控制。
程序模块代码通常先在模拟的环境下通过初步调试,然后进行联合调试。
联合调试的工作主要有以下三点:
建立数据库结构
调试运行
装入实际的初始数据
运行前的准备
(1)制定数据库重新组织的可行方案
(2)制定故障恢复规范
(3)制定系统的安全规范
(4)制定事务控制方案
运行与维护
(1)维护数据库的安全性和完整性
(2)监察系统的性能
(3)扩充系统的功能
数据库的完整性
完整性约束的类型
完整性约束的表达与控制
完整性约束的实施
数据库的完整性
数据库的完整性是指数据的正确性和相容性。
为维护数据库的完整性,DBMS必须提供一种机制来检查数据库中的数据,看其是否满足语义规定的条件。
这些加在数据库数据之上的语义约束条件称为数据库完整性约束条件,它们作为模式的一部分存入数据库中。
而DBMS中检查数据是否满足完整性条件的机制称为完整性检查。
关系数据模型的完整性约束分类
静态约束:
静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束。
动态约束:
动态约束是指数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束。
列级约束
元组约束
关系约束
关系约束
在一个关系的各个元组之间或者若干个关系之间常常存在各种联系或约束。
常见的静态关系约束有:
实体完整性约束。
参照完整性约束。
函数依赖约束。
统计约束。
完整性约束的表达
一个完整性规则可以用一个五元组(D,O,A,C,P)来表示,其中:
D(Data)是约束作用的数据对象;
O(Operation)指触发完整性检查的数据库操作;
A(Assertion)是数据对象必须满足的断言或语义约束;
C(Condition)指选择A作用的数据对象值的谓词;
P(Procedure)指违反完整性规则时触发的过程。
完整性约束的控制
定义功能,提供定义完整性约束条件的机制。
检查功能,检查用户发出的操作请求是否违背了完整性约束条件。
如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。
完整性约束的实施
因为完整性约束的检验是伴随数据库更新操作进行的,对数据库的更新操作性能影响颇大。
目前域完整性约束在一般DBMS中都已经实施;
实体完整性约束在大部分关系DBMS中都已基本实施;
引用完整性约束在部分关系DBMS中已经实施;
显式完整性约束在商品化的DBMS中实施的也逐步增多。
数据库的安全性
数据库安全性措施的层次
数据库的安全机制
数据加密与跟踪审查
数据库的安全问题
数据库的安全性是指保护数据库以防止不合法的使用,避免数据的泄露、更改和破坏。
它往往和保密性连在一起。
安全性包括许多方面的问题:
如法律、社会和政策方面,物理控制技术、运行、硬件控制、操作系统的安全性以及数据库本身的安全性等方面。
从数据库角度来看,安全性分系统安全性和自然安全性两类。
为实现系统安全性所采取的措施有用户标识和鉴定、授权规则、数据分级和数据加密等措施。
数据库安全性措施的层次
①XX读取数据(窃取信息);
②XX修改数据;
③XX消除数据。
数据库保护的安全性措施
①物理层。
计算机系统所位于的节点必须在物理上受到保护,以防止入侵者强行闯入或暗中潜入。
②人员层。
对用户的授权必须格外小心,以减少授权用户接受贿赂或其他好处而给入侵者提供访问机会的可能性。
③操作系统层。
不管数据库系统多安全,操作系统安全性方面的弱点总是可能成为对数据库进行未授权访问的一种手段。
④网络层。
由于几乎所有的数据库系统都允许通过终端或网络进行远程访问,网络软件的软件层安全性和物理安全性一样重要。
⑤数据库系统层。
数据库系统的某些用户获得的授权可能只允许他访问数据库中有限的部分。
而另外一些用户获得的授权可能允许他提出查询,但不允许他修改数据。
数据库的安全机制
在计算机系统中,安全措施是一级一级层层设置的。
安全控制模型如下:
用户标识和鉴定
用户标识一般包括用户名和口令两部分。
系统有一张用户口令表,为每个用户保持一个记录,包括用户名和口令两部分数据。
用户先输入用户名,然后系统要求用户输入口令。
为了保密,用户在终端上输入的口令不显示在屏幕上。
系统核对口令以鉴别用户身份。
数据库的授权与权限控制
数据库用户可以分成三类:
一般数据库用户。
具有支配部分数据库资源特权的数据库用户。
具有DBA特权的数据库用户。
对数据库的操作类型规定如下:
一般数据库都有子模式一级,一个用户只能跟自己有关的子模式所描述的数据打交道,只能存取跟自己有关的子模式中所描述的数据。
还要规定允许操作的类型。
对自己子模式中定义的数据,还要按照规定的操作类型进行操作。
还可以规定数据项值的存取限制,只允许某用户存取某一范围的值。
DBA的特权
有权访问数据库中的任何数据;
不但可以授予或收回数据库用户对数据对象的访问权,还可以批准或收回数据库用户;
可以为所有数据库用户定义别名;
有权对数据库进行调整、重组或重构;
有权控制整个数据库的跟踪审查。
数据加密
加密数据是不可能被读出的,除非读数据的人知道如何对加密数据进行解密。
在数据库中,为了更好地保证数据的安全性,用密码存储口令、数据,对远程终端信息用密码传输防止中途非法截获等。
把原始数据称为源文,用加密算法对源文进行加密。
加密算法的输入是源文和密钥,输出是密文。
加密算法可以公开,但密钥一定是要保密的。
加密数据的技术数不胜数。
但是,数据加密也不是绝对安全的,也有可能被解密。
好的加密技术具有如下性质
对授权用户来说,加密数据和解密数据相对简单。
加密模式不应依赖于算法的保密,而是依赖于密钥的算法参数。
对入侵者来说,确定密钥是极其困难的。
跟踪审查
跟踪审查是一种监视措施,它对某些保密数据,跟踪记录有关这些数据的访问活动。
跟踪审查记录一般包括下列内容:
操作类型(修改、查询等);
操作终端标识与操作者标识;
操作日期和时间;
所涉及到的数据(表、视图、记录、属性等);
数据的前像和后像。
_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 关系数据库设计 关系 数据库 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)