1、分布式数据库在学生信息管理系统中应用班级: 姓名: 设计时间: 指引教师: 评 语:_评阅成绩: 评阅教师: 目录摘要2第一章 绪论311 课题研究意义312 分布式数据库技术国外发呈现状413 分布式数据库技术国内发呈现状414 分布式数据库技术发展动向4第二章 分布式数据库理论521分布式数据库理论5211分布式数据库系统关于概念5212分布式数据库系统特点6213分布式数据库数据分片6214分布式数据库数据分布7215数据分布设计方略8第三章 系统总体设计103.1系统功能设计103.2系统构造设计103.3系统概念设计114.4系统逻辑设计114.5系统物理设计(表设计)11第四章 系
2、统实现154.1 PowerBuilder开发工具简介154.2 Powerbuilder 9应用程序开发基本环节154.3 编码规范164.4 应用程序对象 App_mapbex164.5详细窗口实现16第五章 课程设计总结22第六章 参照文献23摘要社会在飞速发展,计算机应用正进一步到人们生活每一种角落。咱们作为当代大学生,更应当推动和实践计算机信息系统在生活在应用,为将来工作和学习打好基本。本系统为简易分布式学生信息管理系统,实现学生基本信息管理和学生成绩管理。本系统采用了Power Builder9SQL构造来开发程序。Power Bulider(如下简称pb)做为应用程序开发工具和程
3、序界面开发工具,pb具备功能强大,集成性好长处,很适合小型系统应用开发和界面开发。后台数据库使用SQL 系统,Microsoft SQL Server 是美国微软公司推出使用相称广泛数据库管理系统,包括一套图形工具,如服务器管理(用于启动和关闭数据库服务)、公司管理器(用于创立和修改数据库及备份数据库等)和查询分析器(用于交互执行Transact-SQL 语句和过程并提供图形查询分析功能)等。本报告阐明了整个系统从分析到设计再到实现详细环节和过程,从中我学到了诸多知识和技能。核心词: 分布式信息管理系统 PB+SQL第一章 绪论11 课题研究意义随着信息技术飞速发展,社会经济构造、生产方式和消
4、费构造已经发生了重大变化,这些变化深刻地影响着人民生活方方面面。特别是近十年来人们对计算机依赖性越来越强,同步也对计算机提出了更高规定。随着计算机网络技术日趋成熟,老式集中式关系型数据库系统越来越不能满足人们解决数据规定,因而分布式数据库系统应运而生,并且得到迅速发展。在社会各个领域,对分布式数据库系统规定更加迫切。随着社会发展,许多关系着国民经济发展行业,例如水利、电力、交通、金融等行业作用越来越重要。但是这些行业所管辖部门或公司往往在地区上比较分散,而在行政和业务管理上,既规定各部门具备独立局部控制、分散管理能力,同步,又要在整个行业内实现对所有部门或所属公司进行全局控制,统一管理。这种协
5、同管理规定各部门或公司之间信息和数据既能灵活交流和共享,又能统一管理和使用。正是这种需求不断扩大和规定不断提高,促使分布式数据库不断发展,功能不断加强。分布式数据库浮现,实现了数据通过网络连接共享。分布式数据库将地理位置上分布于不同地点数据通过网络连接起来,并通过应用统一数据库管理系统对不同位置数据进行统一管理,使得数据在地理位置上分布,而在逻辑上又是一种整体。随着数据库在各个行业中不断发展,各行业也对数据库提出了更高规定,数据量也急剧增长,对于管理这些数据复杂度也随之增长。同步各行业部门或公司所使用软硬件之间差别,这给开发公司管理数据库管理软件带来了巨大工作量,如果可以有效解决这个问题,虽然
6、用同一模块管理操作不同数据表格,对不同数据表格进行查询、插入、删除、修改等操作,也即对公司简朴应用实现即插即用功能,那么就能大大地减少软件开发维护和更新费用,缩短软件开发周期。分布式数据库系统开发,减少了公司开发成本,提高了软件使用回报率。当今社会已进入了信息时代,人们将越来越多信息存储在网络中计算机上。如何更有效地存储、管理、共享和提取信息,越来越引起人们关注。集中式数据库已经不能满足人们需求,分布式数据库走入了当今舞台。分布式数据库系统浮现,有效地运用公司既有资源和网络资源。分布式数据库系统是一种面向地理上分布而在管理上需要不同限度集中解决系统,重要解决在计算机网络上如何进行数据分布和解决
7、。由于分布式数据库有许多突出长处,因而,分布式数据库系统可以广泛地应用于大公司,各种行业及军事国防等领域,这对建立集约型社会,加快社会主义当代化建设,将具备重要现实意义。12 分布式数据库技术国外发呈现状分布式数据库系统(Distributed Database system,简称DDBS)已有20近年发展历史,经历了一种从产生到发展过程,获得了长足进步。许多技术问题被提出并得到理解决。20世纪90年代起,DDBS己进入商品化应用阶段,当前,分布式数据库技术已经成熟并得到广泛应用。某些数据库厂商在不断推出和改进自己分布式数据库产品,以适应各种需要和扩大市场占有份额。但是,实现和建立分布式数据库
8、系统绝对不是数据库技术与网络技术简朴结合,而是在这两种技术互相渗入和有机融合后技术升华,它又产生了诸多新技术。并且,分布式数据库系统虽然基于集中式数据库系统,但分布式数据库系统却有它自己特色和理论基本。由于数据分布环境形成了很大固有技术难度,使得分布式数据库系统应用被推迟。至今完全遵循分布式数据库系统规则,特别是实现完全分布透明性商用系统还很难见到。13 分布式数据库技术国内发呈现状国内对分布式数据库系统研究约在20世纪80年代初期开始,某些科研单位和高校先后建立和实现了几种各具特色分布式数据库系统。如由中华人民共和国科学院数学研究所设计,由该所与上海科学技术大学、华东师范大学合伙实现CPOR
9、EL,武汉大学研制WDDBS和WOODDBS,东北大学研制DMDFO系统等,特别值得一提是华中科技大学达梦数据库多媒体研究所开发DMZ多媒体数据库,它解决了异构数据库系统实现数据共享和透明访问难度。她们工作对国内分布式数据库技术理论研究和应用开发起到了积极推动作用。14 分布式数据库技术发展动向分布式数据库系统可当作是由分布在各场地一组数据库系统(称为局部数据库系统)构成统一数据库系统。后者被称为全局数据库系统。局部数据库系统间耦合限度不同,或是很紧耦合(对场地高度透明),或是很松耦合(高度自治)。由于通用操作系统对数据库管理系统性能限制,以及硬件价格下降和高速网发展,用专用数据库服务器己变得
10、越来越合理了。专用数据库服务器操作系统是面向数据库,因而可以减少量多不必要开销,可以支持大量实时事务解决。为了提高服务器性能,可以采用磁盘组和大规模进行解决技术各种数据库服务器联网,也可以构成分布式数据库系统。随着计算机网络技术飞速发展和广泛应用,特别是internet普及,使得对分布式数据库系统研究和开发变得更加活跃。但是在实际应用时,特别是复杂状况下效率、可用性、安全性、一致性等问题并不容易解决。internet是当前高速发展全球性互联网络,internet应用开发新方案几乎所有都是基于web。web应用已经从老式静态HTML页面,向动态开放方向发展。针对这样市场需求和web平台基本技术,
11、各个浏览器和web服务器提供商,如Microsoft公司、Netscape公司和主流数据库厂商,如Sybase公司、oracle公司纷纷推出web服务器和浏览器上扩展技术,形成以web服务器厂商扩展技术为基本,数据库厂商提供解决数据库访问应用服务器。这样,Web应用就从老式“客户机R务器两层体系构造演变为“Web服务器十应用服务器+数据库服务器”三层体系构造。顾客开发方向己经从构造单一Clientserver应用转变为集Browseserver应用、internet应用甚至数据仓库应用为一体综合应用。从而形成Web技术与数据库技术相结合数据库系统模型。实现和建立分布式数据库系统绝对不是数据库技
12、术与网络技术、Web技术、计算机技术等简朴结合,而是在这些技术互相间渗入和有机结合后技术升华。分布式数据库系统有它自己特色和理论基本,由于数据分布环境形成了很大固有技术难度,使得分布式数据库系统应用被推迟。至今完全遵循分布式数据库系统规则,特别是实现完全分布透明性商用系统还很难见到。因而,在很长一段时间分布式数据库均有很大发展空间。第二章 分布式数据库理论21分布式数据库理论211分布式数据库系统关于概念分布式数据库系统使用计算机网络将地理位置分散而在管理和控制又需要不同限度集中各种逻辑单位(普通是集中式数据库系统)联结起来,共同构成一种统一数据库系统。因而,分布式数据库系统可以当作是:计算机
13、网络与数据库系统有机结合。在分布式数据库系统中,被计算机网络联结每个逻辑单位,称为站点(site)或节点(Node)。所谓地理位置上分散是指各个站点分散在不同地方,大可为不同国家,小可为同一建筑中不同位置。所谓逻辑上集中是指各个站点之间不是互不有关,它们是一种逻辑整体,并由一种统一数据库管理系统进行管理这个数据库管理系统称为分布式数据库管理系(Distributed DatabaseManagement System,简称DDBMS)。一种顾客如果只访问她注册那个站点上数据称为本地(或局部)顾客或本地应用;如果访问涉及两个或两个以上站点中数据,称为全局顾客或全局应用。分布式数据库系统中有全局数
14、据库(GDB)和局部数据库(LDB)概念。全局数据库由全局数据库管理系统进行管理,所谓全局是从整个系统角度出发研究问题。局部数据库由局部数据库管理系统(LDBMS)进行管理,所谓局部是从各个站点角度出发研究问题。212分布式数据库系统特点1. 物理分布性:分布式数据库系统中数据不是存储在一种站点上,而是分散存储在由计算机网络联结起来各种站点上。2. 逻辑整体性:分布式数据库系统中数据物理上是分散在各个站点中,但这些分散数据逻辑上却是一种整体,它们被分布式数据库系统所有顾客(全局顾客)共享,并由一种分布式数据库管理系统统一管理。3. 站点自治性:站点自治性也称场地自治性,各站点上数据由本地DBM
15、S(database Management System:数据库管理系统)管理,具备自治解决能力,完毕本站点应用(局部应用)。4. 数据独立性:分布式数据库系统中,数据独立性不但指数据逻辑独立性与物理独立性,还涉及数据分布独立性亦称分布透明性。分布透明性使顾客不必关怀数据逻辑分片,不必关怀数据与否被复制及复制副本个数(冗余数据),也不必关怀数据物理及其片段位置分布细节,同步也不关怀局部场地上数据库支持哪种数据模型。5. 集中与自治相结合控制机制:在分布式数据库系统中,数据共享有两个层次:一是局部共享,即同一站点上顾客可共享本站点上局部数据库中数据,以完毕局部应用;二是全局共享,即分布式数据库系
16、统上顾客都可共享在分布式数据库系统各个站点上存储数据,以完毕全局应用。因而,分布式数据库系统经常采用集中和自治相结合控制机制。各局部DBMS可以分散地管理局部数据库,具备自治功能。同步,系统又设有集中控制机制,协调各局部DBMS工作,执行全局管理功能。6. 恰当增长数据冗余性:在集中式数据库系统中,尽量减少冗余是系统目的之一。其因素是,冗余数据不但挥霍存储空间,并且容易导致各数据副本之间不一致性,为了保证数据一致性,系统要付出一定维护代价。而在分布式数据库系统中却通过冗余数据提高系统可靠性、可用性和改进系统性能,由于当某一种站点浮现故障时,系统可以对另一站点上相似副本进行操作,不会因某一处故障
17、而导致整个系统瘫痪。此外,系统可以选取顾客近来数据副本进行操作,减少通信代价,改进整个系统性能。7. 事务管理分布性:数据分布性必然导致事务执行和管理分布性。213分布式数据库数据分片数据分片(Data Fragmentation)也称数据分割,是分布式数据库特性之一。在一种分布式数据库中,全局数据库是各个站点上局部数据库逻辑整体,而各个局部数据库中数据是由全局数据库某种逻辑分割而来。这样减少网络通信量,从而提高效率。数据分片有三种基本办法,分别如下:1水平分片:按特定条件把全局关系所有元组提成若干个互不相交子集,每一种子集为全局关系一种逻辑片断,简称为片段。它们通过对全局关系施加选取运算得到
18、,并可通过对这些片段合并操作来恢复该全局关系。2垂直分片:将全局关系(表或视图)属性集(字段集)中若干属性作投影运算,即得到全局关系一种垂直分片。规定全局关系每一种属性至少映射到一种垂直片段中,且每一种垂直分段都包括该全局关系键。这样可以通过对这些片段执行连接操作来恢复该全局关系。3混合分片:水平分片和垂直分片混合。无论哪种分片办法都必要满足数据完备性规定,即必要遵守如下几条准则:完备性:全局关系所有数据都要分派到相应分片中,否则会丢失数据。不相交性:在各水平分片关系子集中不能浮现相似元组。可重构性:由全局关系分割得到分片能通过关系运算还原成全局关系。214分布式数据库数据分布数据分布(Dat
19、a Distribution)是指分布式数据库中数据不是存储在一种站点计算机存储设备上,而是依照需要将数据划提成逻辑片段,按某种方略将这些片段分散地存储在各个站点上。数据分布方略有:l分割式:所有数据只有一种备份,它被分割成若干个逻辑片段,每个逻辑片段被指派在某个特定站点上。这种分布方略可充分运用各个站点上存储设备,数据存储量大。在存储数据各个站点上可自治检索和修改数据,发挥系统并发操作能力。同步,由于数据是分布在各种站点上,当某某些站点浮现故障时,系统仍能运营,提高了系统可靠性。对于全局查询和修改,所需时间会长某些,由于数据不在同一场地上,需要进行通讯。2复制式:全局数据有各种副本,每个站点
20、上均有一种完整数据副本。采用这种方略系统可靠性高,响应速度快,数据库恢复比较容易,可从任意场地得到数据副本。但是要保持各个站点上数据同步修改,将要付出高昂代价。此外,整个系统冗余很大,系统数据容量也只是一种站点上数据库容量。3混合式:所有数据被分为若干个子集,每个子集安顿在不同站点上,但任意站点都没有保存所有数据,依照数据重要性决定各个子集副本多少,这种分布方略,兼顾分割式和复制式做法,也获得了两者长处,它灵活性好,能提高系统效率,但同步也涉及T-者复杂性。215数据分布设计方略数据分布方式有许各种,普通来说,可按整个数据库是集中存储在一种场地还是分割开来散布到各种场地以及与否有数据副本存在等
21、状况,可组合成四种数据分布方式,它们是:l集中式。即整个数据库存储在一种场地上,且没有数据副本存在。严格说来,这不能算作是分布式数据库,由于数据库集中存储在一种场地上,其他场地都从该场地获得数据。存储数据库那个场地相称于一种数据库服务器,其他场地相称于该数据库服务器远程终端,它们对数据库访问是通过远程登录访问来实现。因而这种方案属于客户服务器构造集中式数据库。集中式最重要长处是简朴,容易实现,所有存取操作都在单一场地进行,这样数据一致性维护和并发控制都比较容易实现。但这种方略有诸多缺陷,一方面数据库也许大小受限于中心场地硬盘空间可用性大小。另一方面,所有操作都在中心场地执行,其他场地都要通过网
22、络访问中心场地,因而均有通信代价与时间延迟,系统并行解决也受限于中心场地解决能力与速度,进而中心场地就会成为“瓶颈”,这就进一步限制了系统反映速度,并且中心场地也容易崩溃,系统有效性与可用性不高。例如,如通信系统失效,则数据库对任何远程场地都无效:而当中心场地浮现故障时,则整个数据库系统失效。2重复式。即有各种数据库副本存在,每个场地上均有一种完全数据副本存在。这种方式可用性、健壮性及效率相称高。这种可靠性高不但体当前当一种或各种场地发生故障时数据库仍能有效运转,并且还体当前很容易恢复一种破坏了数据库副本,这只需简朴从另一种正常场地完全拷贝一种数据库即可。由于每个场地均有一种完全数据库副本,顾
23、客祈求大都可以在本场地完毕,这有助于提高响应速度,减少通信代价,使通信分布比较均匀。在只有读操作时,由于不需要维护数据一致性,因而不需要场地间同步通信,系统可用性是很高。但是系统需要耗费相称大开销去维护数据库一致性和运营并发控制。由于一致性和并法控制复杂性,这种方略不适合单祈求并行解决,但在各个场地,不同祈求可以异步解决。如何保持数据一致性,依系统不同而差别很大,并且所承受开销取决于所提供数据一致性级别。当网络一某些由于某种因素而失效时,需要限制修改操作执行以维护数据一致性。由于,若容许两个修改操作在不能实现同步状况各自在不同场地进行,则当系统恢复正常后来,也许浮现数据不一致性。此外,犹如集中
24、式方略同样,数据库大小受限于每个场地上硬盘空间可用性大小。普通来说,这种方略比较适合于规定可靠性高、数据库小、修改频率低场合。3分割式。全局逻辑数据库被分割成许多片段,并且被分派到各个场地上,但这些片段只有一种拷贝。在对数据进行分割时,需要尽量按应用规定进行分割,普通来说,应以减少表间联系为目。同样进行数据分割时,也应尽量将某一种场地经常存取数据存储在相应场地,这样可以减少网络开销。分割式方略与集中式方略相比有几种明显长处。一是数据库大小只受限于网络上作为整个可用硬盘空间大小,而不受限于某一场地可用硬盘空间大小。其二是检索与更新均指向各自所规定所在场地,而非指向一种中心场地,数据库存取局部性比
25、例较大,因此通信代价较低。但另一方面,也许有一种祈求需要存取各种场地甚至所有场地数据,这时由于需要访问有关场地上片段,这时网络开销也许比集中式更高,但若设计时分割原则适当且配合妥当分布原则,则浮现这种状况应当是不多见。若分布式数据库管理系统支持并行解决,则可进行并行解决,故响应速度比集中式要快。通信负载较均匀地分布于整个网络,因此任何场地都对通信瓶颈口不敏感。数据库有效性与可靠性也比集中式要高,由于若某些或所有通信失效,或者一种或几种场地发生故障,不会导致整个系统完全失效,至少数据库某些可用。这种方案性能、有效性和可靠性与数据库访问局部性有关,若一种存取操作几乎在一种场地进行,则说数据库访问局
26、部性高,否则就低。而数据库访问局部性跟设计时数据分布关于。如果设计时分片,也许导致每一种祈求都要存取各种场地,则其性能、有效性和可靠性会比集中式更低,由于各种场地出故障概率要比单独某一种场地出故障概率要大,这样只要有一种场地出故障,这个祈求就不能执行。普通说来,分割方略比较适合各场地硬盘空间有限、可靠性规定较高、或应用数据存取有一定“分割性”,即能实现高存取局部化限度状况。4组合式。它是分割与重复组合,每一场地可以有数据库任何一某些。这种方略兼有分割与重复式某些特点。它重要长处是灵活。分割与分布方略及各片段重复个数需要在各因素之间权衡,局部辅存与整体辅存之间、可靠性与可用性、提高效率办法及通信
27、代价、同步与控制代价等要综合折中权衡。例如,重复可以提高存取局部性,从而减少通信量,提高可靠性与可用性;同步可以使并行解决也许性高,故可缩短响应时间。分割时,可使惯用核心性数据重复分布于所需场地,不惯用数据可只存储一次,这样可减少存储量。这种方式要着力解决问题是通信与数据一致性维护,同步通信瓶颈依然也许存在。这种方式最灵活,同步实现起来也是最复杂,由于影响系统性能、可靠性、存取需求等各种因素是彼此有关,很难将其分割开来考虑。此外,分布式数据库管理系统所支持各种机构,数据库使用方式等也是施加影响因素。总之,采用这种方式必要全面考虑各种因素,并进行权衡。第三章 系统总体设计 本系统是为了实现学生信
28、息化管理而编写。其中涉及了学生信息寻常工作中各项操作。本系统项目名称为:学生信息管理系统V1.03.1系统功能设计重要功能模块:1 学生信息解决 实现对学生信息录入、修改、添加、删除2 信息浏览解决 实现对学生基本信息浏览查看3 数据查询解决 实现对学生信息查询4 数据汇总解决 实现对学生信息分类汇总5 数据备份解决 实现对学生信息备份和导出3.2系统构造设计 登录窗口 win11 主窗口 win1数据编辑数据浏览数据查询数据汇总数据备份协助系统help3.3系统概念设计1 学生信息解决 实现对学生信息录入、修改、添加、删除2 信息浏览解决 实现对学生基本信息浏览查看3 数据查询解决 实现对学
29、生信息查询4 数据汇总解决 实现对学生信息分类汇总5 数据备份解决 实现对学生信息备份和导出4.4系统逻辑设计1 学生表sxTable(学生编号,学生姓名,学生生日,学生性别,民族,家庭住址,电话,政治面貌,简介)2 成绩表cjTable(学期编号,课程名称,分数)3 课程表 kcTable(课程名称,分数,授课教师)4.5系统物理设计(表设计)表设计(1) 学生信息表(xsTable)字段名数据类型与否可为空主键备注xsIDInt(4)NOT NULLIS学生编号xsNameChar(20)NOT NULL学生姓名BrithdayDateNULL生日xsSexChar(2)NOT NULL学
30、生性别xsMzChar(20) NOT NULL民族HomeChar(50)NULL家庭住址TelChar(20)NULL电话ZzmmChar(10)NOT NULL政治面貌ResumeChar(50) NULL简介(2) 学生成绩表(cjTable)字段名数据类型与否可为空主键备注xqIDChar(10)NOT NULLIS学期编号kcNameChar(20)NOT NULL课程名称ScoreInt(3)NOT NULL课程分数(3)学生课程表(kcTable)字段名数据类型与否可为空主键备注kcNameChar(20)NOT NULL课程名称ScoreInt(3)NOT NULL课程分数T
31、eacherChar(20)NOT NULL授课教师六、数据库设计 1分布式数据库定义老式数据库管理模式是将所有数据集中于单个数据库中,顾客通过各种数据库工具,来实现数据库维护和使用。但是这种模型对于数据量巨大时,已经无法满足顾客需求;同步,当浮现某些人为什么自然灾害等对数据导致破坏时,数据安全性将无法得到保护,甚至浮现丢失。针对以上问题,分布式概念被提出来:是物理上分散而逻辑上集中地数据库系统。分布式数据库系统使用计算机网络将地理位置分散而管理和控制又需要不同限度集中各种逻辑单位连接起来,共同构成一种统一数据库系统。2分布式数据库管理系统分布式数据库管理系统和集中式数据库管理系统同样,是对数
32、据库进行管理和维和一组软件,是分布式数据库系统重要构成某些,是顾客与分布式数据库接口。分布式数据库管理系统涉及三个构成某些:全局数据库管理系统(GDBMS)、局部数据库管理系统(LDBMS)和通讯管理程序(CM)。它能支持四个基本功能:应用程序远程数据库操作(涉及查询和更新操作)、支持分布式数据库系统完全或某些透明性、对分布式数据库(涉及全局数据库和局部数据库)管理和控制以及支持分布式事务并发和恢复。 图1 分布式数据库系统体系构造本学生管理系统采用分布式管理系统为SQL-SERVER ,稍后集中简介其分布式模型及实现。 3.数据分片与分派在实行分布式数据库系统时,必要考虑如何将数据分布在系统
33、各个场地(站点)上,也就是说如何将数据进行分片,在进行分片后又如何将它们进行分派。分片是对整个数据库中数据来说,而分派时分布式数据库在物理位置上存储。分片操作涉及水平分片、垂直分片、混合分片及诱导分片四种。在本学生管理系统中,依照学生性别将所有学生提成两某些,分别位于数据库A与数据库B(在两台不同环境上)。4. SQL-SERVER复制模型SQLSever 是管理数据库工具,它功能强大,内容丰富。同样它也支持分布式数据库运营。它采用是复制一订阅模型来管理分布式数据库。这个模型机制模仿了出版社工作方式,即将所需数据出版出来后由需要顾客进行订阅从而构成分布式数据库。该模型由下列对象构成:发布服务器
34、、分发服务器、订阅服务器、发布、项目和订阅。发布服务器是提供数据以便复制到其他服务器服务器。它用于保持源数据库,从中制作出出版数据,并将这些数据传送到分发服务器中。同出版社方式比较,发布服务器相称于出版社中出版商角色,重要出版数据。分发服务器是作为分发数据库宿主并存储历史数据和事务以及元数据服务器,是发布服务器和订阅服务器中间桥梁。它相称于是出版社工作方式中分销商。订阅服务器是接受复制数据服务器,订阅服务器通过订阅发布服务器发布来获取数据。发布是一种数据库中一种或各种项目集合。这种各种项目分组使得指定逻辑有关一组数据和数据库对象以一起复制变得更容易。项目是指定要复制数据表、数据分区或数据库对象
35、。项目可以是完整表、某几列(使用垂直筛选)、某几行(使用水平筛选)、存储过程或视图定义、存储过程执行、视图、索引视图或顾客定义函数。订阅是对数据或数据库对象复本祈求。订阅定义将接受发布和接受时间、地点。订阅同步或数据分发可以由发布服务器(强制定阅)或订阅服务器(祈求订阅)祈求。发布可以支持强制定阅和祈求订阅混合。 图2:SQL-SERVER 分布式模型在所做学生管理系统中,咱们选一台SERVER3系统电脑作为发布服务器和分发服务器,两台XP系统作为订阅服务器A与B,分别订阅男女学生信息,实现分片。 第四章 系统实现4.1 PowerBuilder开发工具简介PowerBuilder是当前开发C
36、lient/Server构造应用系统重要工具之一。PowerBuilder9.0在继承与发展此前版本先进功能基本上,为适应网络应用程序开发规定集成了Enterprise Application Studio中PowerBuilder以及Power Site功能,在老式数据库开发基本上,将Web应用更好地集成到PowerBuilder中。PowerBuilder全面支持面向对象编程。是功能强大并易于使用第4代编程语言(4GL),它内置了涉及数据窗口在内各种对象类,可以以便地访问数据库。相对于其她应用工具,PowerBuilder具备工作效率高、成本低、质量高、功能强特点。4.2 Powerbui
37、lder 9应用程序开发基本环节咱们要开发应用程序时,一方面要对它进行分析。无论哪种、哪方面应用程序,都要先建立一种应用对象。下面咱们简介如下PowerBuilder 9应用程序开发基本环节:(1)一方面要建立应用对象。(2)创立窗口。在窗口里放置各种控件和编写事件响应脚本。(3)创立菜单。窗口里菜单可涉及菜单条,下拉式菜单,级联菜单和弹出式菜单为菜单编写事件响应脚本。(4)创立顾客对象。如果想要重复使用某个控件功能,可以把窗口上经常放置控件定义为顾客对象。(5)创立数据窗口。数据窗口可以检索数据库中数据,可以建立各种报或登记表,可以修改数据库。(6)创立函数、构造、事件。为了可以更好地支持脚
38、本,编写自定义函数,定义构造类型变量,也可觉得对象和控件定义自己事件。(7)运营与调试。可以在开发环境中随时运营应用程序,发现错误后,可以用调试工具进行调试。(8)当应用程序开发完毕后,可以把它编译成可执行文献,让顾客比较容易地建立应用系统运营环境。4.3 编码规范 为了减少在软件开发过程中错误,在软件开发过程中应当遵守一定原则。给对象命名要有一定规范,部件名称可以达到40个字符,窗口命名:W_功能代码_功能描述。数据窗口命名:DW_功能代码_功能描述。菜单命名:M_功能代码_功能描述。标记符命名时,应当使标记符有一定字面含义,有助于程序调试和脚本可读性提高。本系统中使用命名规范为:变量作用域
39、+变量类型+”_”+具备一定字面含义名称。例如:li_selectrow反映出含义:”l”代表是本地变量,是local缩写,”i”代表是integer类型变量,selectrow表达该变量是用来记录一种行号计数器。4.4 应用程序对象 App_mapbex功能简介:PB程序由一种应用程序开始,即每个PB程序在开始运营时,先执行应用程序对象Open事件。在Open事件中连接数据库,并打开登陆窗口win11。代码分析:/ Profile xxb_sqlSQLCA.DBMS = MSS Microsoft SQL ServerSQLCA.Database = xxb1SQLCA.LogPass =
40、SQLCA.ServerName = .SQLCA.LogId = saSQLCA.AutoCommit = FalseSQLCA.DBParm = connect using sqlca;open(win11)4.5详细窗口实现(1)登录窗口 win11 功能简介:本窗口重要是检查操作员输入顾客名及密码与否对的,如果对的,容许登录。如果错误,显示出错误提示。操作办法:填写“顾客名”与“密码”后,按钮进行验证,点击“退出”退出。代码分析: string s1,s2select b2.yhm,b2.mminto:s1,:s2from b2where b2.yhm=:sle_1.text;if s
41、qlca.sqlcode=100 thenmessagebox(提示信息,顾客不存在,请重新登录!)sle_1.text=sle_2.text=elseif s2sle_2.text thenmessagebox(提示信息,密码不对的,请重新登录!)sle_2.text=elseopen(win1)close(win11)end if(2) 主窗口w_main功能简介:本窗口作为菜单及其她子窗口父窗口。窗口设立;本窗口为父窗口,它WindowType为main!,WindowState为maximized!,表达窗口在运营时是最大化风格。(3) 菜单dwin1 功能简介:打开各功能窗口操作办法
42、:点击菜单项相应菜单,状态栏可显示协助信息。代码分析:每个相应菜单项clicked事件都使用opens办法来打开相应功能窗口,如“学生添加”菜单项下 clicked事件解决代码为: open(w_stu)详细功能由相应窗口内功能按钮clicked()办法实现。(4)学生添加窗口 w_stu功能简介:增长学生基本信息。操作办法:添加学生基本信息:点击“拟定”按钮,添加学生信息。代码分析:long ll_id,ll_idate ld_birthdaystring ls_name,ls_nation,ls_sex,ls_home,ls_tel,ls_party/数据格式检查if sle_id.tex
43、t= OR isNull(sle_id.text) thenmessagebox(缺少数据,请输入学号)sle_id.setfocus() returnelseif sle_name.text= OR isNull(sle_name.text) then messagebox(缺少数据,请输入学生姓名) sle_name.setfocus() return end if if sle_birthday.text AND not isNull(sle_birthday) then if isDate(sle_birthday.text) then ld_birthday=date(sle_bir
44、thday.text) else messagebox(输入数据错误,请使用“年-月-日”日期格式) sle_birthday.setfocus() return end if end if ll_id=long(sle_id.text) /取出党团员选取if rb_1.checked=true then ls_party=rb_1.text elseif rb_2.checked=true then ls_party=rb_2.textelse ls_party=rb_3.textend if/取出性别选取if rb_man.checked=true then ls_sex=rb_man.text elseif rb_woman.checked=true then ls_sex=rb_woman.textend if/由民族ddlb,取出民族选取if ddlb_nation.text=n