◆黄 旭 圣文顺 李 会
(南京工业大学浦江学院 江苏 211222)
在计算机软件开发过程中,数据库的设计起着尤为重要的作用。以一座高楼大厦为例,一个不够坚实可靠地基,绝不能撑起高耸入云的大厦。数据库设计亦是如此。不良的数据库也不能支撑完美的计算机软件。在数据库设计中往往会引发以下几种问题:
(1)与要求不符;
(2)丧失数据的完整性;(3)数据冗余;
(4)可扩展性差;
(5)表与表之间耦合性大。
在计算机软件技术的支持下数据库运行具备较高的可行性,我们可以着手对数据库软件进行开发计划的设计,例如对数据库所需的字段,表结构以及数据库系统的开发员对及人员构成、任务分配和整个项目的进度、验收标准、验收时间等进行全面的、系统的计划。在这个过程中,我们一定要基于客户的数据库体验为标准,进而提升数据库的简易度。
数据库设计是计算机软件设计的核心部分。在设计数据库时,由于开发人员的不同,因此对软件的定义也不同,理解的角度也不同,再加上工程师的知识水平不同等因素,会导致数据库设计不能满足计算机软件的需求。在开发软件的过程中,有的设计师注重计算机软件的前端设计和功能模块设计,在一定程度上忽视了数据库设计的重要性,没有对数据库设计进行综合行分析。这一疏忽,日后会导致数据库使用性能不高,容易出现故障,扩展性差等问题。这些问题的出现无疑是对计算机软件应用程序致命性的打击,甚至会造成整个软件系统的崩溃。同时增加了后期的维护频率,浪费了人力、物力、财力。
例如,在《学生学籍信息管理系统》中,使用存储过程来编码删除操作,不仅提高了数据库的执行速度,还减少开发时的工作量。删除代码如下:
create procedure tbAcademy_delete
@AcademyId int, --学院编号
@Flag int output --设置输出参数flag
as
begin
declare @RowCount int --定义变量 数据库中行数的总数
set @RowCount = 0 --设初始值为0
select @RowCount = @RowCount + COUNT(*)
from tbCourseInfo
where AcademyId = @AcademyId
select @RowCount = @RowCount + COUNT(*)
from tbTeacherInfo
where AcademyId = @AcademyId
if @RowCount = 0
begin
delete dbo.tbAcademyInfo
where AcademyId = @AcademyId
set @Flag = 0
end
else
begin
set @Flag = 1
end
end
良好的数据库对计算机软件的稳定运行起着极为重要的作用,因此数据库设计人员在对某一软件进行设计之前,要制定出详细且周密的计划。可以从以下几个方面入手:
(1)对市场上的客户需求进行调查确保软件能满足客户的需求;
(2)进行问卷调查,站在客户的角度思考,多与其沟通,确保软件的设计不走歪路;
(3)预留一定的可扩展空间,为日后的业务提供扩展功能,也防止意外事件的发生。
为了避免不必要的错误发生,在实际开发过程中,需要与既定的计划保持一致。可以从以下几个方面考虑:
(1)在数据库设计过程中,明确每一个设计的用途,因为每一张表,每一条字段在软件设计中都有着不可获缺的作用;
(2)将数据库设计中的对应的某项功能,实现与计算机软件的功能的对接;
(3)在建立表的关系时,要考虑到与应用程序一致,把握好整体与局部的关系,为减少将来程序出现意外。
立足于整体的角度,全局统观计算机软件,考虑其使用效率,可以有效地防止软件使用过程中的冗余和不足。由于计算机的空间是有限的,因此我们在考察使用效率后才可以针对不同的软件给予相应的存储空间,在进行相应的设计。另外设计表时还要追求高内聚,低耦合。例如在设计表时,有多张有着复杂关系的表,我们可以使用第三张表来关联和维护两张表之间的关系,降低表之间的耦合度。
为了确保计算机软件的正常使用,我们在设计数据库时要遵守一定的设计原则。在数据库设计过程中要综合考虑业务需求,明确每一功能的用途。此外,我们还应该树立长远的意识,预留一定的空间,为以后扩展业务所用。