2023年-软考数据库系统工程师复习资料.docx

上传人:太** 文档编号:96059777 上传时间:2023-09-07 格式:DOCX 页数:23 大小:72.20KB
返回 下载 相关 举报
2023年-软考数据库系统工程师复习资料.docx_第1页
第1页 / 共23页
2023年-软考数据库系统工程师复习资料.docx_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《2023年-软考数据库系统工程师复习资料.docx》由会员分享,可在线阅读,更多相关《2023年-软考数据库系统工程师复习资料.docx(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、软考数据库系统工程师复习资料一、数据模型1 .数据模型的三要素(1)数据结构 数据结构是所研究的对象类型(ObjectType)的集合。这些对象和对象类型是数据库的组成成 分。一般可分为两类:一类是与数据类型、内容和其它性质有关的对象;一类是与数据之间的联系有关的对象。 前者如网状模型中的数据项和记录,关系模型中的域、属性和关系等。后者如网状模型中的关系模型(set type)。 在数据库领域中,通常按照数据结构的类型来命名数据模型,进而对数据库管理系统进行分类。如层次结构、 网状结构和关系结构的数据模型分别称作为层次模型、网状模型和关系模型。相应地,数据库分别称作为层次 数据库、网状数据库和

2、关系数据库。(2)数据操作 数据操作是指对各种对象类型的实例(或值)所允许执行的操作的集合,包括操作及有关的操 作规则。在数据库中,主要的操作有检索和更新(包括插入、删除、修改)两大类。数据模型定义了这些操作 的定义、语法(即使用这些操作时所用的语言)。数据结构是对系统静态特性的描述,而数据操作是对系统动 态特性的描述。两者既有联系,又有区别。(3)数据的约束条件 数据的约束条件是完整性规则的集合。完整性规则是指在给定的数据模型中,数据及其 联系所具有的制约条件和依存条件,用以限制符合数据模型的数据库的状态以及状态的变化,确保数据的正确 性、有效性和一致性。2 .概念模型数据模型是数据库系统的

3、核心和基础。每个DBMS软件都是基于某种数据模型的。为了把现实世界中的具体 事物或事物之间的联系表示成DBMS所支持的数据模型,人们首先必须将现实世界的事物及其之间的联系进 行抽象,转换为信息世界的概念模型;然后将信息世界的概念模型转换为机器世界的数据模型。也就是说,首 先把现实世界中的客观对象抽象成一种信息结构。这种信息结构并不依赖于具体的计算机系统和DBMS。然后, 再把概念模型转换为某一计算机系统上某一 DBMS所支持的数据模型。因此,概念模型是从现实世界到机器 世界的一个中间层次。现实世界的事物反映到人的大脑之中,然后人们开始认识这些事物,经过选择、命名、 分类和组织等抽象工作之后形成

4、概念模型,并进入到信息世界。?用户(user)关心的是现实世界中的事物、事物的属性及其相互关系。例如,用户可能关心他的顾客及其属 性,如顾客地址、银行帐号等等。用户也关心自己的定货帐目,如谁订的货、订的什么和订多少等等。?系统分析员(analyst)同样也关心现实世界,但是系统分析员需要分析用户的信息需求。作为需求分析的结 果,分析员必须以文档的形式对需求进行结构化的描述;这个文档就是信息模型。?实体(Entity)实体是构成数据库的基本元素。实体是指一个存在的东西以区别这个东西所具有的属性和这 个东西与其它东西的联系。实体可以是人,也可以是物;可以是实际对象,也可以是概念;可以是事物本身,也

5、 可以是指事物之间的联系。?属性(Attribute) 一个实体可以由若干个属性来刻画。属性是相对实体而言的,是实体所具有的特性。?关键字(Key)能唯一地标识实体的属性的集合称为关键字(或码)。?域(Domain)属性的取值范围称作域。?实体型(Entity Type) 一类实体所具有的共同特征或属性的集合称为实体型。一般用实体名及其属性来抽象 地刻画一类实体的实体型。?实体集(Entity Set)同型实体的集合叫实体集。例如,学生就是一个实体集。实体集的名即是实体型。对于 学生和(学号,姓名,年龄,系,年级)均是实体型,而学生是对实体型(学号,姓名,年龄,系,年级)所 起的名称,两者是指

6、同一客观对象。但本科生和研究生可以为相同实体型,而实体集不同。?联系(Relationship)现实世界的事物之间是有联系的。一般存在两类联系:一是实体内部的组成实体的属性 之间的联系,二是实体之间的联系。在考虑实体内部的联系时,是把属性看作为实体。一般来说,两个实体之 间的联系可分为三种:(1) 一对一(1 : 1)联系若对于实体集A中的每一个实体,实体集B中至多有唯一的一个实体与之联系, 反之亦然,则称实体集A与实体集B具有一对一联系,记作1:1。(2) 一对多(1 :n)联系若对于实体集A中的每个实体,实体集B中有n个实体(n0)与之联系;反之, 对于实体集B中的每一个实体,实体集A中至

7、多只有一个实体与之联系,则称实体集A与实体集B有一对多 联系,记为1 :n。相应地有多对一 (n : 1)联系多对一联系,从本质上说,是一对多联系的逆转。其定义同 到一个不存在的部门。也就是说,被参照的关系DEPT中一定存在一个元组,该元组的关键字的值等于EMP 中某元组的外部关键字的值。实体完整性和参照完整性是针对任何关系数据库系统的所有数据库的一般性原 则。用户定义的完整性针对某一具体的数据库的约束条件。条件是由现实世界中的应用环境决定的。它涉及到 某一具体的应用中的数据所必须满足的语义要求。关型模型的DBMS应提供定义和检验这类完整性条件的机 制,以使用统一的方法来自动地处理它们而不要求

8、应用程序员来承担这一功能。5 .关系数据库语言概述关系数据库语言分三类:数据描述语言DDL,数据操纵语言DML和数据控制语言DCL。其中,DDL负责数据 库的描述,提供一种数据描述机制,用来描述数据库的特征或数据的逻辑结构。DML负责数据库的操作,提 供一种处理数据库操作的机制。DCL负责控制数据库的完整性和安全性,提供一种检验完整性和保证安全的 机制。DML是用户经常使用的语言,包括了 DBMS的主要功能。DML包括数据查询和数据的增、册h改等 功能。其中查询的表达方式是DML的主要部分。关系数据库的DML按照查询方式可以分为两大类:(1)用对关系的集合代数运算来表示查询的方式,称为关系代数

9、(RelationalAlgebra)。(2)用谓词演算来表达查询的方式,称为关系演算(Relational Calculus)。关系演算又可按谓词变元的基本对 象是元组变量(tuple variable)还是域变量(domain variable)分为元组关系演算和域关系演算两种。关系代数 和两种关系演算均是抽象的查询语言,这些抽象的查询语言和实际的DBMS软件产品中实现的具体的查询语 言并不完全一样。但它们是DBMS中查询语言的理论基础。关系代数、元组关系演算和域关系演算这三种语 言在表达能力上是彼此相互等价的,它们均可以作为评价实际DBMS软件产品中查询语言能力的标准。实际 DBMS软件

10、产品的查询语言,除了提供关系代数(或一种关系演算)之外,还提供了许多附加的功能,如库函 数、算术运算等功能。SQL是介于关系代数,和关系演算之间的一种语言。SQL不仅具有丰富的查询功能, 而且还具有数据库定义和数据库控制功能。SQL是集DDL、DML、DCL为一体的标准的关系数据库语言。SQL 充分体现了关系数据库语言的优点。6 .关系代数关系代数中的运算可以分为两类:(1)传统的集合运算,如并、交、差、笛卡尔乘积等。这类运算是从关系的“水平方向(即按行)”来进行的。(2)专门的关系运算,如选择、投影、连接、除。这类运算不仅涉及到行而且也涉及到列。7 .关系演算关系演算是以数理逻辑中的谓词演算

11、为基础的。用谓词演算作为关系数据库的语言并提出关系演算的是 E.F.Coddo Codd首先定义了关系演算语言ALPHA。但ALPHA并没有在计算机上实现。但关系数据库管理系 统INGRES所用的QUEL语言是参考ALPHA研制的,与ALPHA十分类似。六、关系数据库的规范化理论函数依赖定义1设R (U)是属性集U上的关系模式。X, Y是U的子集。若对于R (U)的任意一个可能的关系r, r 中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称底函数确定Y,或、函数依赖于 X、记作XY。函数依赖和别的数据依赖一样是语义范畴的概念。只能根据语义来确定一个函数依赖。例如姓名一年龄这个

12、函 数依赖只有在没有同名人的条件下成立。如果允许有相同名字,则年龄就不再函数依赖于姓名了。设计者也可 以对现实世界作强制的规定。例如规定不允许同名人出现,因而使姓名一年龄函数依赖成立。这样当插入某个 元组时这个元组上的属性值必须满足规定的函数依赖,若发现有同名人存在,则拒绝插入该元组。注意,函数 依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件 七、数据库的安全与保护L安全性数据库的安全性是指保护数据库以防止不合法的或非正常的使用所造成的数据泄露、更改或破坏。安全性问题 不是数据库系统所独有的,计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,

13、而且为许多用 户直接共享,是十分重要的信息资源。从而使安全性问题变得更为突出。系统安全保护措施是否有效是数据库 系统的主要性能指标之一。对于数据库的安全保密方式可以有系统处理的和物理的两个方面。所谓物理的是指, 对于强力逼迫透露口令、在通信线路上窃听、以至盗窃物理存储设备等行为。对此所采取的措施是将数据编为 密码,加强警卫以识别用户身份和保护存储设备等措施。在一般计算机系统中,安全措施是一级一级层层设置的。(1)用户标识和鉴定首先,系统提供一定的方式让用户标识自己的名字或身份。系统进行核实,通过鉴定后 才提供机器使用权。常用的方法有:用一个用户名或者用户标识号来标明用户身份。系统鉴别此用户是否

14、是合 法用户。若是,则可以进入下一步的核实;若不是,则不能使用计算机。用户名的登录只由系统管理员进行, 一般用户不能实施用户名登录。口令(Password),为了进一步核实用户,系统常常要求用户输入口令。(2)存取控制对于获得上机权的用户还要根据预先定义好的用户权限进行存取控制,保证用户只能存取他有 权存取的数据。所谓用户权限是指不同的用户对于不同的数据对象允许执行的操作权限。它由两部分组成,一 是数据对象,二是操作类型。数据对象有二类。一类是数据本身,如关系数据库中的表、字段,非关系数据库 中的记录、字段(亦称为数据项)。另一类是外模式、模式、内模式。在关系系统中DBA可以把建立、修改基 本

15、表的权力授予用户,用户获得此权力后可以建立基本表、索引、视图。这说明关系系统中存取控制的数据对 象不仅有数据而且有模式、外模式、内模式等数据字典中的内容。对于存取权限的定义称为授权(Authorization)。 这些定义经过编译后存储在数据字典中。每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据 用户权限进行合法权限检查(Authorization Check)。若用户的操作请求超出了定义的权限,系统拒绝执行此操 作。授权编译程序和合法权限检查机制一起组成了安全性子系统。衡量授权子系统精巧程度的另一个尽度是否 提供与数据值有关的授权。有的系统还允许存取谓词中引用系统变量,如一天

16、中的时刻,终端设备号。这样用 户只能在某台终端、某段时间内存取有关数据,这就是与时间和地点有关的存取权限。另外,在操作系统中对 文件、目标等的存取还有一些安全保护措施。其中加密是一种防止数据内容被别人引用或了解的切实可行的办 法。加密有程序加密和硬件加密卡两种形式。2 .完整性数据库的完整性是指数据的正确性和相容性。DBMS必须提供一种功能来保证数据库中数据的完整性。这种功 能亦称为完整性检查,即系统用一定的机制来检查数据库中的数据是否满足规定的条件。这种条件在数据库中 称为完整性约束条件。数据的约束条件是语义的体现,这些完整性约束条件将作为模式的一部分存放数据字典 中。数据的完整性和安全性是

17、两个不同的概念。前者是为了防止数据库中存在不符合语义的数据,防止错误信 息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garbage Out)所造成的无效操作和错误结果。而后者是保 护数据库防止恶意的破坏和非法的存取。当然,完整性和安全性是密切相关的。特别从系统实现的方法来看, 往往是一种机制常常既可用于安全性保护亦可用于完整性保证。完整性约束条件可以分类如下:(1)值的约束 和结构的约束前者指对数据的值的限制,后者指对数据之间联系的限制。关于对数据值的约束这类约束条件 是指对数据取值类型、范围、精度等的规定。关于数据之间联系的约束 数据库中同一关系的不同属性之间可 以有一定的联系

