为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

网上超市管理系统

2011-04-18 27页 doc 2MB 117阅读

用户头像

is_284225

暂无简介

举报
网上超市管理系统数 据 库 原 理 数 据 库 原 理 课 程 设 计 系别:计算机与信息工程系 班级: 08(1) 学号: 姓名: 题目: 指导教师: 宋 旸 评分项目 得分 程序设计的实用性,通用性 动手能力,创新精神 总结报告 答辩水平 总分 摘 要 随着Internet的高速发展,企业之间的竞争已经由传统模式逐渐转向多元化的企业竞争模式。走进互联网,利用先进的网络技术管理企业,抓住日益成熟的互联网消费群体进行经营活动,极大的提高企业信息覆盖率。树立公司形象,增强公司竞争力。 互联网的发展带来了一场规模空前的行业信息化革命,他改变了许多...
网上超市管理系统
数 据 库 原 理 数 据 库 原 理 课 程 设 计 系别:计算机与信息工程系 班级: 08(1) 学号: 姓名: 题目: 指导教师: 宋 旸 评分项目 得分 程序的实用性,通用性 动手能力,创新精神 总结报告 水平 总分 摘 要 随着Internet的高速发展,企业之间的竞争已经由传统模式逐渐转向多元化的企业竞争模式。走进互联网,利用先进的网络技术管理企业,抓住日益成熟的互联网消费群体进行经营活动,极大的提高企业信息覆盖率。树立公司形象,增强公司竞争力。 互联网的发展带来了一场规模空前的行业信息化革命,他改变了许多传统行业的运作模式,互联网时代又是一个资源和财富再分配的时代。利用互联网平台进行的企业电子商务在降低企业交易成本的同时,也为企业提供了探索新经济销售模式的有效渠道。 对当代中国的白领来说,去超市购物逐渐成为令人头痛的事情,交通堵塞、排队结账使面临工作压力的年轻上班族越来越不愿意去超市。网上超市带给顾客全新的生活方式:只要点击几下鼠标,我们就可以将日常所需送到顾客的手中。网上超市是建立在网络上的一个虚拟的购物商场,使购物过程变得轻松、快捷、方便,很适合现代人快节奏的生活;同时又能有效的控制"商场"运营的成本,开辟了一个新的销售渠道。 本报告从系统可行性、系统需求分析、系统设计到系统运行,详细记录了系统开发的过程及设计思路和相关图表,阐明了系统主要的设计内容和实施、运行情况,为本系统的使用、升级提供了完备的资料。 本系统运用MIS知识和Visual Basic数据库管理系统设计而成,共涵盖一个门户网站和三个子系统:会员系统、订单系统和后台处理系统。用户可以在网站浏览所有商品,用户通过注册或登录,按照分类进行导航,选物、购物、结账。在整个过程中,用户可随时查看购物袋,查询个人订单。管理员还可依网址进入相应网页,在前台及时查看商品库、用户订单、顾客投诉情况,了解购物情况,以方便管理。 关键词: 网上超市 VB 互联网 SQL 参考书目: 《数据库系统概论》第四版 作者:王珊 萨师煊 《SQL SERVER2000 数据库系统开发实例导航》(人民邮电出版社) 《visual basic+SQL Server数据库应用实例完全解析》 (人民邮电出版社) 《visual basic 数据库系统项目开发实践》 (科学出版社) 《visual basic 程序设计基础》(第三版)(中国铁道出版社) 《SQL Server2000数据库实训教材》(清华大学出版社) 1、​ 需求分析 1.​ 本课题研究的意义 现在人们工作压力较大,业余时间较少,逛超市买东西成为奢侈的享受,但是人们日益增加的需求仍旧存在,于是,在家购物,成为一种时尚,一种潮流,本可以研究的即是当下流行的网上超市。随着经济的高速发展,城市化进程的加快,尤以北京、上海、香港等这类一线城市为代表,去超市购物已经成为令人们头疼的事情,但随着电子商务在国内的飞速发展,网上购物已经越来越受到人们的喜爱,在中国,“淘宝”已经成为人们网上购物的代名词。 网上超市在国外已经被人们接受,但在国内,这个市场还处于萌芽阶段,我们组相信这是一个具有巨大市场潜力的项目,所以我们决定以《数据库原理》这门课为契机,设计“麦兜网上超市管理信息系统”。网上超市购物平台与现有的网上购物平台有诸多相似之处,但仍有它自身独特的之处:一个网上超市的业务范围限于这个网上超市所在的城区,所销的商品与超市店内销售的货品一样,顾客通过门户网站可以实现购物,超市可为顾客实现提前预定、即时配送或按顾客规定时间配送等个性化要求,为顾客提供方便。 我们开发“麦兜网上超市管理信息系统”的主要思路是:顾客在网站浏览商品,并可订购自己需要的商品。超市则可以对网站会员实现管理,对订单实现高校处理,并按照顾客的要求配送。基于此,本系统涵盖三个子系统:A、会员系统—主要是用于存储超市网上购物用户的个人信息的系统,主要实现用户的注册、登陆等功能。B、订单系统—主要实现用户对商品的订购功能,用户可以通过该系统实现对商品的订购、付款、确认收货以及订单的查询和订单的取消等功能。C、配送系统—超市的货品配送人员可以查看并下载订单,将用户订购的商品及时送到用户指定地点。 2.​ 小组主要工作 进行初步系统调查,数据流程图,E-R图,编写数据字典、输入输出设计,数据库设计,代码设计,调试系统。系统设计报告, 3.​ 过程总结 通过这次管理信息系统的课程设计,我们将书本知识运用于实践,不仅更系统的领会了本课程知识结构还懂得了如何接受挑战、解决问题;系统调查阶段,大量资料的查阅工作,让我们掌握了信息搜集整理的有效,也了解到与我们系统相关的网上超市业务知识;系统分析的过程锻炼了我们的逻辑思维能力,使得我们主动的发现问题、解决问题,设计绘制一系列图表使我们在发现问题的同时理清思路,加深对所学知识的理解,是个富于创造性的过程;系统设计阶段我们复习了系统开发方法、手段,学会运用VB设计自己的应用程序。 本系统的开发过程中,我们小组依靠自己的力量在摸索中前进,相应的超市内部信息掌握有限,使我们的系统肯定存有很不成熟的问题,但是我们已经尽自己最大的努力使我们的设想成为现实,这是个挑战自我、艰辛和成就感并存的过程。 4.​ 语言选择 麦兜网上超市管理系统是用VB编写完成,由于率先采用了可视化的程序设计方法,所以利用系统提供的大量可视化控件,可以方便的以可视化方式直接绘制用户图形界面,并可直观,动态的调整界面的风格和样式,直到满意为止,从而克服了以前必须用大量代码去描述界面元素的外观和位置的传统编程模式。做起来方便,使用起来更为快捷。 5.​ 基本概念 数据流图——是描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。 E—R图(Entity-Relationship Approach)——实体—联系方法,是表示概念性数据模型的方法。描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。 数据字典——关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。 软件结构图——用层次图或结构图描述的软件结构。 层次图——描绘软件的层次结构,表现了各个模块之间的调用关系而非组成关系。 结构图——描绘软件结构的图形工具,也表示各个模块之间的调用关系。 2、​ 数据流程图 1.​ 会员子系统 不合格信息 申请信息 合格信息 更新信息 会员信息 不合格更新信息 会员信息存储 已更新信息表 会员子系统数据流程图 2.​ 订单子系统 商品目录 商品库存量 库存数据 预定商品信息 预定商品订单存储 初始订单存储 放弃订单存储 有效订单 有效订单存储 订单子系统数据流程图 3.​ 后台处理子系统 订单存储 配送单 物料需求单 库存数据 物料需求存储 合格订单 采购单 发货单 产品不合格单 后台处理子系统数据流程图 3、​ 数据字典 会员号的定义 数据项名称 会员号 别名 会员号 简述 顾客在超市网上购物系统中的会员号码 类型及宽度 字符型,4位 取值范围 “0000”——“9999” 商品号的定义 数据项名称 商品号 别名 商品号 简述 商品对应得编号 类型及宽度 字符型,4位 取值范围 “0000”——“9999” 订单号的定义 数据项名称 订单号 别名 订单号 简述 客户购物后生产的对应单号 类型及宽度 字符型,4位 取值范围 “0000”——“9999” 配送人员号的定义 数据项名称 配送人员号 别名 配送人员号 简述 制定配送单的人员 类型及宽度 字符型,6位 取值范围 “000000”——“999999” 物料需求单号的定义 数据项名称 物料需求单号 别名 物料需求单号 简述 所缺货物对应的单号 类型及宽度 字符型,6位 取值范围 “000000”——“999999” 生产厂商号的定义 数据项名称 生产厂商号 别名 生产厂商号 简述 货物对应的生产厂商号 类型及宽度 字符型,4位 取值范围 “0000”——“9999” vip会员等级的定义 数据项名称 会员等级 别名 会员等级 简述 不同会员的分类 类型及宽度 字符型,8位 取值范围 “00000000”——“99999999” 4、​ E-R图 n 1 m n m n v n n 1 m n m 5、​ E-R图转化为关系模式 1.​ vip会员分类(会员等级,会员折扣) 2.​ 会员(会员号,会员名,E-mail,密码,姓名,性别,会员等级) 3.​ 商品(商品号,商品名,净含量,生产厂商名,单价,库存量) 4.​ 购买(会员号,商品号) 5.​ 订单(订单号,收货地址,订单日期,订单金额,配送人员号) 6.​ 配送人员(配送人员号,配送人员名,工资,性别,出生日期,工作时间) 7.​ 缺货(商品号,物料需求单号) 8.​ 物料需求单(物料需求单号,商品数量,商品质量) 9.​ 采购(物料需求单号,生产厂商号) 10.​ 生产厂商(生产厂商号,生产厂商名,厂商地址,电话) 11.​ 订单明细(商品号,订单号,单价,订货数量,处理状态) 6、​ 数据库创建 1.​ 数据库的建立 CREATE DATABASE supermarket --创建数据库 ON ( NAME = supermarket1 , --创建主数据文件 FILENAME = 'D:\kcsj\supermaket1.mdf' , SIZE = 2 , MAXSIZE= UNLIMITED , --最大容量不受限制 FILEGROWTH = 10% ) , ( NAME = supermarket2 , --创建辅助数据文件 FILENAME = 'D:\kcsj\supermaket2.ndf', SIZE = 2 , MAXSIZE= UNLIMITED , FILEGROWTH = 10% ) LOG ON /* 创建事务日志文件*/ ( NAME = supermarketlog , FILENAME = 'D:\kcsj\supermaketlog.LDF', SIZE = 500 KB , MAXSIZE = 5 , /* 日志文件最大容量 5 MB */ FILEGROWTH = 500 KB ) 2.​ 基本表的建立 CREATE TABLE vip会员分类 ( 会员等级 char(8) not null primary key, 会员折扣 char(30) not null,) CREATE TABLE 会员 ( 会员号 char(4) not null PRIMARY KEY, 会员名 char(10) null, 密码 char(8) not null, 姓名 Nvarchar(10) not null, 性别 bit NOT NULL CONSTRAINT CK_会员 CHECK (性别=0 or 性别=1), 会员等级 char(8) foreign key references vip会员分类(会员等级), E_mail char(20) not null) CREATE TABLE 商品 ( 商品号 char(4) NOT NULL PRIMARY KEY, 商品名 nvarchar(10) NOT NULL , 净含量 char(8) not null, 生产厂商名 char(20) not null, 单价 smallmoney not null, 库存量 char NULL default(0) ) CREATE TABLE 购买 ( 会员号 char(4) not null, 商品号 char(4) NOT NULL, PRIMARY KEY(会员号,商品号) ) CREATE TABLE 配送人员 ( 配送人员号 char(6) not null PRIMARY KEY, 配送人员名 char(10) not null, 性别 bit NOT NULL CONSTRAINT CK_配送人员 CHECK (性别=0 or 性别=1), 工资 int null, 出生日期 datetime NOT NULL , 工作时间 smalldatetime NOT NULL) CREATE TABLE 订单 ( 订单号 char(4) not null PRIMARY KEY, 收货地址 Nvarchar(40) not null , 订单日期 smalldatetime not null, 订单金额 money null, 配送人员号 char(6) foreign key references 配送人员(配送人员号)) CREATE TABLE 物料需求单 (物料需求单号 char(6) not null PRIMARY KEY, 商品数量 int not null, 商品质量 char(4) not null, ) CREATE TABLE 生产厂商 ( 生产厂商号 char(4) not null PRIMARY KEY, 生产厂商名 char(20) not null, 厂商地址 char(20) not null unique, 电话 char(20) not null constraint 电话约束 unique(电话), ) CREATE TABLE 订单明细 ( 商品号 char(4) NOT NULL, 订单号 char(4) not null, 单价 smallmoney not null, 订货数量 int not null, 处理状态 bit NOT NULL CONSTRAINT CK_订单明细 CHECK (处理状态=0 or 处理状态=1) PRIMARY KEY(订单号,商品号) ) CREATE TABLE 采购 ( 物料需求单号 char(6) not null, 生产厂商号 char(4) not null, PRIMARY KEY(物料需求单号,生产厂商号) ) CREATE TABLE 缺货 ( 商品号 char(4) NOT NULL , 物料需求单号 char(6) not null , PRIMARY KEY(物料需求单号,商品号) ) 3.​ 内容的插入 INSERT 生产厂商(生产厂商号,生产厂商名,厂商地址,电话) VALUES ( '0001', '山东省浪潮集团公司', '济南市山大路1008号', '0512-52162628' ) INSERT 生产厂商(生产厂商号,生产厂商名,厂商地址,电话) VALUES ( '1002', '济南市山集团有限公司', '济南市东大路108号', '0512-52162528' ) INSERT 生产厂商(生产厂商号,生产厂商名,厂商地址,电话) VALUES ( '2001', '北京方正电脑有限公司', '北京市海淀区235号', '010-82827001' ) INSERT 生产厂商(生产厂商号,生产厂商名,厂商地址,电话) VALUES ( '3002', '北京联想科技有限公司', '北京市中关村6068-6号', '010-82827801' ) INSERT 生产厂商(生产厂商号,生产厂商名,厂商地址,电话) VALUES ( '4001', '上海电脑市场销售中心', '上海市虹口区225号', '021-54905900' ) INSERT 生产厂商(生产厂商号,生产厂商名,厂商地址,电话) VALUES ( '5001', '上海美大食品公司', '上海浦东方明珠5925号', '021-54905980' ) INSERT 生产厂商(生产厂商号,生产厂商名,厂商地址,电话) VALUES ( '6002', '山东科技市场销售处', '山东虹口区9弄科25号', '0512-52162685' ) INSERT 生产厂商(生产厂商号,生产厂商名,厂商地址,电话) VALUES ( '7002', '济南市经七纬公司', '济南经七纬二路9415号', '0512-52162693' ) INSERT 生产厂商(生产厂商号,生产厂商名,厂商地址,电话) VALUES ( '8003', '上海市浦东公司', '上海市方明珠25号', '021-54905995' ) INSERT 生产厂商(生产厂商号,生产厂商名,厂商地址,电话) VALUES ( '9004', '北京市海淀区有限公司', '北京市朝阳村668-2号', '010-82827648' ) INSERT INTO 订单 VALUES('100','淮南师范学院','2010-01-02',1000,'100000') INSERT INTO 订单 VALUES('101','淮南二中附小','2010-01-03',10000,'100001') INSERT INTO 订单 VALUES('102','田家庵洞山小区66号','2010-03-03',9000,'100002') INSERT INTO 订单 VALUES('103','淮南实验中学','2010-04-03',5000,'100003') INSERT INTO 订单 VALUES('104','淮南一中','2010-04-23',50000,'100004') INSERT INTO 订单 VALUES('105','淮南前锋小学','2010-06-23',8000,'200001') INSERT INTO 订单 VALUES('106','淮南邮电局家属院2栋','2010-08-23',2000,'200002') INSERT INTO 订单 VALUES('107','淮南新体育场1栋','2010-09-13',23000,'200003') INSERT INTO 订单 VALUES('108','淮南商贸F区3栋','2010-10-03',6700,'200004') INSERT INTO 订单 VALUES('109','淮南天天花园城','2010-12-25',80000,'200005') INSERT vip会员分类(会员等级, 会员折扣) VALUES ( '钻石会员', '5.4折') INSERT vip会员分类(会员等级, 会员折扣) VALUES ( '白金会员', '7.2折' ) INSERT vip会员分类(会员等级, 会员折扣) VALUES ( '黄金会员', '8.5折' ) INSERT 会员(会员号,会员名,E_mail,姓名,密码,性别,会员等级) VALUES ( '1001', 'CHANG', 'CHANG@163.COM','代响丽', '111111','女','钻石会员' ) INSERT 会员(会员号,会员名,E_mail,姓名,密码,性别,会员等级) VALUES ( '1002', 'HUAN', 'HUAINAN@126.COM','李 芳', '111111','女','钻石会员' ) INSERT 会员(会员号,会员名,E_mail,姓名,密码,性别,会员等级) VALUES ( '1003', 'FUY', 'FUYANG@163.C0M', '张贝贝', '111111','1','黄金会员' ) INSERT 会员(会员号,会员名,E_mail,姓名,密码,性别,会员等级) VALUES ( '1004', 'LING', 'LINQUAN@163.COM','李 群', '111111','0','白金会员' ) INSERT 会员(会员号,会员名,E_mail,姓名,密码,性别,会员等级) VALUES ( '1005', 'BOZH', 'BOZHOU@126.COM','张茂岭', '111111','0','钻石会员') INSERT 会员(会员号,会员名,E_mail,姓名,密码,性别,会员等级) VALUES ( '1006', 'BENG', 'BENGBU@163.COM','郑学敏', '111111','0','黄金会员' ) INSERT 会员(会员号,会员名,E_mail,姓名,密码,性别,会员等级) VALUES ( '1007', 'HEFE', 'HEFEI@126.COM','于 丽', '111111','1','黄金会员' ) INSERT 会员(会员号,会员名,E_mail,姓名,密码,性别,会员等级) VALUES ( '1008', 'SHZH', 'SHENZHEN@163.COM','张 凤', '111111','1','钻石会员' ) INSERT 会员(会员号,会员名,E_mail,姓名,密码,性别,会员等级) VALUES ( '1009', 'JIING', 'JILIN@163.COM', '谢 冰', '111111','1','黄金会员' ) INSERT 会员(会员号,会员名,E_mail,姓名,密码,性别,会员等级) VALUES ( '1010', 'GUANG', 'GUANHD@126.COM', '李艳梅', '111111','1','白金会员' ) INSERT INTO 商品 VALUES('0001','巧克力','35','北京',5,200) INSERT INTO 商品 VALUES('0002','辣条','50','淮南',0.5,300) INSERT INTO 商品 VALUES('0003','鸡蛋','50','阜阳',1.0,'102',100) INSERT INTO 商品 VALUES('0004','薯条','100','合肥',2.5,250) INSERT INTO 商品 VALUES('0005','鸡腿','250','淮北',5.5,440) INSERT INTO 商品 VALUES('0006','方便面','80','河北',1.5,230) INSERT INTO 商品 VALUES('0007','火腿肠','50','商丘',0.7,260) INSERT INTO 商品 VALUES('0008','饼干','150','上海',4.5,80) INSERT INTO 商品 VALUES('0009','烤肠','50','淮南',1.5,120) INSERT INTO 商品 VALUES('0010','花生豆','500','淮南',7.5,320) INSERT 配送人员(配送人员号,配送人员名,性别,工资,出生日期,工作时间) VALUES('100000','余力',0,2000,'1982-01-03','2004-09-03') INSERT 配送人员(配送人员号,配送人员名,性别,工资,出生日期,工作时间) VALUES('100001','吴迪',0,2500,'1988-09-26','2010-09-03') INSERT 配送人员(配送人员号,配送人员名,性别,工资,出生日期,工作时间) VALUES('100002','李想',0,2200,'1989-09-05','2010-09-03') INSERT 配送人员(配送人员号,配送人员名,性别,工资,出生日期,工作时间) values('100003','张秀丽',1,2600,'1989-03-25','2010-09-24') INSERT 配送人员(配送人员号,配送人员名,性别,工资,出生日期,工作时间) VALUES('100004','付晨光',0,3000,'1990-06-05','2010-03-24') INSERT 配送人员(配送人员号,配送人员名,性别,工资,出生日期,工作时间) VALUES('200001','牛秀秀',1,2000,'1990-01-05','2010-07-04') INSERT 配送人员(配送人员号,配送人员名,性别,工资,出生日期,工作时间) VALUES('200002','刘莹莹',1,3000,'1987-10-05','2009-04-04') INSERT 配送人员(配送人员号,配送人员名,性别,工资,出生日期,工作时间) VALUES('200003','昊鹏',0,3200,'1986-01-05','2005-03-17') INSERT 配送人员(配送人员号,配送人员名,性别,工资,出生日期,工作时间) VALUES('200004','郭洋',0,2800,'1980-10-05','2002-06-17') INSERT 配送人员(配送人员号,配送人员名,性别,工资,出生日期,工作时间) VALUES('200005','许小宁',0,2680,'1976-12-25','1999-02-17') INSERT INTO 物料需求单 VALUES('110001',5,'优 ') INSERT INTO 物料需求单 VALUES('110002',89,'优') INSERT INTO 物料需求单 VALUES('110003',90,'中') INSERT INTO 物料需求单 VALUES('110004',75,'良') INSERT INTO 物料需求单 VALUES('110005',55,'良') INSERT INTO 物料需求单 VALUES('110006',95,'良') INSERT INTO 物料需求单 VALUES('110007',37,'中') INSERT INTO 物料需求单 VALUES('110008',45,'优') INSERT INTO 物料需求单 VALUES('110009',15,'中') INSERT INTO 物料需求单 VALUES('110010',75,'优') INSERT INTO 订单明细(订单号,商品号,单价,订货数量,处理状态) VALUES('100','0001',35,50,0) INSERT INTO 订单明细(订单号,商品号,单价,订货数量,处理状态) VALUES('101','0002',0.5,40,1) INSERT INTO 订单明细(订单号,商品号,单价,订货数量,处理状态) VALUES('102','0003',1.0,200,1) INSERT INTO 订单明细(订单号,商品号,单价,订货数量,处理状态) VALUES('103','0004',2.5,200,1) INSERT INTO 订单明细(订单号,商品号,单价,订货数量,处理状态) VALUES('104','0005',5.5,30,0) INSERT INTO 订单明细(订单号,商品号,单价,订货数量,处理状态) values('105','0006',1.5,40,0) INSERT INTO 订单明细(订单号,商品号,单价,订货数量,处理状态) values('106','0007',0.7,500,1) INSERT INTO 订单明细(订单号,商品号,单价,订货数量,处理状态) values('107','0008',4.5,30,1) INSERT INTO 订单明细(订单号,商品号,单价,订货数量,处理状态) values('108','0009',1.5,100,0) INSERT INTO 订单明细(订单号,商品号,单价,订货数量,处理状态) values('109','0010',7.5,50,1) INSERT INTO 购买(会员号,商品号) VALUES('1001','0001') INSERT INTO 购买(会员号,商品号) VALUES('1002','0002') INSERT INTO 购买(会员号,商品号) VALUES('1003','0003') INSERT INTO 购买(会员号,商品号) VALUES('1004','0004') INSERT INTO 购买(会员号,商品号) VALUES('1005','0005') INSERT INTO 购买(会员号,商品号) VALUES('1006','0006') INSERT INTO 购买(会员号,商品号) VALUES('1007','0007') INSERT INTO 购买(会员号,商品号) VALUES('1008','0008') INSERT INTO 购买(会员号,商品号) VALUES('1009','0009') INSERT INTO 购买(会员号,商品号) VALUES('1010','0010') INSERT INTO 采购(物料需求单号,生产厂商号)VALUES('110001','0001') INSERT INTO 采购(物料需求单号,生产厂商号)VALUES('110002','1002') INSERT INTO 采购(物料需求单号,生产厂商号)VALUES('110003','2001') INSERT INTO 采购(物料需求单号,生产厂商号)VALUES('110004','3002') INSERT INTO 采购(物料需求单号,生产厂商号)VALUES('110005','4001') INSERT INTO 采购(物料需求单号,生产厂商号)values('110006','5001') INSERT INTO 采购(物料需求单号,生产厂商号)values('110007','8003') INSERT INTO 采购(物料需求单号,生产厂商号)values('110008','9004') INSERT INTO 采购(物料需求单号,生产厂商号)values('110009','7002') INSERT INTO 采购(物料需求单号,生产厂商号)values('110010','3002') INSERT INTO 缺货(商品号,物料需求单号)VALUES('0001','110001') INSERT INTO 缺货(商品号,物料需求单号)VALUES('0002','110003') INSERT INTO 缺货(商品号,物料需求单号)VALUES('0003','110004') INSERT INTO 缺货(商品号,物料需求单号)VALUES('0004','110005') INSERT INTO 缺货(商品号,物料需求单号)VALUES('0005','110006') INSERT INTO 缺货(商品号,物料需求单号)values('0006','110009') INSERT INTO 缺货(商品号,物料需求单号)values('0007','110007') INSERT INTO 缺货(商品号,物料需求单号)values('0008','110010') INSERT INTO 缺货(商品号,物料需求单号)values('0009','110008') INSERT INTO 缺货(商品号,物料需求单号)values('0010','110010') 4.​ 建立存储过程 1)​ 在数据库中建立存储过程,用于在“会员等级”和“会员”中查询不同等 会员的基本信息和其折扣情况 IF exists( SELECT name FROM sysobjects WHERE name='会员等级_pro' AND type='p') DROP procedure 会员等级_pro GO CREATE procedure 会员等级_pro -- 创建存储过程 AS SELECT * FROM (select * from vip会员分类 where 会员等级='黄金会员') as CT left join 会员 on CT.会员等级=会员.会员等级 GO EXECUTE 会员等级_pro -- 调用执行存储过程 IF exists( SELECT name FROM sysobjects WHERE name='会员等级_pro' AND type='p') DROP procedure 会员等级_pro GO CREATE procedure 会员等级_pro -- 创建存储过程 AS SELECT * FROM (select * from vip会员分类 where 会员等级='钻石会员') as CT left join 会员 on CT.会员等级=会员.会员等级 GO EXECUTE 会员等级_pro -- 调用执行存储过程 IF exists( SELECT name FROM sysobjects WHERE name='会员等级_pro' AND type='p') DROP procedure 会员等级_pro GO CREATE procedure 会员等级_pro -- 创建存储过程 AS SELECT * FROM (select * from vip会员分类 where 会员等级='白金会员') as CT left join 会员 on CT.会员等级=会员.会员等级 GO EXECUTE 会员等级_pro -- 调用执行存储过程 2)​ 创建“商品_pro1”存储过程,用于查找物料需求单中某个具体单号所需 进货数量 IF exists(SELECT name FROM sysobjects WHERE name='商品_pro1' AND type='p') DROP procedure 商品_pro1 GO CREATE procedure 商品_pro1 @hm nvarchar(8), @kuzs int output AS SELECT @kuzs=sum(商品数量) FROM 物料需求单 WHERE 物料需求单号=@hm GO DECLARE @aa nvarchar(8), @bb int SET @aa='110003' EXECUTE 商品_pro1 @aa, @bb output SELECT '需求单号:'+@aa, '总进货数量:' +cast( @bb AS char(4)) 5.​ 建立触发器 1)​ 建立此触发器用于当库存不足时自动改为缺货状态 IF exists (SELECT name FROM sysobjects WHERE name='库存更新' AND type='tr') DROP TRIGGER 库存更新 GO CREATE TRIGGER 库存更新 ON 商品 after insert AS DECLARE @hh char(4), @hm nvarchar(8), @pj1 int, @pj2 int, @kc1 int, @kc2 int SELECT @hm=商品号,@kc2=库存量 FROM inserted IF @kc2 <=0 BEGIN UPDATE 商品 SET 库存量='缺货' WHERE 商品号=@hm END GO 2)​ 建立此触发器用于管理配送人员的基本工资,当不足800元时自动设为800元 IF exists (SELECT name FROM sysobjects WHERE name='工资管理' AND type='tr') DROP TRIGGER 工资管理 GO CREATE TRIGGER 工资管理 ON 配送人员 after insert AS DECLARE @hh char(4), @hm nvarchar(8), @pj1 int, @pj2 int, @kc1 int, @kc2 int SELECT @hm=配送人员号,@kc2=工资 FROM inserted IF @kc2 <=800 BEGIN UPDATE 配送人员 SET 工资='800' WHERE 配送人员号=@hm END GO 3)​ 建立此触发器用于管理订单,订单大于库存量不能销售 IF exists (SELECT name FROM sysobjects WHERE name='订单检查'AND type='tr') DROP TRIGGER 订单检查 GO CREATE TRIGGER 订单检查 ON 订单明细 after insert AS DECLARE @xh char(4),@hh char(4),@sl int,@dj Smallmoney, @hm char(4), @ckjg Smallmoney,@kc char(4) SELECT @xh=商品号,@hh=订单号,@sl=订货数量,@dj=单价 FROM inserted SELECT @hm=商品号, @ckjg=单价, @kc=库存量 FROM 商品 WHERE 商品号=@xh IF @sl <=@kc BEGIN UPDATE 订单明细 -- 条件不能使用货号 SET 商品号= @hm, 单价=@sl*@dj WHERE 商品号=@xh UPDATE 商品 SET 库存量=@kc-@sl WHERE 商品号=@hh END ELSE BEGIN PRINT '销售量大于库存量'+cast(@kc AS char(4)) + ',库存不足不能销售' ROLLBACK TRANSACTION END GO 4)​ 建立此触发器用来实现当订单额超过不同的值时分别自动添加为相应的会员等级 IF exists (SELECT name FROM sysobjects WHERE name='等级管理' AND type='tr') DROP TRIGGER 等级管理 GO CREATE TRIGGER 等级管理 ON 订单明细 after insert AS DECLARE @hh char(4), @hm char(8), @hn char(4), @pj2 int, @kc1 int, @kc2 smallmoney SELECT @hm=订单号,@hh=商品号,@kc2=单价 FROM inserted IF @kc2 >=1000 BEGIN select @hn=会员号 from 购买 where 商品号=@hh update 会员 set 会员等级='钻石会员' where 会员号=@hn END ELSE IF @kc2 >=500 BEGIN select @hn=会员号 from 购买 where 商品号=@hh update 会员 set 会员等级='白金会员' where 会员号=@hn END ELSE IF @kc2 >=200 BEGIN select @hn=会员号 from 购买 where 商品号=@hh update 会员 set 会员等级='黄金会员' where 会员号=@hn ROLLBACK TRANSACTION END GO 7、​ VB与数据库的连接 1.​ VB简介 Windows是当前最流行的微机操作系统,它把图形作为操作对象,但对于编程人员来说难度增加了,因为编写一个Windows 应用程序,必须先建立相应的窗口菜单、对话框、按钮等图形界面的组成部件。如果采用C语言来进行这种界面编程的话,需要花很长时间。如今,开发Windows 操作系统的微软公司为我们广大电脑用户提供了基于Windows的编程语言—Visual Basic。它将Windows 的一些常用的编程操作,如:创建窗口封装起来,引入了窗口体和控件的编程概念,用户可以使用它在很短的时间内设计出精美的界面,这样大大减少了编程的时间。 Visual Basic是从早期的Basic语言进化而来的,与传统的编程语言C语言相比,Visual Basic的语法要简单的多。 Visual Basic 语言是一门面向对象的编程语言,即以窗口和按钮等控件为编程对象,它的所有程序的响应都是对对象发生的,这种编程概念也是当前十分流行的编程模式。另外Visual Basic语言是使用事件驱动编程机制的编程语言,使用这种事件驱动方法进行编程时,程序员只要编写出相对于用户某种操作所响应的代码,没有必要记住某个事件发生的次数。如用户单击按钮,你只要在相应的单击按钮的代码段中编写指定代码即可,这样使得编写程序更加简洁方便了。使用 Visual Basic语言,可以在很短的时间里编写出一个Windows实用程序。 1991年微软公司推出了Visual Basic 1.0 版,以后相继推出了3.0版,4.0版, 5.0版, 6.0版,目前用户广泛采用的是Visual Basic 6.0版。 2.​ 设置SQL Server的安全认证模式为SQL Server和Windows选项(混合模式), 设置sa登录的密码为sa。建立数据源,开始|控制面板|管理工具|数据源(ODBC),双击 图标 1)​ 系统DSN选项卡点击“添加”按钮 2)​ 新建数据源对话框中选择SQL Server 3)​ 数据源名称为“supermarketdsn”,服务器名称为服务管理器名称 4)​ 登录名和密码均为sa 5)​ 选择默认连接的数据库为supermarket 6)​ 测试数据源 3.​ 启动VB,建立工程 启动Visual basic 6.0后将弹出如下图所示的“新建工程”窗口,选择EXE: 4.​ 创建窗体,标签 ,文本框 ,控件实例,并且在一个工程里添加多个窗体,可相互通过show调用 5.​ 管理者登录 管理者用户名设为sa,密码设为sa,若用户名和密码正确则进去管理界面,否则无法登录 6.​ 管理者登录后,进入管理界面. 在此界面中,使用了菜单来在一个界面中管理多个项目,方便高效。 超市管理系统中设置下拉菜单为四个,分别为会员管理,商品管理,订单管理和职工管理。 7.​ 会员信息管理 会员信息管理中输出会员号、会员名、性别、密码、姓名、会员等级以及此会员的E_mail,并且可通过添加、修改、删除对其进行增删改,返回按钮可以回到前一个界面,方便管理者对其他事物进行管理,控件实例可以进行查询各个会员的信息,通过向左向右按钮进行查看,也可直接跳到最开始和在最后。在进行添加的时候出性别之外的文本框均自动清除,性别文本框要手动清除。 8.​ 购买信息输出 在此界面管理员可以查看会员购买的商品,通过实例控件进行查看各条信息,返回则返回上个界面。 9.​ VIP会员分类 在此,VIP会员分类三类,分别为黄金会员、钻石会员和白金会员,不同会员等级不同,相应折扣也不同。 10.​ 商品 可以通过控件查询商品号、商品名、单价、净含量、库存量以及生产厂商名,并且可以通过需要对其进行增删改。 11.​ 物料需求单 通过控件查询物料需求中的各个数据:物料需求单号、商品数量、商品质量。 添加按钮时为了,在未触发缺货时管理者可以根据需求手动进货。 12.​ 生产厂商 在此界面管理者可以方便的看到生产厂商的各个信息,方便其进货联系,并且可以随实际情况的改变,对生产厂商的信息进行修改,且可以添加新近联系的生产厂商。 13.​ 采购 在此窗体,管理者能够一目了然的看到去哪个生产厂商采购何种商品
/
本文档为【网上超市管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索