超市POS管理系统doc.docx
《超市POS管理系统doc.docx》由会员分享,可在线阅读,更多相关《超市POS管理系统doc.docx(17页珍藏版)》请在冰点文库上搜索。
超市POS管理系统doc
超市POS管理系统
数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构的设计好坏将直接对应用系统的效率以及实现的效果产生影响。
数据库设计一般包括以下四个部分:
数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库物理结构实现。
一、数据库需求分析
通过对超市管理工作过程的内容和数据流图分析,设计如下面的数据项和数据结构。
1、员工信息,包括的数据项有:
员工编号,姓名,性别,职务,口令,权限级别、身份证号,所属部门编号等。
2、部门信息,包括的数据项有:
部门编号,部门名称。
3、供应商信息,包括的数据项有:
供应商编号,供应商名称,地址,邮政编码,电话号码,税号,银行帐号,开户银行,联系人,备注等。
4、会员信息,包括的数据项有:
会员编号,姓名,性别,身份证号,消费总金额,积分等。
5、入库信息,包括的数据项有:
入库编号,入库日期,商品编号,计量单位,入库价格,销售价格,数量,总金额,供应商编号,业务员编号等。
6、商品信息,包括的数据项有:
商品编号,所属类别,数量,单价,商品名称等。
7、销售出货单主信息,包括的数据项有:
销售日期,总金额,是否现金,是否会员,会员编号、收银号编号等。
8、销售出货单子信息,包括的数据项有:
商品编号,数量,单价,折扣比例,金额等。
二、数据库概念结构设计
根据上面设计规划出的实体,我们对各个实体具体的描述E-R图如下:
图1员工信息E-R图
图2部门信息E-R图
图3入库信息E-R图
图4商品信息E-R图
员
所属部门编号员工编姓
职务口令身份证号
权限级别性别
部门部门编号部门名称
入库入库日期数量
商品编号总金额入库编号
计量单位供应商编号
入库价格
商品商品编号价格商品名称
数量所属类别
图5销售出货单主信息E-R图
图6销售出货单子信息E-R图
图7会员信息E-R图
图8供应商信息E-R图
销售出货单主信息总金额是否现
销售日期是否会
会员编号
收银员编号
销售出货单子信息数量单价折扣比例
商品编号金额
会员会员编号姓名
积分
消费总金额性别
身份证号
供应商供应商编号供应商名称
地址电话号码
邮政编号
备注税号
联系人开户银行银行帐号
实体与实体之间的关系E-R图:
部门管理员工购买属于
会员
提供
三、数据库逻辑结构设计
员工信息表
字段名数据类型长度说明描述
YgbhChar8不空,主键员工编号
NameChar8不空姓名
SexChar2不空‘男'、‘女'性别
ZwChar10不空职务
KlvarChar20不空口令
QxjbChar1不空权限级别
SfzhChar18不空,唯一约束身份证号
ssbmbh
char
4
不空,外键所属部门编号
商品信息
字段名数据类型长度说明描述
Spbhchar8不空,主键商品编号
Spmcvarchar20不空商品名称
Sslbchar8不空所属类别
Jgmoney8不空价格
sl
int
4
不空数量入商消费供应销售出货单主信销售出货单子信包
供应商信息
字段数据类长说描
GysbhChar8不空,主供应商编
GysmcChar8不供应商名
DzvarChar20不地
YzbmChar6不邮政编
Dhhmvarchar15不电话号
ShvarChar3不税
YhzhvarChar20不银行帐
KhyhChar8不空开户银行
LxrChar8不空联系人
beizhutext
16
备注
入库信息表
字段名数据类型长度说明描述
Rkbhchar8不空,主键入库编号
RkrqDatetime8不空入库日期
Spbhchar8不空,外键商品编号
部门信息表
字段名
JldwChar2不空计量单位
RkjgMoney8不空入库价格
XsjgMoney8不空销售价格
Slint4不空数量
ZjeMoney8不空总金额
Gysbhchar8不空,外键供应商编号
ywybh
char
8
不空,外键业务员编号
会员信息表
字段名数据类型
长度
说明
描述
HybhChar
8
不空,主键
会员编号
NameChar
6
不空
姓名
SexChar
2
不空,'男'、'女'
性别
SfzhvarChar
20
不空
身份证号
xfzjemoney
8
不空
消费总金额
jfint
4
不空
积分
数据类型长度说明描述
bmbhchar8不空,主键部门编号
bmmcchar
4
不空部门名称
销售出货单子信息
字段名
数据类型
长度
说明
描述
Spbh
char
8
不空,外键
商品编号
Sl
int
4
不空
数量
Dj
money
8
不空
单价
Zkbl
char
10
不空
折扣比例
Je
money
8
不空
金额
库存信息表
字段名
数据类型
长度
说明
描述
kcxxbh
char
8
不空,主键
库存信息编号
Spbh
char
8
不空,外键
商品编号
kcl
int
4
不空
库存量
销售出货单主信息
字段名
数据类型
长度
说明
描述
Xsrq
datetime
8
不空
销售日期
ZjeMoney8不空总金额
SfxjChar2不空是否现金
Sfhychar2可为空是否会员
HybhChar8不空,外键会员编号
Syybhchar
8
不空,外键收银号编号
四、数据库物理结构实现
根据以上的逻辑分析所得到表的关系,我们使用T-SQL语言设计得到数据库和数据表。
1.createdatabaseglxton
(name=pos_dat,
filename='D:
\pos_dat.mdf',size=5,
maxsize=20,filegrowth=1)LOGon
(name=pos_log,
filename='D:
\pos_log.ldf',size=5,
maxsize=20,filegrowth=1)
2.createtablebm
(bmbhchar(8)notnull
constraintPK_bnoprimarykey,bmmcchar(4)notnull)go
3.createtablesp
(spbhchar(8)notnull
constraintPK_cnoprimarykey,spmcvarchar(20)notnull,sslbchar(8)notnull,slintnotnull,jgmoneynotnull)go
4.createtablegys
(gysbhchar(8)notnull
constraintPK_dnoprimarykey,gysmcchar(8)notnull,dzvarchar(20)notnull,yzbmchar(8)notnull,dhhmvarchar(15)notnull,shvarchar(3)notnull,yhzhvarchar(20)notnull,
khyhchar(8)notnull,lxrchar(8)notnull,beizhutextnull)go
5.createtablehy(hybhchar(8)notnull
constraintPK_enoprimarykey,hynamechar(6)notnull,
sexchar
(2)checkCK_hysexin(‘男','女')notnull,sfzhvarchar(20)notnull,xfzjemoneynotnull,jfintnotnull)Go
6.createtableyg(ygbhchar(8)notnull
constraintPK_fnoprimarykey,ygnamechar(8)notnull,
sexchar
(2)checkCK_ygsexin(‘男','女')notnull,zwchar(8)notnull,klvarchar(20)notnull,qxjbchar(4)notnull,sfzhvarchar(18)notnull,ssbmbhchar(8)notnull
constraintFK_anoforeignkeyreferencesbm(bmbh))go
7.createtablerk(rkbhchar(8)notnull
constraintPK_gnoprimarykey,xsjgmoneynotnull,rkrqdatetimenotnull,spbhchar(8)notnull
constraintFK_bnoforeignkeyreferencessp(spbh),ywybhchar(8)notnull
constraintFK_cnoforeignkeyreferencesyg(ygbh),jldwchar
(2)notnull,rkjgmoneynotnull,gysbhchar(8)notnull
constraintFK_dnoforeignkeyreferencesgys(gysbh),
zjemoneynotnull,slintnotnull)go
8.createtablezhuxx(xsrqdatetimenotnull,zjemoneynotnull,
sfxjchar
(2)checkCK_zhuxx_sfxjin(‘是','否')notnull,
sfhychar
(2)checkCK_zhuxx_sfhyin(‘是','否'),hybhchar(8)notnull
constraintFK_enoforeignkeyreferenceshy(hybh),syybhchar(8)notnull
constraintFK_fnoforeignkeyreferencesyg(ygbh))go
9.createtablezixx(spbhchar(8)notnull
constraintFK_gnoforeignkeyreferencessp(spbh),slintnotnull,djmoneynotnull,zkblchar(10)notnull,jemoneynotnull,)go
10.createtablekc
(kcxxbhchar(8)notnull
constraintPK_pnoprimarykey,spbhchar(8)notnull
constraintFK_inoforeignkeyreferencessp(spbh),kclintnotnull)go