18、,从而也应满足一定的约束条件。同时,由于数据库中数据是结构化的,不同的关系之间也可 以有联系,因而不同关系的属性之间也可满足一定的约束条件。(2)静态约束和动态约束所谓静态约束是指对数据库每一确定状态的数据所应满足的约束条件。以上所讲的 约束都属静态约束。动态约束是指数据库从一种状态转变为另一种状态时新、旧值之间所应满足的约束条件。(3)立即执行约束和延迟执行约束立即执行约束是指在执行用户事务时,对事务中某一更新语句执行完后马 上对此数据所应满足的约束条件进行完整性检查。延迟执行是指在整个事务执行结束后方对此约束条件进行完 整性检查,结果正确方能提交。完整性的实现应包括两个方面,一是系统要提供

19、定义完整性约束条件的功能, 二是提供检查完整性约束条件的方法。对于数据值的那类完整性约束条件通常在模式中定义。例如在模式中定 义属性名、类型、长度、码属性名并标明其值是唯一的、非空的等等。另外的那些约束条件就要用专门的方式 加以定义。3 .并发控制数据库是一个共享资源,可以由多个用户使用。这些用户程序可以一个一个地串行执行,也可以并行执行。在 单CPU计算机上,为了充分利用数据库资源,应该允许多个用户程序并行的存取数据。这样就会产生多个用 户程度并发地存取同一数据的情况。若对并发操作不加控制就会存取和存储不正确的数据,破坏数据库的完整 性(这里也称为一致性)。在多CPU计算机或多计算机网络环境

