1、超市数据库系统超市数据库系统超市数据库系统组长:彭国辉小组成员:薛超义 张义 刘争林 王佳琦 罗建明 彭凡合肥工业大学一、背景介绍信息化建设是大中型超市实现可连续进展的需要,随着市场竞争的日益猛烈,产品的生命周期不断缩短,顾客需求的个性化化和多样化日趋明显,因此传统的规模化和标准化的经营模式难以适应现代大中型超市的连续进展的要求。为适应以顾客、竞争、变化为特点的外部环境,大中型超市必须加强信息化建设,通过构建企业内部信息治理系统和统一化的服务操作平台,将供应商、顾客、物流以及银行等各环节一体化整合起来,构成一个商别牺链网络,将爱好、爱好、购买力和购买习性相同或相近的顾客整合为定性的虚拟社群,并
2、为其提供个性化的产品与服务,形成超巾忠诚的消费群。比外,超市通过顾客治理信息系统和商品销售系统来综合估量客户需求,合理配置资源,使资源在网络上合理流淌来缩短运转周期,降低库存,并通过网上自助交易方式来降低运营成本,开拓新的市场,制造新的商机实现大中型超市可连续进展。二、需求分析2.1、超市的组织机构情形一样的超市有总经理假设干名,每个总经理管辖一个部门销售部、采购部、仓储部、财务部、人事部;各部门对应相应的职能,例如,销售部治理商品销售情形,推销新产品等,商品治理就要对商品的库存量,销售量,毛利等分析。2.2、调查相关部门的业务活动情形2.2.1、采购部采购部第一是要选择合作的供应商;选择与超
3、市消费者消费需求相匹配的;协商与供应商采购的最有利条件(包括超市采购商品的质量、包装、品牌、折扣、价格、广告赞助、促销方法、订货方法、订货数量、交货期限及送货地点等); 与超市各卖场做好最有效的沟通,确保各超市门店的商品畅销等。2.2.2、仓储部仓储部负责所有物品的保管工作,必须做出出入库详细的明细,对物品的出入库要及时验收、登记帐簿,做到帐物相符; 及时向采购员报告物品库存情形,提出物品采购打算,对采购回来的物品进行验质检量;保管员签字验收合格后的物品的数量和质量由保管员负责; 负责仓库每月盘点的顺利进行、实物的盘存工作顺利进行。2.2.3、销售部负责制订分解经营指标打算、制订总体营销策略;
4、负责各个时期经营策略、营销运作方式、促销活动方案的策划,并会同采购部、中心店组织安排实施;负责建立、实施经营目标治理责任制,按月、季度、年度进行考核;负责对供货商资信进行考察、合同审定、物价审核及相关材料存档治理工作。2.2.4、人事部超市人事部门负责职员结构总体的规划及事实上施、招录职员、培训职员、奖励或惩处职员、超市内部职员的流淌、职员的工资治理、职员的考核以及职员的职称治理等方面;岗位职责中涉及了人事部总监、人事部经理、人事部主管、聘请专员、薪酬福利专员等中高基层工作人员的岗位。2.3、要紧用户对系统的要求2.3.1、总经理a、信息要求总经理需要了解超市损益情形,销售额,各种商品的销售量
5、及库存量,制定商品采购战略;部门业绩,职员绩效;对顾客购买适应分析,需要顾客购买信息表。b、处理要求当有职员晋升时,有权更新职员信息;部门调整时,有权更新部门相关信息。2.3.2、部门主管a、信息要求各部门主管需明白本部门成员信息,业绩情形;采购部主管 、销售部主管和仓储部还要了解各种商品销售量、库存量、缺失量;人事部主管需有所有的职员信息、人员岗位分布情形;财务部主管需商品销售信息,商品采购信息,人职员资福利情形;采购部主管需要供应商的相关信息,比如供应商提供商品的价格,数量等。b、处理要求各主管能够部分修改本部门相关信息,比如联系 ,部门人数,部门地址,本部门人员详细信息;人事部主管有增加
6、或删除职工的权力;仓储部主管能够增加商品记录,修改缺失单,上架单等;销售部主管能够更新物资售出单,更换商品售价,打折,会员价等商品信息。2.3.3、职员a、信息要求职员能够查到自己的个人信息,例如,月工资,奖金,职位等;因职位的不同,权限也相应不。b、处理要求职员对自己的个人信息能够修改,如联系 ,银行账号,住址等。2.3.4、顾客a、信息要求那个地点的顾客要紧指超市会员,会员能够查看自己买了哪些商品,相关费用,剩多少积分等差不多信息;顾客还能够了解超市商品的价格以及新产品上架,折扣等商品信息。b、处理要求会员能够对自己的银行账号、联系 、住址做更新操作。2.4、数据字典Member会员表列名
7、数据类型约束条件说明MemIDVarchar20主键,非空会员卡号MemNameVarchar10非空会员名SexVarchar5-会员性别AgeSmallInt-会员年龄BankNumberVarchar20-银行卡号IntegralInt非空积分Customer顾客表列名数据类型约束条件说明SerialNumberVarchar20主键,非空流水号EmNoChar(6)非空职员号IsMemBit非空是否是会员PaymentVarchar20非空付款方式PurTimeDatetime非空购买时刻Goods_Customer顾客-商品表列名数据类型约束条件说明SerialNumberVarch
8、ar20主键,非空流水号GoodsIDVarchar20主键,非空商品编号EmployeeInfo(职员表)列名数据类型约束说明EmployeeNoChar(6)主键,非空职员号EmployeeNameVarchar(8)非空职员名PostNoChar(6)外码职位代码Birthdatetime-出生日期TelNumbereric(10,0)非空联系方式DepartmentNoChar(6)外码部门号IDCardNumbereric(18,0)非空身份证号BankNoNumbereric(20,0)-银行账号SeniorityInt非空工龄DepartmentInfo部门表列名数据类型约束说明
9、DepartmentNoChar(6)主键,非空部门号DepartmetNameVarchar(8)非空部门名TelChar(11)非空联系 PeopleCountInt-部门人数CashierCustomer收银员顾客表列名数据类型约束说明SerialNumberVarchar(20)主键,非空流水号CashierNumberChar(6)主键,非空收银员编号SatisfactionInt-中意度PostInfo职称表列名数据类型约束说明PostNoChar(6)主键,非空职称代码PostNameVarchar(8)非空职称名WageMoney非空工资Supplierinfo供应商列名数据类
10、型约束说明SupNumberChar(10)主键,非空供应商编号SupNameChar(20)非空供应商名SupAddVarchar(50)-供应商地址PrinChar(10)-负责人SupPhoneNumbereric(18,0)-供应商 Goodsinfo商品列名数据类型约束说明GoodsNumberChar(10)主键,非空商品编号GoodsNameChar(20)非空商品名PriceMoney非空价格CategoryChar(10)非空类别DiscountMoney-折扣VIPPriceMoney-会员价Supplier-Goodsinfo供应商-商品列名数据类型约束说明SupNumb
11、erChar(10)主键,非空供应商编号GoodsNumberChar(10)主键,非空商品编号BidMoney-进价GoodsAmofloat-物资数量Stowageinfo仓库列名数据类型约束说明StoNumberChar(10)主键,非空仓库编号VolumeFloat非空库容量TypeVarchar(10)-类型StoPrinChar(10)非空仓库负责人Stowage-Goodsinfo仓库-商品列名数据类型约束说明StoNumberChar(10)主键,非空仓库编号CategoryChar(10)主键,非空类别Amountfloat-数量PurDatedate-入库日期2.5、数据流
12、图图1顶层数据流图图2会员数据流 图3商品治理数据流图4职员治理数据流 图5销售治理数据流三、概念结构设计3.1、分E-R图设计 3.2、总ER图设计四、逻辑结构设计4.1、E-R图向关系模型转换职员EmployeeInfoEmNo,EmName,PostNo,Birth,Tel,DepartNo,IDCard,BankNo,InOffice部门DepartmentInfoDepartNo,DepartName,Tel,Count,HeadNo职位PostInfoPostNo,PostName,Wage会员MemberMemID,MemName,Sex,Age,BankNum,Integral
13、顾客CustomerSerialNum,EmNo,IsMem,Payment,PurTime会员-顾客Member_CustomerSerialNum,IsMem,MemID顾客-商品Goods_CustomerSerialNum,GoodsID供应商SupplierinfoSupNum,SupName,SupAdd,Prin,SupPhone商品GoodsinfoGoodsNum,GoodsName,Price,Category,Discount,VIPPrice供应商-商品Supplier-Goods infoSupNum,GoodsNum,Bid,GoodsAmo仓库Stowage in
14、foStoNum,Volume,*,StoPrin仓库-商品Stowage-Goods infoStoNum,Category,Amount,PurDate注:下划线标注的属性为主码,以上关系模式均为BCNF。4.2、用户子模式顾客流水号,收银员编号,商品名,价格,折扣,中意度职员职员编号,职员名,职位编号,职位名,工资,工龄仓库主管仓库编号,类别,库存,容量,负责人,入库日期部门主管部门编号,部门名,部门人数,职员编号,职员名,职位编号,职位名,工资,工龄五、物理结构设计5.1、关系模式存取方法在职员表(EployeeInfo)属性列EmployeeNumber上建立B+树索引,会员表Mem
15、ber属性列Member建立B+树索引;在商品表GoodsInfo属性列SubNumber上建立聚簇存取方法。5.2、储备结构六、数据库实施6.1、建表供应商:CREATE TABLE Supplier( SupplierNumber CHAR(10) NOT NULL UNIQUE, SupplierName CHAR(20) NOT NULL, SupplierAddress VARCHAR(50), Principal CHAR(10), SupplierPhone NUMERIC(18,0), PRIMARY KEY(SupplierNumber);商品:CREATE TABLE Go
16、ods( GoodsNumber CHAR(10) NOT NULL UNIQUE, GoodsName CHAR(20) NOT NULL, Price MONEY NOT NULL, Category CHAR(10) NOT NULL, Discount MONEY, VIPprice MONEY, PRIMARY KEY(GoodsNumber);供应商商品:CREATE TABLE SupplierGoods( SupplierNumber CHAR(10) NOT NULL, GoodsNumber CHAR(10) NOT NULL, Bid MONEY, GoodsAmount
17、 FLOAT, PRIMARY KEY(SupplierNumber,GoodsNumber), CONSTRAINT C1 FOREIGN KEY(SupplierNumber) REFERENCES Supplier(SupplierNumber), CONSTRAINT C2 FOREIGN KEY(GoodsNumber) REFERENCES Goods(GoodsNumber);仓库:CREATE TABLE Stowage( StowageNumber CHAR(10) NOT NULL UNIQUE, Volume FLOAT NOT NULL, StowagePrincipa
18、l CHAR(10) NOT NULL, PRIMARY KEY(StowageNumber);仓库商品:CREATE TABLE StowageGoods( StowageNumber CHAR(10) NOT NULL , Category CHAR(10) NOT NULL, Amount FLOAT, PurchaseDate DATETIME, PRIMARY KEY(StowageNumber,Category), CONSTRAINT C3 FOREIGN KEY(StowageNumber) REFERENCES Stowage(StowageNumber);会员:CREATE
19、 TABLE Member( MemberID VARCHAR(20) NOT NULL UNIQUE, Name VARCHAR(10) NOT NULL, Sex VARCHAR(5), Age SMALLINT, Account VARCHAR(20), Integral INT NOT NULL, PRIMARY KEY(MemberID);顾客:CREATE TABLE Customer( SerialNumber VARCHAR(20) NOT NULL UNIQUE, IsMember CHAR(5) NOT NULL, Payment VARCHAR(20) NOT NULL,
20、 PurchaseTime DATETIME NOT NULL, PRIMARY KEY(SerialNumber);商品顾客:CREATE TABLE GoodsCustomer( SerialNumber VARCHAR(20) NOT NULL, GoodsNumber CHAR(10) NOT NULL, GoodsAmont FLOAT , PRIMARY KEY(SerialNumber,GoodsNumber), CONSTRAINT C4 FOREIGN KEY(SerialNumber) REFERENCES Customer(SerialNumber), CONSTRAIN
21、T C5 FOREIGN KEY(GoodsNumber) REFERENCES Goods(GoodsNumber);职位:CREATE TABLE Post( PostNumber CHAR(6) NOT NULL UNIQUE, PostName VARCHAR(8) NOT NULL, Wage MONEY NOT NULL, PRIMARY KEY(PostNumber);部门:CREATE TABLE Department( DepartmentNumber CHAR(6) NOT NULL UNIQUE, DepartmentName VARCHAR(8) NOT NULL, T
22、el CHAR(11) NOT NULL, PeopleCount INT, PRIMARY KEY(DepartmentNumber);职员:CREATE TABLE Employment( EmployeeNumber CHAR(6) NOT NULL UNIQUE, EmployName VARCHAR(8) NOT NULL, PostNumber CHAR(6), Birth DATETIME, Tel NUMERIC(10,0) NOT NULL, DepartmentNumber CHAR(6), IDcard NUMERIC(18,0) NOT NULL, BankNumber
23、 NUMERIC(20,0), Seniority INT NOT NULL, PRIMARY KEY(EmployeeNumber), CONSTRAINT C6 FOREIGN KEY(PostNumber) REFERENCES Post(PostNumber), CONSTRAINT C7 FOREIGN KEY(DepartmentNumber) REFERENCES Department(DepartmentNumber);收银员顾客:CREATE TABLE CashierCustomer( SerialNumber VARCHAR(20) NOT NULL UNIQUE, Ca
24、shierNumber CHAR(6) NOT NULL, Satisfaction INT, PRIMARY KEY(SerialNumber,CashierNumber), CONSTRAINT C9 CHECK(Satisfaction BETWEEN 5 AND 10), CONSTRAINT C10 FOREIGN KEY(SerialNumber) REFERENCES Customer(SerialNumber), CONSTRAINT C11 FOREIGN KEY(CashierNumber) REFERENCES Employment(EmployeeNumber) );各
25、表之间的关系:6.2、数据载入 注:在数据库中已输入6.3、设计视图顾客视图:CREATE VIEW 顾客ASSELECT dbo.Customer.SerialNumber,dbo.CashierCustomer.CashierNumber, dbo.GoodsCustomer.GoodsNumber, dbo.Goods.GoodsName, dbo.Goods.Price, dbo.Goods.Discount, dbo.CashierCustomer.SatisfactionFROM dbo.CashierCustomer INNER JOIN dbo.Customer ON dbo.
26、CashierCustomer.SerialNumber = dbo.Customer.SerialNumber INNER JOIN dbo.GoodsCustomer ON dbo.Customer.SerialNumber = dbo.GoodsCustomer.SerialNumber INNER JOIN dbo.Goods ON dbo.GoodsCustomer.GoodsNumber = dbo.Goods.GoodsNumberSELECT dbo.Customer.SerialNumber, dbo.CashierCustomer.CashierNumber, dbo.Go
27、odsCustomer.GoodsNumber, dbo.Goods.GoodsName, dbo.Goods.Price, dbo.Goods.Discount, dbo.CashierCustomer.SatisfactionFROM dbo.CashierCustomer INNER JOIN dbo.Customer ON dbo.CashierCustomer.SerialNumber = dbo.Customer.SerialNumber INNER JOIN dbo.GoodsCustomer ON dbo.Customer.SerialNumber = dbo.GoodsCus
28、tomer.SerialNumber INNER JOIN dbo.Goods ON dbo.GoodsCustomer.GoodsNumber = dbo.Goods.GoodsNumber职员视图:CREATE VIEW 职员ASSELECT TOP 100 PERCENT dbo.Employment.EmployeeNumber, dbo.Employment.EmployName, dbo.Post.PostNumber, dbo.Post.PostName, dbo.Post.Wage, dbo.Employment.SeniorityFROM dbo.Employment INN
29、ER JOIN dbo.Post ON dbo.Employment.PostNumber = dbo.Post.PostNumberORDER BY dbo.Employment.EmployeeNumber仓库主管视图:CREATE VIEW 仓库主管ASSELECT TOP 100 PERCENT dbo.Stowage.StowageNumber, dbo.StowageGoods.Category, dbo.StowageGoods.Amount, dbo.Stowage.Volume, dbo.StowageGoods.PurchaseDate, dbo.Stowage.StowagePrincipalFROM d
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1