孔繁胜
[摘 要]通过详细阐述数据库编程技术的基本内容,从数据库设计原则和数据库构建步骤两个方面着手,对软件工程中数据库的设计和构建进行详细分析,并深入探索软件工程中的数据库编程技术的实践应用,以期为满足计算机用户多样化需求提供参考思路。
[关键词]软件工程;数据库;编程技术;设计;构建;应用
doi:10.3969/j.issn.1673-0194.2023.13.038
[中图分类号]TP315 [文献标识码]A [文章编号]1673-0194(2023)13-0131-05
0 引 言
随着社会经济的发展和科学技术的进步,各类计算机和计算机软件逐渐成为人们日常生活和工作中的重要工具,尤其是五花八门的软件程序,已然成为人们每日工作和娱乐不可或缺的组成部分,因此软件工程成为计算机学科中非常重要的内容。由于软件的使用主要依赖于对数据的存储和提取,涉及与用户之间进行的数据交互,所以数据库成为软件开发的重中之重,与之相关的数据库编程设计也成为了软件工程专业教学的核心。数据库编程技术作为一项新兴的技术,能够充分提高软件工程使用的安全性和稳定性,保证数据库的高效运行,从而发挥出数据信息的价值,有效地推动了计算机领域的发展。
1 数据库编程技术介绍
1.1 计算机数据库
计算机数据库是按照数据结构进行组织、存储和管理的数据仓库,是长期存储在计算机内的有组织、可共享、统一管理的大量数据的集合,它可以存储文本、图像、声音等信息,是保证计算机软件稳定运行的基石。在软件工程中,当工程师进行软件开发时,第一个考虑的便是数据库的设计和構建,工程师应当根据软件工程的需求分析对数据和存储模式进行设计和定义,然后谨慎、认真地按照设计过程建立起性能较高的数据库,以保证软件工程开发的顺利进行[1]。
1.2 数据库编程技术
为了顺利构建数据库,可以使用数据库编程技术,它涵盖了数据库的各个环节,如数据分析、数据共享和数据存储等。工程师需要熟练掌握数据库编程技术,从而构建数据库框架,选择操作对象,创建数据库工程,并完善内部的具体内容。如图1所示,在具体创建数据库时,数据库编程技术可以提供创建数据库表、声明变量、引入文件、处理函数等功能,让数据库在后续应用中可以获得稳定的运行条件,提高了数据使用的流畅性和安全性。现如今各类成熟的数据库应用程序如Oracle、MySQL、DB2等已经实现了可视化的操作,将数据库编程技术转化为可拖动的代码块,更加方便了工程师的数据库开发工作。
数据库编程技术还包括了访问数据库的一系列方法,如数据库客户端编程主要使用ODBC API、ADO、OCI、OTL等方法,数据库服务端编程主要使用OLE DB等方法,这些方法多数存在于软件开发的程序设计中[2]。目前软件开发提倡分层开发,即数据访问层、业务逻辑层和界面显示层,这样做的好处是每一层都有自己的职责,不用关心其他层的实现细节,便于分工协作、代码复用和程序拓展。数据库编程技术中的访问数据库等方法存在于数据访问层,需要设计具体的实体类、实现类、基类接口类和接口实现类,实体类对应数据库中的数据库表,实现类提供了对数据库表进行数据增删改查的操作,基类接口类和接口实现类与业务逻辑层对接,方便数据的传递。
1.3 计算机软件工程中数据库编程技术的作用
1.3.1 鉴别身份
数据库编程技术提供了数据库对所有客户进行验证和鉴别的功能。当用户在使用程序时,通过HTTP链接,登录账户和密码后,数据库便可以将内部的已有数据与输入数据进行比对,比对成功后用户才可以顺利进入软件。鉴别身份的功能有效提升了数据信息的安全性,防止了他人利用网络渠道窃取数据;与此同时,为了防止账户和密码被窃取,软件程序一般会将密码自动存储到TACACS服务器中,这种私密文件能够将安全风险降到最低,降低了密码泄露的可能。
1.3.2 可用性
数据库编程技术提供了数据库自动替换的功能。当正在运行的数据库出现故障时,数据在前后端的传递出现错误,严重的甚至会造成数据的丢失,为了避免这种情况,应用数据库编程技术可以自动切换至备用数据库,保证了软件的正常运作,为原数据库的故障修复提供了时间,可减少经济损失。
1.3.3 隐藏信息
为了保护用户的网络地址,数据库编程技术可以将用户地址统一显示为公共地址访问,避免用户因暴露地址而受到网络攻击。尤其是企业管理中,隐藏信息的功能使得企业可以有效限制外部访问者对内部网络的访问,提高了企业的安全信息保障[3]。
1.3.4 提高软件运行速度
数据库编程技术可以有效利用计算机硬件的性能,加快数据处理速度。比如说分布式数据库能够极大地提高数据的传递效率,让原有的线性串联传递变为并联,从而在软件运行的过程中帮助用户更快地获得数据信息反馈,加快软件运行速度。
2 软件工程中数据库的设计和构建
2.1 数据库设计原则
计算机数据库设计指的是按照用户的需求,在某一具体的数据库管理系统中,设计数据库结构和建立数据库的过程。数据库设计并不是一蹴而就的,需要反复探寻,与相关程序运行相匹配,还要优化数据处理速度。数据库设计原则如下。
2.1.1 一对一设计原则
一对一关系是软件开发过程中最重要的设计原则,能够避免数据大且杂的现象出现,与此对应的是数据库对数据实体间的必然联系进行梳理,实现将分散数据整合的目的。一对一设计原则能够尽量减少数据维护问题的出现,降低了维护工作的难度,提高了软件应用程序的可靠性、科学性和安全性。
2.1.2 独特命名原则
独特命名原则主要是为了减少数据库设计过程中重复命名和规范命名现象的出现,能够减少数据冗杂和冲突,维护了数据的一致性。独特命名原则也增加了工程师对数据的理解,对不同数据之间存在的联系有着更加清楚的认知[4]。
2.1.3 双向使用原则
双向使用原则包括事务使用原则和索引功能原则,前者为非事务性单元操作工作提供保障,保证其能够及时更新和获取数据;后者为多属性的列数据信息提供索引,帮助其灵活排序,提高访问准确度。
2.2 数据库的构建步骤
数据库的构建步骤如图2所示。
(1)分析需求:当用户提出相关需求后,工程师需要对需求进行解析,弄清楚数据的种类、范围、数量等,以及数据使用要求和各种约束条件。
(2)创建工程:当需求分析完毕后,工程师需要先创建工程框架和内在逻辑,保证数据库的完整性和可运行性。
(3)概念设计:按照第一步分析的相关需求,进一步建立抽象的概念数据模型,模型应当反映出各类信息的结构、流动情况和互相制约情况等。目前E-R模型是最流行的模型方法,它能明确数据的属性、相互之间的联系,从而形成多个局部描述和全局视图。
(4)逻辑设计与物理设计:前者是将概念模型设计成数据库的一种逻辑模式,即“逻辑数据库”,后者是根据数据库编程技术提供的存储结构和存储方法实现的最合适的物理存储结构、存储方法和存取路径等,即“物理数据库”。
(5)验证设计:当数据库初步构建完毕后,与前端代码结合,构成的数据传递的完整逻辑需要进行多次循环往复,验证数据库设计的正确性和合理性,如有问题需要返回前几步进行修改[5]。
3 软件工程中的数据库编程技术的实践应用
在数据库的设计、构建和访问的过程中,数据库编程技术全程参与,有着至关重要的作用,接下来介绍三个重点应用。
3.1 数据存储模式的设计
数据存储模式的设计关乎数据的分类、访问权限和加密程度,与用户的需求息息相关,是数据库构建之初应该考虑的关键。
首先,对于数据的分类来说,工程师需要考虑到数据的特点、内容、形式、大小和使用频繁程度。最基础的分类是按照数据的内容划分,比如人的属性、地点的属性、物的属性都有明显的不同,应该将它们存入不同的数据库表中,然后分类命名,减少冗余数据的出现,促进资源的优化;进阶的分类在基础分类之上,考虑到各个数据库表之间的关联情况,利用数据库编程技术中“外键”的作用,为每一个表单提供可与其他表单衔接的属性,促成表单之间的联系;若是考虑到程序运行速度和数据访问优化的问题,可以将频繁调用的表单数据,按照表单之间的关联生成“视图”,使得数据利用过程达到更理想的效果。
其次,对于访问权限来说,数据库编程技术提供了对不同表单属性进行显示和隐藏的功能,工程师可以按照用户的身份等级情况和用户的自主设置情况,对访问权限进行定义。第一,不同访问权限等级的用户能够看到的软件程序中的内容有所不同,可以促使软件更有层次感;第二,不同访问权限的用户在软件中存储的数据信息有着不同的安全等级,权限越高代表数据信息的安全程度越高,保证了重要信息的安全性;第三,不同用戶之间的互相访问,可以针对其进行一些权限设计,保证了用户的软件使用感受,满足了不同用户的使用需求。
最后,对于数据加密程度来说,数据库编程技术能够按照不同等级的数据,提供不同难度的加密算法,并且为了提高数据的安全性,数据存储的物理位置也可以进行针对性设置。
3.2 数据库的开发技术
数据库的开发技术也是数据库编程技术应用的一部分,主要包括数据库的构建和访问。
在数据库的构建中,工程师应当按照不同的数据库表选择独特的命名规范,根据表单中的每项数据选择合适的字段名称,针对常用的数据设计简洁明确的索引,比如灵活运用大小写字母、数字编码等。如果想要进一步深度研究编程内容,工程师应该在选择数据库管理系统时,选择功能齐全、使用方便的编程工具,从而提升数据库编程质量。尤其需要注意的是数据冗余问题和数据库效率优化问题,工程师应该提升数据库的资源利用效率,利用有限的表单最大限度地利用系统资源,比如采用粗粒度的方式设计数据量较大的表;或是适当进行技术改造,减少编程成本的投入,比如利用有簇索引和非簇索引这两种方式提升数据查找效率[6]。
在数据库的访问中,工程师应当重视SQL语句的合理运用。现在的软件开发,在数据访问层进行编程设计可以直接应用数据库管理系统的SQL语句,比如MyBatis框架,它支持定制化SQL、存储过程和高级映射,避免了繁杂代码的手动设置,使用XML或注解就可以直接配置映射原生信息,使得编程变得极其灵活。总而言之,选择合理的数据库管理系统,使用成熟的编程框架,再搭配一支具有较强编程素质的专业团队,能够全面提升数据库编程效果。
3.3 数据文件的加密设计
对于软件工程来说,减少重要信息被他人盗取和利用的风险是所有工程师编程关注的要点,数据库编程技术中,有关提高数据安全、创造文件稳定存储的编程技术被称作数据加密技术。数据加密技术可以分为三个层次:第一层次主要涉及密钥的设置,用户可以为某些数据文件设置密码,没有输入正确密码的用户无法获取内部的数据信息,输入密码的行为会被数据库详细记录,一旦数据被不法分子恶意攻击和窃取,这些记录可以为有关部门提供必要的数据协助;第二层次为数据库加密,多针对于传输信息链路的加密和重要网络节点的加密,因为数据在前后端传递时会以数据包的形式经过大量网络传输节点,一些不法分子可以在这些节点完成网络攻击,窃取数据包,同时也会造成信号不稳定、数据丢包的现象,链路加密能够屏蔽外界攻击,提高数据传输的稳定性,节点加密能够保证解密条件在内部进行,杜绝了其他人员的查看;第三层次则是文件编译加密,利用某种数据编译方式,将文件中的数据转译成其他表现形式,这种加密方法保密程度最高,即使不法分子突破了前两层加密,不了解转译方法,也只能得到垃圾信息,文件编译加密多用于珍贵数据信息的保存,能够稳定提高用户信息和隐私内容的安全性。如果三种加密方式共同作用,数据泄密的风险将会大大降低。
主要参考文献
[1]朱建峰.数据库基于计算机软件工程的编程技术策略浅析[J].计算机产品与流通,2020(4):21,34.
[2]林锵,胡科.计算机软件工程的数据库编程技术分析[J].集成电路应用,2022,39(4):138-139.
[3]陈烨晖.基于计算机软件工程的数据库编程技术分析[J].电脑编程技巧与维护,2020(11):88-89,97.
[4]平金珍,王茜.计算机软件开发中数据库安全设计的应用实践分析[J].电子元器件与信息技术,2020,4(5):34-35,42.
[5]张赟.计算机软件开发的数据库测试技术[J].电子技术与软件工程,2020(17):150-151.
[6]廉若榕.基于大数据环境下计算机软件的应用[J].电子技术与软件工程,2020(18):35-36.