20、下,并发控制尤为重要。(1)事务的概念事务(Transaction)是并发控制的基本单位。所谓事务是一个操作序列。这些操作作为一个 序列形成一个整体要么都做,要么都不做,是一个不可分割的工作单位。事务通常以BEGIN TRANSACTION 开始,以COMMIT或ROLLBACK操作结束。COMMIT即提交,提交事务中所有的操作,事务正常结束。 ROLLBACK即撤消已作的所有操作,滚回到事务开始时的状态。这里的操作指对数据库的更新操作。滚回即 相当于所有操作均未执行。事务和程序是两个概念。一般地讲,一个程序可包括多个事务,由于事务是并发控 制的基本单位,所以下面的讨论均以事务为对象。(2)数

21、据一致性级别的概念。所谓并发控制就是要用正确的方式调度并发操作,避免造成数据的不一致性, 使一个用户事务的执行不受其它事务的干扰。4 .封锁封锁(Locking)就是事务T可以向系统发出请求,对某个数据对象(最常用的是记录)加锁。于是事务T对 这个数据对象就有一定的控制。例如,其它事务不能更新此数据直到T释放(unlock)它的锁为止。确切的控 制由封锁的类型决定。基本的封锁类型有两种:排它锁(Exclu sive locks简记为X锁)和共享锁(Share locks 简记为S锁)。若事务T对数据R加上X锁,则只允许T读取和修改R;其它一切事务对R的任何(包括封锁) 请求都不成功,直至T释放

