资源描述
数据库设计报告
课题:超市会员管理系统
专业:通信工程
学号:
姓名:
小组成员:
指导老师:
完成日期:2013/7/1
摘要
本会员超市会员管理系统实际的业务流程为背景而设计的,后台数据库的设计用SQL Server 2008,前台用ASP.NET来开发.本超市会员信息管理系统已超市会员信息的管理为核心,兼有各种统计、查询、添加、修改和删除等功能,如对货物流量和消费人群的查询,对会员信息的查询等。本系统利用视图、触发器,存储过程可以对数据库中的内容实现各种级联修改与信息的实时更新,可以化繁为简,提高效率,避免大量的重复性的工作。
整个系统由会员信息管理模块、会员优惠度模块、购物信息模块和商品信息模块组成.整个系统能独立运行,实现现实中的功能。
关键字:会员信息管理 后台数据库 前台ASP。NET
前言
随着全球信息时代的到来,信息技术对社会发展和经济增长的作用愈来愈明显.商业企业有效地采用信息技术手段,加速了商业领域的发展与进步,信息化建设已经成为当前商业企业提高企业管理水平,谋求生存,参与市场竞争的必由之路.
经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已被人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.它更加的深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等.各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作.
会员管理系统用计算机管理会员的基本信息,以及对会员信息的编辑、查询等一系列动作,它是一种计算机应用技术的创新.在计算机还未普及之前组织会员管理都是由工作人员人工书写,查阅的方式来操作的。现在一般的会员管理都采用计算机智能化管理,采用计算机作为工具的实用的计算机智能化管理程序来帮助管理员进行更有效的进行会员管理工作。
1绪论
1。1 系统的背景
1.1。1 系统的提出
随着计算机软硬件技术的迅速发展,信息化己成为现代企业的一个重要标志和衡量企业综合实力的重要标准.信息化建设悄然地改变着国内广大中小企业的生存和运营模式。当今市场蓬勃发展,竞争激烈,各商家无不推出各种活动,务求争取更多忠实客户,而会员管理系统也成为商家争取客户的必选。会员管理信息系统正在越来越多的被各种企业应用于消费管理领域。随着众多企业的管理者对管理信息系统的重视程度的提高,会员管理信息系统的管理功能也在不断的增强,发挥的作用越来越大。从开始的只能进行数据的浏览、添加、修改等简单操作的管理信息系统逐步向着超大数量的数据存储、数据的精确计算、积分换礼、信息更新和发布、会员之间交流、报表的自动化生成、人性化的友好界面操作以及牢固的系统架构和安全的数据交换等方向发展,使企业员工提高工作效率以及规范企业的多层次全方位管理,在企业与外界之间,它可帮助企业实现电子商务模式,以此拓宽交流范围,缩短交流的时间、丰富交流方式,并可协助维护企业与社会之间良好的关系。
1.1。2 系统的意义
网络管理可以实现信息资源共享,在网上发布会员信息,使会员在网上可以查看到自己最新的会员积分以及商家发布的各种有礼兑换活动。通过此项目的研究与实践,使网络管理更能为会员提供一个方便的自我管理环境,使会员能更好的对自己购物所获得的积分的管理以及能清楚的了解自己购物的商品列表和兑换礼物情况。
商家可以利用系统对会员信息进行管理,例如对会员信息的添加、修改、查询以及积分查询统计等。管理上更加规范,不再受时间和地理位置的限制,很大程度上提高了会员管理的效率,不再像过去的手工操作浪费时间、人力以及物力,也无形当中提高了商家对会员管理的效率,达到双赢的目的.
1。2 系统研究的目标
建立一个基于网络平台的,符合当代管理理念的,具有现代会员管理特色、综合会员卡积分的新型会员管理模式.
1。3 技术实现手段
1。3。1 ASP。NET简介
ASP。NET是创建动态网页的新技术,它继承了Microsoft公司的两项主要技术,即ASP和。NET.它不仅可以生成动态Web页面,并且提供了大量易用并可复用的预定义控件,使开发变得更加快捷。
ASP。NET是建立在公共语言运行库上的Web编程框架,相对于ASP而言,ASP。NET提供了更强的性能、更方便的工具支持、更好的平台支持和灵活性。ASP.NET在进行用户界面开发和基础程序结构生成时具有很多优势。首先,ASP。NET是一个已编译的、基于.NET的开发环境,利用整个。NET框架,开发人员可以方便的进行程序开发;其次,在ASP。NET中利用。NET框架中的ADO。NET的强大功能,可以高效便捷的访问数据库;再次,。NET框架和ASP。NET中提供了默认授权和验证方案,可以根据需要方便地移除、添加或者替换这些方案.因而它会逐渐成为Internet上的主流开发工具。
1。3。2 SQL Server简介
SQL Server 2008数据库管理系统具有以下主要特点。
(1) 丰富的图形化管理工具,使系统管理,操作更为直观方便.SQL Server企业管理器是一个基于图形用户界面(GUI)的集成管理工具,利用它可以配置管理SQL Server服务器、管理数据库和数据库对象、备份和恢复数据,实现数据复制和转换等操作。
(2) 动态自动管理和优化功能.即使SQL Server数据库管理员不做任何设置,SQL Server也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以达到最优性能,从而减轻管理员工作。
(3) 充分的Internet技术支持.Internet网络发展至今已经成为一条重要的信息发布渠道,SQL Server增强了对Internet技术的支持,还增加了对XML和HTTP技术的支持.
基于以上种种分析,决定采用ASP.NET + VB开发技术,选择SQL Server 2000作为数据库系统,运用软件工程的原理和方法来开发一个简单的会员管理信息系统。采用软件工程的生命周期法来进行开发,开发过程是首先开发核心系统,根据测试使用时的反馈,实施开发的迭代过程,每一迭代过程均由需求、设计、编码、测试、集成运行等阶段组成,直到系统开发结束.
2数据库系统的分析
2.1 系统需求分析
本超市会员管理系统要实现的目标有:
(1) 会员信息的管理:包括管理员对会员信息的添加、修改、删除。
(2) 会员信息的查询:包括管理员对会员信息的查询与会员对自己会员信息的查询。
(3) 超市购物交易记录:包括超市会员的购物信息及非会员顾客的购物信息。
(4) 统计功能:包块对货物流量、消费人群及商品实时库存量等信息的统计。
2.2 系统功能模块图
根据上述的需求分析,设计系统的功能模块图如下:
3 数据库系统的设计
3。1 E-R图
由前面系统功能模块图可以将数据库的E—R图转化出来。
3.1.1 局部E-R图
(1)会员实体
(2)优惠度实体
(3)购物单实体
(4)商品实体
(5)商品-购物单联系
3.1.2 整体E-R图
整体的E—R图如下:
3.1.3 E—R图向关系模式的转化
商品库存量(商品编号,名称,种类,库存量)
购物明细(购物单编号,商品编号,名称,种类,数量,单价,金额)
购物单(购物单编号,会员编号,折扣,总价,购物时间)
会员(会员编号,会员密码,会员等级,姓名,性别,年龄,职业,工作单位,联系方式,积分)
优惠度(会员等级,折扣)
!注:其中下划线的为主键
3.1.4 数据库表结构设计
(1)会员信息表
(2)购物单表
(3)购物明细表
(5) 商品库存情况表
(6) 管理员表
!注:管理员表只是在管理员登陆时用到,与其他表之间没有关联
3.1.5 数据库关系图设计
根据表之间应有的关系,设置相应的外键约束,得到的数据关系图如下:
我负责的部分除了部分数据表格的建立外主要是前台会员信息的查询与修改。
会员或者管理员登录界面:
会员登陆后显示的信息:
查看会员的信息:
会员可以修改自己的信息:
会员可以修改密码:
重要的代码如下:
会员信息的程序:
〈%@ Page Language=”C#" AutoEventWireup=”true" CodeFile="huiyuanxinxi。aspx.cs” Inherits=”huiyuanxinxi" %>
〈!DOCTYPE html PUBLIC ”—//W3C//DTD XHTML 1.0 Transitional//EN" ”http://www。w3。org/TR/xhtml1/DTD/xhtml1-transitional。dtd"〉
〈script runat="server”>
protected void Page_Load(object sender, EventArgs e)
{
}
〈/script〉
<html xmlns=”http://www。w3。org/1999/xhtml” >
〈head id=”Head1" runat=”server”>
<title〉无标题页〈/title>
〈/head〉
〈body>
〈form id=”form1" runat=”server”〉
〈div style="text-align: center”>
按工作单位维护会员信息<br />
<asp:GridView ID="GridView1” runat="server" AutoGenerateColumns=”False" BackColor=”#CCCCCC"
BorderColor="#999999" BorderStyle="Solid” BorderWidth="3px”
CellPadding=”4” CellSpacing=”2”
DataKeyNames=”会员编号" DataSourceID="SqlDataSource1” ForeColor=”Black”
onselectedindexchanged="GridView1_SelectedIndexChanged"〉
〈FooterStyle BackColor=”#CCCCCC" />
〈Columns〉
〈asp:CommandField ShowEditButton=”True”〉
<ItemStyle Wrap="False” />
〈/asp:CommandField〉
<asp:BoundField DataField=”会员编号” HeaderText="会员编号" ReadOnly=”True" SortExpression=”会员编号" />
<asp:BoundField DataField=”会员密码” HeaderText=”会员密码” SortExpression=”会员密码” /〉
〈asp:BoundField DataField=”会员等级” HeaderText=”会员等级" SortExpression=”会员等级" /〉
<asp:BoundField DataField=”姓名” HeaderText="姓名” SortExpression="姓名” /〉
〈asp:BoundField DataField=”性别” HeaderText="性别" SortExpression="性别” /〉
<asp:BoundField DataField="年龄” HeaderText=”年龄" SortExpression=”年龄" /〉
〈asp:BoundField DataField=”职业" HeaderText=”职业” SortExpression=”职业” /〉
〈asp:BoundField DataField="工作单位” HeaderText="工作单位" SortExpression=”工作单位” />
<asp:BoundField DataField="联系方式" HeaderText="联系方式" SortExpression="联系方式” />
〈asp:BoundField DataField="积分” HeaderText=”积分” SortExpression=”积分” /〉
〈/Columns〉
<RowStyle BackColor="White” /〉
<SelectedRowStyle BackColor=”#000099” Font—Bold=”True” ForeColor=”White" /〉
〈PagerStyle BackColor=”#CCCCCC” ForeColor="Black” HorizontalAlign="Left” /〉
<HeaderStyle BackColor="Black” Font—Bold=”True" ForeColor=”White" /〉
</asp:GridView>
<br /〉
〈br /〉
<asp:Button ID="Button1" runat=”server” OnClick=”Button1_Click” Text=”返回” /〉
<asp:SqlDataSource ID=”SqlDataSource1” runat="server” ConflictDetection="CompareAllValues"
ConnectionString=”<%$ ConnectionStrings:ConnectionString1 %〉" DeleteCommand="DELETE FROM [会员] WHERE [会员编号] = @original_会员编号 AND [密码] = @original_密码 AND [会员等级] = @original_会员等级 AND [姓名] = @original_姓名 AND [性别] = @original_性别 AND [年龄] = @original_年龄 AND [职业] = @original_职业 AND [工作单位] = @original_工作单位 AND [联系方式] = @original_联系方式 AND [积分] = @original_积分”
InsertCommand=”INSERT INTO [会员] ([会员编号], [会员密码], [会员等级],[姓名], [性别], [年龄],[职业],[工作单位],[联系方式],[积分]) VALUES (@会员编号, @会员密码, @会员等级,@姓名, @性别, @年龄,@职业, @工作单位, @联系方式,@积分)”
OldValuesParameterFormatString=”original_{0}” SelectCommand=”SELECT * FROM [会员] ORDER BY [职业], [会员编号]”
UpdateCommand=”UPDATE [会员] SET [会员密码] = @会员密码, [会员等级] = @会员等级, [姓名] = @姓名, [性别] = @性别, [年龄] = @年龄,[职业] = @职业,[工作单位] = @工作单位,[联系方式] = @联系方式 [积分] = @积分, WHERE [会员编号] = @original_会员编号 AND [会员密码] = @original_会员密码 AND [姓名] = @original_姓名 AND [性别] = @original_性别 AND [年龄] = @original_年龄 AND [职业] = @original_职业 AND [工作单位] = @original_工作单位 AND [联系方式] = @original_联系方式 AND [积分] = @original_积分”>
〈DeleteParameters>
〈asp:Parameter Name=”original_会员编号” Type="String” />
〈asp:Parameter Name=”original_会员密码” Type="String" />
〈asp:Parameter Name="original_会员等级" Type=”String” /〉
〈asp:Parameter Name="original_姓名” Type="String” /〉
〈asp:Parameter Name=”original_性别” Type=”String” /〉
<asp:Parameter Name=”original_年龄" Type=”String” /〉
〈asp:Parameter Name=”original_职业" Type=”String” /〉
<asp:Parameter Name=”original_工作单位” Type=”String” /〉
<asp:Parameter Name="original_联系方式” Type=”String” />
<asp:Parameter Name="original_积分” Type=”String” /〉
〈/DeleteParameters>
<UpdateParameters>
〈asp:Parameter Name=”会员密码” Type="String” />
<asp:Parameter Name=”会员等级” Type=”String” /〉
<asp:Parameter Name="姓名” Type="String” />
〈asp:Parameter Name="性别” Type=”String” />
<asp:Parameter Name=”年龄” Type=”String” />
〈asp:Parameter Name="职业” Type=”String" /〉
〈asp:Parameter Name="工作单位" Type=”String” /〉
<asp:Parameter Name="联系方式” Type=”String” />
<asp:Parameter Name="积分" Type=”String” />
〈asp:Parameter Name=”original_会员编号” Type="String” />
〈asp:Parameter Name=”original_会员密码” Type="String" />
〈asp:Parameter Name="original_会员等级" Type="String" />
〈asp:Parameter Name=”original_姓名" Type=”String” /〉
<asp:Parameter Name=”original_性别" Type=”String” /〉
<asp:Parameter Name="original_年龄" Type=”String” />
〈asp:Parameter Name=”original_职业" Type="String” />
<asp:Parameter Name=”original_工作单位” Type="String” />
<asp:Parameter Name="original_联系方式” Type="String" /〉
〈asp:Parameter Name="original_积分” Type=”String" /〉
</UpdateParameters>
〈InsertParameters〉
〈asp:Parameter Name="会员编号" Type="String" />
〈asp:Parameter Name=”会员密码” Type=”String" /〉
〈asp:Parameter Name=”会员等级” Type=”String" /〉
〈asp:Parameter Name=”姓名" Type=”String" /〉
〈asp:Parameter Name=”性别” Type=”String" />
<asp:Parameter Name=”年龄” Type=”String" /〉
<asp:Parameter Name=”职业" Type="String” /〉
〈asp:Parameter Name=”工作单位” Type=”String” /〉
<asp:Parameter Name="联系方式" Type="String” />
〈asp:Parameter Name=”积分” Type=”String” />
〈/InsertParameters〉
〈/asp:SqlDataSource〉
〈/div〉
〈br /〉
〈/form>
〈/body〉
〈/html〉
会员信息的修改程序代码如下:
public partial class ModifyPwd : System.Web。UI.Page
{
//修改密码按钮事件
protected void imgBtnConfirm_Click(object sender, ImageClickEventArgs e)
{
//取参数
string userName = Session[”userName”]。ToString();
string oldPwd = txtOldPwd.Text。Trim();
string newPwd = txtNewPwd.Text。Trim();
string selectStr=”";
string updateStr=”";
switch (Session[”userRole”]。ToString())
{
case "0”: //身份为教师时
selectStr = ”Select * from 教师 where 教师号='” + userName + "’ and 密码=’” + oldPwd + "’";
updateStr=”update 教师 set 密码=’” + newPwd + "’ where 教师号=’” + userName + ”'";
break;
case "1”: //身份为学生时
selectStr = ”Select * from 学生 where 学生号= ’" + userName + "' and 密码=’” + oldPwd + ”'”;
updateStr="update 学生 set 密码=’” + newPwd + ”’ where 学生号=’" + userName + ”’";
break;
case "2": //身份为管理员时
selectStr = "Select * from 管理员 where 管理员账号=’” + userName + ”’ and 密码=’” + oldPwd + ”’”;
updateStr="update 管理员 set 密码=’" + newPwd + ”' where 管理员账号='” + userName + ”’”;
break;
}
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString1"]。ConnectionString);
SqlCommand selectCmd = new SqlCommand(selectStr, conn);
conn。Open();
SqlDataReader sdr = selectCmd。ExecuteReader();
if (sdr。Read()) //如果用户存在且输入密码正确,修改密码
{
sdr。Close();
SqlCommand updateCmd = new SqlCommand(updateStr, conn);
int i = updateCmd。ExecuteNonQuery();
if (i 〉 0) //根据修改后返回的结果给出提示
{
Label1。Text= "成功修改密码”;
}
else
{
Label1。Text="修改密码失败!";
}
}
else
{
Response。Write(”您输入的旧密码错误,检查后重新输入!");
}
conn.Close();
}
protected void imgBtnReset_Click(object sender, ImageClickEventArgs e)
{
txtOldPwd。Text = "”;
txtNewPwd。Text = "”;
txtConfirmPwd。Text = "”;
}
}
总结与体会:
数据库的应用非常地广泛,功能也很强大。本系统实现了在需求分析中所定的目标功能,基本符合实际使用要求.但仍存在着很多需要改进和完善的地方,主要有以下几个方面:
(1)对会员积分的管理不完善,可以对不同的积分定期的给予不同等级的奖励兑换。
(2)缺少会员之间的交流设置,可以多添加会员吧模块,让超市管理员与会员以及会员之间交流.
数据库的学习让我收获还是很大的,数据库在平常生活中也是经常用到的,往后对于数据的知识还是要继续的汲取,加强对数据库应用与设计方面的知识,并努力地应用于实际.
- 10 -
展开阅读全文