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)insert into 供应商values(4324,士达工业,1365656866)insert into 供应商v