22、R上的X锁为止。这就保证了其它事务不能再读取和修改R,直到T释放X锁。 若事务T对数据R加上S锁,则其它事务对R的X锁请求不能成功,而对R的共享请求可以得到。这就保证 了其它事务以读取R但不能修改R,直至T释放S锁为止。5 .可串行性定义当且仅当某组事务的一定交叉调度产生的结果和这些事务的某一串行调度的结果相同,则这个交叉调度 是可串行化的。可串行性(Serializability)是并行事务正确性的准则。这个准则规定,一给定的交叉调度,当 且仅当它是可串行化的,才认为是正确的。6 .两段锁协议两段锁协议规定所有的事务应遵守下列规则:(1)在对任何数据进行读、写操作之前,事务首先要获得对该数据

23、的封锁,而且:(2)在释放一个封锁之后,事务不再获得任何其它锁。所谓“两段”锁的含义是:事务分为两个阶段。第一阶段 是获得封锁,也称为扩展阶段。第二阶段是释放封锁,也称为收缩阶段。定理 若所有事务均遵守两段锁协议, 则这些事务的所有交叉调度都是可串行化的(证明略)。为了确保事务并行执行的正确性,许多系统采用两段 锁协议。同时系统设有死锁检测机制,发现死锁后按一定的算法解除死锁。7 .恢复尽管系统中采取了各种保护措施来保证数据库的安全性和完整性不被破坏,保证并行事务的正确执行,但是计 算机系统中硬件的故障、软件的错误、操作员的失误以及故意的破坏仍是不可避免的。这些故障轻则造成运行 事务非正常地中

24、断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失。因此数 据库管理系统必须具有把数扰库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能, 这就是数据库的恢复。恢复子系统是数据库管理系统的一个重要组成部分,而且还相当庞大,常常占整个系统 代码的10%以上(如IMS, DB2)o故障恢复是否考虑周到和行之有效,是数据库系统性能的一个重要指标。 大型的数据库应用对故障恢复的要求更加强烈。有时甚至采用双工制。(1)故障的种类数据库系统中可能发生各种各样的故障,大致可以分以下几类:事务内部的故障;系统范围 内的故障;介质故障;计算机病毒。(2)转储和恢复转储

