服装销售管理系统的后台数据库设计.docx
- 文档编号:24965928
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:16
- 大小:270.61KB
服装销售管理系统的后台数据库设计.docx
《服装销售管理系统的后台数据库设计.docx》由会员分享,可在线阅读,更多相关《服装销售管理系统的后台数据库设计.docx(16页珍藏版)》请在冰豆网上搜索。
服装销售管理系统的后台数据库设计
综合性、设计性实验报告
实验课程名称数据库原理
专业计算机科学与技术班级1102
学号201108001202姓名朱晓强学号201108001212姓名毛威
学号201108001218姓名方姣指导教师及职称段华斌(讲师)开课学期2012至2013学年第二学期设计时间2013年6月6日~2013年6月18日
湖南科技学院教务处编印
设计题目服装销售管理系统的后台数据库设计
1.实验目的:
本课程设计的目的是为了让学生能够全面了解数据库应用系统的整个开发过程,逐步掌握系统开发的以下相关技术:
(1)巩固数据库理论知识,熟悉一种具体的数据库管理系统(例如:
SQLServer)的使用方法。
(2)掌握针对特定应用环境数据库的设计。
(3)综合使用SQLServer中数据库、表、视图、索引、触发器、存储过程的创建使用方法。
(4)体会运用软件工程的设计思想进行软件系统开发的过程与方法。
2.软硬件环境:
软件环境:
MicrofoftSQLServer2005;Windows7;硬件环境:
2GB内存;IntelpentiueB950;32位操作系统
3.实验设计简述:
服装管理系统主要是用于店主管理服装的销售情况。
其中包括进货信息、销售信息、退货信息及库存信息此系统可以帮助店主统计服装的销售数量,便于店主查询服装销售情况、库存情况及服装所存在的问题,从而看出本季服装走向、哪款颜色销售得更火,便于进货。
4.系统需求分析与功能设计(根据课题的要求进行简单的需求分析,设计相应的数据流图,得出相应的系统功能需要,系统数据流图)
(1)系统需求分析:
针对服装销售管理系统,分别对进货、销售、库存管理的任务和功能进行分析,总结如下的需求信息:
1.商品按类别管理,同一个大的类别还可以细分。
2.需要记录供应商的详细信息。
3.在涉及商品数量的地方,要给出相应的单位。
4.在进货信息中要包括商品供应商等信息。
5.商品销售信息单中要登记商品销售数量、单价、折扣比例等信息。
6.每一条进货、销售、库存等信息都要对应一张单据。
7.当进行了进货和销售操作后能及时更新相应的库存数量。
经过上述分析,考虑到将来功能上的扩展,设计如下数据项:
1服装信息:
商品编号、商品名称、颜色、型号、进价、售价等。
2进货信息:
进货单号、供应商编号、商品编号、数量、进货日期、总金额等。
3销售信息:
销售单号、商品编号、销售日期、数量、折扣、盈利等。
4库存信息:
商品编号、更新日期、数量等。
5退货信息:
退货单号、销售单号、退货日期、退货原因等。
6供应商信息:
供应商编号、供应商名称、地址、账号、开户银行、联系人等。
3)概念结构设计
5.概念模型设计(按数据库设计方法和规范化理论,从实践概括抽象出ER模型)
1、局部E-R图:
根椐关系模型,在SQL数据库中建立数据表和数据表之间的关系如下:
(1)进货信息
图1.进货信息表E-R图
2)销售信息
图2.销售作息表E-R图
3)退货信息
图3.退货信息表E-R图
4)库存信息
5)服装信息
6)供应商信息
全局E-R图
联系人
地址
开户银行
供应商编
供应商名称
M
供应商信息
选择
N
M
进货信息
总金额
选择
数量
进货日期
1
商品名称
更新日期
数量
售价
商品编
1
库存信息
服装信息
进价
型号
退货单号
1
退货日期
颜色
退货原因
退货信息
1
处理
处理
M
销售信息
销售日期
数量
折扣
供应商编号
商品编号
商品编号
商品编号
进货单号
销售单号
售单号
账号
M选择
5
6.逻辑模型设计(按数据库设计方法和规范化理论得出符合3NF的逻辑模型,ER图设计,ER图转
化为相应的关系模式,设计数据库的逻辑模型)
通过E-R模型到关系模型的转化,可以得到如下关系模式:
(1)供应商实体集转换为关系:
Supplier(SupID,Supplier,Address,Account,Bank,Linkman)
(2)服装实体集转换为关系:
Cloth(ID,Name,Color,Size,B_prise,S_prise)
(3)销售联系关系转换为关系:
S(Sno,ID,Discount,Snum,Sdate)
(4)进货联系关系转换为关系:
B(Bno,ID,Bnum,SupID,Money,Bdate)
(5)退货联系关系转换为关系:
R(Rno,Sno,Sdate,Rdate,Resion,)
(6)库存实体集转换为关系:
W(ID,Wdate,Wnum)
每个关系模式的主键码都用下划线标出。
同时,从联系导出的关系sell(销售),buy(进货),return(退货),使用与之相联系的实体集的主键码作为自己的键码,必须符合外键码约束。
对于supplier(供应商),cloth(服装)和warehouse(库存)之间,不存在直接约束,所以可以存在没有供应商供应的服装。
7.物理模型设计(存储记录结构设计,物理文件的安排和建立索引)
1、存储记录结构设计
Supplier表(供应商信息:
供应商编号、供应商名称、地址、账号、开户银行、联系人)
列名
类型
长度
约束
SupID
Int
Primarykey
Supplier
Char
20
Address
Char
20
Account
int
Bank
Char
20
Linkman
Char
20
Cloth表(服装信息:
商品编号、商品名称、颜色、型号、进价、售价)
列名
类型
长度
约束
ID
Int
Primarykey
Name
Char
20
Notnull
Color
Char
20
Size
Char
10
Bprice
Int
Default0
Sprice
Int
Default0
S表(销售信息:
销售单号、商品编号、数量、折扣、销售日期)
列名
类型
长度
约束
Sno
Int
Primarykey
ID
Int
Foreignkey(Cloth)
Discount
Int
Snum
Int
Sdate
Float
20
Notnull
6
B表(进货信息:
进货单号、商品编号、数量、供应商编号、总金额、进货日期)
列名
类型
长度
约束
Bno
Int
Primarykey
ID
Int
Foreignkey(Cloth)
Bnum
Int
SupID
Int
Foreignkey(Supplier)
Money
Int
Bdate
Float
20
Notnull
R表(退货信息:
退货单号、销售单号、退货日期、退货原因)
列名
类型
长度
约束
Rno
Int
Primarykey
Sno
Int
Foreignkey(Cloth)
Rdate
Float
20
Notnull
Reason
Char
W表(库存信息:
商品编号、数量、更新日期)
列名
类型
长度
约束
ID
Int
Primarykey
Wnum
Int
Wdate
Float
20
Notnull
2、为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表中建立索引的表项:
(1)Supplier(SupID)
(2)Cloth(ID)
(3)S(Sno,ID)
(4)B(Bno,ID,SupID)
(5)R(Rno,Sno)
(6)W(ID)
8.实现(数据库结构设计的程序代码,基本操作的程序代码)--建立数据库
createdatabaseClothSale
--建立Supplier表
create
tableSupplier
(SupID
intprimary
key
Supplier
char(20),
Address
char(20),
Account
int,
Bankchar(20),
Linkman
)
--建立C
char(20)
loth表
create
tableCloth
(IDint
primarykey
Namechar(20)notnull,
Color
char(20),
sizechar(10),
B_price
intdefault
0,
S_price
intdefault
0
)
--建立S表
createtableS
(Snoint,
IDint,
Discountfloat
Snumint,
Sdate
float
(20)
notnull,
primary
key
(Sno,
ID),
foreign
key
(ID)
references
Cloth(ID)
--建立B表
create
table
B
(Bno
int,
IDint
SupID
int,
Bnum
int,
Money
int,
Bdate
float
(20)
notnull,
primary
key
(Bno,
ID,SupID),
foreign
key
(ID)
references
Cloth(ID),
foreign
key
(SupID
)references
Supplier(SupID),
)
--建立R表
createtableR
(Rnoint,
Snoint,
Rdatefloat(20)notnull,
Reasonchar(30),primarykey(Rno,Sno),
foreignkey(Sno)
)
--建立W表
references
Cloth
(Sno)
createtableW
(IDintprimary
key,
Wnumint,
Wdatefloat(20)
notnull,
foreignkey(ID)
references
Cloth
(ID)
)
--新增王五的信息insertintoSuppliervalues(1002,'森马','岳阳',622202,'CBC','王五')
--查找供应商王五的信息selectLinkman,Supplier,AddressfromSupplier
whereSupID='1002'
--查询进价在以下的服装selectNamefromClothwhereB_price<100
--创建视图createviewkcasselectWnum,WdatefromWwhereID='100'
--创建索引
createindexfuzhuangmingonCloth(name,B_price)--查看索引
sp_helpindexCloth
--创建名为Start_sale的存储过程
ifexists(selectnamefrom
sysobjects
where
name='Start_sale'
andtype='p
')
drop
procStart_sale
create
procedureStart_sale
as
select
snoas订单号,
IDas服装号,Discountas折扣fromSwhereSdate='20130618'--查看存储过程execStart_sale--创建触发器ifexists(selectnamefromsysobjectswherename='Start_delete'andtype='TR')dropprocStart_deletecreatetriggerStart_deleteonSupplierinsteadofdeleteas
print'insteadof触发器开始执行'
print'本表数据不允许删除'deletefromSupplierwhereLinkman='李四'--统计进价大于五十的服装编号及进价,并按进价的降序排列selectID,max(B_price)asB_pricefromClothgroupbyIDHavingmax(B_price)>50orderbyB_priceDESC
--若服装销量小于六件和大于十件则更改折扣信息updateS
setDiscount
=casewhen
S
Snum<6
thenS.
Discount*0.9
when
S
Snum>10
thenS
.Discount*1.1
else
S
Discount
*1
end
--查询售价为的销售单号selectSnofromSwhereIDin(selectIDfromClothwhereS_price='120')--查询牛仔裤卖了多少件selectSnumfromSwhereIDin(selectIDfromClothwherename='牛仔裤')
10
9.实验总结
(主要对本实验开发过程进行归纳和总结,还应包括在设计过程中所遇到的技术难点及解决方法,尚存在的问题以及进一步开发的见解与建议。
)
我们做的这个系统比较简单,是属于比较小的一个服装管理系统,很多功能还有待加强,它仅仅适用于小型商店。
刚开始的时候代码能执行成功,但结果总是运行不出来,后来才发现是忘记把它指定到当前数据库。
在编程过程中,因为对groupby和having不熟悉,所以总是出错,经过查课本和实验指导书才成功的实现了这个功能;还有对case语句的用法不太熟练以及对T-SQL语言不大熟悉,导致敲代码的速度较慢。
在这个系统中,可以扩展顾客信息以及职工信息,以适应于大型的服装店的销售管理;还可以扩展月盈利和年盈利,这样能使得系统更加完善,方便店主了解服装销售盈利情况。
10.参考文献
[1]段华斌,韦美燕,郭美珍编著.数据库原理实验指导.
[2]王珊,萨师煊编著.数据库系统概论(第四版)北京:
高等教育出版社,2006
指导老师评语及得分:
签名:
年月日
11
12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 服装 销售 管理 系统 后台数据库 设计