基于C#.NET下三层架构数据库应用系统开发分析

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:tdj000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:C#.NET三层架构体系是一种高效灵活的系统设计机制。本文首先介绍了使用三层架构所建立的数据库系统所具有的应用优势,然后分别就表现层、业务逻辑层、数据层等三部分的逻辑功能及建立进行了研究与讨论。
  关键词:C#;.NET;三层架构;数据库
  中图分类号:TP311.52
  随着计算机及其相关软件的应用领域和应用需求不断拓展,数据库管理系统及分层设计方式得到了重点关注。数据库可以按照相应的用户策略来对海量的数据信息进行管理与维护,数据库的应用极大的提升了数据管理的自动化和智能化程度,可以在更短时间内实现更高效的信息处理。模块化分层设计则是现代系统设计与实现的最主要原则之一,其可以简化实现复杂度,增强系统各功能的结构性、可用性以及可维护性,同时,系统分层设计条理更加清晰,扩展性和替换性更好,因此分层设计是系统设计的主流趋势。
  1 三层架构体系及其优势分析
  传统的系统结构是一种客户/服务类型的二层结构,这种结构下的用户端直接与数据库服务器端进行数据通信,整个通信过程中缺乏一个统一的业务和数据访问规则对用户行为进行限制或管理,因而这种结构下的系统结构复杂,管理难度大,还容易因用户的不当操作影响到数据库功能及其相关内容。
  为进一步提升系统的安全性、可管理性,组件层作为中间层被引入到用户层和数据库层之间共同构成三层架构体系。该体系结构下,用户层的应用程序和数据访问请求等都需要经由中间层按照预设的规则和策略审核和处理后才能够被转发到数据库中执行。这样就避免了用户与数据库服务器的直接通信,因而该结构下的数据库安全性能得到了大幅度提升。此外,中间层负责业务规则过滤、数据访问控制、操作校验等内容,其可扩展性和可移植性更强,便于用户根据实际使用需求便捷高效的对数据库应用系统进行调整。
  三层系统结构中,用户端通过COM/DCOM相关组件与中间层建立通信连接,中间层按照用户请求与相关策略与数据库进行交互。具体的,中间层包括表示层、逻辑层以及数据访问层等,各层负责如下内容:表示层的主要对象为用户,其可以接收用户对数据库应用系统的相关操作请求或数据读写请求,并接收上一层的数据返回给用户,整个过程主要负责相关信息的传递,并不涉及数据的处理;业务逻辑层是表示层与数据访问层的承接层,其主要负责上下层之间的数据传递与逻辑处理,是具体的应用实现层;数据访问层主要负责与数据库进行交互,其一方面接收业务逻辑层传输过来的请求指令并将其转化为数据库系统可识别的指令传递给数据库供其执行相关操作,如数据访问、修改、存储等,另一方面可以将数据库的返回信息传递给业务逻辑层供其转化为客户端可识别的信息传递给用户。
  2 三层架构的.NET数据库应用系统数据逻辑访问与表示
  在.NET环境下的数据库应用系统可以分为表示层、业务逻辑层以及数据层三层。其中在数据层中又存在逻辑与数据两种属性,为提升系统的区分度可以将数据层中的数据分为数据访问逻辑组件和业务实体组件两类。前者是指针对数据库的,可执行检索与保存等操作的业务逻辑;后者是指具体的可实现具体应用效果的实体数据。
  2.1 数据访问逻辑组件
  该组件是调用程序对数据库具体操作的具体方法描述,包括数据记录创建、数据记录读取和调用、数据记录更改与修订、实体业务数据的录入与更新、数据记录的删除等。此外,该组件还应该提供业务实体数据库的筛选与查找逻辑方法等功能。
  实际应用本逻辑组件对某一数据库数据进行访问时需要标明访问的对象、访问对象中的具体目标以及需要执行的具体操作。为便捷高效的完成数据库组表数据操作可以在本组件的基础上结合业务实体组件共同完成。
  2.2 业务实体组件
  该组件使用多个相互独立的数据表来存放某些具体业务的相关数据,同时为这些数据表之间建立关联,使用主键和外键来进行相互间的调用。在.NET应用程序中,该组件属于自定义类,需要用户根据使用需求将所建立的数据表与实体功能和业务建立关联。其中,自定义参数中需要包含数据存储字段、属性、业务逻辑特性等内容,以便于根据上述参数确定应用程序与数据之间的调用关系。
  实际应用中,本组件包含以下几部分操作:用户信息的更新与录入;用户订单列表;订单创建、变更以及删除;新的产品或功能信息等。
  3 C#语言的三层数据库应用系统建立
  以ADO.NET为例,其提供了两种基于数据库的应用系统建立方法,一种方法只提供数据读取操作,另一种方法除了数据读取操作外还允许用户对数据库相关内容执行修改、删除等操作。显然,第二种方法灵活性更高,应用更为广泛。三层数据库应用系统分为数据访问层、业务逻辑层以及表现层三部分,每部分的具体建立方式如下所述。
  3.1 数据访问层的建立与参数设置。
  该层建立时首先需要根据系统要求添加新的项目,同时对所涉及的数据集进行筛选;筛选完毕后可以将所选择的数据集与数据库系统建立连接;之后可以将数据集中拖入数据表,对该步骤操作过程中生成的信息指令等内容执行复制操作,以便于后续的数据库代码修改;最后对代码中的GetData()函数配置进行修改,以便于允许用户通过数据链表查找与对比外键关键字段,这样可以提高系统的易用性。
  具体来说,针对select * from bisdevice语句可以执行如下修改:SELECT a.用户ID,a.用户名,b.所在部门,c.职位属性 FROM bisxingming a left join bisgongzuobumen b on b.用户ID=a.所在部门 ID left join biszhiyeshuxing c on c.职位属性ID=a.职位属性ID。
  3.2 业务逻辑层的建立与参数设置
  该层是整个中间层的承接层,根据实际的系统应用需求不同可以进行灵活设定。该层的引入大大提升了整个数据库应用系统的灵活性。   以添加新项并向该项目中添加新的类别的实现为例,可以编写如下代码来实现。
  Public dsyonghu.yonghuDataTable
  GetxingmingBybumenIDshenfenID(int 用户部门标识, int 用户身份标识)
  {if (用户部门标识<0&&用户身份标识<0) return Adapter.Getxingming();
  else if (用户部门标识>0&&用户身份标识<0) return Adapter.GetxingmingBybumenID(用户部门标识);
  else if (用户部门标识<0&&用户身份标识>0) return Adapter.GetxingmingByshenfenD(用户部门标识);}
  通过上述内容即可完成新项目、新数据表的添加与分配操作,对用户身份完成读取相关操作。
  3.3 表现层的建立与参数设置
  该层中不同的参数与相应的数据表可以建立对应的映射,通过调用参数来查看数据库中相关内容。实际设计中可以在编程软件中对相关字段进行修改实现关联的建立。
  3.4 数据的操作与执行
  上述步骤基本实现了数据库相关内容的查询操作,但是实际应用中还需要对某些特定的参数或表格信息进行添加、修改或删除等,此时需要执行的操作为:通过DetailView空间对需要修改的字段进行编辑,将其属性变为模板,然后对该模板信息进行设置与修改即可完成相应的操作添加。
  但是需要说明的是,对于某些需要选取的项目,其建立过程中需要将文本输入控件TextBox删除,替换为可选取的列表控件ListBox,为列表添加相关信息后将每一选项与具体的数据库表建立连接。
  4 总结
  三层系统架构体系安全性更高,系统设计实现更为灵活,可扩展性更强,是一种主流的系统设计方式。在.NET平台中应用C#设计开发数据库应用系统可以根据实际使用需求将相关功能划分到表示层、业务逻辑层以及数据层中。这种方式下的数据库应用系统具有良好的可用性和可维护性。
  参考文献:
  [1]王海燕.C#.NET下三层架构数据库应用系统开发[J].计算机技术与发展,2012(6).
  [2]李红芹.基于三层架构的.NET数据库业务系统开发[J].计算机与现代化,2009(10).
  [3]韩美芳.浅谈.NET三层架构的构建方法[J].科技创新导报,2009(25).
