当前位置:首页 期刊杂志

基于JAVA和SQL2014的报刊订阅管理系统的研究实现

时间:2024-05-04

黄子豪,张舒,马兆婷

(山东科技大学,山东济南,250031)

0 引言

一直以来,大众订阅报刊都是沿用传统人工的方式进行管理报刊的订阅,这种传统的人工管理方法存在着很多缺点,比如,效率太低,保密性差,且随着订阅周期的变化及订阅人数的增加,将产生的大量的订阅记录和无用的数据文件,对于管理员进行归类整理等操作时很不友好,并且对于报刊订阅信息的查找、更新和维护都带来了不少的难题。本系统的开发目的就是为解决人工管理报刊订阅的效率低下等问题,通过对数据库的操作实现智能化的管理报刊订阅等问题。

1 开发环境

(1)开发语言: JAVA;

(2)开发工具: Eclipse 2020-06、SQL SERVER 2014数据库;

(3)操作系统: Windows 10;

(4)数据库版本: SQL SERVER 2014。

2 数据库设计

(1)管理员表:Login(UName,UPassw ord)其中(UName, UPassword)为主码。

(2)用户表:Customer(Cid,Cname,Phone,Address)中Cid为 主 码,Cid,Cname,Phone,Address约束为非空。

(3)报 刊 表:Diretory(Did,Dn ame,UnitPrice,Ifo)中Did为 主码,Dname,UnitPrice,Ifo约束为非空。

(4)订单表:OrderDetail(Ono,Did,C id,Quantity,Qishu,UnitPrice,Total,Oda te) 其中(Ono,Did)为主码,Cid和Did分别为外码(参照分别为Customer(Cid)和Diretory(Did)),Quantity,Qishu,UnitPric e,Total,Odate约束为非空。

3 模块设计及E-R图

(1)主界面:该界面为管理员登录模块,管理员可通过本界面验证登录报刊订阅管理系统;

(2)报刊管理模块:该模块负责展示目录中的报刊信息,可实现报刊信息的增加、删除、修改、查询(按报刊编号或报刊名称查询)等功能,用户可通过此模块查看报刊的报刊编号、报刊名称、报刊单价、季度订价、备注信息等信息;

(3)订单管理模块:该模块负责展示已存在的用户订单信息和订单统计,具体功能可实现订单信息的增加、删除、修改、查询(可按订单编号查询)等功能,用户可通过此模块查看订单的编号、报刊编号、用户编号、订阅数量、订阅期数、报刊单价、订单总价、订单日期等信息;

(4)用户管理模块:该模块负责展示用户的基本资料信息,包括用户编号、用户姓名、用户地址、用户电话等,管理员可实现对用户信息的增加、删除、修改、查询(可按用户编号或用户姓名查询)等操作;

图1 数据库设计E-R图

(5)管理员账号模块:该模块可实现增加和删除管理员的功能,在进行操作前需输入管理员账号及密码验证管理员身份,验证成功即可进行操作;

(6)系统模块:负责介绍本系统,用于后期系统的推广和维护。

4 系统功能实现及详细设计

系统功能结构图如图2所示。

图2 系统功能结构图

■4.1 系统功能实现

(1)登录模块设计:用户通过数据库连接,对管理员账号和密码进行身份验证,验证成功后方可进入报刊订阅管理系统主界面。

(2)主界面设计:管理员验证成功后可进入报刊订阅管理系统主界面,此时可查看菜单栏上分布着各项管理功能包括报刊管理模块、订单管理模块、用户管理模块、账号管理模块、系统模块;用户可根据自身需要选择具体操作的模块。

(3)报刊管理界面:进入报刊管理界面后可以看到界面上方的五个模块,分别是添加报刊、删除报刊、修改报刊、按名字查询报刊、按编号查询报刊。同时在下方会显示目前所有报刊的信息(报刊编号、报刊名字、报刊单价、备注信息等),管理员可在对报刊信息进行操作后在下方信息展示栏中查看更新后的报刊信息。管理员在添加报刊时需输入报刊编号、报刊名字、报刊单价、备注信息,数据库会根据输入信息对已存在的信息进行判重,如果重复则插入失败,否则插入成功;在删除报刊时需输入所要删除报刊的编号首先进行查询该报刊是否存在,如果该报刊存在则可进行删除操作,否则无法删除;在修改报刊时也需要输入报刊编号进行判断该报刊是否存在,如果存在则可以修改该报刊的信息,否则修改失败;查询报刊功能分为两部分,可以根据报刊名字查询,如果报刊存在则可以看到该报刊的所有信息,也可以根据报刊编号进行查询。

