超市会员管理系统报告.docx
《超市会员管理系统报告.docx》由会员分享,可在线阅读,更多相关《超市会员管理系统报告.docx(22页珍藏版)》请在冰点文库上搜索。
课程设计(论文)
课程名称:
数据库大作业
题目:
超市会员管理系统
院(系):
信息与控制工程学院
专业班级:
运算机1102
姓名:
******
学号:
2
指导教师:
叶**
2014年3月13日
西安建筑科技大学课程设计(论文)任务书
专业班级:
运算机112 学生姓名:
指导教师(签名):
一、课程设计(论文)题目
超市会员管理系统
二、本次课程设计(论文)应达到的目的
通过数据库大作业课程设计的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
系统功能基本要求 :
1. 加入会员的基本条件维护,包括:
成为会员的基本条件、优惠政策、优惠时间等;
2. 会员的基本信息,包括姓名、性别、年龄、工作单位、联系方式等;
3. 会员购物信息:
购买物品编号、物品名称、所属种类,数量,价格等;
4. 会员返利信息,包括会员积分的情况,享受优惠的等级等;
5. 对货物流量及消费人群进行统计输出。
四、应收集的资料及主要参考文献:
1.数据库:
原理编程与性能(影印版)(第2版),高等教育出版社, ParickO'Neil,ElizabethO'Neil编著,;
2. 数据库系统概论(第4版),高等教育出版社,王珊,萨师煊编著,;
五、审核批准意见
教研室主任(签字)
设计总说明
我的题目是超市会员管理系统,该系统的主要目的是向超市的管理人员或类似群体提供一个能方便管理及其保护其所在超市的会员的系统。
系统采用B/S模式进行架构。
前台用来开发阅读器端,主要功能有界面输出和与用户的交互等;后台为sqlsever2012则主要用于数据库的保护、数据之间的存取等操作。
本超市会员信息管理系统已超市会员信息的管理为核心,兼有各类统计、查询、添加、修改和删除等功能,如对货物流量和消费人群的查询,对会员信息的查询等。
本系统利用视能够对数据库中的内容实现各类级联修改与信息的实时更新,能够化繁为简,提高效率,避免大量的重复性的工作。
整个系统由会员信息管理模块、会员优惠度模块、购物信息模块和商品信息模块组成。
整个系统能独立运行,实现现实中的功能。
关键字:
会员信息管理后台数据库前台
数据库大作业
—超市会员管理系统
一.设计目的
该超市会员管理系统的设计目的是向超市的管理人员或类似群体提供一个能方便管理及其保护其所在超市的会员的系统。
本超市会员信息管理系统已超市会员信息的管理为核心,兼有各类统计、查询、添加、修改和删除等功能,如对会员的购物信息、购物偏好等的查询,对商品信息的查询、添加、修改和删除和超市会员的注册、登录和登岸后对个人信息的查询、修改。
二.问题描述
问题概述
随着全世界信息时期的到来,信息技术对社会进展和经济增加的作用愈来愈明显。
商业企业有效地采用信息技术手腕,加速了商业领域的进展与进步,信息化建设已经成为当前商业企业提高企业管理水平,谋求生存,参与市场竞争的必由之路。
经济的进展,社会的进步,运算机愈来愈深切到咱们日常的工作学习及生活中,成为咱们日常生活中不可缺少的辅助工具。
随着科学技术的不断提高,运算机科学日渐成熟,其壮大的功能已被人们深刻熟悉,它已进入人类社会的各个领域并发挥着愈来愈重要的作用。
它加倍的深切到日常工作和生活的方方面面,比如文字处置、信息管理、辅助设计、图形图像处置、教育培训和游戏娱乐等。
各行各业的人们不必通过特别的训练就可以够利用电脑完成许许多多复杂的工作。
会员管理系统用运算机管理会员的大体信息,和对会员信息的编辑、查询等一系列动作,它是一种运算机应用技术的创新。
在运算机还未普及之前组织会员管理都是由工作人员人工书写,查阅的方式来操作的。
此刻一般的会员管理都采用运算机智能化管理,采用运算机作为工具的实用的运算机智能化管理程序来帮忙管理员进行更有效的进行会员管理工作。
系统设计目标
该系统有着广漠的市场前景的同时,还能够提高企业运营效率,创造更多的社会价值。
本系统需完成的功能:
会员的注册、管理,会员品级的保护,商品的信息、商品入库、出库和存货量等的管理。
该系统的设计要符合利用简单,易于保护,便于查询等的一些大体操作,要有更好的实用性和移植性。
系统主要功能
1. 加入会员的大体条件保护,包括:
成为会员的大体条件、优惠政策、优惠时刻等;
2. 会员的大体信息,包括姓名、性别、年龄、工作单位、联系方式等;
3. 会员购物信息:
购买物品编号、物品名称、所属种类,数量,价钱等;
4. 会员返利信息,包括会员积分的情形,享受优惠的品级等;
5. 对货物流量及消费人群进行统计输出。
三. 需求分析
设计思想
利用VisualStdio2012和SQLServer2012设计,Visual Stdio2012利用C#作为脚本语言进行前台用户界面化的实现,而数据的操作则用SQLServer2012在后台进行操作,做到数据的封装,完成各类功能。
超市管理人员只需要选择干什么,而不需要去管具体怎么干,利用方便,清楚可见。
可行性分析
从技术可行性、经济可行性、操作可行性三个方面来研究该系统的可行性。
按照技术可行性的考虑初步排除一些不现实的系统和不合理的要求。
操作可行性方面,要考虑利用者的的技术水平,为利用者设计出简单、易用的操作界面;经济方面的可行性,应估量可能的系统开发本钱和运行费用,而且估量能够节省的开支或能够增加的收入;技术可行性方面,在开发时所涉及的技术因缺少一些必要设备无法开发出网上支付,其他方面的功能则可利用现有技术作出。
功能需求
大体功能需求
(1)会员信息管理
(2)管理员账户管理
(3)会员购物信息查看
(4)超市客流量查询
(5)超市商品信息管理
(6)会员品级保护
用户界面需求
分为会员和管理员两种权限,在统一登录页面登岸后依据账户类型不同进入不同页面,便于管理。
性能需求
本系统主要面向超市管理员与超市会员,在利用上要求对页面响应时刻的要求在数秒之内,越快越好。
而且对于系统的占用空间要求不可过大。
系统设计基础
系统业务流图
图3-1会员管理个人信息、查询商品信息业务流图
图3-2管理员对超市会员、商品信息管理业务流图
系统数据流图
会员信息商品信息 订单信息
管理员信息
后台数据库
图3-3超市会员/管理员查询、修改、删除数据流图
四.概要设计
功能描述
(1)会员注册、登录
(2)会员信息管理
(3)管理员信息管理
(4)商品信息管理
(5)超市消费人群统计
(6)会员购物偏好统计
(7)会员品级保护
系统模块
(1)会员信息管理模块。
(2)登录与注册模块
(3)统计模块
(4)管理员信息管理模块。
(5)会员品级保护。
(6)商品信息管理。
系统功能模块图
图4-1系统功能模块图
五.数据库设计
数据库简介
一共有五张表,别离是administrator(管理员表)、information(会员表)、product(商品表)、order(定单表)、level(级别表)。
administrator表包括管理员id、密码、权限、创建者。
information表包括会员的id、密码、姓名、性别、地址、电话、年龄、工作、卡内余额、总消费金额、会员品级、注册时刻。
product表包括商品的id、名称、单价、储量、所属类别。
order表包括定单编号、会员ID、商品ID、消费金额、数量、消费时刻。
level表包括会员品级编号、品级名称、最小金额、有效期、折扣。
另外还有三个视图,作用是统计会员购物偏好、超市消费人群、货物流量。
概念设计
administrator表和information表提供对会员与管理员的登录验证,对密码的修改的数据操作进行存储。
Product表存储商品的信息。
Level表存储会员品级的具体信息。
Order表是一个外键表,它里面包括两个外键,别离是administrator表和information表的主键,如此方便把多种关系连接在一路。
三个视图用于链接表,便于统计信息。
会员表的E-R图:
图5-1 会员表E-R图
级别表的E-R图:
图5-2 级别表E-R图
消费记录表的E-R图:
图5-3 消费记录表的E-R图
商品信息表的E-R图:
图5-4商品信息表的E-R图
各实体之间关系的E-R图:
图5-5各实体之间关系的E-R图
逻辑结构设计
先将“管理”联系中的一个实体“管理员”转换成一个关系。
关系一:
管理员:
(ID,密码,权限,组别)。
然后将联系“管理”转换成一个关系:
关系二:
管理(管理员ID,超市后台信息)
再将联系“消费”中的两个实体“会员”、“商品”转换成两个联系:
关系三:
会员:
(ID,密码,姓名,性别,年龄,联系方式,地址,工作,总消费金额,余额,会员品级,注册时刻)。
关系四:
商品(ID,商品名称,单价,储量,种类)。
然后将联系“消费”转换成关系:
关系五:
消费(会员ID,商品ID,商品单价,商品数量,消费时刻)。
最后将联系“会员级别”中的实体“级别”转换成一个实体:
关系六:
级别(ID,名称,有效期,最小消费金额,时刻)。
如此,就取得了超市管理系统的关系模式。
物理结构设计
字段名称
字段类型
是否为空
约束
字段说明
ID
int
否
主键
会员ID
Name
varchar(20)
否
会员姓名
sex
varchar(10)
是
性别
age
varchar(20)
是
年龄
phone
varchar2(20)
是
唯一性
联系方式
address
varchar2(30)
是
地址
job
Varchar2(10)
是
工作
pwd
varchar(10)
否
密码
Sum_Account
float
是
总消费金额
Balance
float
是
余额
Rank
varchar(20)
是
会员等级
Register_Time
smalldatetime
是
注册时间
表5-1 会员信息表
字段名称
字段类型
是否为空
约束
字段说明
LID
int
否
主键
级别ID
LName
varchar(20)
否
级别名称
MIN
int
是
金额下限
Valid_Date
int
是
有效期
Discount
int
是
会员打折优惠
表5-2级别表
字段名称
字段类型
是否为空
约束
字段说明
OID
int
否
主键
消费ID
ID
int
否
外键
消费会员
Account
int
是
金额
PID
int
否
外键
商品
Quantity
int
是
数量
Date
smalldatetime
是
外键
时间
表5-3消费记录表
字段名称
字段类型
是否为空
约束
字段说明
PID
int
否
主键
商品ID
Pname
varchar(20)
否
商品名称
Price
int
否
商品单价
Reserves
int
否
商品储量
Classes
varchar(20)
否
商品种类
表5-4商品信息表
六.详细设计
项目创建
在MicrosoftSQLServer2012创建supermarket_member数据库。
在supermarket_member数据库中创建所有表。
在MicrosoftVisualStudio2012中创建supermarket_member网站项目。
登录模块
(1)模块功能
实现会员和管理员的登录功能。
(2)界面设计
图6-1登录界面设计
(3)关键代码
protected void Button1_Click(object sender, EventArgs e)
{
bool judge= true;
string connectionString= "server=(local);uid=sa;pwd=123456;database=supermarket_member";
SqlConnection conn= new SqlConnection(connectionString);
string sql= "selectPwdfromAdministratorwhereAID='" ++ "'";
SqlCommand cmd= new SqlCommand(sql,conn);
();
SqlDataReader reader=();
if ())
{
string pwd=(string)reader["Pwd"];
if ==pwd)
{
Session["UserName"]=("");
}
else
{
judge= false;
}
}
else
{
();
();
();
string sql1= "selectPwdfromInformationwhereID='" ++ "'";
SqlCommand cmd1= new SqlCommand(sql1,conn);
SqlDataReader reader1=();
if ())
{
string pwd=(string)reader1["Pwd"];
if ==pwd)
{
Session["UserName"]=("");
judge= true;
}
else
{
judge= false;
}
}
}
if (judge)
{
= "用户名或密码错误";
}
();
}
注册模块
(1)模块功能
实现会员和管理员的注册功能。
(2)界面设计
图6-2 会员注册界面设计
(3)关键代码
protected void Button1_Click(object sender, EventArgs e)
{
int new_id;
string date=
string connectionString= "server=(local);uid=sa;pwd=123456;database=supermarket_member";
SqlConnection conn= new SqlConnection(connectionString);
string sql1= "selectmax(id)fromInformation";
SqlCommand cmd1= new SqlCommand(sql1,conn);
string sql2= "insertintoInformation(ID,Pwd,name,Sex,Age,Phone,Job,Address,Sum_Account,Balance,Rank,Register_Time)values(@new_id,'" ++ "','" ++ "','" ++ "','" ++ "','" ++ "','" ++ "','" ++ "','0','" ++ "','0',@date)";
SqlCommand cmd2= new SqlCommand(sql2,conn);
();
new_id=(int)()+1;
"@new_id",new_id);
"@date",date);
();
();
("");
}
}
统计模块
(1)模块功能
统计会员购物偏好、超市消费人群、货物流量。
(2)界面设计
图6-3 统计会员购物偏好
图6-4统计超市消费人群
图6-5统计货物流量
(3)关键代码
因该模块主要用vs2012所提供的控件实现,可见代码作用不大,故以下为数据库语言:
1.统计超市消费人群“selectdistinctJob,count(Job)ascou
froma
groupbyJob
orderbycoudesc”。
2.统计货物流量“select,,,,,sumasquantityfromb
groupby,,,,
orderbyquantitydesc”。
3.统计会员购物偏好“selectname,sex,age,phone,job,sum_account,balance,rank,classes,count(classes)ascou
fromc
whereid=@id
groupby name,sex,age,phone,job,sum_account,balance,rank,classes
orderbycoudesc”。
七.调试分析
本系统在调试分析中曾出现过统计功能犯错,经分析后发觉是数据库中的表更改后未及时修改视图。
随后,在修改了视图后问题取得了解决。
。
八.利用说明
账号依其类型分为两种取得途径:
会员账号能够在如实填写个人信息后注册,由系统为其分派ID;管理员账号则必需由管理员账号创建且账号受创建者控制。
会员在取得账号进入系统后可依据导航栏完成相应操作。
管理员取得账号进入系统后一样利用导航栏完成相应的管理操作。
操作完成后应安全退出。
九.设计总结
通过两个礼拜的数据库大作业设计,我初步了解了如何设计数据库的表、视图,如何考虑各实体间的关系,如何准确无误的有数据库语言表达出自己的意思。
同时,我也学会了粗浅的网页设计,了解了如何将网页与数据库链接。
在这两个礼拜的设计中,我也碰着了很多问题。
起先我偷懒没有画E-R图就直接设计表,结果设计完后要在网页上链接数据库实现功能时老是出问题。
于是我转头将E-R图画好后从头设计数据库,这下子一切就顺利多了。
不过那时我没有考虑利用视图,因此当我进行到设计统计模块时我怎么写查询语句都无法顺利的实现想要的功能。
后来,我在翻书时突然看到了视图的内容,我当即就意识到能够利用视图将表与表链接起来,然后用查询语句从视图中查询结果应该是可行的。
于是我在将视图设计好后果然实现了想要的统计功能。
还有就是我在设计网页时,因为个人艺术细胞实在是没有多少,网页设计的知识也不够充沛。
因此虽然将网页的设计考虑了许久,也曾想要参考一些知名网站的界面设计,但都因为以上两个原因没有成功致使网页不怎么好看,网页上的内容除所实现的功能按钮在没有其他的了,使得网页给人一种空旷、简陋的感觉。
后来我在与同窗交流中发觉若是设计成应用程序,虽然无法改变界面的美观,但能够解决界面空旷的问题。
但那时已是第二周的周二,时刻上已经不够了,我以后舍弃将架构变成C/S的想法。
总的来讲这次的课程设计虽然有一些遗憾,但总的来讲结果仍是不错的,虽然还有一些必要但需要专门设备的功能只停留在了设计上(比如商品条形码的扫描、会员的充值等),我的题目中我能够做到的部份大体上已经全数实现了。
还有就是收货也是专门大的,我将上学期学的数据库、网页设计一次性全数温习巩固了一边,个人感觉很成心义。
参考文献
[1]ParickO'Neil,ElizabethO'Neil.[M].北京:
高等教育出版社,2005
[2]王珊,萨师煊.数据库系统概论(第4版)[M].北京:
高等教育出版社,2006
[3] ,.数据库技术与应用——SQLServer2005[M].北京:
清华大学出版社,2010
[4].SQLServer2005实用教程[M].北京:
清华大学出版社,2010