25、是数据库恢复中经常采用的基本技术。所谓转储即DBA定期地将整个数据库复制到磁带 或另一个磁盘上保存起来的过程。这些备用的数据文本为后备副本或后援副本。当数据库遭到破坏后就可以利 用后备副本把数据库恢复。这时,数据库只能恢复到转储时的状态,从那以后的所有更新事务必须重新运行才 能恢复到现时的正常状态。转储是十分耗费时间和资源的,不能频繁进行。DBA应该根据数据库使用情况确 定一个适当的转储周期。转储可分为静态转储和动态转储。静态转储是指转储期间不允许(或不存在)对数据 库进行任何存取、修改活动。动态转储是指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并 发执行。静态转储简单,但转储必

26、须等待用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。 显然,这会降低数据库的可用性。动态转储可克服静态转储的缺点。但是,转储结束时后援副本上的数据并不 能保证正确有效。例如,在转储期间的某时刻tl系统把数据A=100转储到了磁带上,而在时刻t2 ,某一事 务对A进行了修改使A=200转储结束,后援副本上的A已是过时的数据了。为此,必须把转储期间事务对数 据库的修改活动登记下来,建立日志文件(log file)o这样,后援副本加上日志文件就能把数据库恢复到某一 时刻的正确状态。转储还可以分为海量转储和增量转储。海量转储是指每次转储全部数据库。增量转储则指每 次只转储上次转储后更新

27、过的数据。如果数据库很大,事务处理又十分频繁,则增量转储方式是很有效的。(3) 日志文件日志文件是用来记录对数据库每一次更新活动的文件。在动态转储方式中必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。在静态转储方式中,也可以建立日志文件。当数据库毁坏后可 重新装放后援副本把数据库恢复到转储结束时刻的正确状态,然后利用日志文件,把已完成的事务进行重做处 理,对故障发生时尚未完成的事务进行撤消处理。这样不必重新运行那些在转储前已完成的事务程序就可把数 据库恢复到故障前某一时刻的正确状态。八、数据库应用系统的设计L数据库应用系统的设计步骤按规范设计的方法可将数据库设计分为以下六个阶

28、段(1)需求分析;(2)概念结构设计;(3)逻辑结构设计;(4)数据库物理设计;(5)数据库实施;(6)数据库运行和维护。2 .需求分析需求收集和分析是数据库应用系统设计的第一阶段。明确地把它作为数据库应用系统设计的第一步是十分重要 的。这一阶段收集到的基础数据和一组数据流图(Data Flow Dia-gramDFD)是下一步设计概念结构的基础。概念结构对整个数据库设计具有深刻影响。而要设计好概念结构,就必须在需求分析阶段用系统的观点 来考虑问题、收集和分析数据及其处理。如何分析和表达用户需求呢?在众多的分析方法中,结构化分析 (Structured Analysis,简称SA方法)是一个简

29、单实用的方法。SA方法用自顶向下、逐层分解的方式分析系统。 用数据流图,数据字典描述系统。然后把一个处理功能的具体内容分解为若干子功能,每个子功能继续分解, 直到把系统的工作过程表达清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解。形成若干层 次的数据流图。数据流图表达了数据和处理过程的关系。处理过程的处理逻辑常常用判定表或判定树来描述。 数据字典(Data Dictionary,简称DD)则是对系统中数据的详尽描述,是各类数据属性的清单。对数据库应用 系统设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。数据字典是各类数据描述的集 合,它通常包括以下5个部分:(1

30、)数据项,是数据最小单位。(2)数据结构,是若干数据项有意义的集合。(3)数据流,可以是数据项,也可以是数据结构。表示某一处理过程的输入输出。(4)数据存储,处理过程中存取的数据。常常是手工凭证、手工文档或计算机文件。(5)处理过程。3 .概念结构设计如同软件工程中重视需求分析与规范说明的思想一样,数据库设计中同样十分重视数据分析,抽象与概念结构 的设计。概念结构的设计,是整个数据库设计的关键之一。概念结构独立于数据库逻辑结构,独立于支持数据 库的DBMS,也独立于具体计算机软件和硬件系统。归纳总结,其主要特点是:(1)能充分地反映现实世界,包括实体和实体之间的联系,能满足用户对数据处理的要求

