3.4、系统ER图
系统ER图说明
1) 商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售; 2) 每个顾客可以购买多种商品,不同商品可由不同顾客购买; 3) 每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。
四、 详细设计
4.1、系统关系模型
a) 商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)
b) 用户表(用户编号,用户名称,用户密码,用户类型) c) 会员表(会员编号,会员卡号,累积消费金额,注册日期) d) 销售表(销售编号,商品编号,销售数量,销售金额,销售日期) e) 交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)
f) 进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态)
g) 供货商表(供货商编号,供货商名称,供货商地址,供货商电话) h) 厂商表(厂商编号,厂商名称,厂商地址,厂商电话)
4.2、系统数据库表结构
数据库表索引
表名 MerchInfo User Menber Sale Dealing Stock Provide Factory
商品信息表(MerchInfo)
字段名 MerchID MerchName MerchPrice MerchNum CautionNum 中文名 商品信息表 用户表 会员表 销售表 交易表 进货入库表 供货商表 厂商表 字段类型 长度 int Varchar Money Int Int 4 50 4 4 4 主/外键 字段值约束 P Not null Not null Not null Not null Not null 对应中文名 商品编号 商品名称 价格 库存数量 库存报警数量 PlanNum BarCode SalesProPrice SalesProDateS SalesProDateE AllowAbate AllowSale FactoryID ProvideID Int Varchar Money Datetime Datetime Int Int Varchar Varchar 4 50 4 8 8 4 4 10 10 F F null Not null Not null Not null Not null Not null 计划进货数 条形码 促销价格 促销起日期 促销止日期 允许打折 允许销售 厂商编号 供货商编号
用户表(User)
字段名 UserID UserName UserPW UserStyle 字段类型 长度 varchar Varchar Varchar Int 10 25 50 4 主/外键 字段值约束 P Not null Not null Not null Not null 对应中文名 用户编号 用户名称 用户密码 用户类型
会员表(Menber)
字段名 MemberID MemberCard TotalCost RegDate 字段类型 长度 Varchar Varchar Money Datetime 10 20 4 8 主/外键 字段值约束 P Not null Not null Not null Not null 对应中文名 会员编号 会员卡号 累积消费金额 注册日期
销售表(Sale)
字段名 SaleID MerChID SaleDate SaleNum SalePrice 字段类型 长度 Varchar Varchar Datetime Int Money 10 10 8 4 4 主/外键 字段值约束 P F Not null Not null Not null Not null Not null 对应中文名 销售编号 商品编号 销售日期 销售数量 销售单额
交易表(Dealing)
字段名 DealingID DealingPrice DealingDate MemberID UserName 字段类型 长度 Varchar Money Money Varchar Varchar 10 4 4 10 10 主/外键 字段值约束 P F Not null Not null Not null Not null 对应中文名 交易编号 交易金额 交易日期 会员卡号 用户名称
入库纪录表(Stock)
字段名 字段类型 长度 主/外键 字段值约束 对应中文名 StockID MerchID MerchNum MerchPrice TotalPrice StockDate PlanDate StockState Varchar Varchar Int Money Money Datetime Datetime Int 10 10 4 4 4 8 8 4 P F Not null Not null Not null Not null Not null Datetime Datetime Not null 入库编号 入库商品编号 入库数量 单额 总额 入库日期 计划进货日期 入库状态
供货商表(Provide)
字段名 ProvideID ProvideName ProvideAddress ProvidePhone 字段类型 长度 varchar Varchar Varchar Varchar 10 50 250 25 主/外键 字段值约束 P Not null Not null 对应中文名 供货商编号 供货商名称 供货商地址 供货商电话
厂商表(Provide)
字段名 FactoryID FactoryName FactoryAddress FactoryPhone 字段类型 长度 varchar Varchar Varchar Varchar 10 50 250 25 主/外键 字段值约束 P Not null Not null 对应中文名 厂商编号 厂商名称 厂商地址 厂商电话 4.3、数据库物理设计
/*----------创建数据库----------*/ create database SuperMarketdb on primary (
name=SuperMarketdb,
filename='C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Data\\SuperMarketdb.mdf', size=100MB, maxsize=200MB, filegrowth=20MB ) log on (
name=SuperMarketlog,
filename='C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Data\\SuperMarketdb.ldf', size=60MB, maxsize=200MB, filegrowth=20MB ) go
/*----------创建基本表----------*/ use [SuperMarketdb] go
/*创建交易表*/ CREATE TABLE Dealing (
DealingID int identity(1,1) Primary key , DealingDate datetime NOT NULL , DealingPrice money NOT NULL , UserName varchar(25) NULL , MemberCard varchar(20) NULL ) GO
/*创建厂商表*/ CREATE TABLE Factory (
FactoryID varchar(10) Primary key , FactoryName varchar(50) NOT NULL , FactoryAddress varchar(250) NULL , FactoryPhone varchar(50) NULL ) GO
/*创建会员表*/ CREATE TABLE Member (
MemberID varchar(10) Primary key ,