版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 数据库应用系统开发方法数据库系统(dbs):主要提供应用数据的组织、存储、维护、访问等数据管理。数据库应用系统(dbas):为用户提供数据管理功能,根据具体应用领域业务规则,通过数据库应用程序,实现更为复杂的数据处理功能。1.1数据库应用系统生命周期1.1.1软件工程与软件开发方法1.瀑布模型:六个阶段:项目规划、系统分析、总体设计;详细设计、编码调与集成测试、运行维护。2.快速原型模型:快速分析、设计构造原型、运行原型、评价原型、改进原型。3.螺旋模型:四个象限,项目规划、风险评估、工程实现、用户评估软件产品特征:可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可移植性、可追
2、踪性和可互操作性。1.1.2dbas生命周期模型:项目规划、需求分析、系统设计、实现与部署、运行与维护。1.2规划与分析1.2.1系统规划与定义(1)任务陈述(2)确定任务目标(3)确定范围和边界(4)确定用户视图1.2.2可行性分析(1)技术可行性(2)经济可行性(3)操作可行性(4)开发方案选择1.2.3项目规划(1)项目团队(2)项目环境(3)项目活动(4)成本预算(5)进度计划1.3需求分析1.3.1数据需求分析:是从对数据进行组织与存储的角度,从用户视图出发,分析与辨识应用领域所管理的各类数据项和数据结构,形成数据字典的主要内容。数据字典包括:数据项、数据结构、数据流、数据存储、处理
3、过程。1.3.2功能需求分析:主要针对dbas应具有的功能进行分析,是dbas需求分析的核心环节。1.)数据处理需求分析 2)业务规则需求分析1.3.3性能需求分析:dbas应具有的性能指标 :1)数据操作响应时间,或数据访问响应时间。2)系统吞量。可表示为每秒事务数据tps。3)允许并发访问的最大用户数。4)每tps代价值(price per tps)。衡量系统性价比的指标。影响dbas性能的主要因素:1.系统硬件资源。2.网络通信设备性能。3.操作系统环境。4.数据库的逻辑设计和物理设计质量。5.dbas的配置和性能。6.数据库应用程序自身。1.3.4其他需求分析1.存储需求分析。dbas
4、系统需要的数据存储量。包括(数据库大小、数据库增长速度)2.安全性需求分析。1)dbas系统应达到的安全控制级别。2)各类用户的数据视图访问权限。3)dbas应有的口令保护机制或其他安全认证机制。3.备份和恢复需求分析。1)dbas运行过程中备份数据库的时间和备份周期。2)所需备份的数据是全部数据库(包括应用数据、索引、日志等),还是其中的一部分。3)备份方式是采用完全备份还是差异备份。1.4系统设计1.4.1概念设计数据库应用系统概念设计包括:1数据库系统概念模型设计2.系统总体设计。系统总体设计的内容有:1)dbas体系结构设计。2)dbas系统硬件平台的选型和配置。3)应用软件结构设计。
5、4)对需求分析阶段识别出的业务规则进行初步设计,细化业务规则流程,分析所处理的业务数据和处理方式,明确采用的关键技术和算法等。5)对系统采用的关键技术进行方案选型和初步设计。1.4.2逻辑设计1.数据逻辑结构设计。2.应用程序概要设计。3.数据库事务概要设计。1.4.3物理设计1.数据库物理结构设计。2.数据库事务详细设计。3.应用程序详细设计。1.5实现与部署:1)建立数据库结构。2)数据加载。3)事务和应用程序的编码及测试。4)系统集成、测试与试运行。5)系统部署。1.6运行管理与维护:主要工作内容:日常维护、系统监控与分析、系统性能优化与调整、系统进化(升级)等工作。1.7应用案例需求1
6、.7.1案例概述1.7.2案例业务功能需求1.顾客管理功能需求。2.商品采购管理功能需求。3.商品销售业务功能需求。4.人力资源管理功能需求。5.财务管理功能需求。 6.各类查询统计功能需求。1.7.3非功能性需求概述:本系统应满足以下几项性能要求:实时性、并发性、交互性、安全性、稳定性、数据处理。小结:数据库应用系统是面向数据管理和处理领域的复杂软件系统。根据软件工程基本原理和数据库系统三级模式结构,本章提出了dbas生命周期模型,将dbas生命周期划分为规划与分析、需求分析、系统设计、系统实现和部署、运行维护五个阶段,并规定了各阶段的主要目标、工作内容和采用的关键技术。该模型针对dbas需
7、求分析和设计,引入数据组织与存储设计、数据访问与处理设计和应用设计三条设计主线,并将dbas设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,定义了dbas开发过程整体框架和开发活动各阶段间的关系。dbas生命周期模型是dbas项目管理的理论指导准则。本章所描述的商场管理系统可作为本教程后续各章节所讨论的各种dbas设计与开发技术的应用案例。第2章需求分析2.1 需求分析:所谓需求分析,就是对待开发的系统要做什么,完成什么功能的全面描述。2.1.1需求分析的概念与意义:需求分析的目标是以使用者和开发人员都容易理解的文档形式提供一个关于目标系统所完成的全部功能及性能等需求的完整描述,以保证目标
8、系统后续阶段,如系统设计、编码、测试等阶段工作的顺利完成,为最终开发出一个满意度高的系统打下基础。2.1.2 需求获取的方法1.面谈。2.实地观察。3问卷调查。4.查阅资料。2.1.3 需求分析过程1.标识问题。通过对问题的识别和标识获得对所求解问题及其运行环境的理解。2.建立需求模型。3.描述需求。内容:1)需求概述2)功能需求3)信息需求4)性能需求5)环境需求6)其他需求需思考的问题:1)这个系统的主要功能是什么?2)描述的需求是完全的吗?3)需求描述是正确和一致的吗?4)描述的这些需求是可行的、实际可操作的吗?5)描述中的每一条需求都是客户需要的吗?4.确认需求。审核内容(功能需求、数
9、据需求、性能、数据管理、其他需求)2.2 需求分析方法2.2.1 需求分析方法概述结构化分析及建模方法的主要优点是:(1)不过早陷入具体的细节;2)从整体或宏观入手分析问题,如业务系统的总体结构、系统及子系统的关系;3)通过图形化的模型对象直观地表示系统要做什么完成什么功能;4)图形化建模方法方便系统分析员理解和描述系统;(5)模型对象不涉及太多技术术语,便于用户理解模型。2.2.2 dfd需求建模方法也被称为过程建模和功能建模方法,核心是数据流,从应用系统的数据流着手以图形方式刻画和表示一个具体业务系统中的数据处理过程和数据流。1 dfd方法的基本元素:1)数据流,箭头描述数据的流向2)处理
10、,用矩形框表示、3)数据存储4)外部项,用圆角框或平行四边形表示2dfd图:采用自顶向下逐步细化的结构化分析方法表示目标系统。3.dfd建模过程:1)明确目标,确定系统范围。2)建立顶层dfd图。3)构建第一层dfd分解图。4)开发dfd层次结构图。5)检查确认dfd图。2.2.3 其他需求建模方法建模方法:dfd方法、idef0方法、uml的用例模型1.idef0方法:组成idef0图的基本元素是矩形框和箭头。2.uml用例模型:(统一建模语言),面向对象思想建模,用例模型由用例图组成,用例图由系统、角色和用例模型元素组成2.2.4 dfd与idef0比较1)dfd图用箭头也叫数据流来描述数
11、据移动的方向、数据处理及处理之间的数据依赖关系。2)从表达形式看,dfd图和idef0图都是用箭头和处理来表达一个企业或组织的业务流程,但idef0图中的箭头有更加丰富的语义,不仅能够表示出数据流,还可以表示出控制流和说明处理或活动实施方式的一些约束。3)从模型元素的组成上来看,dfd模型由四种元素组成:外部项、数据流、数据存储、处理,而idef0只有两种元素:箭头和活动。2.3 需求分析实例商场业务活动:顾客管理、采购与库存管理、销售管理、人力资源管理、财务管理。商场dfd图描述:1.抽象顶层数据流图。2.分解和细化顶层dfd图。3.检查确认数据流图。小结: 本章讨论了需求及需求分析的概念、
12、需求分析的任务和获取用户需求的方法,并结合商场经营管理业务活动给出了建立系统功能模型的具体步骤。需求分析阶段的任务艰巨而困难,而需求分析的成果对整个项目至关重要,是项目成败的关键。为了简化且容易理解系统中诸多问题,人们常借助模型来描述和理解系统所涉及的各种业务活动,利用模型知识和考察系统所要解决的问题及系统中各部件相互作用的关系和约束。第3章数据库结构设计3.1数据库概念设计:主要解决数据需求,即如何准确地理解数据需求,真实把握应用领域中要处理的数据组织、定义描述清楚,以支持数据库设计后续阶段的工作。3.1.1概念设计的任务 数据库概念设计的目标:1)定义和描述应用领域涉及的数据范围。2)获取
13、应用领域或问题域的信息模型。3)描述清楚数据的属性特征。4)描述清楚数据之间的关系。5)定义和描述数据之间的约束。6)说明数据安全性的要求。7)支持用户的各种数据处理需求。8)保证信息模型方便地转换成数据库的逻辑结构(数据库模式),同时也便于为用户理解。3.1.2 概念设计的依据及过程1.概念设计的依据:需求分析阶段的文档,包括需求说明书、功能模型(数据流程图或idef0图)以及在需求分析阶段收集到的应用领域或问题域中的各类报表等。2.概念设计的过程:1)明确建模目标。2)定义实体集。3)定义联系。4)建立信息模型。5)确定实体集属性。6)对信息模型进行集成与优化。3.1.3 数据建模方法 共
14、同特点:1)能够真实客观地描述现实世界中的数据及数据之间的关系。2)组成模型的概念少,语义清楚,容易理解。3)不同概念的语义不重叠,概念无多义性。4)用图形方法描述数据,数据直观易懂,有利于数据库设计者和用户交流。5)这种数据模型容易转换成数据库逻辑设计阶段需要的数据结构。1.er建模方法:实体联系方法面向数据存储需求建模,将现实世界中需要处理的数据抽象组织成某种信息结构。er方法中用矩形框表示实体集,矩形框内写上实体集的名称,用菱形框表示联系,联系名写在菱形框内。实体集的属性用椭圆或圆角矩形表示,属性的名字写在椭圆或圆角矩形框中。2、idef1x建模方法:侧重分析、抽象和概括应用领域中的数据
15、需求,被称为数据建模方法。1)实体集。2)联系。标定联系、非标定型联系、分类联系、非确定联系3.1.4 概念设计实例1 建模目标 2 定义实体集 3 定义联系 4 建立信息模型 5 确认实体集属性 6 对信息模型进行集成与优化3.2 数据库逻辑设计3.2.1 概述3.2.2 逻辑设计实例 1 商场经营管理系统初始模式设计 2 命名确认 3 优化关系模式 3.3 数据库物理设计3.3.1 物理设计概述3.3.2 数据库的物理结构解决几个问题:文件的组织、文件的结构、文件的存取、索引技术3.3.3 索引1.索引技术:关键是建立记录域值到记录的物理地址间的映射关系,这种映射关系称为索引。2 索引技术
16、分类:1) 有序索引:利用索引文件实现记录域取值到记录物理地址间的映射关系。2) 散列技术,也称为哈希索引机制:利用一个散列函数(hash function)实现记录域取值到记录物理地址的直接映射关系。3 有序索引:数据库中的文件经常采用顺序文件结构,文件的数据记录按照某个特定的查找码值的升序或降序地存储在文件中。第2章 聚集索引和非聚集索引 聚集索引:对数据库文件和它的一个特定的索引文件,如果数据文件中数据记录的排列顺序与索引项的排列顺序相一致,或者说索引文件按照其查找码指定的顺序与数据文件中数据记录的排列顺序相一致,则称该索引文件为聚集索引,否则称该索引文件为非聚集索引。第3章 稠密索引和
17、稀疏索引:如果数据文件中每个查找码值在索引文件中都对应一个索引记录,则该索引称为稠密索引。如果只是一部分查找码的值有对应的索引记录,则该索引称为稀疏索引。 第4章 主索引和辅索引:在数据文件的主码属性集上建立的索引称为主索引。在数据文件的非主属性上建立的索引称辅索引。第5章 唯一索引:可以确保索引列不包含重复值。5)单层索引和多层索引:单层索引是索引项根据键值在索引文件中顺序排列,组织成一维线性结构,每个索引项直接指向数据文件中的数据记录。多层索引的典型是数据库系统中的树和树索引。3.3.4 数据库物理设计1物理设计内容:1)数据库逻辑模式描述。2)文件组织与存取设计。3)数据分布设计。4)确
18、定系统配置。5)物理模式评估。2.数据库逻辑模式描述:1)面向目标数据描述基本表和视图。2)设计基本表业务规则。3 文件组织与存取设计:1)使用事务-基本表交叉引用矩阵,分析系统内数据库事务对各个基本表的访问情况。2)估计各事务的执行频率,即单位时间内事务的执行次数。3) 对每张基本表,汇总所有作用于该表上的各事务的操作频率信息。4.数据分布设计:1)不同类型数据的物理分布。2)应用数据的划分与分布。3)派生属性数据分布。4)关系模式的去规范化。3.3.5其他物理设计环节 1 确定系统配置 2 物理模式评估。小结: 概念设计是面向现实世界的,其主要任务是理解和获取应用领域中的数据需求,分析、抽
19、取、描述和表示清楚目标系统需要存储和管理什么数据。目前,数据库已成为各类计算机应用系统的核心与基础,数据库性能优劣直接影响应用系统的性能和效率。因此,数据库设计是数据库应用系统成功的关键,而数据库的概念设计又是数据库设计的基础。在数据库概念设计部分,本章首先介绍了数据库概念设计的任务(做什么),然后介绍了数据库概念设计的依据和步骤(如何做),最后介绍了两种较为流行的数据建模方法er方法和idef1x方法,以帮助读者顺利完成数据库概念设计任务。数据库逻辑设计的任务是按照数据库管理系统支持的数据模型组织和存储数据,包括定义和描述数据库的全局逻辑结构、数据之间的关系、数据的完整性及安全性要求等。其目
20、标是得到实际的数据库管理系统可处理的数据库模式,且数据结构合理,数据之间不存在不合理的数据依赖关系,数据满足各类应用的处理和使用要求,为数据库的物理设计及数据库高效、正确地运行打下基础。数据库物理结构涉及数据库文件组织、结构和存取等方面。文件的结构是指如何在外设存储介质上安排和存放文件的逻辑记录,其核心是文件的逻辑记录与其物理地址间的映射关系。常见的文件结构有堆文件(也称为无序文件)、顺序文件、聚集文件、索引文件组织、散列文件组织等。每一种文件结构都有与之对应的文件存取方法。为了提高文件查找速度,可以为文件建立索引机制。广义上的索引技术包括有序索引和散列技术。根据索引文件本身的不同特点,有序索
21、引可以分为聚集索引和非聚集索引、主索引和辅索引、稠密索引和稀疏索引、单层索引和多层索引等。散列文件组织通过散列函数直接到文件记录所在的物理地址。数据库物理设计由数据库逻辑模式描述、文件组织与存取设计、数据分布设计、确定系统配置和物理模式评估等环节组成,每个环节中包括若干设计内容。数据库物理设计数据库与dbas系统采用的具体硬件环境、操作系统和dbms密切相关。数据库物理设计中的一项重要工作是为数据库文件建立合适的索引,以提高数据库访问效率。第4章 数据库应用系统功能设计与实施4.1 软件体系结构与设计过程4.1.1 软件体系结构:又称软件架构,软件体系结构=构件,连接件,约束1)构件是组成系统
22、的具有一定独立功能的不同粒度的程序模块、独立程序或软件子系统,是组成软件的系统元素。2)连接件:将不同的构件连接起来,表示了构件间的相互作用。3)约束:一般为对象连接时的规则,或指明了构件连接的条件。4.1.2 软件设计过程 软件开发:设计、实现、测试三个环节。设计(概要、详细)(总体结构设计、系统的过程设计、系统的数据设计)设计原则:设计应与软件需求保持一致,设计的软件结构应支持模块化、信息隐藏、抽象与逐步求精等。1.概要设计:是建立软件系统的总体结构和模块间的关系,定义各功能模块的接口,设计全局数据库或数据结构,规定设计约束,制订测试计划。2.详细设计:是细化概要设计产生的功能模块,形成可
23、编程的程序模块,用某种过程设计语言(pdl)设计程序模块的内部细节。3.关于软件总体设计 层次结构:系统子系统模块子模块。软件系统的系统元素(子系统、模块、子模块)。4.2 dbas总体设计 主要内容:1) dbas体系结构设计。2)dbas软件总体设计。3) 软硬件选型与配置设计;4) 业务规则初步设计。4.2.1 dbas体系结构设计 1. 客户/服务体系结构(c/s)结构:是网络环境下一种主流的数据库应用系统体系结构。其特点是:1)dbas的数据管理和数据处理功能被分解并分布在客户端和数据库服务器上。2)数据库服务器可以为多个客户端应用提供共享的数据管理功能,避免了为每一个新的应用单独开
24、发对应的服务器端数据管理功能,提高了应用程序相对于数据库的独立性,也减少了应用程序的开发和维护代价。3)客户端应用可以通过网络访问多个不同数据源。4)客户端除了完成人机交互功能外,还需要完成面向应用的数据处理功能,负荷较重,属于典型的“胖客户端”。2.浏览器/服务器(b/s)结构:一种互联网环境下的新型数据库应用系统结构。其特点是1)表示层位于客户端,由web浏览器实现。属于典型的“瘦客户端”。)功能层位于web应用服务器,实现面向具体应用领域的业务规则。)数据层位于数据库服务器,通过dbms完成具体的数据存储和数据存取等数据管理功能。b/s与c/s各有千秋。在适用nternet、维护工作量等
25、方面,b/s比c/s要强得多;但在运行速度、数据安全、人机交互等方面,b/s远不如c/s。对于以浏览为主、录入简单的应用程序,b/s技术有很大的优势;而对于交互复杂的企业级erp应用,b/s则很难胜任。4.2.2 dbas软件总体设计:包括操作系统、数据库管理系统、开发环境、中间件和应用软件。应用软件(数据库事务、应用程序),从需求分析阶段得到的数据流图、事务规范和业务规则需求分析结果出发,应用软件总体设计得到的系统总体结构和分层模块结构可以用模块结构图表示。模块结构图由模块、调用、数据、控制和转接五种基本符号组成。4.2.3软硬件选型与配置设计:1)网络及网络设备选型;2)数据存储设备及备份
26、方案制定;3)应用服务器、web服务器选型;4)确定系统终端软件环境;5)确定软件平台及开发语言、工具;6)系统中间件及第三方软件选型。考虑因素:1)数据规模;2)系统性能;3)安全可靠性;4)用户需求;5)项目预算情况。4.2.4业务规则初步设计4.3dbas功能概要设计:原则:逐步求精、模块化、信息隐藏、功能细化。四个层次:表示层、业务逻辑层、数据访问层、数据持久层4.3.1 表示层概要设计:主要任务是进行人机界面设计。4.3.2 业务逻辑层概要设计:主任务是梳理d bas的各项业务活动,将其表示为各种系统构件。业务逻辑层是dbas的重要组成部分,它承载了数据访问层与用户界面层的桥梁作用,
27、dbas的核心业务逻辑均在本层予以实现。内容:结构、行为、数据、接口、故障处理、安全设计、系统维护与保障。高内聚与松耦合原则4.3.3 数据访问层概要设计:主要任务就是针对dbas的数据处理需求设计用于操作数据库的各类事务。4.4 dbas功能详细设计4.4.1 表示层详细设计:人机界面的设计与用户感知密切相关,最好采用原型迭代法。原型迭代法步骤:1 初步设计 2 用户界面细节设计 3 原型设计与改进4.4.2 业务逻辑层详细设计4.5应用系统安全架构设计4.5.1 数据安全设计 :安全性保护、完整性保护、并发控制、数据库的备份与恢复、数据加密传输1数据库的安全性保护:1)用户身份鉴别。2)权
28、限控制。3)视图机制2数据库的完整性保护:数据的正确性、一致性和相容性。防止合法用户使用数据库时向数据库中加入不合语义的数据。完整性约束条件作用对象:列、元组、关系。3数据库的并发控制:封锁技术。在某一时间内禁止某用户对数据对象做某种操作以避免产生数据不一致的问题。(排它锁x锁、共享锁s锁)为避免死锁考虑的原则:1)按同一顺序访问资源2)避免事务中的用户交互3)采用小事务模式,尽量缩短事务的长度,减少占有锁的时间4)尽量使用记录级别的锁(行锁),少用表级别的锁。5)使用绑定连接,使同一应用程序所打开的两个或多个连接可以相互合作。4数据库的备份与恢复:恢复的基本原理就是数据库中任何一部分数据可以
29、利用存储在系统其他存储器上的冗余数据(备份)来重建。1)双机热备:指基于方式的服务器热备。数据同时往两台或多台服务器写,或者使用一个共享的存储设备。2)数据转储(数据备份)。3)、数据加密存储.5.数据加密传输:传输手段1)数字安全证书2)对称密钥加密3)数字签名4)数字信封4.5.2 环境安全设计1、 漏洞与补丁 2、计算机病毒防护(安装杀毒软件定期杀毒、计算机实时监控)3网络环境安全(防火墙、入侵检测系统ids、网络隔离)4 物理环境安全4.5.3 制度安全设计4.6 dbas实施 :1)创建数据库2)装载数据3)编写与调试应用程序4)数据库试运行4.6.1 创建数据库 考虑1)初始空间大
30、小 2)数据库增量大小 3)访问性能4.6.2 数据装载 1)筛选数据 2)转换数据格式 3)输入数据 4)校验数据4.6.3编写与调试应用程序4.6.4 数据库系统试运行 1功能测试 2 性能测试 。小结:数据库应用系统功能设计是指根据dbas生命周期模型,数据访问与处理设计、应用设计两条主线分别设计dbas的总体结构、数据事务和应用软件。与数据库概念模型设计、逻辑结构设计和物理结构设计三个阶段相对应,dbas功能设计分为总体设计、概要设计、详细设计三个设计步骤。dbas应用软件的设计遵循软件工程的基本原理,采用软件工程中常用的设计方法,如结构化设计方法和面向对象设计技术。事务设计包括事务的
31、概要设计和详细设计。事务概要设计从需求分析阶段得到的数据流图或事务规范出发,关注与目标dbms和具体事务实现机制无关的事务处理逻辑,设计结果具有较好的适用性;事务详细设计是在选定的目标dbms平台环境下,采用dbms和高级程序设计语言提供的事务实现机制,设计事务在dbms中的具体实现方法。 人机界面设计是dbas功能设计的一个重要方面,可以采用原型迭代设计法。第5章 uml与数据库应用系统5.1 dbas建模omt方法:对象模型、动态模型、功能模型、用例模型,oose方法:面向用例(use-case),适合支持商业工程和需求分析。统一建模语言(uml):定义由语义和表示法两部分组成,定义在一个
32、四层建模概念:1)元元模型层 2)元模型层 3)模型层 4)用户模型层。uml包括五种视图:结构视图、实现视图、行为视图、环境视图、用例视图。uml2.0提供了13种不同的图,分为两类:一类是结构图,主要用于对系统的静态结构建模,包括类图、对象图、复合结构图、包图、组件图、部署图;另一类是行为图,主要用于对系统的动态行为建模,包括用例图、交互图(顺序图、通信图、交互概述图、时间图)、状态图和活动图。5.2 dbas业务流程与需求表达,业务流程支持活动图,主要目的在于陈述活动与活动间的流程控制的转移。软件需求领域用于捕捉需求的工具是用例图。5.2.1 业务流程与活动图。活动图:主要用于描述系统、
33、用例和程序模块中逻辑流程的先后执行次序,并行次序。活动图用于低层次程序模块的作用类似于流程图,但活动图还可以描述并行操作,而流程图只能描述串行操作。一般说来,活动图最适合用于描述系统或子系统的主要的工作流程。活动图起始点用表示,结束点用表示,可以用分区来将活动分配给对应的角色。活动之间的转换由箭头表示,箭头表示执行方向,其标注为执行下一个活动的条件,如果箭头线上没有条件,表示执行完该活动后自动执行箭头所指向的活动。菱形代表分支,表示判断。活动图的目的在于表达流程的规范性,表达要明确、简单和清晰,尽量避免深入细节。5.2.2系统需求与用例图。用例模型:是把满足用户需求的所有功能表示出来的工具,由
34、用例、角色、系统三部分组成。用例图:由系统、角色、用例三种模型元素以及元素之间的各种关系组成。1系统:用例图中系统用一个长方形框来表示,系统的名字写在方框上或方框里面。2 角色:是与系统交互的人或其他实体。可以是系统用户也可以是其他系统或者硬件设备。所谓与系统交互指的是角色从系统中接收消息,或是向系统提交信息。在用例图中用通用化关系来描述角色之间的行为。通用化关系是指把某些角色的共同行为抽取出来作为通用行为,这些通用行为构成它们的超类。角色之间的通用关系用带空心三角形(作为箭头)的直线表示,箭头的方向指向超类。3 用例:代表的是一个完整的功能,是所有动作的集合。动作是系统的一次操作。用例用椭圆
35、形表示,位于系统边界的内部。用例与角色之前连接关系属于关联,又称通信关联。用例之间关系包括:扩展、使用、组合。5.3 dbas系统内部结构的表达:静态结构、动态结构uml中用类图来描述系统的静态结构,而用顺序图和通信图来表示系统的动态结构。5.3.1 系统结构与类图:类图主要表达的是问题领域的概念模型,在这个抽象的概念中,除了表达该抽象的名称外,另外需要表达该抽象概念的“属性”与“行为”。类图技术是面向对象方法的核心技术。1属性(名称、类型、缺省值):可见性、名称、类型、缺省值、约束性。2操作 (描述了类的动态行为)可见性、名称、参数表、返回类型表达式、约束性。 3关系:1)关联关系,两个类之
36、间某种语义上的联系,关联通常是双向的,单向的称导航关联。聚集是特殊形式的关联,可划分为共享聚集和组成。2)继承关系,具有共同特性的元素抽象成类别,并通过增加其内涵而进一步分类,继承表示为一头为空心三角形的连线。3)依赖关系。4)精化关系,同一事物的两种描述之间的关系。用空心三角形的虚线表示。5.3.2 系统结构与顺序图:顺序图的目的在于说明对象的协作如何达到系统的目标。顺序图主要用于描述系统内对象之间的消息发送和接收序列。顺序图有两个坐标轴:纵向表示时间的持续过程,横向表示对象,每一个对象用矩形框表示,纵向的虚线表示对象在序列中的执行情况,称为对象的“生命线”。5.3.3 系统结构与通信图:通
37、信图是交互图的一种,也是被称为协作图。通信图包含一组对象,并在图中展示这些对象之间的联系以及对象间发送的接收的消息。顺序图强调的是时间,而通信图强调的是空间。通信图中的主要元素基本和顺序图相同,只是在消息的传递上要特别表达消息的传递是由哪一个对象到另外一个对象。5.4 dbas系统微观设计的表达(细节方面的内容)5.4.1 微观设计与对象图 :对象图是类图的一个实例,对象之间的关系是类之间的关系的实例,其图形表达与类的图形表示相似。对象图通常用于表示复杂的类图的一个实例。对象图是某一个特定时间点上,系统所存在的对象的一个快照。5.4.2微观设计与状态机图:当某一个对象或某一个事件有非常复杂的状
38、态转换时,可用状态机图来描述这个过程。在状态图中,只能有一个起始状态,这一点与活动图起始点是相同的,起始状态的图示是一个实心圆形。结束状态代表整个状态机到此活动线束,可以有多个结束状态。状态与状态之间,是利用转移来表达其间的关系的,用带有箭头的直线图示。目的在于陈述系统中有关事件或对象的状态转移。5.4.3微观设计与时间图:状态的转换由时间因素决定的,这种情况下就可以用时间图来表示。若状态转移中牵涉时间因子,可用时间图来强调时间因子的作用,时间图主要利用时间轴的推移,让时间因子呈现一个可视化的效果。一张时间图对应至少一张状态图,时间图是状态图的辅助说明工具。5.5dbas系统宏观设计的表达5.
39、5.1宏观设计与包图,uml的包图可以表达系统中不同的包、命名空间或不同的项目间彼此的关系。在这里包及命名空间指的是在逻辑层次上的关联性,而项目则是指实体层次的关联性。包是一种组合机制,把模型元素通过内在的语义连在一起成为一个整体叫做包。包图:表明包以及包之间的关系的类图。必须保证低耦合、 高内聚。包可以包含类、接口、组件、节点、协作、用例等,不可以内嵌其他子包。继承关系的包、依赖关系的包。四种可见性:私有、保护、公有、实现,缺省的可见性为公有。5.5.2宏观设计与交互概述图:主要是利用活动图作为基础,只是其在控制流间连接的uml元素并非活动,而是交互图(包括顺序图、通信图、时间图及交互概述图
40、),主要元素与活动图完全一样,唯一不同的是多了一个交互框。交互概述图可把不同的交互图结合在一张图来表达。5.5.3宏观设计与复合结构图:复合结构图中最主要的元素就是部件,一个部件可以代表某个实体组件,也可以代表一个子系统。部件之间装配关系,通过接口来沟通。部件与外部连接通过端口才能连接,用正方形图示。供给接口代表某个特定的部件提供服务给外部部件来连接。需求接口代表某个特定的部件需要外部的部件提供服务。5.6dbas系统实现与部署的表达5.6.1系统实现与组件图:用来表示系统的静态实现视图。相关性连接用一条带开箭头的虚线表示,组件间的相关性指到用到的组件的接口上。组件符号为一个大方块且在它的左边
41、有两个凸出的方块。组件写在组件符号的下面或大矩形内。5.6.2系统实现与部署图:部署图又叫配置图,描述系统中硬件和软件的物理配置情况和系统结构。小结:所有系统均由静态结构和动态行为组成。结构可以静态模型元素来描述,如类、关系、节点和构件。行为主要描述结构内的元素如何交互。通常情况下,这些交互是确定的且是可以建模的。抽象系统的动态行为也称为动态建模,uml支持动态建模的有四类图是:状态、序列、协作和活动。状态图用于描述类(或子系统、系统)中的行为和内部状态,它侧重于描述随着时间的改变,对象如何改变其状态。状态的改变取决于出现的事件,状态中执行的行为和动作,状态转移等。一个事件的发生可能是因为:条
42、件成真、接收一个信号、一个操作调用或满足指定时间。顺序图主要用于描述在指定情节中一组对象是如何交互的。它着眼于消息序列,也就是在消息间如何发送和接收信息。顺序图有两个坐标:纵坐标轴显示时间,横坐标轴显示有关对象。顺序图最重要的特点是时间的概念。协作图主要用于描述对象在空间中如何交互,即除了动态交互,它也直接描述了对象是如何链接在一起的。在协作图中没有时间轴,而是将消息按序编号。活动图主要的目的在于陈述活动与活动之间的流程控制的转移,其作用类似于流程图,然而,与流程图不同的是,活动图支持并行行为。除了以上,支持系统静态建模和动态建模的图以外,uml还提供了一组支持dbas系统宏观设计表达的图,如
43、包图、交互概述图、复合结构图以及支持dbas系统实现与部署的图有如组件图和部署图。第6章 高级数据查询6.1 一般数据查询功能扩展6.1.1使用top限制结果集1)top n :取查询结果的前n行数据。2)top n percent: 取查询结果的n %行数据。3)with ties:表示包括最后一行取值并列的结果。6.1.2 使用case函数1.简单的case 函数case函数语法格式:case测试表达式when简单表达式1结果表达式when简单表达式结果表达式when简单表达式结果表达式结果表达式6.1.3 将查询结果保存到新表中select 查询列表序列into新表名 from数据源6.
44、2 查询结果的并、交、差运算 6.2.1 并运算select语句1union allselect语句2union allselect语句n6.2.2交运算select语句1intersectselect语句2intersectselect语句n6.2.3差运算select语句1exceptselect语句2exceptselect语句n6.3相关子查询1.使用子查询进行基于集合的测试通常运算符和not in.其形式为:where表达式not in(子查询)2.使用子查询进行比较测试比较运算符(=、=)形式:where 表达式 比较运算符(子查询)3.使用子查询进行存在性测试通常使用exists
45、谓词,其形式:wherenot exists(子查询)6.4其他形式的子查询1.替代表达式的子查询指在select语句的选择列表中嵌入一个只返回一个标量值的select语句,这个查询语句通常都是通过一个聚合函数来返回一个单值。2.派生表select * from(select * from t1) as temp 这里的temp就是派生表。6.5 其他一些查询功能6.5.1 开窗函数在sql server中,一组行被称为一个窗口,开窗函数是指可以用于“分区”或“分组”计算的函数。这些函数结合over子句对组内的数据进行编号,并进行求和、计算平均值等统计。因此,从这个角度来说,sum 、avg、
46、以用 row-number(对数据进行编号的函数)等都可以称为开窗函数。第6章 将over子句与聚合函数结合使用语法格式:= over(partition by value_expression, n )第7章 将over子句与排名函数一起使用sql server提供了四个排名函数:rank、 ntile、 dense_rank和row_number.1) 函数语法格式:rank()over( ,n ) over(partition by value_expression, n )6.5.2 公用表表达式小结:本章介绍了sql语言中的一些高级查询功能,这些高级查询语句在不同的数据库产品中可能语
47、法不完全一致,而且有些数据库产品也不一定都支持这些操作。这里介绍的语句在sql server 2008 平台上都支持,因此读者可在这个平台上测试这些语句。本章主要介绍用了使用top限制查询返回结果、分情况的case函数、查询结果的并、交、差运算、相关子查询以及其他一些查询功能。case函数用于对数据进行分情况判断,它一般是用在select语句的查询列表中,对数据库中的数据进行分情况显示不同内容,但也可以用在update语句中,用于根据不同的条件对数据进行不同的更改。相关子查询部分介绍了基于集合的相关子查询、替代表达式的子查询以及派生表形式的子查询。相关子查询的特点是先执行外层查询,然后再执行内
48、层查询,内层查询是根据外层查询结果中的一行数据进行的。相关子查询在内层查询中关联外层查询;替代表达式的子查询是指可以将子查询写在查询列表中,但这个子查询必须是返回一个标量值的查询;派生表子查询是将子查询写在from子句中,这种形式的子查询对外层查询来说就像一个表,可以在外层查询中使用派生表子查询的结果。查询结果的并、交、差运算是对多个查询语句形成的结果集进行操作。在很多情况下,集合的交运算和差运算可以用和not in形式的子查询实现。在实现查询结果的并、交、差运算时要求各查询语句的查询列个数必须相同,对应列的语义一致、数据类型兼容。这些操作的最终结果都是采用第一个查询语句的列标题作为整个操作结
49、果的列标题,因此当需要改变操作结果的列标题时,只需对第一个查询语句指定列别名即可。在其他一些查询功能中,介绍了开窗函数和公用表表达式,其中开窗函数是iso sql标准支持的。开窗函数结合over子句对数据进行分区,再通过排名函数对组内的数据进行编号,或通过聚合函数对组内数据进行求和、计算平均值等统计。公用表达类似于一个临时表,它是将查询语句产生的结果集指定一个临时名字,之后就可以在select、 insert、 update 、delete等语句中使用命名好的公用表表达式。第7章 数据库及数据库对象71创建及维护数据库7.1.1 sql server 数据库概述:系统数据库、用户数据库sql
50、server 2008 安装后,系统自动分5个数据库:master, msdb, model, tempdb,rescourse.7.1.2 sql server数据库的组成数据文件包含数据和对象、日志文件包含恢复数据库中的所有事务需要的信息。1数据文件:每个数据库都只能有一个主要数据库文件,其扩展名.mdf, sql server 2008主要数据库文件不小于3mb。次要数据文件扩展名.ndf,一个数据库可以不包含次要数据文件,也可包含多个次要数据文件,而且可以建立在不同磁盘上。2 事务日志文件:扩展名.ldf,每个数据库必须至少有一个日志文件,也可以有多个日志文件。sql server 2
51、008不强制使用.mdf, .ndf,.ldf,但建议使用以区别用途。3 数据库存储空间的分配. 规则:1)在创建用户数据库时,model数据库自动被复制到主要数据文件中。2)在sql server 2008中一页是一块8k(81024b)的连续磁盘空间3)sql server 2008中不允许一行数据存储在不同页上。7.1.3数据库文件组1 主文件组(primary):是系统定义好的一个文件组,包含(主要数据文件、没有明确分配给其他文件组的数据文件、系统表的所有页)2 用户定义文件组:用户定义文件组是通过在create database或alter database语句 使用filegrou
52、p关键字指定的任何文件组。说明:1)日志文件不包括在文件组内,日志空间与数据空间是分开管理的。2)一个文件不可以是多个文件组的成员。3)如果文件组中有多个文件,则它们在所有文件在被填满之前不会自动增长,而填满后这些文件会循环增长。7.1.4 数据库文件的属性1 文件名及其位置2 初始大小:其大小不能小于model数据库主要文件的大小。3 增长方式:默认自动增长,系统文件的空间不足后,系统自动扩大文件空间。4 最大大小:7.1.5用t_sql语句创建数据库t_sql语句为creare database database_name on , primary ,n,n log on,7.1.6 修改
53、数据库1 扩大数据空间:两种方法,一扩大数据库中已有文件的大小,二为数据库添加新的文件2 收缩数据库空间:释放数据库中未使用的空间,并将释放的空间交还给操作系统。手工收缩数据库空间:1)收缩整个数据库的大小。2)收缩指定文件的大小3 添加和删除数据库文件1)添加文件 2)删除文件7.1.7 分离和附加数据库 1分离数据库:是指将数据库从sql server实例中删除,但不删除数据库的数据文件和日志文件。分离数据库会保持数据库的数据文件和日志文件的完整和一致。2 附加数据库:将分离的数据库重新附加到数据库管理系统中,可附加到本机的另一个sql server实例上,也可以附加到另一台数据库服务器上
54、。7.2 架构:也称为模式,是数据库下的一个逻辑命名空间,可以存放表、视图等数据库对象,它是一个数据库对象的容器。通过将同名表放置在不同架构中,使一个数据库中可以包含同名表。在同一个数据库中,架构名必须唯一。架构对象的类型:基本表、视图、触发器等。1 定义架构 :sql语句为create schema2 删除架构:t_sql语句为drop schema7.3 分区表7.3.1 基本概念: 是将表中数据按水平方式划分成不同的子集,这些数据子集存储在数据库的一个或多个文件组中。1)该表包含以多种不同方式使用的大量数据。2)数据是分段的,比如数据以年份分隔。7.3.2 创建分区表.步骤:1)创建分区
55、函数。2)创建分区方案。3)使用分区方案创建表。1 创建分区函数:create partition function partition_function_name(input_parameter_type)as range left| right for values(boundary_value,n )2创建分区方案create partition scheme partition_scheme_nameas partition partition_function_name all to( ,n )7.4 索引1 创建索引 create index 2 删除索引 drop index7.
56、5 索引视图1 基本概念:建有唯一索引的视图称为索引视图,也称为物化视图。2 适合建立索引视图的场合:1)如果很少更新基础数据,则索引视图效果最佳。2)如果经常更新基础数据,则维护索引视图的成本可能超过使用索引视图带来的性能收益。3)如果基础数据以批处理的形式定期更新,但在更新之间主要作为只读数据进行处理,则可考虑在更新前删除所有索引视图,然后再重建索引视图,这样做可以提高更新性能。3 定义索引视图1)定义索引视图时,视图不能引用任何其他视图,只能引用 基本表。2)视图引用的所有基本表必须与视图位于同一个数据库中,并且所有者也与视图相同。3)必须使用schemabinding选项创建视图。4)视图中的表达式引用的所有函数必须是确定的。5)对视图创建的第一个索引必须是唯一索引,之后再创建其他的非聚集索引。小结:本章介绍了t-sql语言的部分数据定义功能,内容包括创建数据库、架构、索引和视图,同时介绍了这些对象的作用和使用方法。数据库是存放数据的场所,它由数据文件和日志文件组成,数据文件用于存放系统和用户的数据,日志文件用于记录用户对数据库的更改操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数学-山东省淄博市2024-2025学年第一学期高三期末摸底质量检测试题和答案
- 《文学概论》课程期末试题B卷及答案
- 小学一年级20以内数学口算练习题
- 合伙经营协议书(3篇)
- 小学数学六年级上册《分数四则混合运算》教学设计
- 秋季腹泻防治彩
- 《心内科常见疾病》课件
- 企业社会责任与品牌价值计划
- 游戏产业行业设计师培训总结
- 教学策略调整与灵活应对计划
- 2025年国家图书馆招聘笔试参考题库含答案解析
- 机器人课程课程设计
- 南充市市级事业单位2024年公招人员拟聘人员历年管理单位遴选500模拟题附带答案详解
- 现代学徒制课题:数字化转型背景下新型师徒关系构建研究(附:研究思路模板、可修改技术路线图)
- 9.2溶解度(第2课时)-2024-2025学年九年级化学人教版(2024)下册
- 安全知识考试题库500题(含答案)
- 2024-2025学年上学期南京小学数学六年级期末模拟试卷
- 安徽省合肥市包河区2023-2024学年三年级上学期语文期末试卷
- 河北省保定市定兴县2023-2024学年一年级上学期期末调研数学试题(含答案)
- 2024版食源性疾病培训完整课件
- 2025年中国蛋糕行业市场规模及发展前景研究报告(智研咨询发布)
评论
0/150
提交评论