31、,是现实世界的一 个真实的模型,或接近真实的模型。(2)易于理解,从而可以和不熟悉计算机的用户交换意见。用户的积极参与是数据库应用系统设计成功与否 的关键。(3)易于更动。当现实世界改变时容易修改和扩充,特别是软件、硬件环境变化时更应如此。(4)易于向关系、网状或层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比任意一种数 据模型更独立于机器,更抽象,从而更加稳定。描述概念结构的有力工具是E-R模型。P.PSChen把用E-R模 型定义的概念结构称为组织模式。设计概念结构的策略有3种:(1)自顶向下首先定义全局概念结构的框架,然后逐步细化。(2)自底向上 首先定义各局部应用的概念结

32、构,然后将它们集成,得到全局概念结构。(3)混合策略自顶向下和自底向上相结合的方法。用自顶向下策略设计一个全局概念结构的框架,以它为骨 架集成由自底向上策略中设计的各局部概念结构。现介绍自底向上设计概念结构的策略。按照这种策略,概念 结构的设计可按下面步骤进行。(1)数据抽象与局部视图设计E-R模型是对现实世界的一种抽象。一般地讲,所谓抽象是对实际的人、物、事和概念的人为处理。它抽取人 们关心的共同特性,忽略非本质的细节,并把这些特性用各种抽象的概念精确地加以描述。这些概念组成了现 实世界的一种模型表示。有3种抽象方法形成了抽象机制,来对数据进行组织:分类(Classification)定义

33、某一概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的 “is a member of,的语义。在E-R模型中,实体型就是这种抽象。聚集(Aggregation)定义某一类型的组成 成分。它抽象了对象内部属性类型和整体与部分之间“is a part。俨的语义。在E-R模型中若干属性的聚集组成 了实体型,就是这种抽象。概括(Generalization)定义类型之间的一种子集联系。它抽象了类型之间的“is a subset。3的语义。概括具有一个很重要的性质:继承性。子类继承超类上定义的所有抽象性质。当然,子类可 以增加自己的某些特殊属性。概念结构设计的

34、第一步就是利用上面介绍的抽象机制对需求分析阶段收集到的数 据进行组织,形成实体、实体的属性,标识实体的码,确定实体之间的联系类型(1 : 1, 1 :n, n :m),设计 成部分E-R图。(2)视图的集成视图集成就是把上一步得到的各个部分E-R图综合成一个总体的E-R图。视图集成可以有两 种方式:多个部分E-R图一次集成。逐步集成。用累加的方式一次集成两个部分E-R图。无论哪种方式, 每次集成可分两步走。第一步是合并,解决各部分E-R图之间的冲突问题,生成初步E-R图。第二步是修改 和重构,消除不必要的冗余,生成基本E-R图。4 .逻辑结构设计逻辑结构设计的任务就是把概念结构转换为选用的DB

35、MS所支持的数据模型的过程。设计逻辑结构按理应选 择对某个概念结构最好的数据模型,然后对支持这种数据模型的各种DBMS进行比较,选出最合适的DBMS。 但实际情况常常是已给定了某台机器,设计人员没有选择DBMS的余地。现行的DBMS一般只支持关系、网 状或层次三种模型中的某一种,对某一种数据模型,各个机器系统又有许多不同的限制,提供不同的环境与工 具。因而我们把设计过程分三步进行。首先把概念结构向一般的关系模型转换,然后向特定的DBMS支持下 的数据模型转换,最后进行模型的优化。(1) E-R图向关系数据模型的转换下面给出把E-R图转换为关系模型的转换规则。一个实体转换为一个关系模式。实体的属

36、性就是关系的属性,实体的码就是关系的码。一个联系转换为一个关系模式,与该联系相连的各实体的码以及联系的属性转换为关系的属性。该关系的码 则有三种情况:若联系为1 : 1,则每个实体的码均是该关系的候选码。若联系为1 : n,关系的码为n端实体的 码。若联系为n:m,则关系的码为诸实体码的组合。具有相同码的关系模式可合并。形成了一般的数据模型 后,下一步就向特定的DBMS规定的模型转换。设计人员必须熟知所用DBMS的功能及限制。这一步转换是 依赖于机器的,不能给出一个普遍的规则。转化后的模型必须进行优化。对数据模型进行优化是指调整数据模 型的结构,以提高数据库应用系统的性能。性能有动态性能和静态

37、性能两种。静态性能分析容易实现。根据应 用要求,选出合适的模型是一项复杂的工作。(2)规范化理论的应用规范化理论是数据库逻辑设计的指南和工具,具体地讲可应用在下面几个具体的方面: 第一,在数据分析阶段用数据依赖的概念分析和表示各数据项之间的关系。第二,在设计概念结构阶段,用规范化理论为工具消除初步E-R图中冗余的联系。第三,由E-R图向数据模型转换过程中用模式分解的概念和算法指导设计。现在,不管选用的DBMS是支持 哪种数据模型的,均先把概念结构向关系模型转换。然后,充分运用规范化理论的成果优化关系数据库模式的 设计。5 .数据库的物理设计物理设计的内容主要包括:(1)确定数据的存储结构 从D

