




已阅读5页,还剩52页未读, 继续免费阅读
(控制理论与控制工程专业论文)基于web的高校就业管理信息系统的开发与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
iii 摘 要 随着信息化时代的到来高校毕业生就业难度加大单位需求更新迅速这对 高校就业信息管理提出了更高要求如何准确实时地让学生获得单位招聘信息让 更多单位获得学生准确的基本情况和求职信息从而使单位和学生各取所需提高 高校就业率和单位招聘效率成为高校就业管理机构迫切需要解决的课题 基于上述目的本文较系统地研究了在 web 环境下的高校就业管理信息系统 主要内容包括 (1)采用 b/s 与 c/s 相结合的体系结构这样的体系结构能充分发挥 b/s 与 c/s 结构各自的优点弥补了二者的缺陷是当前技术背景下 web mis 开发 中切实可行的解决方案(2)针对 b/s 结构下的应用程序的特点应用面向对象方法 对系统建模这是因为面向对象方法使得系统分析设计编码过程表述方法统一 实现无缝链接(3)网上用户验证是在应用层实现系统安全性的重要手段通过网上 用户验证加强系统的安全性 (4) 在信息发布和信息传递的功能中 采用 xml 技术 xml 文档为基于 web 的应用提供了一个描述数据和交换数据的有效手段 它把数据 从表示和处理中分离出来能够无缝集成众多来源的数据xml 文档成为不同源数 据之间的纽带使得数据的可重用性大大提高方便地在不同的平台下共享(5) 系 统设计中采用基于 iisasp 和 sql server 的开发技术因为在多种开发基于 web 的应用技术中iis+asp+sql server 组合更适合中小型事业和企业具有良好性价 比本系统已投入使用并取得较好的效果 关键词: web 技术面向对象建模b/s 体系结构c/s 体系结构rational rose xml iv abstract with the arrival of information era, as the difficulties in employment of university graduates increase and the demands of enterprises change rapidly, the management of employment information is required more. in order to make enterprises and graduates get what they want and increase the employment rate of university, how to make graduates get recruit information accurately and timely, and enterprises achieve more accurate base condition and job-hunting information is an urgent problem needed to be solved by employment management organizations of universities. in order to solve problems mentioned above, this paper discussed the main aspects of the employment information management system of university based on web technology that include:(1) on present technology background, applying the system architecture combining c/s mode and b/s mode to reflect their advantages and compensate shortages are practical and feasible scheme which can solve problem in development of web mis; (2) applying the object-oriented modeling technology to the b/s system. because it can make analyzing, design and coding process integrated in expressing mean , and join with each other wonderfully; (3) applying the authentication of user to enhance the system security, because it is an important mean of achieving system security in applying layer; (4) applying xml technology to distribution and exchange of web information. because xml document provides an effective method in data describing and data exchange, separates data from express and process, and make a lot of different data resources became seamless integration, xml document became the bridge linking different data resources, which increases repetition use rate of data and sharing in different platform conveniently; (5) applying development technology of iis, asp and sql server. because in many different development of applied technology on web based, the unity of iis asp and sql server are suitable to middle and little enterprises and v institutes, and has good architect of function and price. the system is being used, and has a good performance. keywords: web technology, object-oriented modeling, b/s architecture, c/s architecture, rational rose, xml ii 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研 究成果尽我所知除文中已经标明引用的内容外本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果对本文的研究做出贡献的个人和集体均已在 文 中 以 明 确 方 式 标 明本 人 完 全 意 识 到 本 声 明 的 法 律 结 果 由 本 人 承 担 学位论文作者签名 日期 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留使用学位论文的规定即学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版允许论文被查阅和借阅 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索可以采用影印缩印或扫描等复制手段保存和汇编本学位论文 保密 在_ _ _ _ _ 年解密后适用本授权书 本论文属于 不保密 请在以上方框内打 学位论文作者签名 指导教师签名 日期 年 月 日 日期 年 月 日 1 1 前言 1.1 基于web的管理信息系统 自从计算机的应用从数值计算向业务处理方面发展管理信息系统就逐渐成为 计算机技术应用的重要领域随着计算机和网络技术以及数据库技术的迅速发展 管理信息系统己经从单机系统发展到基于网络的分布式结构同时管理信息系统 的 体 系 结 构 经 历 了 从 终 端 / 主 机 结 构(terminal/mainframe)到 客 户 机 / 服务器 (client/server)结构从客户机/服务器(client/server)结构到浏览器/服务器结构 (browse/server)的两次变迁 所谓基于web的管理信息系统web mis是一种主要由web的html文档组 成的系统它由html来组织信息包括文字表格图象等多媒体信息这些信息 的组合构成web的一个页面通过超文本传输协议http在web服务器和浏览器之间 传送html页面 从而实现信息的交换1web mis以浏览器(browser)作为用户界面 通过它向网络上的某一具有应用程序扩展功能的web服务器提出服务请示 web服务 器首先要执行相应的扩展应用程序与数据库进行连接通过sql等方式向数据库服 务器提出数据处理申请而后等数据库服务器端将数据处理的结果提交web服务器 再由web服务器把格式化成html文档的结果页面送回客户端 web mis基本结构如图1.1所示 图1.1 web mis的基本结构示意图 w e b 服务器 浏览器 c l i e n t 数据库 服务器 页面请求 页面返回 数据请求 数据返回 http 连接 局域网连接 2 1.2 基于web的管理信息系统的体系结构 由图1.1可看出基于web的应用的基础模式是三层的b/s (browse/server)结构 即浏览器web服务器数据库服务器(b-w-dbrowse-web server-data server) b/s在本质上也是一种client/server结构它是由传统的二层client/server结构发展 而来的三层client/server结构在web上的应用理论上任何一个应用系统从简单 的单机系统到复杂的网络系统都由三部分组成显示逻辑部份(演示层)事务处理 逻辑部分(功能层)和数据处理部份(数据层)演示层的功能是实现与用户的交互也 就是输入输出功能层的功能是进行具体的运算和数据的处理数据层的功能是实 现对数据库中的数据进行查询修改更新等任务2传统的client/server二层结构 中显示逻辑和事务处理逻辑部分均被放在客户端三层的b/s体系结构则是把传统 的client/server二层结构在客户机一侧的应用程序模块与显示功能分开将它放到 web服务器上单独组成一层客户机上只需安装单一的浏览器事实上b/s结构中 的功能层也可以是多层因为服务器由通用走向了专用出现了专干某一类事情的 服务器如通信服务器oa(office automation)服务器应用服务器安全认证服务 器等这是系统的逻辑结构而物理上可以一个服务器放一台计算机或几个服务 器以至所有的服务器用同一台计算机 1.3 基于web的管理信息系统的特点 基于web的应用在短短几年内受到欢迎并且迅速地推广越来越多的传统的管 理信息系统在向web平台移植原因有很多方面具体来说基于web的管理信息系 统有以下特点3 由于web支持底层的tcp/ip协议使基于web的系统具备开放性解决了异构 系统间的无缝连接 使用浏览器作为统一的用户界面解决了c/s结构中客户端程序的异构性和跨 平台性 应用程序的开发周期大大缩短开发费用降低这主要是由于以浏览器作为 客户端不再负责数据库的存取和复杂的数据计算任务只需要进行显示大大降 3 低了对客户端的要求降低了投资和使用成本而开发浏览器客户端界面比起c/s结 构下的客户端界面要容易快捷 易于维护和升级由于客户端无需专用的软件维护人员不再为程序的维护 工作奔波于每个客户机之间当系统升级时只需更新服务器端的软件 用户操作简便用户界面是统一的浏览器界面用户无需培训就可以迅速使 用 因为基于internet的web技术更适合于网上发布信息拓展了传统的c/s结构 下的功能适应internet时代的需要 1.4 开发基于web的高校就业管理信息系统 基于web的高校就业管理信息系统的开发是为满足校就业办公室以及校就业 办公室下属多个系就业办公室对学生就业日常业务进行科学规范化管理的需要 用工单位和高校求职学生地理上分散系就业办公室的日常业务包括用工求职信 息的采集发布查询单位学生用工求职需求的匹配校就业办公室除具备 以上业务外还负责对所有信息进行统一存储和管理做到校就业办公室和所有系 就业办公室信息共享另外兄弟单位之间还有合作关系会发生求职用工信息的 传递与交换可以看出基于web的高校就业管理信息系统包括信息的采集与 发布以及信息的传递与交换也包括数据的存贮与管理等功能 internet的出现为计算机的应用提供了更为广阔的舞台web技术的迅速丰富和 发展为基于web的应用带来越来越多的选择机遇与挑战并存在新的技术背景下 许多问题也很快提出在web mis的开发过程中我们应该考虑 b/s结构在复杂的业务处理方面如果不能很好的胜任如何加以改进 在众多的不断发展的web技术中采取何种技术实现自己的系统 如何在b/s结构中灵活应用己经成熟的c/s结构下的分析设计技术 本文将通过对基于web的高校就业管理信息系统从分析设计到实现整个 开发过程的分析和论述就web mis设计和开发中所面临的诸多问题给出合理的 解决方案 4 2 关系数据库及其运作剖析 本章主要讨论关系数据库的关系模型和数据库管理等数据库实现方法对通过 这些分析将有助于数据库应用系统的设计 2.1 关系数据库的关系模型 关系数据库从普通意义上讲是由诸多的二维表构成的而且表本身的结构及 表与表之间的联系均由单一的结构类型即关系来表示关系的定义是域与域之间 实体与实体之间的联系直观地我们知道关系就是表与表之间对某些字段共享的 现象 这些字段是表与表之间信息贯通的纽带6从而也可以比作为使整个数据库信 息四通八达的路标可见数据库的数据结构非常单一就是关系但却能保证信 息的完全沟通性并且可以是多途径的那么关系数据库的结构单一是否就意味 着关系数据库操作的复杂或是繁琐呢事实上在关系数据库的关系操作能力的探 索过程中已经历了从复杂到简单从低效到高效的过程 关系数据库在二十世纪六十年代就已具备了一定的理论基础相应的关系操作 语言也相继出现既有文章的讨论也有实际应用于关系数据库系统中如quel语 言alpha语言qbe语言query by example,1975sql语言1975其中 quel语言qbe语言sql语言都在具体的系统中实现了数据库操作他们都有一 个共同的特点就是语言的非过程化这样用户不必了解数据的存取路径不必知 道怎么干只须清楚干什么因此易学易用尤其是sql语言功能丰富 使用方式灵活语言简洁易学等特点在计算机工业界和计算机用户中倍受青睐 因而在1986年被iso定为关系数据库的国际标准 成为当今关系型数据库系统的通用 语言 至此在关系结构和sql语言的基础上一个起码意义上的关系数据库系统就 已经构成了或者说关系数据库理论中的两个模型数据结构关系关系操作 sql语言均以满足这是遵循了信息准则即所有信息都应在逻辑一级上用一种方 法表示表访问准则依据表的各属性如表名字段索引等以逻辑方式 5 访问关系数据库的每个数据信息8满足了这两项基本准则 那么所设计的数据库就 能构成一个基本完备的关系系统 也就是基于以上考虑在设计数据库结构时不必要求自己一次性将数据库设 计完备在具备了一定的基本数据表基础上就可以开始关系型数据库的基本设计 在工作进行中就可根据需要增删改表建立索引视图等使系统不断充实并 能前后衔接不影响以前的工作从而使数据库的开发易于修改和扩充这即为本 文作者在数据库设计思路上选择数据库建设与数据库应用代码设计并举的基础 如前所述关系模型数据库系统的最基本的两个特征是关系结构和关系运算它 们还处于概念的层次在即将着手数据库系统工程时必须全面考虑数据的完备 即数据的完整性其重要性将随着系统管理规模的增大而更显重要 数据完整性即要求数据库中信息完整齐备9 对于表字段种类尽量充分不要重复也不要间接重复否则会造成信息 冗余 对于基准表基准码等具有规范性质的表要求其字段的数据信息必须完整 对于表与表之间相关联的字段要求类型一致信息一致或者一方包含另 一方 若能较好地满足数据库关系模型的这三个方面关系数据结构关系操作数 据库完整性那么这个关系数据库系统就具备了基本上的使用价值 以上所讨论的是关系数据库的构架问题而本文的最终要求是建立一个实用的 基于web的数据库应用系统因此本文还将涉及到sql server数据库管理系统安 全管理sql语言等 2. 2 sql语言及其优化 2. 2. 1 sql语言 sql (structured query language)语言是关系数据库的标准语言它是在1974年 由boyce和chamberlin提出的最早在ibm研制的关系数据库管理系统system r中实 现1987年iso接受它作为标准之后又不断完善和修改这一标准目前使用的标准 6 为1992年推出的sql-92标准由于sql语言结构简洁功能强大简单易学因而 倍受用户及计算机工业界欢迎如今无论是像oracle , sybase, informix, sql server这 些大型的数据库管理系统还是像visual foxporopower builder这些微机上常用的 数据库开发系统都支持sql语言作为查询语言在未来一段相当长的时间里sql 将成为数据库语言领域中的一个流行语言 sql是一种介于关系代数与关系演算之间的结构查询语言按功能可以分为三 部分10 数据定义语言(ddl, data definition language)用来定义关系数据库的模式 外模式和内模式以及对基本表视图以及索引文件的定义修改和删除等操作 数据操纵语言(dml, data manipulation language)用来实现数据操纵功能 包括数据的查询和更新 数据控制语言(dcl, data control language)用来实现数据的安全性和完整性 控制 从这里可以看到sql语言集数据查询数据操纵数据定义和数据控制功能于 一体sql之所以被广泛的接受是因为它除了具有一般关系数据语言的特点之外 还具有以下三个特点11 sql具有自含式和嵌入式两种形式自含式sql能够独立地进行联机交互用 户只需直接输入sql命令就可以对数据进行操作 嵌入式sql能够嵌入到高级语言程 序中来实现对数据库的数据存取操作以方便程序设计两种不同方式下的sql语 法结构基本一致 sql具有语言简洁易学易用的特点sql语言功能强大又有两种使用方式 但语言十分简洁 sql支持三级模式结构 sql语言可以支持关系数据库中从内模式到外模式的 三级模式的定义和操作 本系统中采用的dbms为sql server支持标准sql并将标准sql扩展成为了更 加实用的transact-sqltransact-sql不仅包含了数据定义语言数据操纵语言和数 据控制语言同时还包含了程序控制语言功能非常强大 7 2.2.2 sql server中查询优化器剖析 sqi查询语句是数据库开发的一部分是用户与数据库之间的联系纽带用户对 数据库的操作都是通过sql语言来实现的但是对同一查询过程可以有多种形式 的sql的语句表达方法由于形式的不同引起查询响应的时间也会不同除了本 文后面将要讨论的合理的范式之外一个好的数据库设计就是要具有快速查询响应 速度特别对客户/服务器形式的数据库开发查询速度的快慢直接影响着数据库的 推广和应用针对sql语句的优化sql server数据库提供了一个查询优化器来优化 要执行的sql语句以下简要分析sql server的查询优化器 对于任何给定的sql语句sql server查询优化器分析所有可生成结果集的方 式并找出最合适的查询方案其优化器是基于开销(cost-based)的以cpu使用磁 盘i/o作为度量方式优化器为每个可能的执行规划赋予一个开销值然后优化器选 择一个开销位最小的执行规划10查询优化的过程比较复杂它基于反复的开销模 型和数据访问算法 一查询优化步骤 sql server处理查询时按以下步骤执行 阶段一查询分析 1. 寻找查询参数 2. 寻找or(或)子句 3. 寻找join(连接)操作 阶段二索引选择 4. 为查询参数选择最好的索引 5. 选择最好的or运算方法 6. 为每个join子句选择最好的索引 7. 为每个表选择最好的索引 阶段三连接顺序的选择 8. 检查连接顺序 9. 计算开销 8 10. 评估分解连接的其他服务器选项(重定策略) 阶段四方案选择 如查询只是单表查询不包含连接子句则查询优化器跳过阶段三而直接跳到 阶段四 二查询优化浅析 确定查询参数查询参数被定义成where子句把某列和一个常数进行比较 它的存在使优化器能够限制搜索到的满足查询的行数其基本目标是用索引来匹配 一个查询参数从而避免表扫描 or子句or子句是用or而不是用and组合而成的查询参数它的处理方式有别 于标准的查询参数or子句既可以用表扫描处理也可以用or策略处理or策略实质 上是将查询分为两个或更多的部分用有效的索引运行每一部分并得到匹配行的 id(行号)在这些行id中执行union对行进行排序以删除重复行最后把行id作为 动态索引从基本表中放到结果集 in, any或exists子查询查询优化器将该子查询展开成存在连接除非主查询 有or子句或子查询与一个或多个聚合函数相关或者子查询包含这些聚合函数存 在连接与常规连接优化方法基本相同 具体化子查询如果外层查询用比较操作符将子查询结果与某列进行比较 而且子查询不是相关子查询则在和外层表的列比较之前子查询的结果必须先具体 化对于这种类型的查询优化器必须从内向外执行 相关子查询 相关子查询指在连接子句中 包含有对外层表的引用 sql server 采用由里向外的顺序处理相关子查询并使用一个中间工作表来保存子查询结果 索引选择就是用有效的索引去匹配查询参数or子句和连接子句并估计i/o 开销 索引i/o的开销之间相互比较并和表扫描开销比较以确定最少开销的访问途径 如果找不到有效的索引来匹配它们则不得不采用表扫描方式 确定连接顺序连接是以一系列嵌套循环的方式执行的对于外层表中的每 个匹配行而一言都要在内层表中执行嵌套重复以找出针对外层行的所有匹配行 对于外层表的每一行此过程都要重复一次由于sql server查询优化器是一种基于 9 开销的优化器所以from子句中的表的顺序并不表明表的连接顺序在处理连接时 优化器将检验所有合理的连接排列顺序并且估计总的i/o开销 其中i/o开销最低的方 案将是被选择的方案 2. 2. 3 sql优化的注意事项 由于sql server使用了查询优化器 这样就将数据库管理员和开发人员从选择数 据查询的具体方法中解脱出来但是要使数据库以更好的性能运行还有一些需要 注意的地方列举如下12 1. 索引的应用 除主键应建立索引外在外键以及其他经常作为搜索的列上创建索引必要的 索引对提高查询速度很重要虽然索引在提高查询速度的同时减慢了数据添加 更新和删除的速度但考虑到数据查询的频率远大于数据更新的频率因此索引 是数据库设计中常用的手段 2. 视图的应用 视图在定义数据库外模式时很常用它是为了用户查询方便或根据数据安全的 需要而建立的虚表但在应用时最好避免在视图之上建立视图特别对于包含许多 连接的视图 3. 使用有效的查询参数 如前所述查询优化器用查询参数来缩小评估的结果集的范围查找参数以 where子句形式出现它使一个列与一个常量比较例如 selelt columnl from tablel where columnl = 123 查询优化器使用查询参数来检查索引产生结果集避免全表扫描但是下面 的sql语句包含的就不是有效的搜索参数 select columnl from tahlel where coulumnl/10 = 123 1 0 在该语句中查询优化器直到运行时才能知道查找值因此优化器就必须作一 次全表扫描来找出结果一般来说要保证列名位于谓词的左面查找条件位于右边 另外避免使用一些影响查询速度的查询参数形式如在查询参数中使用!=或not in 等 4. 避免数据类型不匹配 查询语句中一个常见问题是数据类型不匹配如果要连接表的不同数据类型的 列查询优化器就无法使用有效的索引来计算连接因为sql server必须完成所有的 值转换这样就导致了表扫描在数据库内维持良好的数据类型的一致性是避免此 类情况发生的有效方法 5. 触发器 如果在记录的插入更新和删除语句中使用了触发器也可能引起问题因为 往往触发器需要调整而造成查询速度降低此外一个触发器可能触发另一个触发 器所以在运用触发器时应在保持数据一致性和查询效率之间进行折中考虑 2.3 sql server数据库及其安全性探讨 在本系统开发中选择sql server作为客户端/服务器方式的后端数据库平台 sql server是microsoft公司推出的功能强大的关系型网络数据库管理系统工作于 windows nt及windows 2000平台之上是backoffice和windows dna(distributed internet application)架构下的服务器应用系统之一sql server具有分布式数据库和 数据仓库功能支持客户机/服务器结构并能够进行分布式事务处理和联机分析处 理sql server具有可伸缩性可管理从小型至大型的各种规模的数据库这使得它 成为能适应任何规模组织需求的数据库管理系统同时sql server具有强大的数据 库管理功能它提供了丰富的管理工具以支持数据的安全性管理完整性管理和作 业管理sql server还具有强大的网络功能支持发布web页面和接收电子邮件在 基于c/s和b/s的应用系统中用户及其权限具有多样性可能会有未经授权的用户非 法访问系统数据甚至破坏数据也可能会有授权用户访问权限以外的数据另外 当多个用户同时并发访问数据库中相同数据时有可能造成结果不正确或数据不一 1 1 致这就使得数据库安全技术显得非常重要sql server具有一套系统而完整的安全 保护机制用来保障数据的安全和完整性13 2.3.1 sql server数据库的对象 数据库对象是数据库的逻辑文件 sql server的数据库对象包括表 视图 角色 索引数据类型缺省值存储过程触发器和约束等下面是几种重要的数据库 对象12 (1) 表和视图 表是在数据库中存放的实际关系视图是为了用户查询方便或根据数据安全的 需要而建立的虚表视图既可以是一个表中数据的子集也可以由多个表连接而成 (2) 角色 角色是sql server数据库安全方面很重要的一个概念 它由一个或多个用户组成 的单元也称为职能组角色是针对数据库而言的一个数据库可以定义多个角色 并可以对各个角色定义不同的使用权限一个用户可以成为多个角色中的成员 (3) 索引 索引是用来加速数据访问和保证表的实体完整性的数据库对象 sql server中的 索引分簇索引和非簇索引两种簇索引会使表的物理顺序与索引一致一个表只能 有一个簇索引非簇索引与表的物理顺序无关一个表可以有多个非簇索引 (4) 存储过程 存储过程是通过sql编写的程序存储过程包括系统存储过程和用户存储过程 系统存储过程是由sql server提供的用户存储过程是用户编写的它可以自动执行 过程中安排的任务在c/s结构中充分利用存储过程可使计算集中在高性能的服务 器上进行从而减少网络通信量避免网络瓶颈并对客户端进行瘦身 (5) 触发器 触发器是一种特殊类型的存储过程当表中发生如记录的插入更新删除等 特殊事件时执行触发器主要用于保证数据的完整性 (6) 约束 约束规则用于加强数据完整性sql server的基本表可以定义5类约束即 1 2 primary key(主码约束)foreign key(外码约束)unique(唯一性约束), check(条件约 束)和not null(非空值约束) 2.3.2 身份验证和授权机制 sql server采用登录名与数据库用户相结合的身份验证和授权机制 即用户登录 级数据库用户级和数据库对象级 用户登录级要求用户首先使用有效的登录名和口令向sql server登录系统进行 验证通过验证的用户与sql server相连进入系统sql server支持两种模式第一 种是nt验证模式(windows nt only)在这种验证模式登录下sql server检测当前 使用的windows nt用户帐户并在syslogins系统表中查找该帐户以确定该帐户是 否有权限登录在这种方式下用户不必提供密码或登录名让sql server验证另一 种是混合验证模式(sql server and windows nt)这种模式允许以sql server验证方 式或nt验证方式来进行连接使用哪种方式取决于在最初的通信时使用的是哪个 网络库13例如一个用户使用tcp/ip sockets进行登录验证他将使用sql server 验证模式但是如果使用命名管道登录验证将使用nt验证模式sql server登 录验证模式如图2.1所示 图2.1 sql server登录验证模式 数据库的用户级进行数据库的授权与回收控制用户是属于特定的数据库的 每个数据库的用户都能够对本数据库进行查询和操作数据库用户与登录标识相关 联一个应用程序使用登录标识向sql server登录成功后能否对某个数据库进行操 windows nt 组或用户 sql server 登录帐号 sql server sql server 验证口令 windows nt 验证口令 windows nt 1 3 作由该数据库中是否有相应的数据库用户来决定如果该数据库中没有与该登录 标识对应的数据库用户则该登录标识与数据库中的guest用户对应若该数据库中 没有guest用户则不能对数据库进行任何操作guest是sql server数据库中一个特 殊的用户它使得没有映射用户的登录标识能够访问sql server在安装sql server 时guest用户同时被安装在master和tempdb数据库中而其他数据库中没有guest用 户在任何数据库中一旦建立了guest用户则可以使任何登录到服务器的用户有权 访问该数据库因此不要在重要的数据库中随便建立guest用户 数据库对象级可根据用户类型进行数据库的表视图等对象的授权与回收控制 用户类型分为四类系统管理员他拥有数据库的所有权限可对数据库作任何操 作用户数据库的所有者他拥有他创建的数据库的所有操作权限并可将权限授予 其他用户或收回数据库对象所有者他拥有他创建的数据库对象的所有操作权限 并可将其授予其他用户或收回一般数据库用户他只能通过其他用户权限操作授 权的对象在权限管理方面sql server引入了角色的概念对于具有相同权限的用 户可以创建一个角色并对其赋予权限然后将这些用户添加到该角色中使它们成 为这个角色的成员若要改变这些用户的权限只需对角色的权限进行设置不必 对每一个用户进行权限设置若要赋予某一用户一定的权限只需将这一用户加入 相应的角色中使之成为角色的一个成员即可在系统的每个数据库中都定义了许多 不同的固定角色每个用户可以属于多个不同的角色从而拥有不同的权限16 17 18 19 2.3.3 完整性机制 数据的完整性是要保证存储在数据库中的数据的一致性和正确性sql server 采用数据完整性约束机制来检查数据库中的数据是否满足语义的规定从而实现数 据的正确性和相容性防止不合理数据造成无效操作和错误结果从而维护数据库 的完整性这种约束是加在数据库的表的定义上而不用额外书写代码因而具有 代价小性能高的优点 (1) 实体完整性 实体完整性是要保证每个记录能被称作主关键字属性的唯一识别实体完整性 1 4 的规则要求关系的主属性非空 即在实际的关系库中 建表时用primary key子句 定义主码列sql server在用户程序每次对主码进行插入删除修改等更新操作时 进行完整性检查若此操作使主属性列为空值(null)或使主码值在表中不唯 一则拒绝此操作 (2) 域完整性 域完整性保证列上的有效取值范围它通过限制数据的类型值的范围和数据 的格式来实施 (3) 参照完整性 参照完整性保证所有外键的值匹配对应主关键字的值在实际系统中若存在 参照关系r1与依赖关系r2r2包含外码fk且与r1的主码pk相对应则r2中每个元 组在fk上的取值要么为空要么等于ri中主码的某个值在修改参照关系时有几 种情况修改参照关系中的主码值同时用相同的方法修改依赖关系中相应的外码 值拒绝此修改操作只有当依赖关系中没有任何元组的外码等于参照关系中某个 元组的主码值时这个元组的主码值才能修改修改参照关系中的主码值同时将 依赖关系中的外码值置为空值 (4) 自定义完整性 自定义完整性引用一套由用户制定的规则提供了定义与应用系统有关的完整 性约束方法如要求某一列的值不能取空某一列的值在表中唯一某一列的值要 在某一范围中等 2.3.4 采用视图触发器和存储过程的应用 (1) 采用视图进行信息隔离保护 前面己经介绍视图是虚表是由一个或多个表中的行和列组成的子集是从 一个或多个表派生数据的对象视图通过限制访问表的特定行和特定列来保证数据 的安全实现行级或列级的安全性基于视图的信息隔离保护机制通过授予用户操 作视图的权限可以防止用户对基表的操作不同的用户对于数据库具有不同的权 限一个用户在执行某种任务时他得到的权限只能使他看到完成此任务所应看到 的数据库的部分其他信息对它来说是隐蔽的即某一用户在某一时刻执行某一任 1 5 务时只能通过数据库的一个视图来访问数据库它对数据库的权限通过它对这个 视图所拥有的权限来反映系统中的操作关系是一种用户视图的关系15在 引入角色的概念后这种关系是一种角色视图的关系16 (2) 建立触发器来维护数据的完整性 触发器是数据库内部提供的一个机制它能够实施一个商务规则它将商务规 则存于数据库中在对数据库每次更新时以保证数据的一致性这使得存取数据库 的应用程序的复杂性大大降低当对数据库表进行插入更新和删除操作时触发 器自动触发执行产生一系列的操作或回退那些破坏数据库完整性的操作触发器 可以包含非常复杂的程序设计逻辑这使得它能提供约束规则和缺省的功能尤 其当约束不能满足应用程序的要求时例如需要修改嵌套于另一个表里的表或者 需要验证基于另一个表上列值的有效性这些都不能用约束处理这时可以利用触 发器来实现对于导致数据库内容发生变化的任何事件触发器都自动触发执行产 生相关动作动态地修改其他相关表中的数据从而实现数据库中数据的动态修改 在具体的数据库应用系统中可做如下处理14 建立主表的insert, update触发器一旦向主表插入或更新记录与主表相关联 的表也相应地进行插入或更新操作 建立相关表的级联式delete触发器一旦删除其中的某一条或某几条记录时 将触发执行删除主表相应的记录 在触发器中增加检验用户身份和权限的机制防止非法用户的破坏性操作 主要利用系统函数suser_ username()和user_ username()得到当前登录的用户名和数据 库的用户名以及系统表sysprotects中的action字段值action字段的不同的值代表不同 的权限 (3) 存储过程的使用 在数据库应用系统中存储过程不仅可用来完成应用系统的逻辑处理提高应 用程序的运行性能而且也可用于保证数据的安全性与完整性存储过程可用来保 护基本表的数据为了禁止用户直接更改基本表可通过存储过程来更改基表然 后授予用户具有执行该存储过程的权力这就限制了用户对基表的不当操作从而 1 6 保证了数据的安全 存储过程定义为触发器触发后的动作使触发器获得了最强大的功能触发器触 发后调用一个存储过程将参数从触发器传递到存储过程然后在存储过程中完成 对数据库的操作存储过程与触发器技术的结合是加强数据完整性的保证 1 7 3 基于web的系统总体设计 通常意义下的web mis是完全基于b/s模式的而本文中的基于web的高校就业 管理信息系统的体系结构却是b/s和c/s的结合本章给出在这种交叉体系结构下总 体设计方案 3.1 b/s体系结构的不足 相对c/s结构而言b/s结构是一次深刻的革命但是b/s结构克服了c/s结构 的客户端负担重移植困难升级麻烦系统维护复杂用户界面风格不统一使用 繁杂等缺点的同时也暴露了不足之处21 (1) 由于浏览器只是为了进行web页面的浏览而设计的当其应用于web管理信 息系统时许多功能不能实现或实现起来比较困难比如通过浏览器进行大量的 数据录入或进行报表应答都是非常困难和不便的 (2) 复杂应用构造困难.虽然可以用activex, java等技术开发较为复杂的应用但 是相对于发展己经非常成熟的c/s的一系列应用工具来说这些技术相对复杂对于 某些应用还没有完全成熟的技术供使用 (3) http可靠性有可能造成应用故障特别对于管理者来说采用浏览器方式 进行系统的维护是非常不安全与不方便的 (4) web server成为database的唯一的客户端 所有对数据库的连接都通过该服务 器实现web服务器同时要处理与客户请求及数据库服务器的连接当访问量大时 sever负载可能过重 3.2 b/s与c/s相结合的体系结构 事实上无论是今天还是以后绝不会有任何单一的技术能够解决应用中的一 切问题在一个mis系统中我们可以发现有些功能适于采用c/s模式而有些功能 适合采用b/s模式综合二者的优点将c/s模式和b/s模式结合使用不失为目前一种 较好的方案在两种模式并用的系统中首先把系统功能进行划分分别按两种不 1 8 同的模式来实现系统功能 而两种模式访问同一个数据库 以此合并成一套mis系统 采用c/s和b/s相结合的体系结构可扬长避短对系统功能的划分应该根据两种 模式的特点以及具体应用中的需要在系统分析阶段进行划分 一般可以从以下几个不同的角度进行考虑23 地理位置 使用者地理位置变化大的采用b/s结构 使用者相对集中的采用c/s 结构 通常情况下 信息发布功能的使用者就是地理位置变化大 适合采用b/s结构 专用性交互性专用性交互性强的采用c/s结构比如象系统维护数据 更新和报表功能c/s结构方便构造非常复杂的应用介面友好易于操作可以很 好满足系统这方面的需求 安全性因为c/s结构运行于局域网系统具有封闭性安全性好于开放灵 活的b/s结构所以对安全性有特别要求的可以考虑使用c/s结构不过对安全性 的要求和安全性本身是相对的设计良好的b/s结构也可以构造安全性良好的应用 3.3 基于web的系统的总体设计 基于web的高校就业管理信息系统采用了b/s与c/s相结合的体系结构依据上 一节提出的原则对基于web的高校就业管理信息系统的功能进行c/s和b/s两种模 式下的划分本系统的功能框图见图3.1详细分析见第四章 本系统中系统设置和维护以及统计报表生成这两个模块仅是校就 业办公室系统管理人员使用而对安全性和交互性的要求较高处理的数据量大 适合c/s模式 由于其它五个功能模块( 单位学生信息录入单位学生信息发布 与其它系统的信息传递按条件查询浏览信息单位学生需求匹配)的 处理分散使用部门地理位置上变化大虽然对安全性也有一定要求但权衡利弊 适合b/s模式安全性可以通过相关手段予以强化 1 9 图3.1 基于web的高校就业管理信息系统功能 基于web的高校就业管理信息系统总体结构示意图如图3.2所示 图3.2 基于web的高校就业管理信息系统的总体结构示意图 如图3.2所示各系就业办公室校就业办公室的求职就业窗口以及有信息传 递要求的其它部门的浏览器和web服务器构成了基本的web mis系统 具备灵活性和 开放性用户可通过此系统录入信息传递信息查询信息发布信息而在校就 业办公室的局域网范围内在现有web mis的基础上增加基于c/s模式的数据维护 和管理功能软件充分利用c/s结构所具有的强壮的数据操纵和事务处理能力以及 基于 w e b 的高校就业信息管理系统 单位学生信息录入 单位学生信息发布 与其它系统的信息传递 按条件查询浏览信息 单位学生需求匹配 统计报表生成 c / s c / s w e b浏 览器 w e b浏 览器 w e b浏 览器 web 服 务器 数据库 连接 数据库 连接 数据库 服务器 校就业办公室 系就业办公室 有信息传递的其它部门 系统管理员 internet/ intranet 2 0 对数据的完整性管理 c/s模式下的mis开发工具和开发技术己经很成熟和得到广泛应用并在本系统 中获得成功应用 2 1 4 基于web的系统建模 本文运用面向对象技术分析基于web的应用系统的特点结合高校就业管理 信息系统的实际建立基于web的高校就业管理信息系统的ooobject-oriented 模型 4.1基于web的系统建模的基本策略 4.1.1 面向对象建模 众所周知在解决问题之前必须首先理解所要解决的问题对问题理解得越透 彻就越容易解决它当我们完全彻底地理解了一个问题的时候通常就己经解 决了这个问题为了更好地理解问题人们常常采用建立问题模型的方法24 25软 件中的模型是待开发系统的蓝图通常由一组图示符号和组织这些符号的规则组成 面向对象分析就是用面向对象观点提取和整理用户需求建立问题域模型的 过程而面向对象设计就是用面向对象观点建立求解域模型的过程由于面向对象 方法学在概念和表示方法上的一致性从面向对象分析到面向对象设计是一个逐 渐扩充模型的过程或者说在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设计丧偶婚姻协议书范本
- 鸵鸟认养协议书范本
- 心理健康课课件制作
- 心理健康课件设计
- 窗外风景儿童画课件
- 心理健康课件插图图片
- 二零二五年度冷链运输货物破损赔偿协议
- 二零二五年度仓储物流中心混凝土地坪铺设与维护合同
- 二零二五年度厂房搬迁及搬迁后安全培训合同
- 二零二五年度家庭装修智能家居健康监测系统承揽合同
- 重庆市璧山区中小学教师招聘笔试试题2023年
- 475手操器与3051调试件
- 码头叉车司机安全操作规程
- 京沪高铁某段现浇箱梁施工方案
- 企业用工风险劳动合同风险防控培训课件
- GB/T 10066.4-2004电热设备的试验方法第4部分:间接电阻炉
- 加工中心个人简历
- 水利工程建设项目招标投标管理规定课件
- ta600空地勤培训动力系统
- 2023年版-肿瘤内科临床路径
- 产钳助产术考核标准
评论
0/150
提交评论