《《超市管理系统》数据库设计.doc》由会员分享,可在线阅读,更多相关《《超市管理系统》数据库设计.doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库原理及应用实践报告学号 姓名 班级 20126内容要求:1 数据库功能描述 超市管理系统是一个超市不可缺少的部分,它的内容对于超市的决策者和管理者来说都至关重要,所以超市管理系统应该能够为用户提供充足的信息和快捷的销售,查询手段。但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 超市销售管理系统是为帮助企业有效提高销售管理而开发的。该数据库包括商品、职员、销售信息、仓库等模块,并提供了查询、修改、添加、删除等功能。销售管理系统能简化企业在销售管理方面的复杂性,和
2、减少在管理上的庞大开销。随着计算机行业的飞速发展,人类已经进入;了信息时代,社会中的各个单位、部门也陆续开始使用软件化的管理模式,由于他具有方便、准确、快速、灵活的特点,使得在管理上实现了自动化、一体化、多元化的目标,迅速准确地完成各种工作,大大的提高了企业的销售管理效率。2 数据库设计 21 系统需求分析顶层图0层仓库管理层销售管理层人事管理层(1) 商品清单中文字段名字段类型长度主键/外键字段值约束商品号char13PNOT NULL名称char10NOT NULL进价smallmoney10NOT NULL保质期smalldatetime10NOT NULL生产日期smalldateti
3、me10NOT NULL仓库号char10FNOT NULL存量char10NOT NULL基础售价smallmoney10NOT NULL说明:此表存放商品信息 中文字段名字段类型长度主键/外键字段值约束员工号char13PNOT NULL姓名char10NOT NULL性别char2NOT NULL职称char10NOT NULL年龄char2工资smallmoney10NOT NULL电话char11NOT NULL (2)员工清单说明:此表存放员工信息(3)会员清单中文字段名字段类型长度主键/外键字段值约束会员号char13PNOT NULL姓名char10NOT NULL身份证号ch
4、ar18NOT NULL积分int10NOT NULL消费金额smallmoney10NOT NULL余额smallmoney10NOT NULL说明:此表存放会员信息 (4)供应清单中文字段名字段类型长度主键/外键字段值约束商品号char13P/FNOT NULL供应商号char20FNOT NULL数量int20NOT NULL单价smallmoney10NOT NULL日期smalldatetime10NOT NULL员工号char13PNOT NULL说明:此表存放供应采购商品信息(5)销售清单中文字段名字段类型长度主键/外键字段值约束收银台号char10PNOT NULL商品号cha
5、r13P/FNOT NULL数量int10NOT NULL日期smalldatetime10NOT NULL会员号char13FNOT NULL说明:此表存放销售商品信息(6)摆放清单中文字段名字段类型长度主键/外键字段值约束货架号char10PNOT NULL商品号char13P/FNOT NULL数量int10NOT NULL说明:此表存放货架摆放信息(7)打折清单中文字段名字段类型长度主键/外键字段值约束折扣号char8PNOT NULL商品号char13P/FNOT NULL售价smallmoney10NOT NULL说明:此表存放商品打折信息(8)职守清单中文字段名字段类型长度主键/
6、外键字段值约束员工号char13P/FNOT NULL收银台号char10P/FNOT NULL时间段char20NOT NULL说明:此表存放员工直属信息(9)供应商清单中文字段名字段类型长度主键/外键字段值约束供应商号char20PNOT NULL供应商名称char20NOT NULL电话char11NOT NULL 说明:此表存放供应商信息(10)货架清单中文字段名字段类型长度主键/外键字段值约束货架号char8PNOT NULL地址char20NOT NULL员工号char13FNOT NULL 说明:此表存放货架分布及负责人信息(11)仓库清单中文字段名字段类型长度主键/外键字段值约
7、束仓库号char10PNOT NULL地址char20NOT NULL员工号char13FNOT NULL说明:此表存放仓库信息(12)收银台清单中文字段名字段类型长度主键/外键字段值约束收银台号char10PNOT NULL台内现金smallmoney10NOT NULL入台现金smallmoney10NOT NULL说明:此表存放收银台信息(13)折扣清单中文字段名字段类型长度主键/外键字段值约束折扣号char8PNOT NULL折扣额度smallmoney10NOT NULL说明:此表存放商品折扣信息(14)部门清单中文字段名字段类型长度主键/外键字段值约束部门名称char10PNOT
8、NULL人数char10NOT NULL主管char13FNOT NULL说明:此表存放部门信息(15)任职清单中文字段名字段类型长度主键/外键字段值约束员工号char13P/FNOT NULL部门char10P/FNOT NULL说明:此表存放员工任职信息文件条目 (1)文件名:商品清单组成:商品号+仓库号+存量+生产日期+保质日期+基础售价+进价组织:按商品编号递增排列(2)文件名:员工清单组成:职工号+姓名+性别+职称+年龄+工资+电话组织:按职工编号递增排列(3)文件名:会员清单组成:会员号+姓名+身份证号+积分+消费金额+余额组织:按会员号递增排列(4)文件名:仓库清单组成:仓库号号
9、+地址+员工号组织:按仓库号递增排列 (5)文件名:销售清单组成:商品号+收银台号+日期+数量+会员号组织:按收银台号递增排列(6)文件名:供应商清单组成:供应商号+供应商名称+电话组织:按供应商号递增排列(7)文件名:部门清单组成:部门名称+人数+主管组织:按部门名称排序加工说明(1)加工名:1:查询加工逻辑:根据要查询的库存信息,检索出库存信息明细表输入流:库存信息查询,发出库存信息请求输出流:库存信息清单,进货信息请求(2)加工名:1:更新根据进货信息或销售信息更新库存信息输入流:已进货信息,销售信息输出流:发出库存检索请求(3)加工名:2:查询根据要查询的销售信息,检索出销售信息明细表
10、输入流:销售信息查询输出流:销售清单,销售单(4)加工名:2:更新加工逻辑:根据销售信息更细销售清单输入流:前台销售信息,库存信息输出流:更新库存清单(5)加工名:3:查询加工逻辑:根据要查询的进货信息,检索出进货信息明细表输入流:进货信息查询,发出进货/采购清单查询输出流:库存信息清单,已进货信息,新供货商信息,进货单信息清单,采购单,进货信息请求,进货/采购清单检索结果(6)加工名:3:更新加工逻辑:根据进货信息更新进货清单输入流:进货信息请求,进货单输出流:发出进货/采购清单查询(7)加工名:4:查询加工逻辑:根据输入要查询的员工信息或供货商信息,检索出相应的结果输入流:员工信息查询,供
11、货商信息查询,发出员工/供货商清单查询输出流:已有供货商信息,供货商信息清单,员工信息清单,员工/供货商清单检索结果(8)加工名:4:更新加工逻辑:根据输入的员工信息或新供货商信息更新相应的员工清单或供货商清单输入流:员工信息,新供货商信息清单,员工/供货商清单检索结果22 数据库概念结构设计全局E-R图 23 数据库逻辑结构设计商品(商品号,名称,进价,保质期,生产日期,基础售价)摆放(商品号,货架号,数量)供应(商品,供应商,数量,日期,金额)销售(商品号,收银台号,日期,数量,会员)存贮(商品号,仓库号,数量)打折(商品号,折扣,售价)员工(员工号,姓名,性别,职称,年龄,工资,电话)打
12、理(员工号,货架,时间)管理(员工号,仓库)职守(员工号,收银台号,时间段)直属(员工号,部门)采购(员工号,供应商,日期)3 数据库实施 31 数据库架构图超市管理系统收银台管理货架管理部门管理会员管理会员添加功能会员删除功能钱款添加功能钱款删除功能货物添加功能货物删除功能货物添加功能人员添加功能人员删除功能进货管理仓库管理 32 数据表生成脚本初始数据录入脚本create table 商品(商品号 char(13) constraint 商品_prim primary key,名称 char(10),进价 smallmoney,基础售价 smallmoney,保质期 smalldateti
13、me,生产日期 smalldatetime,仓库号 char(10) constraint 仓库_商品_fore foreign key references 仓库(仓库号),存量 char(10),)create table 员工(员工号 char(13) constraint 员工_prim primary key,姓名 char(10),性别 char(2) constraint 员工_性别_chk check(性别=男or 性别=女),职称 char(10),年龄 char(2) constraint 员工_年龄_chk check(年龄=16 and 年龄=60),工资 smallm
14、oney,电话 char(11),)create table 会员(会员号 char(13) constraint 会员_prim primary key,姓名 char(10),身份证号 char(18),积分 int,消费金额 smallmoney,余额 smallmoney,)create table 供应(商品号 char(13) constraint 商品_供应_fore foreign key references 商品(商品号),供应商号 char(20) constraint 供应商_供应_fore foreign key references 供应商(供应商号),数量 int
15、,单价 smallmoney,日期 smalldatetime,员工号 char(13) constraint 员工_供应_fore foreign key references 员工(员工号),constraint 供应_prim primary key(商品号,员工号),)create table 销售(商品号 char(13) constraint 商品_销售_fore foreign key references 商品(商品号),收银台号 char(10) constraint 收银台_销售_fore foreign key references 收银台(收银台号),日期 smalld
16、atetime,数量 int,会员号 char(13) constraint 会员号_销售_fore foreign key references 会员(会员号),constraint 销售_prim primary key(商品号,收银台号),)create table 摆放(商品号 char(13) constraint 商品_摆放_fore foreign key references 商品(商品号),货架号 char(8) constraint 货架_摆放_fore foreign key references 货架(货架号),数量 int,constraint 摆放_prim pri
17、mary key(商品号,货架号),)create table 打折(商品号 char(13) constraint 商品_打折_fore foreign key references 商品(商品号),折扣号 char(8) constraint 折扣_打折_fore foreign key references 折扣(折扣号),售价 smallmoney,constraint 打折_prim primary key(商品号,折扣号),)create table 值守(员工号 char(13) constraint 员工_值守_fore foreign key references 员工(员工
18、号),收银台号 char(10) constraint 收银台_值守_fore foreign key references 收银台(收银台号),时间段 char(20),constraint 值守_prim primary key(员工号,收银台号),)create table 供应商(供应商号 char(20) constraint 供应商_prim primary key,供应商名称 char(20),电话 char(11),)create table 货架(货架号 char(8) constraint 货架_prim primary key,地址 char(20),员工号 char(1
19、3) constraint 员工_货架_fore foreign key references 员工(员工号),)create table 仓库(仓库号 char(10) constraint 仓库_prim primary key,地址 char(20),员工号 char(13) constraint 员工_仓库_fore foreign key references 员工(员工号),)create table 收银台(收银台号 char(10) constraint 收银台_prim primary key,台内现金 smallmoney,入台现金 smallmoney,)create t
20、able 折扣(折扣号 char(8) constraint 折扣_prim primary key,折扣额度 smallmoney,)create table 部门(部门名称 char(10) constraint 部门_prim primary key,人数 int,主管 char(13) constraint 主管_部门_fore foreign key references 员工(员工号),)create table 任职(员工号 char(13) constraint 员工_任职_fore foreign key references 员工(员工号),部门 char(10) cons
21、traint 部门_任职_fore foreign key references 部门(部门名称),constraint 任职_prim primary key(员工号,部门),) 33始数据录入脚本员工表:insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)values(0001,张三,男,普通员工,25,4500,1355555555)insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)values(0002,李四,男,普通员工,28,4500,1355555454)insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)val
22、ues(0003,王五,女,普通员工,30,4500,1355555458)insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)values(0004,张明,男,普通员工,26,4500,1355555695)insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)values(0005,马佳,女,普通员工,32,4500,1355555698)insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)values(0006,王丽,女,管理员,36,5000,1355554585)insert into 员工(员工号,姓名,性别,职称,年
23、龄,工资,电话)values(0007,田文,男,管理员,35,5000,1355515655)insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)values(0008,杨哲,男,管理员,34,5000,1355513655)insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)values(0009,玛丽,女,管理员,38,5000,1355415655)insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)values(0010,张伟,男,管理员,32,5000,1365515655)insert into 员工(员工号,姓名
24、,性别,职称,年龄,工资,电话)values(0011,张宁,男,管理员,31,5000,1355513655)insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)values(0012,李贵,女,管理员,39,5000,1335515655)insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)values(0013,高雄,男,管理员,32,5000,1315515655)insert into 员工(员工号,姓名,性别,职称,年龄,工资,电话)values(0014,李明伟,男,管理员,41,5000,1359915655)仓库:insert in
25、to 仓库values(01,A区5号,0006)insert into 仓库values(02,A区8号,0007)insert into 仓库values(03,B区3号,0010)insert into 仓库values(04,B区1号,0011)商品:insert into 商品values(11111,奶粉,200,300,2011/05/19,2013/05/19,01,10t)insert into 商品values(11112,洗发水,30,60,2011/11/23,2015/11/19,02,500)insert into 商品values(11113,干红,200,500
26、,2011/01/20,2013/01/19,03,100t)insert into 商品values(11114,刀具,200,360,2011/05/19,2019/05/19,04,600)insert into 商品values(11115,干电池,5,10,2011/06/21,2014/05/19,02,90t)供应商:insert into 供应商values(4321,吉祥食品公司,1365656666)insert into 供应商values(4322,红星酒厂,1365623566)insert into 供应商values(4323,清扬日用品公司,1361659666
27、)insert into 供应商values(4324,士达工业,1365656866)insert into 供应商values(4325,完美刀具公司,1365689666)供应:insert into 供应values(11111,4321,20t,200,2011/7/20,0006)insert into 供应values(11112,4323,500,30,2011/12/2,0007)insert into 供应values(11113,4322,100t,200,2011/5/20,0010)insert into 供应values(11114,4325,600,200,201
28、1/7/20,0011)insert into 供应values(11115,4324,90t,5,2011/8/20,0008)会员:insert into 会员values(00001,张三,222222222222222222,500,800,200)insert into 会员values(00002,李四,333333333333333333,3000,430,500)insert into 会员values(00003,王五,555555555555555555,460,504,256)insert into 会员values(00004,马奇,666666666666666666
29、,4512,120,39)insert into 会员values(00005,赵夏,777777777777777777,8000,124,6981)部门:insert into 部门values(销售部,5,0012)insert into 部门values(采购部,5,0011)insert into 部门values(后勤部,4,0006)insert into 部门values(人事部,5,0009)收银台:insert into 收银台values(01,5000,3020)insert into 收银台values(02,4200,2301)insert into 收银台valu
30、es(03,3250,2310)insert into 收银台values(04,1289,368)insert into 收银台values(05,1563,4820)货架:insert into 货架values(01,A区1号,0010)insert into 货架values(02,A区2号,0011)insert into 货架values(03,B区1号,0012)insert into 货架values(04,B区2号,0013)insert into 货架values(05,C区1号,0014)折扣insert into 折扣values(01,10)insert into 折
31、扣values(02,20)insert into 折扣values(03,50)打折:insert into 打折values(11111,02,280)insert into 打折values(11113,03,450)insert into 打折values(11114,01,350)insert into 打折values(11112,01,50)任职:insert into 任职values(0001,销售部)insert into 任职values(0002,销售部)insert into 任职values(0003,销售部)insert into 任职values(0004,销售
32、部)insert into 任职values(0005,销售部)insert into 任职values(0006,后勤部)insert into 任职values(0007,后勤部)insert into 任职values(0010,后勤部)insert into 任职values(0011,后勤部)insert into 任职values(0006,采购部)insert into 任职values(0007,采购部)insert into 任职values(0010,采购部)insert into 任职values(0011,采购部)insert into 任职values(0008,采购
33、部)insert into 任职values(0006,采购部)insert into 任职values(0009,人事部)insert into 任职values(0012,人事部)insert into 任职values(0013,人事部)insert into 任职values(0014,人事部)insert into 任职values(0001,人事部)值守:insert into 值守values(0001,01,8点-12点)insert into 值守values(0002,02,8点-12点)insert into 值守values(0003,03,8点-12点)insert
34、into 值守values(0004,04,8点-12点)insert into 值守values(0005,05,8点-12点)insert into 值守values(0001,05,13点-20点)insert into 值守values(0002,04,13点-20点)insert into 值守values(0003,02,13点-20点)insert into 值守values(0004,01,13点-20点)insert into 值守values(0005,03,13点-20点)摆放:insert into 摆放values(11111,01,100)insert into 摆
35、放values(11112,03,200)insert into 摆放values(11113,02,50)insert into 摆放values(11114,05,20)insert into 摆放values(11115,04,500)insert into 摆放values(11113,01,20)销售:insert into 销售values(11111,01,2012/5/23,3,00001)insert into 销售values(11111,02,2012/5/23,1,00005)insert into 销售values(11111,03,2012/5/23,1,00002
36、)insert into 销售values(11111,04,2012/5/23,2,00004)insert into 销售values(11112,01,2012/5/23,1,00003)insert into 销售values(11112,02,2012/5/23,2,00001)insert into 销售values(11112,05,2012/5/23,2,00003)insert into 销售values(11113,03,2012/5/23,2,00005)insert into 销售values(11114,05,2012/5/23,2,00004)insert into
37、 销售values(11115,02,2012/5/23,1,00002)4相关问题(0)部分测试:查询员工工资Select 员工号,姓名,工资* from员工 whrer(员工号=0001)查询销售记录Select * from打折,销售 whrere(打折.商品号=销售.商品号)查询供应商的商品存量Select 仓库号,库存 from供应商,商品 whrere(供应商.商品号=商品.商品号)and(商品号=11115)(1)建立合适索引及应该注意问题索引必须在录入数据之后建立索引CREATE CLUSTER INDEX ON 超市商品过多,需要建立聚集索引CREATE UNIQNUE IN
38、DEX ON 部门人员建立唯一索引(2)建立合适视图管理员拥有最高权限,可查询所有表商品表,仓库表,部门表可被员工查询全部视图员工表可被员工查询自己的所有信息,查询其他人除了工资等隐私的其他信息会员表可被会员查询所有信息(3)数据库系统备份与恢复在管理员上传,修改时,同时复制一份脚本传输到另外一张盘(4)系统崩溃恢复从留下来的脚本还原数据(5)硬件损坏。如硬盘损坏,更新硬盘,然后根据备份恢复数据(6)数据库管理员任务。日常维护数据4 参考文献萨师煊,王珊。数据库系统概论,背景:中国水利水电出版社,200338 0 社电利:背统库。文文数数务任管数数复备然硬新损坏件数原脚恢溃张一另本制同改传恢与备据信信询可信信的工人其,所己查被视全询员部库有询可高拥视合索唯员名引 索索立多品名 字 索立之入问注应索建 =品 号品=商供 品商供 库库 存商商号品售号折打 销折 记记 0工( 工 工姓工 工工:试问 0, , (销 00 0 销 0, / ,0, (销 00, / , (销 0, , , 销 0, / , 销销 00, /0 0 销 0 /0, 销 00, /0 销销 00, /0 销 售 摆 0 摆 0 ( 摆 0, 摆 0, (摆 0, , 摆 放点- ,00 值 0点 0 值 点点 ,0 值 0 ,00