38、BMS所提供的存储结构中选取一种合适的加以实现。确定存储结构的主要因 素是存取时间、存储空间利用率和维护代价三个方面。设计者常常要对这些因素进行权衡。一般的DBMS也 总是具有一定灵活性供你选择。例如,若引入某些冗余数据,则可能减少物理I/O次数提高检索效率。相反节 约存储空间检索代价就会增加。当然应该尽量寻找优化方法,使这三方面的性能都较好。折衷有时是必须的。(2)存取路径的选择和调整数据库必须支持多个用户的多种应用,因而必须提供对数据库的多个存取入口, 也就是对同一数据存储要提供多条存取路径。物理设计的任务应确定建立哪些存取路径。设计者应该进行定量 的分析,根据计算结果确定存取路径。(3)

39、确定数据存放位置首先按数据的应用情况划分为不同的组,然后确定存放位置。一般的应把数据的易变 部分和稳定部分分开,把经常存取和不常存取的数据分开。经常存取或存取时间要求高的记录应存放在高速存 储器上,如硬盘。存取频率小或存取时间要求低的放在低速存储器上,如软盘磁带。对于同一数据文件也可根 据情况进行水平划分或垂直划分。(4)确定存储分配 许多DBMS提供了存储分配的参数供设计者物理优化处理用。例如溢出空间的大小和分 布参数,块的长度,块因子的大小,装填因子,缓冲区的大小和个数等等,它们都要在物理设计中确定。这些 参数的大小影响存取时间和存储空间的分配。物理设计过程需要对时间、空间效率、维护代价和

40、各种用户要求 进行权衡,其结果可以产生多种方案。在实施数据库前对这些方案进行方案进行细致的评价,以选择一个较优 的方案是十分必要的。6 .数据库应用系统的实施和维护对数据库的物理设计初步评价完成后就可建立数据库了。数据库应用系统实施对应于软件工程的编码、调试阶 段。设计人员运用DBMS提供的数据定义语言将逻辑设计和物理设计的结果严格地描述出来,成为DBMS可 接受的源代码。经过调试产生目标模式。然后组织数据入库。组织数据入库是数据库应用系统实施阶段最主要 的工作。八、数据库应用系统的设计L数据库应用系统的设计步骤按规范设计的方法可将数据库设计分为以下六个阶段(1)需求分析;(2)概念结构设计;

41、(3)逻辑结构设计;(4)数据库物理设计;(5)数据库实施;(6)数据库运行和维护。2 .需求分析需求收集和分析是数据库应用系统设计的第一阶段。明确地把它作为数据库应用系统设计的第一步是十分重要 的。这一阶段收集到的基础数据和一组数据流图(Data Flow DiagramDFD)是下一步设计概念结构的基础。概念结构对整个数据库设计具有深刻影响。而要设计好概念结构,就必须在需求分析阶段用系统的观点 来考虑问题、收集和分析数据及其处理。如何分析和表达用户需求呢?在众多的分析方法中,结构化分析 (Structured Analysis,简称SA方法)是一个简单实用的方法。SA方法用自顶向下、逐层分

42、解的方式分析系统。 用数据流图,数据字典描述系统。然后把一个处理功能的具体内容分解为若干子功能,每个子功能继续分解, 直到把系统的工作过程表达清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解。形成若干层 次的数据流图。数据流图表达了数据和处理过程的关系。处理过程的处理逻辑常常用判定表或判定树来描述。 数据字典(Data Dictionary,简称DD)则是对系统中数据的详尽描述,是各类数据属性的清单。对数据库应用 系统设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。数据字典是各类数据描述的集 合,它通常包括以下5个部分:(1)数据项,是数据最小单位。(2)数据结构

43、,是若干数据项有意义的集合。(3)数据流,可以是数据项,也可以是数据结构。表示某一处理过程的输入输出。(4)数据存储,处理过程中存取的数据。常常是手工凭证、手工文档或计算机文件。(5)处理过程。3 .概念结构设计如同软件工程中重视需求分析与规范说明的思想一样,数据库设计中同样十分重视数据分析、抽象与概念结构 的设计。概念结构的设计,是整个数据库设计的关键之一。概念结构独立于数据库逻辑结构,独立于支持数据 库的DBMS,也独立于具体计算机软件和硬件系统。归纳总结,其主要特点是:(1)能充分地反映现实世界,包括实体和实体之间的联系,能满足用户对数据处理的要求,是现实世界的一 个真实的模型,或接近真

