版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 关系数据库设计 数据库设计的基本步骤数据库应用程序编制及调试数据库的完整性数据库的安全性数据库设计的基本步骤需求分析概念设计与E-R模型逻辑结构设计数据库物理设计数据库设计的特征 反复性:数据库设计需要反复推敲和修改才能完成。 试探性:数据库设计的结果一般不是惟一的,设计的过程往往是个试探的过程。 分步进行:数据库设计常常由不同的人员分阶段进行。这样做,一是由于技术上分工的需要,二是为了分段把关,逐级审查,保证设计的质量和进度。 数据库设计的基本过程 数据库设计过程中需要注意的问题 (1)实现用户所需要的功能(2)制作能重复使用的构件(3)使用开发管理工具(4)指定用户组和权限(5)提
2、供一致的用户界面(6)在应用系统中加入诊断功能需求分析 需求分析人员既要对数据库技术有一定的了解,又要对单位的情况比较熟悉,一般由数据库技术人员和本单位的有关工作人员合作进行。需求分析的结果整理成需求说明,需求说明是数据库技术人员和应用单位的工作人员取得共识的基础,必须得到单位的有关管理人员的确认。进行需求分析时,要调查清楚用户的实际要求,与用户达成共识,然后再分析与表达这些需求。 调查用户需求的步骤 调查组织机构情况。包括了解该组织的部门组成情况、各部门的职责等,为分析信息流程做准备。调查各部门的业务活动情况。包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么
3、部门,输出结果的格式是什么,这是调查的重点。明确对数据库系统的各项需求。在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求、处理要求、完全性与完整性要求,这是调查的又一个重点。确定新系统的边界。对之前调查的结果进行初步分析,确定哪些功能由计算机完成,哪些工作由人工完成。由计算机完成的功能就是新系统应该实现的功能。 数据流图 数据流程是业务流程及业务中数据联系的形式描述。 数据流图是从“数据”和“处理”两方面表达数据处理过程的一种图形化的表示方法。 数据字典 数据字典是面向数据库设计人员和用户的,它是用DBMS或专用软件实现的一个应用系统。用数据字典管理元数据,不但可以减少设
4、计者的负担,也有利于保持数据的一致性(如避免重复或重名)和提供各种统计数据,因而可以提高数据库设计的质量。数据字典详细描述系统中的全部数据,它是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。 数据项 数据项是不可再分的数据单位,对数据项的描述通常包括以下内容: 数据项名数据项含义说明别名数据类型长度取值范围取值含义与其他数据项的逻辑关系数据项之间的联系数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。数据结
5、构通常由以下几部分组成。 数据结构名 含义说明 组成: 数据项或数据结构数据流数据流是数据结构在系统内传输的路径。数据流包含以下各项:数据流名说明数据流来源(说明该数据流来自哪个过程)数据流去向(说明该数据流将到哪个过程去)组成:数据结构平均流量(单位时间内的传输次数)高峰期流量(高峰时期的数据流量)数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述通常包括以下几项。数据存储名说明编号输入的数据流(说明该数据流的来源)输出的数据流(说明该数据流的去向)组成:数据结构数据量存取频度(指单位时间内存取几次、每次存取多少数据等信息)存取方式(包括是批处理还是联机
6、处理,是检索还是更新,是顺序检索还是随机检索等)处理过程处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息,通常包括以下内容。处理过程名说明输入:数据流输出:数据流处理:简要说明(主要说明该处理过程的功能及处理要求)概念设计与E-R模型 概念模型不依赖于具体的计算机系统,是纯粹反映信息需求的概念结构。在需求分析的基础上,用概念数据模型,例如E-R数据模型,表示数据及其相互间的联系。概念数据模型是面向现实世界的数据模型,因而也易于为用户所理解。 概念设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。 概
7、念模型的特性 有丰富的语义表达能力。能表达用户的各种需求,包括描述现实世界中各种事物和事物之间的联系,能满足用户对数据的处理要求。易于交流和理解。概念模型是DBA、应用系统开发人员和用户之间的主要交流工具。易于变动。概念模型要能灵活地加以改变,以反映用户需求和环境的变化。易于向各种数据模型转换,易于从概念模型导出与DBMS有关的逻辑模型。设计概念模型的策略 自顶向下。首先定义全局概念结构的框架,再作逐步细化。自底向上。首先定义每一局部应用的概念结构,然后按一定的规则把它们集成,从而得到全局概念结构。这也是最常用的一种策略。由里向外。首先定义最重要的那些核心结构,再逐渐向外扩充。混合策略。把自顶
8、向下和自底向上结合起来的方法。 概念模型的表示方法 在概念模型的表示方法中,最常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-Relationship Approach)。该方法是数据库逻辑设计的一种简明扼要的方法,也称为E-R模型。 E-R图提供了表示实体型、属性和联系的方法。采用E-R方法的概念模型设计 设计局部概念模型 设计全局概念模型 概念模型的优化与评审 设计局部概念模型 确定局部概念模型的范围。以用户为起点,在需求分析结果的基础上划分局部结构范围。定义实体。确定每个实体类型的属性和键。注意,实体、属性和联系事实上并没有标准可以从形式上截然区分。定义联系。
9、防止并且消除冗余的联系,对联系命名和确定键。确定属性。确定属性的原则是:属性是不可再分解的语义单位,实体与属性间应是1:n的关联,隶属不同实体型的属性间无直接关联,不宜隶属任一实体型的属性应作为联系的属性。逐一画出所有的局部E-R图,附以相应的说明文件。设计全局概念模型 确定公共实体类型。检查存在于多个局部E-R图的公共实体类型。合并局部E-R图。把局部E-R图逐一合并到全局E-R图中,对每个局部E-R图,首先合并公共实体类型,其次合并那些有联系的局部结构,最后加入其他独立的局部结构。消除不一致因素。局部E-R图间存在的不一致又称冲突。通常有以下几种冲突。命名冲突属性冲突结构冲突优化全局E-R
10、图。经合并得到的全局E-R图需要进行优化。画出全局E-R图,附以相应的说明文件。概念模型的优化与评审 优化目标实体类型个数尽可能少;实体类型所含属性尽可能少;实体类型间联系无冗余。 评审步骤 用户评审 开发人员评审 逻辑结构设计 在逻辑设计阶段,将概念设计阶段所得到的以概念数据模型表示、与DBMS无关的数据模式,转换成以DBMS的逻辑数据模型表示的逻辑(概念)模式,并对其进行优化。数据库的逻辑设计也不简单是个数据模型的转换问题,而是进一步深入解决数据模式设计中的一些技术问题,例如数据模式的规范化、满足DBMS的各种限制等。数据库逻辑设计的结果以数据定义语言(DDL)表示。除数据库的逻辑模式外,
11、还得为各类用户或应用设计其各自的逻辑模式,即外模式。 E-R模型向关系数据模型的转换 一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。一个1:1联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并。一个1:n联系可以转换为一个独立的关系模式,也可以与联系的任意n端实体所对应的关系模式合并。一个m:n联系转换为一个关系模式。与该联系相连的各实体的键以及联系本身的属性均转换为关系的属性,而关系的键为各实体键的组合。三个或三个以上的实体间的多元联系转换为一个关系模式。具有相同键的关系模式可以合并。关系数据库的逻辑结构设计过程 从E-R图导出
12、初始关系模式。将E-R图按规则转换成关系模式。规范化处理。消除异常,改善完善性、一致性和存储效率,一般达到第三范式要求即可。模式评价。模式评价的目的是检查数据库模式是否满足用户的要求,包括功能评价和性能评价。 优化模式。优化包括对于设计过程中疏漏的要新增关系或属性,性能不好的要采用合并、分解或选用另外结构等工作。形成逻辑结构设计说明书。逻辑结构设计说明书 应用设计指南:包括访问方式、查询路径、处理要求、约束条件等。物理设计指南:包括数据访问量、传输量、存储量、递增量等。模式及子模式的集合:该部分可用DBMS语言描述,也可列表描述。外模式的设计 外模式是用户所看到的数据模式,各类用户有各自的外模
13、式。外模式不简单地是逻辑模式的子集,虽然它来自逻辑模式,但在结构和形式上可以不同于逻辑模式。外模式的主要作用如下:提供一定的逻辑数据独立性;更好地适应不同用户对数据的需求有利于数据保密数据库物理设计 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构。对物理结构进行评价,评价的重点是时间和空间效率。关系模式的存取方法存取方法是快速存取数据库中数据的技术。数据库管理系统一般都提供许多种存取方法。常用的存取方法有三类: 索引方法 聚簇方法 分区设计方法。 不适宜建立索引的条件不出现或很少出现在查询条件中的属性。属性值很少的属性。属性值分布严重不均匀的属性。经常更新的属性或表。因为更新时索
14、引需要维护。过长的属性,例如超过30个字节。因为在过长的属性上建立索引,索引所占的存储空间较大,而且索引级数也随之增加,有诸多不利之处。太小的表,例如小于六个物理块的表。适宜建立索引的条件如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引)。如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引。对于以读为主或只读的表,只要需要,且存储空间允许,可以多建索引。聚簇存取方法聚簇就是把有关的元组集中在一个物理块内或物理上相邻的区域内,以提高某
15、些数据访问的速度。具有同一聚簇键值的元组,尽可能放在同一个物理块中。如果放不下,可以向预留的空白区发展,或链接多个物理块。 适宜建立聚簇的情况 通过聚簇键进行访问或连接是该表的主要应用,与聚簇键无关的其他访问很少,或是次要的。对应每个聚簇键值的平均元组数既不太少,也不太多。聚簇键的值应相对稳定,以减少修改聚簇键所引起的维护开销。分区设计方法 数据库系统一般有多个磁盘驱动器,有些系统还带有磁盘阵列。数据在多个磁盘组上的分布也是数据库物理设计的内容之一,这就是分区设计方法。分区设计的原则如下: 减少访盘冲突,提高I/O 的并行性。 分散热点数据,均衡I/O 负荷。 保证关键数据的快速访问,缓解系统
16、的瓶颈。 数据库的存储结构确定数据库物理结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率和维护代价三方面的因素。 数据库应用程序编制及调试在程序编制中,最基本的是使用DBMS提供的数据语言,对数据库中的数据进行定义、检索、更新和实施各种控制。 程序模块代码通常先在模拟的环境下通过初步调试,然后进行联合调试。联合调试的工作主要有以下三点:建立数据库结构调试运行装入实际的初始数据运行前的准备 (1)制定数据库重新组织的可行方案(2)制定故障恢复规范(3)制定系统的安全规
17、范(4)制定事务控制方案运行与维护 (1)维护数据库的安全性和完整性(2)监察系统的性能(3)扩充系统的功能数据库的完整性完整性约束的类型完整性约束的表达与控制完整性约束的实施数据库的完整性数据库的完整性是指数据的正确性和相容性。为维护数据库的完整性,DBMS必须提供一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库数据之上的语义约束条件称为数据库完整性约束条件,它们作为模式的一部分存入数据库中。而DBMS中检查数据是否满足完整性条件的机制称为完整性检查。 关系数据模型的完整性约束分类 静态约束:静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库
18、状态合理性的约束,这是最重要的一类完整性约束。动态约束:动态约束是指数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束。列级约束元组约束关系约束关系约束在一个关系的各个元组之间或者若干个关系之间常常存在各种联系或约束。常见的静态关系约束有: 实体完整性约束。 参照完整性约束。 函数依赖约束。 统计约束。 完整性约束的表达 一个完整性规则可以用一个五元组(D,O,A,C,P)来表示,其中: D(Data)是约束作用的数据对象; O(Operation)指触发完整性检查的数据库操作; A(Assertion)是数据对象必须满足的断言或语义约束; C(C
19、ondition)指选择A作用的数据对象值的谓词; P(Procedure)指违反完整性规则时触发的过程。完整性约束的控制 定义功能,提供定义完整性约束条件的机制。检查功能,检查用户发出的操作请求是否违背了完整性约束条件。如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。完整性约束的实施因为完整性约束的检验是伴随数据库更新操作进行的,对数据库的更新操作性能影响颇大。目前域完整性约束在一般DBMS中都已经实施;实体完整性约束在大部分关系DBMS中都已基本实施;引用完整性约束在部分关系DBMS中已经实施;显式完整性约束在商品化的DBMS中实施的也逐步增多。数据库
20、的安全性数据库安全性措施的层次数据库的安全机制数据加密与跟踪审查数据库的安全问题数据库的安全性是指保护数据库以防止不合法的使用,避免数据的泄露、更改和破坏。它往往和保密性连在一起。安全性包括许多方面的问题:如法律、社会和政策方面,物理控制技术、运行、硬件控制、操作系统的安全性以及数据库本身的安全性等方面。从数据库角度来看,安全性分系统安全性和自然安全性两类。为实现系统安全性所采取的措施有用户标识和鉴定、授权规则、数据分级和数据加密等措施。 数据库安全性措施的层次 未经授权读取数据(窃取信息);未经授权修改数据;未经授权消除数据。数据库保护的安全性措施 物理层。计算机系统所位于的节点必须在物理上
21、受到保护,以防止入侵者强行闯入或暗中潜入。人员层。对用户的授权必须格外小心,以减少授权用户接受贿赂或其他好处而给入侵者提供访问机会的可能性。操作系统层。不管数据库系统多安全,操作系统安全性方面的弱点总是可能成为对数据库进行未授权访问的一种手段。网络层。由于几乎所有的数据库系统都允许通过终端或网络进行远程访问,网络软件的软件层安全性和物理安全性一样重要。数据库系统层。数据库系统的某些用户获得的授权可能只允许他访问数据库中有限的部分。而另外一些用户获得的授权可能允许他提出查询,但不允许他修改数据。数据库的安全机制 在计算机系统中,安全措施是一级一级层层设置的。安全控制模型如下:用户标识和鉴定 用户标识一般包括用户名和口令两部分。系统有一张用户口令表,为每个用户保持一个记录,包括用户名和口令两部分数据。用户先输入用户名,然后系统要求用户输入口令。为了保密,用户在终端上输入的口令不显示在屏幕上。系统核对口令以鉴别用户身份。 数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 本科护理学试题及答案
- 保安证培训试题及答案
- 大数据驱动的职业病防治资源需求动态预测模型
- 大数据背景下样本隐私保护策略
- 大数据医疗分析的患者隐私保护框架
- 多胎妊娠的围产期疼痛管理策略
- 多联mRNA疫苗:简化接种策略创新
- 2025年中职体育教育(体育教育基础)试题及答案
- 2025年中职农资营销与服务(农资机械操作)试题及答案
- 2025年中职康复治疗(康复工程基础)试题及答案
- 进修ERCP汇报护理课件
- 船艇涂装教学课件
- 网络内容分发网络(CDN)创新创业项目商业计划书
- 2025天津市个人房屋租赁合同样本
- 有机磷农药中毒患者的护理
- 电力合规管理办法
- 鹤壁供热管理办法
- 01 华为采购管理架构(20P)
- 糖尿病逆转与综合管理案例分享
- 工行信息安全管理办法
- 2025高中思想政治课标测试卷(及答案)
评论
0/150
提交评论