数据库系统课程设计报告.docx
- 文档编号:4342015
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:37
- 大小:669.20KB
数据库系统课程设计报告.docx
《数据库系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库系统课程设计报告.docx(37页珍藏版)》请在冰豆网上搜索。
数据库系统课程设计报告
HarbinInstituteofTechnologyatWeihai
数据库系统课程设计报告
设计题目:
医药销售管理系统
班级:
信息安全
(2)班
组号:
学号:
110420209
姓名:
方建辉
验收日期:
2013年7月12日
哈尔滨工业大学(威海)计算机学院
二零一三年一月
数据库系统课程设计任务书
院(系):
计算机科学与技术学院专业:
信息安全
姓名:
方建辉学号:
110420209
课程设计题目:
医药销售管理系统
成绩:
问题阐述与分析:
(主要阐述设计题目背景、设计实现意义及所要解决的主要问题,要明确给出所要用的数据库知识点)
设计题目背景:
近年来,中国医药行业迅速发展,药店企业多业态经营,仓储式大型超市、中等规模超市、便利连锁综合发展。
随着规模的扩大,传统的医药管理已经不能适应发展的需要,很难在激烈的竞争中生存。
设计实现意义及所要解决的主要问题:
通过对从事医药产品的零售、批发等工作企业的深入调查,发现其业务主要包括基础信息管理、进货管理、销售管理、系统维护等。
医药管理是一项琐碎、复杂而又十分细致的工作。
手工进行企业日常的药品销售、出入库的工作,容易出现“开空单”的现象,且呆账、错账时有发生,而且费时费力。
本系统在设计中考虑和克服了上述问题,实现了企业管理工作的系统化、规范化和自动化。
所要用到的数据库知识:
(1)E-R图的画法:
包括经理、供货商、员工、药品销售清单、客户、药品的及整体的E-R图;
(2)关系模式与码:
包括药品信息、员工信息、客户信息、供应商信息、药品销售信息等;
(3)关系模式优化:
例如,药品销售信息中有大量的数据冗余,表达不明确,将其分解为如下两个模式:
①药品销售主表(销售编码,销售日期,销售员编号,总金额)
②药品销售子表(销售编码,销售日期,药品编码,药品名称,单价,数量,供应商)
(4)数据库设计:
对上述E-R图所需的实体需要的几个关键表的设计;
(5)数据的完整性和安全性的设计:
(6)SQL语言的运用:
数
工作量:
(本项主要说明课程设计的工作量体现之所在,具体的设计模块)
(1)基本信息模块:
包括药品信息、员工信息、客户信息、供应商信息等。
(2)进货管理模块:
包括入库登记、入库登记查询。
(3)销售管理模块:
包括销售基础信息管理登记及相应的查询等。
(4)系统维护模块:
包括数据安全管理、操作员管理。
说明:
根据对现实中医药销售管理业务,将用户分为两类超级管理员(经理)、普通管理员(操作员)。
工作计划安排:
(1)7月1日:
写好任务书;
(2)7月2日:
查找相关资料并进行整体的分析、策划;
(3)7月3日:
画出业务流程图和数据流程图;
(4)7月4-6日:
数据库系统结构设计;
(5)7月7-11日:
数据库运行及代码的实现、调试等工作;
(6)7月12日:
验收。
数据库相关知识点:
E-R图的画法、关系的各项操作、嵌入式SQL语言的应用、数据库的安全性与完整性、数据库的规范化设计。
1绪论
1.1项目简介:
近年来,中国医药行业迅速发展,药店企业多业态经营,仓储式大型超市、中
等规模超市、便利连锁综合发展。
随着规模的扩大,传统的医药管理已经不能
适应发展的需要,很难在激烈的竞争中生存。
通过对从事医药产品的零售、批发等工作企业的深入调查,发现其业务主要包
括企业药品销售、出入库管理、人事管理等。
医药管理是一项琐碎、复杂而又
十分细致的工作。
手工进行企业日常的药品销售、出入库的工作,容易出现“开
空单”的现象,且呆账、错账时有发生,而且费时费力。
本系统在设计中考虑
和克服了上述问题,实现了企业管理工作的系统化、规范化和自动化。
1.2设计目的:
设计一个适合医药销售方面的管理系统。
要求本系统能够投入实际的使用并且
满足基本的功能要求。
要求具有较高的可靠性、安全性和易维护性,具有较高
的可移植性。
1.3设计内容:
本系统实现了以下的功能:
(1)基本信息模块:
包括药品信息、员工信息、客户信息、供应商信息四个子模块。
(2)进货管理模块:
包括入库登记、入库登记查询二个子模块。
(3)库房管理模块:
只实现了库存查询。
(4)销售管理模块:
包括销售登记、销售退货。
(5)系统维护模块:
包括数据安全管理、操作员管理。
说明:
根据对现实中医药销售管理业务,将用户分为三类超级管理员(经理)、普通
管理员(操作员)、用户(消费者)。
1.4应用范围
本系统适用于从事医药产品零售、批发等工作企业的管理。
2需求分析
2.1数据需求
药品信息(药品编号,药品名称,药品类别代号,售价,进价,库存量,供应商,
有效期)外码:
药品类别代号、供应商
药品分类索引信息(药品类别代号,类别说明)
员工信息(员工号,姓名,用户名,密码,职位,权限)
客户信息(客户号,客户名称,联系人,联系方式,客户所在城市)
供应商信息(供应商号,供应商名称,联系人,联系方式,供应商所在城市)
药品销售信息(销售编码,销售日期,药品编码,药品名称,单价,数量,供应商,
总额,销售员编码)外码:
销售员编码、药品编码
2.2事务需求
(1)经理主要参与活动有:
①查询销售情况以便了解本企业的经营状况,作出相应的决策;
②管理员工,了解不同员工的信息及业务;
③供应商的管理,了解供应信息,选择最合适的供应商。
(2)营业员主要活动有:
①管理医药销售,对药品信息的录入、更新、修改和删除;
②查询药品信息,以了解是否有该药品和库存等信息;
③销售药品,出库记录;
④退还药品,入库记录;
(3)顾客主要活动:
①查询药品信息;
②选购药品。
2.3详细功能分析
通过对系统的数据流图进行分析,进一步进行功能分解,直到分解成含义明确,功
能单一的功能模块,从而得到系统的功能模块结构图。
2.4数据字典
绘制DFD,只是对数据处理和彼此之间的联系进行了说明。
为进一步明确数据的
详细内容和数据加工过程,应将数据流图中的全部数据流及其组成部分的数据
元素,数据存储,数据加工,通过数据字典描述清楚,以便于此后系统设计的进
行。
这就需要开发人员编写详细的数据字典,来描述系统开发过程的细节。
下面列出本系统中的数据项、数据流、数据存储、加工处理和数据结构的数据
字典。
数据字典可采用图表格式或较紧凑的记录格式描述,本文采用的是图表
格式。
数据项的DD表列举如下:
表2.1药品编号的数据字典
数据项
系统名:
医药销售管理系统编号:
I001名称:
药品编码别名:
数据项值:
类型:
字符型长度:
6个字节取值范围:
简述:
每种药品都具有唯一的编号,它是某种药品的唯一标识符,每种药品都有唯一的编号,如“011976”通常用前两位数字表示入库的年份,中间两位表示类别,最后两位表示该药的序号。
如果该类药数超过100种时,可用“0119A0”表示第100种药。
修改记录:
编写
日期
审核
日期
表2.2药品名称
数据项
系统名:
医药销售管理系统编号:
I002名称:
药品名称别名:
数据项值:
类型:
字符型长度:
32个字节取值范围:
简述:
每种药品都具有唯一药品标识。
修改记录:
编写
日期
审核
日期
表2.3密码
数据项
系统名:
医药销售管理系统编号:
I003名称:
售价别名:
数据项值:
类型:
数值型长度:
8个字节取值范围:
简述:
每种药品都要设置一个销售价格。
修改记录:
编写
日期
审核
日期
2.5开发运行环境
SOLServer2008,Powerbuilder12.5,
2.6安全保障
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或
破坏。
在数据库系统中,大量的数据集中存放,而且为许多用户直接共享,是宝
贵的信息资源,系统的安全保护措施就显得更为重要,它保护数据库防止恶意的
破坏和非法的存取。
本系统包括数据库的安全和服务器的安全。
采用管理员表示和鉴定的方法实现数据
库的安全,此安全管理措施并不在前台开发工具中实现,而是在后台数据库中实现。
在登录数据库时,系统让管理员户表示自己的身份,不同的管理员权限不同,系统
进行核实,鉴别此管理员是否为合法用户,若是,系统进一步核实用户,通常要求
用户输入口令,系统和对用户口令以鉴别用户身份。
服务器的安全也是通过用户在
登录服务器时输入合法的用户名和密码来实现的。
这是一种简单可行的方法,实现
起来比较方便。
没有采用更加复杂的系统安全管理措施是因为本管理系统一般是应
用在校园网中,采用安全管理措施主要是为了防止没有修改权限的用户无意间修改
了数据,因此采用用户标识和鉴定的安全管理措施就能够保障数据库的安全性。
3概念设计
3.1实体及联系抽象
药品信息(药品编号,药品名称,药品类别代号,售价,进价,库存量,供应商,
有效期)外码:
药品类别代号、供应商
药品分类索引信息(药品类别代号,类别说明)
员工信息(员工号,姓名,用户名,密码,职位,权限)
客户信息(客户号,客户名称,联系人,联系方式,客户所在城市)
供应商信息(供应商号,供应商名称,联系人,联系方式,供应商所在城市)
药品销售信息(销售编码,销售日期,药品编码,药品名称,单价,数量,供应商,
总额,销售员编码)外码:
销售员编码、药品编码
3.2E-R图
E-R图:
在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分
析,分析各数据存储之间的关系,然后才能得出系统的关系模式。
可以采用E-R
图的方法来进行数据结构分析,E-R设计方法是一种通过E-R图来描述现实世界
信息结构的DB设计方法。
E-R图由实体、属性、联系三部分组成。
各分E-R图
说明如下:
经理E-R图:
供应商E-R图:
员工E-R图:
药品销售清单E-R图:
客户E-R图:
药品E-R图:
整体E-R图:
3.3关系模式
1.关系模式与码:
药品信息(药品编号,药品名称,药品类别代号,售价,进价,库存量,供应商,
有效期)外码:
药品类别代号、供应商
药品分类索引信息(药品类别代号,类别说明)
员工信息(员工号,姓名,用户名,密码,职位,权限)
客户信息(客户号,客户名称,联系人,联系方式,客户所在城市)
供应商信息(供应商号,供应商名称,联系人,联系方式,供应商所在城市)
药品销售信息(销售编码,销售日期,药品编码,药品名称,单价,数量,供应商,
总额,销售员编码)外码:
销售员编码、药品编码
2.关系模式优化:
在上述关系模式中,每一个分量都是不可分割的数据项所以都符合第一范式;而且
前四个关系模式都是单个属性作为码,没有任何非主属性对码部分函数依赖,在药
品销售信息内虽由三个属性作为码,但也不存在非主性对码的部分函数依赖,所以
上都符合第二范式;药品信息、药品类别索引、客户信息、供应商信息四个关系模
式中都不存在非主属性对码的传递函数依赖,都属于第三范式。
在员工信息关系模式中,员工是按照权限分类的,职位不同权限也不同,这样该关
系模式就存在了非主属性对码的传递依赖:
职工号->职位,职位->权限,所以就将
用员工信息分解为如下现个模式:
1工信息(员工号,姓名,用户名,用户口令,职位)
2位权限信息(职位,权限)
本系统不考虑职工信息的管理,为了使销售员编号与销售员的职工号连系起来,并
能通过职工姓名和职位来修改用户信息所以把员工的部分信息(职工号,姓名,职
位)和经理(用户名,密码)合成了员工信息(员工号,姓名,用户名,密码,职
位,权限)以便系统功能的实现,所以在此不采用模式分解。
药品销售信息中有大量的数据冗余,表达不明确,将其分解为如下两个模式:
①品销售主表(销售编码,销售日期,销售员编号,总金额)
②药品销售子表(销售编码,销售日期,药品编码,药品名称,单价,数量,供应商)
4逻辑设计
4.1各表功能
药品信息表:
显示药品的所有信息;
客户信息:
显示客户的所有信息;
供应商信息:
显示供应商的所有信息;
药品销售主表:
显示大体的药品销售信息;
药品销售子表:
显示具体的药品销售信息;
药品类别索引信息:
显示药品的类别信息;
员工信息:
显示员工的所有信息。
4.2各表结构
对上述E-R图所需的实体需要的几个关键表的设计如下:
表名:
药品信息表
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
MedicineCode
Char
6
PrimaryKey
NotNull
药品编码
MedicineName
Varchar
32
NotNull
药品名称
MedKindCode
Char
10
Foreignkey
NotNull
药品类别代码
Price
Money
8
售价
ListPrice
Money
8
进价
Number
Int
4
库存量
FirmCode
Char
10
Foreignkey
供应商
Usefulllife
Datetime
8
有效期至
表名:
客户信息
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
GuestCode
Char
10
PrimaryKey
NotNull
客户编码
GuestName
Varchar
16
NotNull
客户名称
gLink
Varchar
12
联系人
gLinkTell
Varchar
11
联系方式
City
Varchar
8
所在城市
表名:
供应商信息
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
FirmCode
Char
10
PrimaryKey
NotNull
供应商编码
FirmName
Varchar
16
NotNull
供应商名称
Link
Varchar
12
联系人
LinkTell
Varchar
11
联系电话
City
Varchar
8
所在城市
表名:
药品销售主表
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
SaleNo
int
4
PrimaryKey
NotNull
销售编码
WorkNo
Char
10
Foreignkey
NotNull
销售员编码
SaleDate
DateTime
8
销售日期
Amount
Money
8
总额
表名:
药品销售子表
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
SaleNo
int
4
PrimaryKey
NotNull
销售编码
MedicineCode
Char
6
Foreignkey
NotNull
药品编码
MedicineName
Varchar
32
NotNull
药品名称
Price
Money
8
售价
Number
Int
4
数量
FirmCode
Char
10
Foreignkey
供应商
Amount
Money
8
总额
表名:
药品类别索引信息
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
MedKindCode
Char
10
PrimaryKey
NotNull
药品类别代码
KindExplanation
Varchar
12
NotNull
类别说明
表名:
员工信息
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
WorkNo
Char
10
PrimaryKey
NotNull
员工号
Name
Varchar
12
姓名
UserRegName
Char
6
NotNull
用户名
Password
Char
10
NotNull
密码
Position
Char
10
职位
4.3表关系图
5物理设计
4.4物理存储
//数据库备份:
stringbackup1
stringpathstring
pathstring=sle_1.text//将sle_1这个输入框赋给变量pathstring
ifpathstring=""then
messagebox("提示信息","请输入备份数据库名称!
")
return
endif
disconnectusingsqlca;//断开数据库
//循环,为true时,提交备份操作
sqlca.autocommit=true
ConnectUSINGSQLCA;//连接数据库
backup1="backupdatabase数据库课设"+"todisk="+"'"+pathstring+"'";//备份数据库到指定路径(dist为盘)
messagebox(SQLCA.Database,backup1)
executeimmediate:
backup1;//立即执行
ifsqlca.sqlcode=0then//SQLCode:
数据库操作的返回码,其中0----成功;-1----失败
messagebox("提示信息","数据库备份成功!
")
else
//弹出名为"提示信息"的窗口,显示"错误"
messagebox("提示信息","错误")
endif
sqlca.autocommit=false
4.5完整性约束
数据库的完整性是指数据的正确性和相容性。
数据库管理系统(DBMS)用一定的
机制来检查数据库中的数据是否满足规定的条件——完整性约束条件,数据的约束
条件是语义的体现,将作为模式的一部分存入数据库中。
本系统中定义了表与表之间的联系有助于实现完整性规则,一般在程序中实现具体
的完整性控制。
实体完整性
例如:
CREATETABLEMedInfor/*创建药品信息表*/
(MedicineCodechar(6)constraintM_PRIMPRIMARYKEY,
MedicineNamevarchar(8)NOTNULL,
MedKindeCodechar(10)FOREIGNKEYREFERENCESMedID(MedKindeCode),
PriceMoney(8),
ListPriceMoney(8),
NumberInt(4),
FirmCodechar(10)FOREIGNKEYREFERENCESFirmInfor(FirmCode),
UserfulllifeDatetime)
参照完整性
例如:
createtablesellMain/*创建医药销售主表*/
(SaleNointconstraintSM_PRIMPRIMARYKEY,
WorkNochar(10)FOREIGNKEYREFERENCESWorkInfor(WorkNo),
SaleDateDateTime,
AmountMoney)
4.6视图设计
由供应商信息表建立一个视图,该视图由供应商信息表的所有列构成*/
createview供应商信息(供应商编码,供应商名称,联系人,联系电话,所在城市)
as
select*from供应商信息
4.7触发器设计
没实现该项功能
5系统实现与维护
登入界面:
登入界面代码:
//设定两个与输入框相对应的变量
stringa_user,a_pwd
//判断输入是否为空
ifsle_name.text=""orsle_password.text=""then
MessageBox("Error!
","登录账户或密码为空,请重新输入!
")
return
endif
ifnotrb_manager.checkedandnotrb_operator.checkedandnotrb_customer.checkedthen
MessageBox("Error!
","请选择登录权限!
")
return
endif
//经理登录
ifrb_manager.checkedthen
selectm_num,m_pwd
into:
a_user,:
a_pwd
frommanager//从manager表
wherem_num=:
sle_name.text;
ifa_pwd=trim(sle_password.text)then
MessageBox("恭喜!
","密码正确,已批准登录系统")
sle_name.text="";
sle_password.text="";
open(manager)
endif
endif
//员工登录
ifrb_operator.checkedthen
selecto_num,o_pwd
into:
a_user,:
a_pwd
fromoperator
whereo_num=:
sle_name.text;
ifa_pwd=trim(sle_password.text)then
MessageBox("恭喜!
","密码正确,已批准登录系统")
sle_name.text="";
sle_password.text="";
open(operator)
endif
endif
//客户登陆
ifrb_customer.checkedthen
selectc_num,c_pwd
into:
a_user,:
a_pwd
fromcustomer
wherec_num=:
sle_name.text;
ifa_pwd=trim(sle_password.text)then
MessageBox("恭喜!
","密码正确,已批准登录系统")
sle_name.text="";
sle_password.text="";
open(customer)
endif
endif
ifsle_name.text<>""andsle
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)