1、店铺管理超市POS系统的数据库设计超市POS管理系统数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构的设计好坏将直接对应用系统的效率以及实现的效果产生影响。数据库设计一般包括以下四个部分:数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库物理结构实现。一、数据库需求分析通过对超市管理工作过程的内容和数据流图分析,设计如下面的数据项和数据结构。1、员工信息,包括的数据项有:员工编号,姓名,性别,职务,口令,权限级别、身份证号,所属部门编号等。2、部门信息,包括的数据项有:部门编号,部门名称。3、供应商信息,包括的数据项有:供应商编号,供应商名称,地址,邮政编码,电话
2、号码,税号,银行帐号,开户银行,联系人,备注等。4、会员信息,包括的数据项有:会员编号,姓名,性别,身份证号,消费总金额,积分等。5、入库信息,包括的数据项有:入库编号,入库日期,商品编号,计量单位,入库价格,销售价格,数量,总金额,供应商编号,业务员编号等。6、商品信息,包括的数据项有:商品编号,所属类别,数量,单价,商品名称等。7、销售出货单主信息,包括的数据项有:销售日期,总金额,是否现金,是否会员,会员编号、收银号编号等。8、销售出货单子信息,包括的数据项有:商品编号,数量,单价,折扣比例,金额等。二、数据库概念结构设计根据上面设计规划出的实体,我们对各个实体具体的描述E-R图如下:图
3、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不空姓名Sex Char2不空男、女性别ZwChar10不空职务KlvarChar20不空口令QxjbChar1不空权限级别SfzhChar18不空,唯一约束身份证号ssbmbhchar4不空,外键所属部门编号商品信息字段名数据类型长度说明描述Spbhchar8不
4、空,主键商品编号Spmcvarchar20不空商品名称Sslbchar8不空所属类别Jgmoney8不空价格slint4不空数量部门信息表字段名数据类型长度说明描述bmbhchar8不空,主键部门编号bmmcchar4不空部门名称供应商信息表字段名数据类型长度说明描述GysbhChar8不空,主键供应商编号GysmcChar8不空供应商名称DzvarChar20不空地址YzbmChar6不空邮政编码Dhhmvarchar15不空电话号码ShvarChar3不空税号YhzhvarChar20不空银行帐号KhyhChar8不空开户银行LxrChar8不空联系人beizhutext16备注会员信息表
5、字段名数据类型长度说明描述Hybh Char8不空,主键会员编号NameChar6不空姓名SexChar2不空,男、女性别SfzhvarChar20不空身份证号xfzjemoney8不空消费总金额jfint4不空积分入库信息表字段名数据类型长度说明描述Rkbhchar8不空,主键入库编号RkrqDatetime8不空入库日期Spbhchar8不空,外键商品编号JldwChar2不空计量单位RkjgMoney8不空入库价格XsjgMoney8不空销售价格Slint4不空数量ZjeMoney8不空总金额Gysbhchar8不空,外键供应商编号ywybhchar8不空,外键业务员编号库存信息表字段名
6、数据类型长度说明描述kcxxbhchar8不空,主键库存信息编号Spbhchar8不空,外键商品编号kclint4不空库存量销售出货单主信息字段名数据类型长度说明描述Xsrqdatetime8不空销售日期ZjeMoney8不空总金额SfxjChar2不空是否现金Sfhychar2可为空是否会员HybhChar8不空,外键会员编号Syybhchar8不空,外键收银号编号销售出货单子信息字段名数据类型长度说明描述Spbhchar8不空,外键商品编号Slint4不空数量Djmoney8不空单价Zkblchar10不空折扣比例Jemoney8不空金额四、数据库物理结构实现根据以上的逻辑分析所得到表的关
7、系,我们使用T-SQL语言设计得到数据库和数据表。1create database glxton( name=pos_dat, filename=D:pos_dat.mdf, size=5, maxsize=20, filegrowth=1)LOG on( name=pos_log, filename=D:pos_log.ldf, size=5, maxsize=20, filegrowth=1)2create table bm(bmbh char(8) not null constraint PK_bno primary key, bmmc char(4) not null)go3creat
8、e table sp(spbh char(8) not null constraint PK_cno primary key, spmc varchar(20) not null , sslb char(8) not null, sl int not null, jg money not null)go4create table gys(gysbh char(8) not null constraint PK_dno primary key, gysmc char(8) not null, dz varchar(20) not null, yzbm char(8) not null, dhhm
9、 varchar(15) not null, sh varchar(3) not null, yhzh varchar(20) not null, khyh char(8) not null, lxr char(8) not null, beizhu text null)go5create table hy(hybh char(8) not null constraint PK_eno primary key, hyname char(6)not null, sex char(2) check CK_hy sex in (男,女) not null, sfzh varchar(20) not
10、null, xfzje money not null, jf int not null)Go6create table yg(ygbh char(8) not null constraint PK_fno primary key, ygname char(8) not null, sex char(2) check CK_yg sex in (男,女) not null, zw char(8) not null, kl varchar(20) not null, qxjb char(4) not null, sfzh varchar(18) not null, ssbmbh char(8) n
11、ot null constraint FK_ano foreign key references bm(bmbh)go7create table rk(rkbh char(8) not null constraint PK_gno primary key, xsjg money not null, rkrq datetime not null, spbh char(8) not null constraint FK_bno foreign key references sp(spbh), ywybh char(8) not null constraint FK_cno foreign key
12、references yg(ygbh), jldw char(2) not null, rkjg money not null, gysbh char(8) not null constraint FK_dno foreign key references gys(gysbh), zje money not null, sl int not null ) go8create table zhuxx(xsrq datetime not null, zje money not null, sfxj char(2) check CK_zhuxx_sfxj in (是,否) not null , sf
13、hy char(2) check CK_zhuxx_sfhy in (是,否) ,hybh char(8) not nullconstraint FK_eno foreign key references hy(hybh), syybh char(8) not nullconstraint FK_fno foreign key references yg(ygbh)go9create table zixx( spbh char(8) not null constraint FK_gno foreign key references sp(spbh), sl int not null, dj m
14、oney not null, zkbl char(10) not null, je money not null,)go10create table kc(kcxxbh char(8) not null constraint PK_pno primary key, spbh char(8) not null constraint FK_ino foreign key references sp(spbh), kcl int not null ) go五、数据库扩展功能实现1.CREATE TRIGGER triger_sl ON rk after insert AS update kc set kcl=kcl+(select sl from inserted) where spbh=(select spbh from inserted)2. CREATE TRIGGER triger_kc ON zixxafter deleteAS update kc set kcl=kcl-(select sl from deleted) where spbh=(select spbh from deleted)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1