(4)订单管理界面:进入订单管理界面后可以看到界面上方的五个模块,分别是添加订单、删除订单、修改订单、按订单编号查询订单,同时在下方会显示目前所有订单的信息(订单编号、报刊编号、用户编号、订阅数量、订阅期数、单价、总价、下订日期)。管理员在添加订单信息时需输入相关订单信息,数据库会对订单信息进行判重,如果重复则插入失败,否则插入成功;在删除订单信息时需输入订单编号查询该订单是否存在,如果不存在则无法删除,修改功能同理;订单查询功能也需输入订单编号进行查询,如果订单存在则会显示订单所有信息。

(5)管理员界面:展示管理员基本信息,可实现增加和删除管理员的功能,在增加或删除管理员的时候都需输入管理员账号及密码进行验证。

(6)系统管理界面:介绍本系统基本功能。

(7)退出系统: 当前用户可手动点击退出按钮来安全退出系统同时系统将自动保存本次登录更新的所有信息。

■4.2 数据库索引、存储过程、触发器等结构的设计

(1)创建视图:输入用户姓名,可以查询该姓名所对应的成员的订阅日期、姓名、地址、订阅的报刊名。

CREATE VIEW views

AS SELECT

Customer.Address,OrderDetail.Odate,Diretory.Dname,Customer.Cname

FROM Customer,Diretory,OrderDetail

WHERE OrderDetail.Did=Diretory.Did AND

Customer.Cid=OrderDetail.Cid ;

(2)创建存储过程pro2:功能是向Diretory表添加一条记录,该记录各字段的值是在执行存储过程时给出的相应参数值。

USE magazine

CREATE PROCEDURE [pro2]

(@Did [Varchar](10),

@Dname [Varchar](20),

@UnitPrice [Float](8),

@Ifo [Varchar](50))

AS INSERT INTO Diretory(Did,Dname,UnitPrice,Ifo)

( @Did, @Dname, @UnitPrice, @Ifo)

GO

(3)创建DELETED触发器:当从表中删除报刊信息时,检查status属性的状态,如果为“1”则不允许删除,否则可以删除。

CREATE TRIGGER Delete_Diretory

ON Diretory

FOR DELETE

AS

DECLARE @status bit

为了更好地检验浙江省对外直接投资对出口贸易和进口贸易的不同影响,本文建立如下出口效应模型和进口效应模型:

SELECT @status = statu FROM deleted

IF @status = 1

BEGIN

RAISERROR(‘该报刊信息不允许删除!’,16,1)

ROLLBACK TRANSACTION

END

ELSE

RAISERROR(‘成功删除!’,16,1)

GO

(4)创建带返回值的存储过程进行查询:创建一个带有1个输入参数、3个返回值的存储过程return 1,其功能是:接受外部传入的成员号Cid,在数据表Customer中查找成员信息,然后输出成员的的姓名、电话和地址。

USE magazine

CREATE PROCEDURE return1

(@Cid Varchar(10),

@Cname Varchar(20) OUTPUT,

@Phone Varchar(15) OUTPUT,

@Address Varchar(50) OUTPUT )

AS

SELECT @Cname=Cname,

@Phone = Phone,

@Address=Address

FROM Customer

WHERE Cid=@Cid

(5)使用T-SQL创建一个带有输入参数,并使用集聚函数的存储过程进行查询。

创建存储过程,分别查询订阅n种报刊的人员名单,要求显示姓名。其中,n作为输入参数在执行系统存储过程时给出。

USE magazine

CREATE PROCEDURE P_Customer

@num int

AS

PRINT '订 阅 '+convert(varchar(5),@num)+'种 报 刊的成员姓名:'

SELECT 姓名=(select Cname from Customer where Cid=OrderDetail.Cid)

from OrderDetail

GROUP BY Cid HAVING COUNT(*)=@num

测试存储过程: EXEC P_Customer @num=1

5 系统优缺点

■5.1 优点

(1)为确保后期软件的实用性及可维护性,本系统在编写代码时严格按照框架进行标准化设计,代码模式一致性较强。

(2)在建立数据库时严格考虑各表之间的关联,建立合理的索引结构和外键约束,删除不必要的代码冗余部分,实现数据库管理的规范化、科学化。

(3)界面友好简单,功能方便实用,对于管理员来说易上手,真正提高管理的效率。

■5.2 缺点

(1)数据库设计时实体的属性数量不够多,系统操作有局限性。

(2)各表之间建立的外键约束不够多,建立的索引数量较少,组合查询功能少。

(3)在连接数据库进行操作时,事务处理的操作较少,易造成数据操作失误。

(4)系统在登录界面并未为普通用户设置登录接口,因此普通用户无法自行登录系统查询信息,这虽然保护了系统的安全性和统一性,但缺少了用户自行查询和订阅的模块,损失了系统的普及性,有利有弊。

6 结束语

本系统是基于JAVA和SQL2014开发的新型报刊订阅管理系统,该系统为管理员提供了报刊管理、订单管理、用户管理、账号管理等功能,通过SQL SERVER 2014数据库进行数据的操作和存储,极大地便利了管理员对于报刊订阅的管理,界面友好实用,提高了报刊订阅管理的效率。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!