(店铺管理)超市POS系统的数据库设计最全版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(店铺管理)超市POS系统的数据库设计
超市POS管理系统
数据库设计
数据库在壹个信息管理系统中占有非常重要的地位,数据库结构的设计好坏将直接对应用系统的效率以及实现的效果产生影响。

数据库设计壹般包括以下四个部分:数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库物理结构实现。

壹、数据库需求分析
通过对超市管理工作过程的内容和数据流图分析,设计如下面的数据项和数据结构。

1、员工信息,包括的数据项有:员工编号,姓名,性别,职务,口令,权限级别、身份证号,所属部门编号等。

2、部门信息,包括的数据项有:部门编号,部门名称。

3、供应商信息,包括的数据项有:供应商编号,供应商名称,地址,邮政编码,电话号码,税号,银行帐号,开户银行,联系人,备注等。

4、会员信息,包括的数据项有:会员编号,姓名,性别,身份证号,消费总金额,积分等。

5、入库信息,包括的数据项有:入库编号,入库日期,商品编号,计量单位,入库价格,销售价格,数量,总金额,供应商编号,业务员编号等。

6、商品信息,包括的数据项有:商品编号,所属类别,数量,单价,商品名称等。

7、销售出货单主信息,包括的数据项有:销售日期,总金额,是否现金,是否会员,会员编号、收银号编号等。

8、销售出货单子信息,包括的数据项有:商品编号,数量,单价,折扣比例,金额等。

二、数据库概念结构设计
根据上面设计规划出的实体,我们对各个实体具体的描述E-R 图如下:
图1员工信息E-R 图
图2部门信息E-R 图

图4商品信息E-R 图
图5销售出货单主信息E-R 图
图6销售出货单子信息E-R 图
图7会员信息E-R 图
E-R图实体和实体之间的关系E-R图:
四、数据库物理结构实现
根据之上的逻辑分析所得到表的关系,我们使用T-SQL语言设计得到数据库和数据表。

1.createdatabaseglxt
on
(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,
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,
jemoneynotnull,
)
go
10.createtablekc
(kcxxbhchar(8)notnull
constraintPK_pnoprimarykey,
spbhchar(8)notnull
constraintFK_inoforeignkeyreferencessp(spbh), kclintnotnull
)
go
五、数据库扩展功能实现
1.CREATETRIGGERtriger_sl
ONrk
afterinsert
AS
updatekc
setkcl=kcl+(selectslfrominserted) wherespbh=(selectspbhfrominserted)
2.CREATETRIGGERtriger_kc
ONzixx
afterdelete
AS
updatekc
setkcl=kcl-(selectslfromdeleted) wherespbh=(selectspbhfromdeleted)。

相关文档
最新文档