超市管理系统
一、数据库需求分析
通过对超市管理工作过程的内容和数据流图分析,设计如下面的数据项和数据结构。
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图
   
三、数据库逻辑结构设计
数据库应用案例
员工信息表
字段名
数据类型
长度
说明
描述
Ygbh
Char
8
非空,主键
员工编号
Name
Char
8
非空
姓名
Sex
Char
2
非空‘男’、‘女’
性别
Zw
Char
10
非空
职务
Kl
varChar
20
非空
口令
Qxjb
Char
1
非空
权限级别
Sfzh
Char
18
非空,唯一约束
身份证号
ssbmbh
char
4
非空,外键
所属部门编号
商品信息
字段名
数据类型
长度
说明
描述
Spbh
char
8
非空,主键
商品编号
Spmc
varchar
20
非空
商品名称
Sslb
char
8
非空
所属类别
Jg
money
8
非空
价格
sl
int
4
非空
数量
部门信息表
字段名
数据类型
长度
说明
描述
bmbh
char
8
非空,主键
部门编号
bmmc
char
4
非空
部门名称
供应商信息表
字段名
数据类型
长度
说明
描述
Gysbh
Char
8
非空,主键
供应商编号
Gysmc
Char
8
非空
供应商名称
Dz
varChar
20
非空
地址
Yzbm
Char
6
非空
Dhhm
varchar
15
非空
电话号码
Sh
varChar
3
非空
税号
Yhzh
varChar
20
非空
银行帐号
Khyh
Char
8
非空
开户银行
Lxr
Char
8
非空
联系人
beizhu
text
16
备注
会员信息表
字段名
数据类型
长度
说明
描述
Hybh
Char
8
非空,主键
会员编号
Name
Char
6
非空
姓名
Sex
Char
2
非空,’男’、’女’
性别
Sfzh
varChar
20
非空
身份证号
xfzje
money
8
非空
消费总金额
jf
int
4
非空
积分
入库信息表
字段名
数据类型
长度
说明
描述
Rkbh
char
8
非空,主键
入库编号
Rkrq
Datetime
8
非空
入库日期
Spbh
char
8
非空,外键
商品编号
Jldw
Char
2
非空
计量单位
Rkjg
Money
8
非空
入库价格
Xsjg
Money
8
非空
销售价格
Sl
int
4
非空
数量
Zje
Money
8
非空
总金额
Gysbh
char
8
非空,外键
供应商编号
ywybh
char
8
非空,外键
业务员编号
库存信息表
字段名
数据类型
长度
说明
描述
kcxxbh
char
8
非空,主键
库存信息编号
Spbh
char
8
非空,外键
商品编号
kcl
int
4
非空
库存量
销售出货单主信息
字段名
数据类型
长度
说明
描述
Xsrq
datetime
8
非空
销售日期
Zje
Money
8
非空
总金额
Sfxj
Char
2
非空
是否现金
Sfhy
char
2
可为空
是否会员
Hybh
Char
8
非空,外键
会员编号
Syybh
char
8
非空,外键
收银号编号
销售出货单子信息
字段名
数据类型
长度
说明
描述
Spbh
char
8
非空,外键
商品编号
Sl
int
4
非空
数量
Dj
money
8
非空
单价
Zkbl
char
10
非空
折扣比例
Je
money
8
非空
金额
四、数据库物理结构实现
根据以上的逻辑分析所得到表的关系,我们使用T-SQL语言设计得到数据库和数据表。
1.create database glxt
on
( 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)
2.create table bm
(bmbh char(8) not null
  constraint PK_bno primary key,
  bmmc char(4) not null
)
go
3.create 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
)
go
4.create 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 varchar(15) not null,