其他文献
1 概述九四年,武钢工业港从美国引进一台大型机械设备——DYS型大型园振动筛,以作自动分检矿石之用.这台设备运行仅一年便出现了异步振动故障,对矿石的处理量因此而大幅下降,
摘要:信息技术的发展对计算机专业的学生需求量不断增大,中职院校是基础性计算机专业人才的重要培养基地,但是在教学实践中,由于计算机专业课程十分驳杂,学生主动学习的兴趣不大,在此背景下,本文结合笔者多年的中职院校计算机专业教学经验,分析学生缺乏兴趣的原因,并从四个方面探讨了如何激发学生的学习兴趣。  关键词:中职院校;计算机专业;学习兴趣  中图分类号:TP3-4 文献标识码:A 文章编号:1007-
摘 要:摇号的公平性往往是社会的热点问题,结果的随机性是重要保障。本文试图通过对随机性函数的概率分布、重号的未剔除和SQL缓存的异常等常见问题进行归类和总结,指出在编写该类软件时应注意的问题,以此来提高我省整个软件摇号的质量。  关键词:摇号软件;SQL;随机性  中图分类号:TP311.52  随着我省城市化进程的加快,全省的各类社会保障性住房和商品住房大量增加,住房已成为体现社会公平的热点问题
信息编码在高校教务管理信息系统建设中具有举足轻重的地位,直接关系到整个系统的稳定与安全。本文阐述了高校教务管理信息系统中信息编码的意义与作用,强调了唯一性等基本编
分析了研究生思想教育的现状以及研究生思想的特点,在对“学习型组织”理论进行介绍的基础上,对学习型组织理论在研究生思想教育中的适用性以及如何应用进行了探讨,解释了“学习
摘要:序列模式挖掘是数据挖掘中的研究热点之一,它是基于关联规则的频繁项集的挖掘,其实质是在关联模型中加入时间属性。本文利用序列模式挖掘的典型算法prefix算法对铝电解中重要的工艺参数数据进行挖掘分析,给出铝电解槽的重要的工艺参数的序列化,对于提高铝电解的生产效率,节能降耗,延长率电解槽的寿命具有重要的意义。  关键词:序列模式挖掘;关联模型;prefix算法;铝电解  中图分类号:TP393文献
本文介绍的是笔者根据多年的教学经验总结的难点分散和难度降解的教学方法,渴望能得到教学界同仁的指教,也希望对于刚刚走上教学岗位的同行们予以启迪。
摘 要:本文根据“网页设计与制作”课程教学中存在的普遍问题,介绍了按照“基于工作过程”的课程理念,以综合职业能力培养为课程目标,设计了渐进的教学情境和学习任务,以工作过程为教学过程、以行动导向为教学方法,积极进行课程改革实践的经验和成效。  关键词:课程;综合职业能力;工作过程;行动导向  中图分类号:G642  随着我国电子商务的快速发展,该行业的人才需求在相当长的一段时间内持续增长,特别是网站
Delphi是Borland公司1995年开始推出的基于Object Pascal的RAD工具,Borland直以高品质的Turbo Pascal编译器闻名。Delphi一经推出,就受到软件开发人员的欢迎。由于其出色的编
根据同济大学和上汽集团进行“产学”合作教育试点情况,阐述了“产学”合作教育的意义、实施情况和效果,并提出对“产学”合作教育的若干思考。本文对探索应用型人才的培养途径