44、实的模型。(2)易于理解,从而可以和不熟悉计算机的用户交换意见。用户的积极参与是数据库应用系统设计成功与否 的关键。(3)易于更动。当现实世界改变时容易修改和扩充,特别是软件、硬件环境变化时更应如此。(4)易于向关系、网状或层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比任意一种数 据模型更独立于机器,更抽象,从而更加稳定。描述概念结构的有力工具是E-R模型。把用E-R模 型定义的概念结构称为组织模式。设计概念结构的策略有3种:(1)自顶向下首先定义全局概念结构的框架,然后逐步细化。(2)自底向上 首先定义各局部应用的概念结构,然后将它们集成,得到全局概念结构。(3)混合策略自顶

45、向下和自底向上相结合的方法。用自顶向下策略设计一个全局概念结构的框架,以它为骨 架集成由自底向上策略中设计的各局部概念结构。现介绍自底向上设计概念结构的策略。按照这种策略,概念 结构的设计可按下面步骤进行。(1)数据抽象与局部视图设计E-R模型是对现实世界的一种抽象。一般地讲,所谓抽象是对实际的人、物、事和概念的人为处理。它抽取人 们关心的共同特性,忽略非本质的细节,并把这些特性用各种抽象的概念精确地加以描述。这些概念组成了现 实世界的一种模型表示。有3种抽象方法形成了抽象机制,来对数据进行组织:分类(Classification)定义 某一概念作为现实世界中一组对象的类型。这些对象具有某些共

46、同的特性和行为。它抽象了对象值和型之间的 “is a member of,的语义。在E-R模型中,实体型就是这种抽象。聚集(Aggregation)定义某一类型的组成 成分。它抽象了对象内部属性类型和整体与部分之间“is a part。产的语义。在E-R模型中若干属性的聚集组成 了实体型,就是这种抽象。概括(Generalization)定义类型之间的一种子集联系。它抽象了类型之间的“is a subset。F的语义。概括具有一个很重要的性质:继承性。子类继承超类上定义的所有抽象性质。当然,子类可 以增加自己的某些特殊属性。概念结构设计的第一步就是利用上面介绍的抽象机制对需求分析阶段收集到的数

47、 据进行组织,形成实体、实体的属性,标识实体的码,确定实体之间的联系类型(1 : 1, 1 :n, n :m),设计 成部分E-R图。(2)视图的集成视图集成就是把上一步得到的各个部分E-R图综合成一个总体的E-R图。视图集成可以有两 种方式:多个部分E-R图一次集成。逐步集成。用累加的方式一次集成两个部分E-R图。无论哪种方式,每次集成可分两步走。第一步是合并, 解决各部分E-R图之间的冲突问题,生成初步E-R图。第二步是修改和重构,消除不必要的冗余,生成基本 E-R 图。4 .逻辑结构设计逻辑结构设计的任务就是把概念结构转换为选用的DBMS所支持的数据模型的过程。设计逻辑结构按理应选 择对

48、某个概念结构最好的数据模型,然后对支持这种数据模型的各种DBMS进行比较,选出最合适的DBMS。 但实际情况常常是已给定了某台机器,设计人员没有选择DBMS的余地。现行的DBMS一般只支持关系、网 状或层次三种模型中的某一种,对某一种数据模型,各个机器系统又有许多不同的限制,提供不同的环境与工 具。因而我们把设计过程分三步进行。首先把概念结构向一般的关系模型转换,然后向特定的DBMS支持下 的数据模型转换,最后进行模型的优化。(1)E-R图向关系数据模型的转换下面给出把E-R图转换为关系模型的转换规则。一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。一个联系转换为一

49、个关系模式,与该联系相连的各实体的码以及联系的属性转换为关系的属性。该关系的码 则有三种情况:若联系为1 : 1,则每个实体的码均是该关系的候选码。若联系为1 : n,关系的码为n端实体的 码。若联系为n :m,则关系的码为诸实体码的组合。具有相同码的关系模式可合并。形成了一般的数据模型 后,下一步就向特定的DBMS规定的模型转换。设计人员必须熟知所用DBMS的功能及限制。这一步转换是 依赖于机器的,不能给出一个普遍的规则。转化后的模型必须进行优化。对数据模型进行优化是指调整数据模 型的结构,以提高数据库应用系统的性能。性能有动态性能和静态性能两种。静态性能分析容易实现。根据应 用要求,选出合适

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com