超市数据库系统.docx
《超市数据库系统.docx》由会员分享,可在线阅读,更多相关《超市数据库系统.docx(17页珍藏版)》请在冰豆网上搜索。
超市数据库系统
资料范本
本资料为word版本,可以直接编辑和打印,感谢您的下载
超市数据库系统
地点:
__________________
时间:
__________________
说明:
本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容
超市数据库系统
组长:
彭国辉
小组成员:
薛超义张义刘争林
王佳琦罗建明彭凡
合肥工业大学
TOC\o"1-3"\t""\h\z\uHYPERLINK\l_Toc29622一、背景介绍PAGEREF_Toc296223
HYPERLINK\l_Toc15920二、需求分析PAGEREF_Toc159203
HYPERLINK\l_Toc25172.1、超市的组织机构情况PAGEREF_Toc25173
HYPERLINK\l_Toc27122.2、调查相关部门的业务活动情况PAGEREF_Toc27123
HYPERLINK\l_Toc282652.3、主要用户对系统的要求PAGEREF_Toc282654
HYPERLINK\l_Toc74532.4、数据字典PAGEREF_Toc74535
HYPERLINK\l_Toc74822.5、数据流图PAGEREF_Toc74828
HYPERLINK\l_Toc5596三、概念结构设计PAGEREF_Toc559610
HYPERLINK\l_Toc206753.1、分E-R图设计PAGEREF_Toc2067510
HYPERLINK\l_Toc178043.2、总E-R图设计PAGEREF_Toc1780411
HYPERLINK\l_Toc24998四、逻辑结构设计PAGEREF_Toc2499812
HYPERLINK\l_Toc74614.1、E-R图向关系模型转换PAGEREF_Toc746112
HYPERLINK\l_Toc321764.2、用户子模式PAGEREF_Toc3217612
HYPERLINK\l_Toc7083五、物理结构设计PAGEREF_Toc708312
HYPERLINK\l_Toc227415.1、关系模式存取方法PAGEREF_Toc2274113
HYPERLINK\l_Toc67135.2、存储结构PAGEREF_Toc671313
HYPERLINK\l_Toc28885六、数据库实施PAGEREF_Toc2888513
HYPERLINK\l_Toc195436.1、建表PAGEREF_Toc1954313
HYPERLINK\l_Toc196446.2、数据载入PAGEREF_Toc1964416
HYPERLINK\l_Toc163866.3、设计视图PAGEREF_Toc1638616
HYPERLINK\l_Toc167096.4、建立索引PAGEREF_Toc1670919
HYPERLINK\l_Toc17129七、数据库运行PAGEREF_Toc1712921
一、背景介绍
信息化建设是大中型超市实现可持续发展的需要 ,随着市场竞争的日益激烈,产品的生命周期不断缩短,顾客需求的个性化化和多样化日趋明显,因此传统的规模化和标准化的经营模式难以适应现代大中型超市的持续发展的要求。
为适应以顾客、竞争、变化为特征的外部环境,大中型超市必须加强信息化建设,通过构建企业内部信息管理系统和统一化的服务操作平台,将供应商、顾客、物流以及银行等各环节一体化整合起来,构成一个商别牺链网络,将兴趣、爱好、购买力和购买习性相同或相近的顾客整合为定性的虚拟社群,并为其提供个性化的产品与服务,形成超巾忠诚的消费群。
比外,超市通过顾客管理信息系统和商品销售系统来综合预计客户需求,合理配置资源,使资源在网络上合理流动来缩短运转周期,降低库存,并通过网上 自助交易方式来降低运营成本 ,开拓新的市场,创造新的商机 实现大中型超市可持续发展。
二、需求分析
2.1、超市的组织机构情况
一般的超市有总经理若干名,每个总经理管辖一个部门(销售部、采购部、仓储部、财务部、人事部);各部门对应相应的职能,例如,销售部管理商品销售情况,推销新产品等,商品管理就要对商品的库存量,销售量,毛利等分析。
2.2、调查相关部门的业务活动情况
2.2.1、采购部
采购部首先是要筛选合作的供应商;选择与超市消费者消费需求相匹配的;协商与供应商采购的最有利条件(包括超市采购商品的质量、包装、品牌、折扣、价格、广告赞助、促销办法、订货办法、订货数量、交货期限及送货地点等);与超市各卖场做好最有效的沟通,确保各超市门店的商品畅销等。
2.2.2、仓储部
仓储部负责所有物品的保管工作,必须做出出入库详细的明细,对物品的出入库要及时验收、登记帐簿,做到帐物相符;及时向采购员报告物品库存情况,提出物品采购计划,对采购回来的物品进行验质检量;保管员签字验收合格后的物品的数量和质量由保管员负责;负责仓库每月盘点的顺利进行、实物的盘存工作顺利进行。
2.2.3、销售部
负责制订分解经营指标计划、制订总体营销策略;负责各个时期经营策略、营销运作方式、促销活动方案的策划,并会同采购部、中心店组织安排实施;负责建立、实施经营目标管理责任制,按月、季度、年度进行考核;负责对供货商资信进行考察、合同审定、物价审核及相关材料存档管理工作。
2.2.4、人事部
超市人事部门负责员工结构总体的规划及其实施、招录员工、培训员工、奖励或惩罚员工、超市内部员工的流动、员工的工资管理、员工的考核以及员工的职称管理等方面;岗位职责中涉及了人事部总监、人事部经理、人事部主管、招聘专员、薪酬福利专员等中高基层工作人员的岗位。
2.3、主要用户对系统的要求
2.3.1、总经理
a、信息要求
总经理需要了解超市损益情况,销售额,各种商品的销售量及库存量,制定商品采购战略;部门业绩,员工绩效;对顾客购买习惯分析,需要顾客购买信息表。
b、处理要求
当有员工晋升时,有权更新员工信息;部门调整时,有权更新部门相关信息。
2.3.2、部门主管
a、信息要求
各部门主管需知道本部门成员信息,业绩情况;采购部主管、销售部主管和仓储部还要了解各种商品销售量、库存量、损失量;人事部主管需有所有的员工信息、人员岗位分布情况;财务部主管需商品销售信息,商品采购信息,人员工资福利情况;采购部主管需要供应商的相关信息,比如供应商提供商品的价格,数量等。
b、处理要求
各主管能够部分修改本部门相关信息,比如联系电话,部门人数,部门地址,本部门人员详细信息;人事部主管有增加或删除职工的权力;仓储部主管可以增加商品记录,修改损失单,上架单等;销售部主管可以更新货物售出单,更改商品售价,打折,会员价等商品信息。
2.3.3、员工
信息要求
员工能够查到自己的个人信息,例如,月工资,奖金,职位等;因职位的不同,权限也相应不。
b、处理要求
员工对自己的个人信息可以修改,如联系电话,银行账号,住址等。
2.3.4、顾客
信息要求
这里的顾客主要指超市会员,会员能够查看自己买了哪些商品,相关费用,剩多少积分等基本信息;顾客还可以了解超市商品的价格以及新产品上架,折扣等商品信息。
b、处理要求
会员可以对自己的银行账号、联系电话、住址做更新操作。
2.4、数据字典
2.5、数据流图
图1顶层数据流图
图2会员数据流
图3商品管理数据流
图4员工管理数据流
图5销售管理数据流
三、概念结构设计
3.1、分E-R图设计
会员
顾客
商品
属于
购买
职位
员工
仓库
聘任
部门
供应商
存放
服务
领导
供应
ID
姓名
性别
银行账号
年龄
积分
流水号
员工号
是否会员
付款方式
购买时间
编号
姓名
职位编号
出生日期
联系方式
部门号
身份证号
就职时间
银行账号
商品编号
名称
价格
会员价
类别
折扣
容量
负责人
类型
编号
职位编号
工资
职位名
供应商名
地址
负责人
编号
电话
部门号
部门名
主管
联系电话
部门人数
3.2、总E-R图设计
四、逻辑结构设计
4.1、E-R图向关系模型转换
员工EmployeeInfo(EmNo,EmName,PostNo,Birth,Tel,DepartNo,IDCard,BankNo,InOffice)
部门DepartmentInfo(DepartNo,DepartName,Tel,Count,HeadNo)
职位PostInfo(PostNo,PostName,Wage)
会员Member(MemID,MemName,Sex,Age,BankNum,Integral)
顾客Customer(SerialNum,EmNo,IsMem,Payment,PurTime)
会员-顾客Member_Customer(SerialNum,IsMem,MemID)
顾客-商品Goods_Customer(SerialNum,GoodsID)
供应商Supplierinfo(SupNum,SupName,SupAdd,Prin,SupPhone)
商品Goodsinfo(GoodsNum,GoodsName,Price,Category,Discount,VIPPrice)
供应商-商品Supplier-Goodsinfo(SupNum,GoodsNum,Bid,GoodsAmo)
仓库Stowageinfo(StoNum,Volume,******,StoPrin)
仓库-商品Stowage-Goodsinfo(StoNum,Category,Amount,PurDate)
注:
下划线标注的属性为主码,以上关系模式均为BCNF。
4.2、用户子模式
顾客{流水号,收银员编号,商品名,价格,折扣,满意度}
员工{员工编号,员工名,职位编号,职位名,工资,工龄}
仓库主管{仓库编号,类别,库存,容量,负责人,入库日期}
部门主管{部门编号,部门名,部门人数,员工编号,员工名,职位编号,职位名,工资,工龄}
物理结构设计
5.1、关系模式存取方法
在员工表(EployeeInfo)属性列EmployeeNumber上建立B+树索引,会员表(Member)属性列Member建立B+树索引;在商品表(GoodsInfo)属性列SubNumber上建立聚簇存取方法。
5.2、存储结构
六、数据库实施
6.1、建表
供应商:
CREATETABLESupplier(
SupplierNumberCHAR(10)NOTNULLUNIQUE,
SupplierNameCHAR(20)NOTNULL,
SupplierAddressVARCHAR(50),
PrincipalCHAR(10),
SupplierPhoneNUMERIC(18,0),
PRIMARYKEY(SupplierNumber)
);
商品:
CREATETABLEGoods(
GoodsNumberCHAR(10)NOTNULLUNIQUE,
GoodsNameCHAR(20)NOTNULL,
PriceMONEYNOTNULL,
CategoryCHAR(10)NOTNULL,
DiscountMONEY,
VIPpriceMONEY,
PRIMARYKEY(GoodsNumber)
);
供应商—商品:
CREATETABLESupplierGoods(
SupplierNumberCHAR(10)NOTNULL,
GoodsNumberCHAR(10)NOTNULL,
BidMONEY,
GoodsAmountFLOAT,
PRIMARYKEY(SupplierNumber,GoodsNumber),
CONSTRAINTC1FOREIGNKEY(SupplierNumber)REFERENCESSupplier(SupplierNumber),
CONSTRAINTC2FOREIGNKEY(GoodsNumber)REFERENCESGoods(GoodsNumber)
);
仓库:
CREATETABLEStowage(
StowageNumberCHAR(10)NOTNULLUNIQUE,
VolumeFLOATNOTNULL,
StowagePrincipalCHAR(10)NOTNULL,
PRIMARYKEY(StowageNumber)
);
仓库—商品:
CREATETABLEStowageGoods(
StowageNumberCHAR(10)NOTNULL,
CategoryCHAR(10)NOTNULL,
AmountFLOAT,
PurchaseDateDATETIME,
PRIMARYKEY(StowageNumber,Category),
CONSTRAINTC3FOREIGNKEY(StowageNumber)REFERENCESStowage(StowageNumber)
);
会员:
CREATETABLEMember(
MemberIDVARCHAR(20)NOTNULLUNIQUE,
NameVARCHAR(10)NOTNULL,
SexVARCHAR(5),
AgeSMALLINT,
AccountVARCHAR(20),
IntegralINTNOTNULL,
PRIMARYKEY(MemberID)
);
顾客:
CREATETABLECustomer(
SerialNumberVARCHAR(20)NOTNULLUNIQUE,
IsMemberCHAR(5)NOTNULL,
PaymentVARCHAR(20)NOTNULL,
PurchaseTimeDATETIMENOTNULL,
PRIMARYKEY(SerialNumber)
);
商品—顾客:
CREATETABLEGoodsCustomer(
SerialNumberVARCHAR(20)NOTNULL,
GoodsNumberCHAR(10)NOTNULL,
GoodsAmontFLOAT,
PRIMARYKEY(SerialNumber,GoodsNumber),
CONSTRAINTC4FOREIGNKEY(SerialNumber)REFERENCESCustomer(SerialNumber),
CONSTRAINTC5FOREIGNKEY(GoodsNumber)REFERENCESGoods(GoodsNumber)
);
职位:
CREATETABLEPost(
PostNumberCHAR(6)NOTNULLUNIQUE,
PostNameVARCHAR(8)NOTNULL,
WageMONEYNOTNULL,
PRIMARYKEY(PostNumber)
);
部门:
CREATETABLEDepartment(
DepartmentNumberCHAR(6)NOTNULLUNIQUE,
DepartmentNameVARCHAR(8)NOTNULL,
TelCHAR(11)NOTNULL,
PeopleCountINT,
PRIMARYKEY(DepartmentNumber)
);
员工:
CREATETABLEEmployment(
EmployeeNumberCHAR(6)NOTNULLUNIQUE,
EmployNameVARCHAR(8)NOTNULL,
PostNumberCHAR(6),
BirthDATETIME,
TelNUMERIC(10,0)NOTNULL,
DepartmentNumberCHAR(6),
IDcardNUMERIC(18,0)NOTNULL,
BankNumberNUMERIC(20,0),
SeniorityINTNOTNULL,
PRIMARYKEY(EmployeeNumber),
CONSTRAINTC6FOREIGNKEY(PostNumber)REFERENCESPost(PostNumber),
CONSTRAINTC7FOREIGNKEY(DepartmentNumber)REFERENCESDepartment(DepartmentNumber)
);
收银员—顾客:
CREATETABLECashierCustomer(
SerialNumberVARCHAR(20)NOTNULLUNIQUE,
CashierNumberCHAR(6)NOTNULL,
SatisfactionINT,
PRIMARYKEY(SerialNumber,CashierNumber),
CONSTRAINTC9CHECK(SatisfactionBETWEEN5AND10),
CONSTRAINTC10FOREIGNKEY(SerialNumber)REFERENCESCustomer(SerialNumber),
CONSTRAINTC11FOREIGNKEY(CashierNumber)REFERENCESEmployment(EmployeeNumber)
);
各表之间的关系:
6.2、数据载入
注:
在数据库中已输入
6.3、设计视图
顾客视图:
CREATEVIEW顾客
AS
SELECTdbo.Customer.SerialNumber,dbo.CashierCustomer.CashierNumber,dbo.GoodsCustomer.GoodsNumber,dbo.Goods.GoodsName,dbo.Goods.Price,
dbo.Goods.Discount,dbo.CashierCustomer.Satisfaction
FROMdbo.CashierCustomerINNERJOIN
dbo.CustomerONdbo.CashierCustomer.SerialNumber=dbo.Customer.SerialNumberINNERJOIN
dbo.GoodsCustomerONdbo.Customer.SerialNumber=dbo.GoodsCustomer.SerialNumberINNERJOIN
dbo.GoodsONdbo.GoodsCustomer.GoodsNumber=dbo.Goods.GoodsNumberSELECTdbo.Customer.SerialNumber,dbo.CashierCustomer.CashierNumber,dbo.GoodsCustomer.GoodsNumber,dbo.Goods.GoodsName,dbo.Goods.Price,
dbo.Goods.Discount,dbo.CashierCustomer.Satisfaction
FROMdbo.CashierCustomerINNERJOIN
dbo.CustomerONdbo.CashierCustomer.SerialNumber=dbo.Customer.SerialNumberINNERJOIN
dbo.GoodsCustomerONdbo.Customer.SerialNumber=dbo.GoodsCustomer.SerialNumberINNERJOIN
dbo.GoodsONdbo.GoodsCustomer.GoodsNumber=dbo.Goods.GoodsNumber
员工视图:
CREATEVIEW员工
AS
SELECTTOP100PERCENTdbo.Employment.EmployeeNumber,dbo.Employment.EmployName,dbo.Post.PostNumber,dbo.Post.PostName,dbo.Post.Wage,
dbo.Employment.Seniority
FROMdbo.EmploymentINNERJOIN
dbo.PostONdbo.Employment.PostNumber=dbo.Post.PostNumber
ORDERBYdbo.Employment.EmployeeNumber
仓库主管视图:
CREATEVIEW仓库主管
AS
SELECTTOP100PERCENTdbo.Stowage.StowageNumber,dbo.StowageGoods.Category,dbo.StowageGoods.Amount,dbo.Stowage.Volume,dbo.StowageGoods.PurchaseDate,
dbo.Stowage.StowagePrincipal
FROMdbo.StowageINNERJOIN
dbo.StowageGoodsONdbo.Stowage.StowageNumber=dbo.StowageGoods.StowageNumber
ORDERBYdbo.Stowage.StowageNumber
部门主管视图:
CREATEVIEW部门主管
AS
SELECTTOP100PERCENTdbo.Department.DepartmentNumber,dbo.Department.DepartmentName,dbo.Department.PeopleCount,dbo.Employment.EmployeeNumber,
dbo.Employment.EmployName,dbo.Post.PostNumber,dbo.Post.PostName,dbo.Post.Wage,dbo.Employment.Seniority
FROMdbo.DepartmentINNERJOIN
dbo.EmploymentONdbo.Department.DepartmentNumber=dbo.Employment.DepartmentNumberINNERJOIN
dbo.PostONdbo.Employment.PostNumber=dbo.Post.PostNumber
ORDERBYdbo.Department.DepartmentNumber,dbo.Post.PostNumber,dbo.Employment