报刊管理系统论文设计.docx
《报刊管理系统论文设计.docx》由会员分享,可在线阅读,更多相关《报刊管理系统论文设计.docx(16页珍藏版)》请在冰豆网上搜索。
报刊管理系统论文设计
目录
1需求分析1
1.1功能描述1
1.2数据流图1
1.3数据字典3
1.3.1数据项3
1.3.2数据结构3
1.3.3数据流4
1.3.4处理过程4
1.3.5数据存储5
2概念结构设计5
2.1设计E-R图的要点5
2.2设计E-R图5
3逻辑结构设计7
3.1设计逻辑结构时的要点7
3.2关系模式8
4物理结构设计9
4.1存储方法设计9
4.2存取结构设计9
5数据库的实施10
5.1创建数据库10
5.2创建表10
5.3创建视图11
6心得体会12
参考文献13
报刊管理系统
1需求分析
1.1功能描述
在一些报刊公司里,管理员往往需要处理多种报刊的销售及查询等工作。
这些工作如果不能充分利用计算机去实行,工作量就会非常大,而且容易出现错误,造成管理上的混乱。
因此,开发一个报刊管理系统对于提高公司的市场竞争力已尤为重要。
作为一个报刊管理系统,该系统直接面对的是其使用人员,而使用人员往往对计算机并不是非常熟悉。
这就要求系统能够提供易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面。
因此,无论是在功能设计还是业务流程上都尽可能做到满足运营管理的需求,要求设计的界面简洁友好、易于理解且操作方便,其内容清晰明了并要求保持正确性和稳定性。
以管理员的身份来设计此报刊管理系统,要求系统的主要功能有以下几个:
(1)管理员登陆:
管理员要通过输入用户名和相应的密码才能进入管理系统,即根据用户权限登陆此系统。
(2)报刊的目录管理:
要求能够将报刊目录的相关信息增加到数据库或从数据库中删除和修改,并要求能够进行查询。
(3)报刊的订户和订单信息的管理:
能够根据实际情况添加、删除、修改和查询订户和订单的基本信息,同时要求用户能够查看到订单的统计情况。
(4)账号管理:
要求能够增加管理员和删除管理员。
1.2数据流图
根据此管理系统中的数据和处理之间的关系,可绘制如下数据流图:
将数据流图进一步细化,可绘制如下数据流图:
1.3数据字典
数据字典包括有数据项、数据结构、数据流、处理过程和数据存储五个部分,以下根据系统开发的要求分别对各个部分进行说明。
1.3.1数据项
编号
数据项名
表中列名
含义说明
数据类型
长度
D1
目录编号
Did
唯一标识目录
INT
4
D2
目录名字
Dname
用于说明报刊的名字,不能为空
VARCHAR
30
D3
目录单价
UnitPrice
每份报刊的价格,不能为空
FLOAT
3
D4
目录备注
Ifo
附加说明报刊其它信息
CHAR
50
C1
订户编号
Cid
唯一标识订户
INT
4
C2
订户名字
Cname
说明订户的姓名,不能为空
VARCHAR
30
C3
订户电话
Phone
说明订户的联系电话
VARCHAR
20
C4
订户地址
Address
说明订户的联系地址
VARCHAR
30
Q1
订单编号
Ono
唯一标识订单
INT
4
Q2
订阅数量
Quantity
说明订户订阅的份数
INT
4
Q3
订阅期数
QiShu
说明订户订阅的期刊数
INT
4
Q4
总价
Total
统计订户所有订刊的总共价格
FLOAT
3
Q5
下订日期
Odate
说明订户订刊的时间
DATETIME
8
U1
管理员
Uname
报刊管理者的用户名
VARCHAR
20
U2
登录密码
UPassword
报刊管理者登录系统时的密码
VARCHAR
50
1.3.2数据结构
数据结构名
属性
目录
目录编号、目录名字、目录单价、目录备注
订户
订户编号、订户名字、订户电话、订户地址
订单
订单编号、目录编号、订户编号、订阅数量、订阅期数、目录单价、总价、下订日期
账号
管理员、登录密码
1.3.3数据流
数据流名
说明
数据流来源
数据流去向
目录
公司报刊的目录的基本信息
改变的报刊目录
目录管理
订户
订阅报刊的客户的基本信息
订阅者
订户管理
订单
订户与订阅的报刊的相关信息
订阅者和存在的报刊目录
订单管理
账号
管理员的用户名和与相应的密码
改变的管理员信息
账号管理
1.3.4处理过程
处理过程名
处理说明
输入数据流
输出数据流
添加目录
新的各数据项符合要求
要添加的目录信息
新增的目录信息
删除目录
只能删除已有目录
需要删除的目录信息
删除后的目录信息
修改目录
修改已有目录且修改后仍符合要求
当前的目录信息
修改后的目录信息
按名字查询目录
查询已有目录名字的目录信息
目录名字
目录信息
按编号查询目录
查询已有目录编号的目录信息
目录编号
目录信息
添加订户
新的各数据项符合要求
要添加的订户信息
新增的订户信息
删除订户
只能删除已有订户
需要删除的订户信息
删除后的订户信息
修改订户
修改已有订户且修改后仍符合要求
当前的订户信息
修改后的订户信息
按名字查询订户
查询已有目录名字的订户信息
订户名字
订户信息
按编号查询订户
查询已有目录编号的订户信息
订户编号
订户信息
添加订单
在已有目录和订户的前提下,
且新的各数据项符合要求
要添加的订单信息
新增的订单信息
删除订单
只能删除已有订单
需要删除的订单信息
删除后的订单信息
修改订单
修改已有订单且修改后仍符合要求
当前的订户信息
修改后的订户信息
按编号查询订单
查询已有的订单信息
订单编号
订单信息
增加管理员
创建新的账号和密码
要增加的账号和密码
增加成功与否
删除管理员
只能删除已有的管理员
要删除的账号和密码
删除成功与否
1.3.5数据存储
数据存储名
输入的数据流
输出的数据流
存储目录
增加或修改的目录信息
改变后的目录信息
存储订户
增加或修改的订户信息
改变后的订户信息
存储订单
增加或修改的订单信息
改变后的订单信息
存储账号
增加的账号信息
改变后的账号信息
2概念结构设计
2.1设计E-R图的要点
(1)E-R图提供矩形框表示实体型、椭圆表示属性、菱形表示实体型之间的联系。
(2)能独立存在并和其它事物产生某种联系的数据对象,例如目录、订户等,就应把它作为实体;而对于那些不可再分的数据对象,就可将它作为属性。
(3)两个或多个实体间的关联与结合,例如目录、订户、订阅、,当需要予以关注时,
应作为联系。
联系通常是某类行为动作,E-R图中关注的是其状态与结果而不是它的过程。
(4)实体的属性是实体的本质特征。
实体应有标识属性(能把不同个体区分开来的飞行员性或属性组),并指定其中一个作为主标识。
2.2设计E-R图
本次开发报刊管理系统,经过功能描述和多次讨论后,确定了该管理系统可以划分的实体有:
目录实体、订户实体、订单实体和账号实体,先逐一设计各个分E-R图描述这些实体,然后根据它们的联系得到整体E-R图。
(1)目录实体的E-R图:
(2)订户实体的E-R图
(3)订单实体的E-R图
(4)账号实体的E-R图
(5)总的信息实体的E-R图
3逻辑结构设计
逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型,即逻辑结构。
3.1设计逻辑结构时的要点
在本次开发的报刊管理系统中,使用的数据库管理系统是SQLServer2000,将用到设计逻辑结构的常用方法:
将概念结构转换为一般的关系模型。
在这里即指E-R图向关系模型的转换,实际上就是要将实体型、实体型的属性和实体型之间的联系转换为关系模式。
E-R图是由实体型、实体的属性和实体之间的联系三个要素组成的,所在将E-R图转换为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:
一个实体型变换为一个关系模式,其属性变为关系的属性,其主标识变为关系的主码。
从此次设计出的E-R图中,可知对于实体型间有1:
n和m:
n的联系,可以转换为一个独立的关系模式。
3.2关系模式
目录的关系模式Diretory如下:
列名
数据类型
长度
可否为空
说明
Did
INT
4
否
目录编号(主键)
Dname
VARCHAR
30
否
目录名字
UnitPrice
FLOAT
3
否
目录单价
Ifo
CHAR
50
可
目录备注
订户的关系模式Customer如下:
列名
数据类型
长度
可否为空
说明
Cid
INT
4
否
订户编号(主键)
Cname
VARCHAR
30
否
订户名字
Phone
VARCHAR
20
可
订户电话
Address
VARCHAR
30
可
订户地址
订单的关系模式OrderDetail如下:
列名
数据类型
长度
可否为空
说明
Ono
INT
4
否
订单编号(主键)
Did
INT
4
否
目录编号(外键)
Cid
INT
4
否
订户编号(外键)
Quantity
INT
4
可
订阅数量
QiShu
INT
4
可
订阅期数
UnitPrice
FLOAT
3
可
目录单价
Total
INT
4
可
总价
Odate
DATETIME
8
可
下订日期
账号的关系模式Login如下:
列名
数据类型
长度
可否为空
说明
Uname
VARCHAR
20
否
管理员(主键)
UPassword
VARCHAR
50
否
登录密码
4物理结构设计
数据库的物理结构依赖于选定的数据库管理系统,此次报刊管理系统中使用的数据库管理系统是SQLServer2000。
数据库的物理设计主要任务是选择关系模式存取方法和确定数据库存储结构。
4.1存储方法设计
对目录、订户和订单三大部分最经常的操作是查找,假设现有n个目录信息,如果采取顺序查找,平均查找n/2次,在n的值比较大的情况下,这种存取方式显然无法产生高效率,所以,在此建立B+树索引,具体设计如下:
(1)对以下经常在查询中出现的关系的码建立索引:
目录(目录编号、目录名字、目录单价、目录备注);
//为Diretory表按目录编号升序建立唯一索引DirDid
CREATEUNIQUEINDEXDirDidONDiretory(Did);
(2)对以下经常进行连接操作的关系的码建立索引:
目录编号、订户编号
//为OrderDetail表按目录编号升序和订户编号降序建立唯一索引OD_DCid
CREATEUNIQUEINDEXOD_DCidONOrderDetail(DidASC,CidDESC);
4.2存取结构设计
本报刊管理系统中信息处理的特点如下:
(1)目录信息的数据经常需要查询,例如了解这种报刊的基本情况。
(2)订户和订单三大信息的数据不仅经常需要查询,而且更新速度快,例如经常需要添加、删除或修改目录和订户,也由此需要更改订单的内容。
(3)目录、订户和订单这三部分信息要求共享的信息较多。
例如目录的编号和单价,订户的编号等信息。
所以,对于表Diretory、Customer和OrderDetail应放在不同的磁盘中,以防止数据丢失,同时提高存取速度;对于索引DirDid和OD_DCid也应放在不同的磁盘中,以提高查询速度。
5
数据库的实施
关系数据库系统支持三级模式结构,其模式、外模式和内模式中的基本对象有表、视图和索引。
5.1创建数据库
//建立数据库BKDY
CREATEDATABASEBKDY;
5.2创建表
//建立目录信息表Diretory
CREATETABLEDiretory
(DidINTPRIMARYKEY,
DnameVARCHAR(30)NOTNULL,
UnitPriceFLOAT(3)NOTNULL,
IfoCHAR(50));
//建立订户信息表Customer
CREATETABLECustomer
(CidINTPRIMARYKEY,
CnameVARCHAR(30)NOTNULL,
PhoneVARCHAR(20),
AddressVARCHAR(30));
//建立订单信息表OrderDetail
CREATETABLEOrderDetail
(OnoINTPRIMARYKEY,
DidINT,
CidINT,
QuantityINT,
QiShuINT,
UnitPriceFLOAT(3),
TotalINT,
OdateDATETIME,
FOREIGNKEY(Did)REFERENCESDiretory(Did),
FOREIGNKEY(Cid)REFERENCESCustomer(Cid));
//建立账号信息表Login
CREATETABLELogin
(UnameVARCHAR(20)PRIMARYKEY,
UPasswordVARCHAR(50)NOTNULL);
//在表中插入管理员相关数据
INSERTINTOLoginVALUES('admin','admin');
5.3创建视图
为了提供更加友好的界面,符合人们的日常习惯,简化用户对系统的使用和基于安全要求的考虑,需要建立必要的视图。
//为方面使用人员清楚理解订单的相关信息,可建立视图OrderTotal
CREATEVIEWOrderTotal
AS
SELECTOno,Dname,Customer.Cname,Quantity,Total,Odate,Phone,Address
FROMDiretory,Customer,OrderDetail
WHERECustomer.Cid=OrderDetail.CidANDDiretory.Did=OrderDetail.Did
//为管理员了解各类报刊的的销售情况,建立视图U_Oreder
CREATEVIEWU_Oreder
AS
SELECTDname,Quantity
FROMDiretory,Customer,OrderDetail
WHERECustomer.Cid=OrderDetail.CidANDDiretory.Did=OrderDetail.Did
//建立订户的订阅视图CustomerOrder
CREATEVIEWCustomerOrder
AS
SELECTDname,Diretory.UnitPrice,Ifo,Quantity
FROMDiretory,Customer,OrderDetail
WHERECustomer.Cid=OrderDetail.CidANDDiretory.Did=OrderDetail.Did
6心得体会
这个学期是我第一次接触数据库系统,是在已知的数据结构知识的基础上对数据分析和处理等过程地进一步加深。
本次课程设计完成了数据库设计时的五个基本步骤:
需求分析、概念结构设计、逻辑结构设计、物理结构设计和数据库实施,使我对数据库设计的各个阶段都有了一定的认识和加强。
但在完成设计的过程中,我遇到了一系列的问题,能明显感觉到自己在很多方面的不足,但另一方面,问题是要分析解决的,找出问题以便为完善学习计划、改变学习内容与方法提供实践依据。
做一个课程设计要注意很多方面,无论是格式,还是书写的内容和要表达的思想都得严格要求自己,所以做起来真的不算容易。
本次课程设计涉及了很多知识,由于往日没有学得很扎实,对某些问题仍然比较疑惑,所以要进行充足的补习
问题越多,明白的也就会越来越多,做一次课程设计就像从头到尾做了一次系统的复习,从基础到难点,从轮廓到每个知识点,数据库的研究内容在我的脑海里就再也不像以前那么模糊了。
数据库知识在解决各个行业中的管理问题上都有着重要的意义,我们应该好好掌握它的相关知识,并在以后的学习过程中,更多的去学会如何运用知识。
参考文献
[1]王珊,萨师煊.数据库系统概论.北京:
高等教育出版社,2006
[2]LeszekA.Maciaszek.需求分析与系统设计.金芝译.北京:
中信出版社,2003
[3]Jeffrey A. Hoffer,Mary B. Prescott,Fred R. McFadden.现代数据库管理.刘伟琴等译.北京:
清华大学出版社,2008