资源描述
数据库系统原理课程设计----网上购物系统设计与实现(常用版)
(可以直接使用,可编辑 完整版资料,欢迎下载)
课 程 设 计 报 告 书
所属课程名称
数据库系统原理课程设计
题 目
网上购物系统设计与实现
院 (系)
电信分院
班 级
09本科电子商务(12)班
学 号
20210210460124
学生姓名
指导教师
辅导教师
2021年 1月 2日
课程设计安排计划
班级:09本科电子商务 课程:数据库系统原理课程设计
通过课程设计,要求掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具、数据库管理系统软件及应用开发工具,规范、科学的完成一个小型数据库的设计并进行数据库应用系统的开发。
具体内容与要求如下:
1.根据所选课题,设计并构建一个数据库(用MS SQL SERVER 2005实现);基于上述数据库设计实现一个数据库应用系统(系统开发工具不限)
2.数据库的设计与构建方面(课程设计重点)
(1)数据库来源于对现实世界的抽象和概括,要求设计科学、规范、合理符合实际情况与需求购
(2)数据表的设计要求:每个关系至少要满足3NF,既要有较低的冗余度,又具有较高的访问效率,每个系统最少应有5个以上的表,并根据实现需要定义索引。
(3)数据库设计的安全性要求:配置MS SQL Server 2005,根据实际需要定义合理的用户权限及用户视图。
(4)数据库设计的完整性要求:根据实际需要定义合理的完整性约束(实体完整性、参照完整性以及用户自定义完整性等)
(5)根据实际情况定义合理的存储过程和触发器;
3、应用系统的设计与实现面
(1)要求实现所选课题的基本功能,界面美观、大方、实用。
(2)课题基本功能应符合实际系统的需求,一定要先做需求分析,再编写代码。
(3)应用系统开发工具不限,可以根据自己的实际情况选择一种。
4、课程设计报告方面
(1)课设报告杜绝抄袭和下载。
(2)课程设计报告内容包括:
a.前言:主要对自己的课程设计进行简要介绍说明,在对所选题目进行调研的基础上,明确该选题要做什么。
b.需求分析:采用自顶向下的方法,对数据库及应用系统进行分析,列出系统功能模块,并画出系统的功能模块图,写出数据字典,并画出数据流图。
c.概要设计:根据需求分析画出E-R图(E-R图必需规范合理)
d.逻辑设计:把E-R图转换成关系模式,并进行规范化,最终得到SQL Server所支持的数据表,然后合理定义用户视图和相关存储过程。
e.详细设计与实现:要求分模块列出各模块的设计思路并用开发工具编写代码实现上述功能。
f.总结:对设计结果进行合理性、规范程度和系统实际运行的结果进行评价和总结。
按照关系数据库设计原理和方法进行数据库设计,按照结构化程序设计方法或面向对象的程序设计方法进行数据库应用程序设计。具体应包括:需求分析,概念设计,详细设计,编码与实现,运行维护等步骤,最后写出完整并合理的课程设计报告。
学生签名:
2021年1 月 2日
课程设计(论文)评阅意见
序号
项 目
等 级
优秀
良好
中等
及格
不及格
1
课程设计态度评价
2
出勤情况评价
3
任务难度评价
4
工作量饱满评价
5
设计中创新性评价
6
论文书写规范化评价
综合评定等级
评阅人 顾加强
2021年 月 日
目 录
第1章 前言......................................1
第2章 需求分析...................................2
第3章 概要设计...................................4
第4章 逻辑设计...................................5
第5章 详细设计与实现..............................8
第6章 总结.....................................17
第7章 参考文献..................................18
第一章 前言
网上购物系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库,而对于后者则要求应用程序功能完备,操作简单等。
本系统是在分析了现行网上购物中存在的问题的基础上,结合数据库系统开发的概念、结构及系统开发的基本原理和方法,开发的一套网上购物系统。根据实际情况,由目前各功能需求和公司里的情况而设计的这套系统。全文共分为课题研究的意义、开发环境、系统的实现、性能测试与分析以及结束语等章节,详细地阐述了本系统开发的目的、过程。
商品销售管理系统是一个由人和计算机等组成的能够提供信息以支持一个组织机构内部的作业、管理、分析和决策职能的系统。商品销售管理系统利用计算机的硬件和软件,手工规程、分析、计划、控制和决策用的模型,以及数据库对信息进行收集、传输、加工、保存、维护和使用。因此商品销售管理系统是一个信息处理系统。商品销售管理系统作为各项业务、技术、工作自动化及高水平管理的方法和模式,正在得到越来越广泛的应用。早期的商品销售管理系统通常是以各单位为主体,独自进行开发和应用。从技术上看,大体是以局域网或客户机/服务器模式组成应用系统平台,在操作系统和数据库管理系统的平台上开发应用软件系统。但是,由于技术的发展和进步以及应用、管理和数据共享的需要等诸多原因,把分散开发且分布在各个地域的独立的管理信息系统互相连接起来,实现系统硬件、系统软件、应用软件及数据的共享,已经成为越来越迫切的任务。
商品销售行业的系列竞争使得争取顾客资源,增加业绩,提高销售数量,制定正确的营销策略已经成为一项重要的任务,而借助于当前蓬勃发展的IT工具来拓展销售能力,创作客观的经济效益已经成为许多公司企业的首选。作为一有效的统计分析手段,计算机管理系统具有优势,它在数据保存、数据交换等方面均能够做到快速可靠,是手工操作所不能完成的。
第二章 需求分析
1) 数据需求
管理员:管理员,管理员密码;
会员:会员号,会员名,会员密码,会员年龄,会员邮箱,会员地址, 号码;
商品:商品号,商品类别号,商品名称,商品价格,商品信息;
商品类别:类别号,类别名;
订单:会员号,会员名,订单号,商品名称,商品价格;
评价:会员号,商品号,评价内容;
购物车:会员号,商品号,商品名称,商品价格。
2) 系统功能需求分析
首先,我们这次设计的事网上服装店,它是将ASP.NET和数据库综合应用到电子商务上的应用,所以要求用户可以通过浏览器访问系统、订购商品,对系统的管理也是通过浏览器来完成的。
其次,网店必须有以下基本的功能:
① 用户注册
用户必须在网上购物系统的主界面进行注册,才能进行商品的购置。在注册时用户需填会员的大致信息(会员号,会员名,会员密码,会员年龄,会员邮箱,会员地址, 号码等),对客户的相关信息的信息(允许项)可以进行修改。
② 网上购物
用户进行注册后,可以查看网上服装店中服饰的供应,并有自己的需求就行订购图商城里的商品,可以反复订购。
③ 查看以前用户订单
注册用户登陆系统后,可以自由的查看、修改用户信息,也可以查看以前在网上商城中选购的商品。
④ 购物车
用户在选择自己如意的商品进行订购后,还可以查看当前所订购的商品,有会员自己独立的购物车。
⑤ 系统的管理与维护
这里系统管理员可以进行登陆商品,会员,订单,商品类别(可以进行商品的删除、商品的修改、商品类别添加和删除等工作)。
数据流程
是否登录
货物信息
销售货物
仓库设置
退货管理
商品库存报表
商品销售报表
采购货物
商品入库报表
系统
登录
供应商设置
是
否
网上购物系统
仓库管理
商品管理
供应商管理
退货管理
采购管理
财务管理
报表管理
销售管理
系统管理
实现功能
第三章 概要结构设计
第四章 逻辑结构设计
表2-1 会员表(vip)
字段名
字段号
类型
是否主键
是否为空
会员号
vipID
char(16)
PM
会员名
vipName
char(16)
M
会员密码
vipPwd
char(16)
M
会员年龄
vipAge
char(2)
会员邮箱
vipMail
char(16)
会员地址
vipAddress
char(30)
号码
vipTel
char(11)
表2-2 商品表(goods)
字段名
字段号
类型
是否主键
是否为空
商品号
goodsID
char(8)
PM
商品类别号
goodsTypeID
varchar(8)
商品名称
goodsName
char(20)
M
商品价格
goodsPrice
char(4)
商品信息
goodsInfo
text
表2-3 商品类别(goodsType)
字段名
字段号
类型
是否主键
是否为空
商品类别号
goodsTypeID
varchar(8)
PM
商品类别名
goodsTypeName
char(10)
表2-4 管理员表(admin)
字段名
字段号
类型
是否主键
是否为空
管理员名
admin
char(16)
PM
管理员密码
adminPwd
char(16)
M
表2-5 评价表(apprise)
字段名
字段号
类型
是否主键
是否为空
会员名
vipID
char(16)
PM
商品号
goodsID
char(8)
PM
评价信息
appriseInfo
text
表2-6 订单表(orders)
字段名
字段号
类型
是否主键
是否为空
会员名
vipID
char(16)
PM
商品号
goodsID
char(8)
PM
订单号
orderID
char(15)
商品名称
goodsName
char(20)
商品价格
goodsPrice
char(4)
表2-7 购物车表(goodsbag)
字段名
字段号
类型
是否主键
是否为空
会员名
vipID
char(16)
PM
商品号
goodsID
char(8)
PM
商品名称
goodsName
char(20)
商品价格
goodsPrice
char(4)
第五章 详细设计与实现
以下为数据库建立的代码
create table vip (
vipID char(16) not null,
vipName char(16) not null,
vipPwd char(16) not null,
vipAge char(2) null,
vipMail char(16) null,
vipAddress char(30) null,
vipTel char(11) null,
constraint PK_VIP primary key nonclustered (vipID)
)
系统功能设计
系统登录模块设计
登录功能就是用户在打开登录界面时输入“用户号”和“密码”并选择角色后对用户的信息进行验证,然后根据判断语句判断用户角色以跳转到不同的界面。这里有管理员和会员两种登录选项。
图4-1 登录界面
代码设计部分:
protected void Button1_Click(object sender, EventArgs e)
{
string userName = UserName.Text;
string userPwd = UserPwd.Text;
string selectStr = "";
switch (userRole.Text)
{
case "管理员":
selectStr = "select * from admin where adminName='" + userName + "'";
// Label1.Text = "sdfs";
break;
case "会员":
selectStr = "select * from vip where vipID='" + userName + "'";
break;
default:
break;
}
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["DATABASEPATH"]);
SqlCommand cmd = new SqlCommand(selectStr, conn);
try
{
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())//
{
if (userPwd == sdr.GetString(1).ToString().Trim())//userPwd == sdr.GetString(1)
{
Session["userName"] = userName;
Session["Role"] = userRole.Text;
conn.Close();
switch (userRole.Text)
{
case "管理员":
Response.Redirect("admin1.aspx");//管理员界面
break;
case "会员":
Response.Redirect("consumer.aspx");//会员界面
break;
}
}
else
{
Label1.Text = "您输入的密码有误,请检查后重新输入!";
Session["userName"] = null;
}
}
else
{
Label1.Text = "该用户不存在或用户名输入错误,请检查后重新输入!";
// Session["userName"] = null;
}
}
catch (Exception ee)
{
Response.Write("<script language = javascript>alert('" + ee.Message.ToString() + "')</script>");
}
finally
{
conn.Close();
}
}
protected void Button2_Click1(object sender, EventArgs e)
{
Response.Redirect("login.aspx");
}
protected void Button3_Click(object sender, EventArgs e)
{
Response.Redirect("register.aspx");
}
}
商品添加模块设计
每增加一种商品,我们就需要将其添加到数据库中并通过应用程序显示给会员,商品添加的内容包括,商品编号、类别号、商品名称、价格等等。具体如下图所示:
图4-2 商品添加模块设计
实现的过程如图4-3:
图4-3 商品添加实现过程
商品购买模块
此模块为系统的核心模块,它包括了直接购买、加入购物车、查看其他会员对此商品的评价的功能,以及在此界面可以直接查看购物车里的商品,在购物车里的商品可以确认购买,也可以从购物车中删除,如图4-4所示。
图4-4 商城界面
商城实现的源代码:
public partial class buy : System.Web.UI.Page
{
SqlConnection sqlcon;
string strCon = ConfigurationManager.AppSettings["DATABASEPATH"];
protected void Button1_Click(object sender, EventArgs e)
{
Session["goodsTypeName"] = DropDownList2.Text;
}
protected void Button3_Click(object sender, EventArgs e)
{
sqlcon = new SqlConnection(strCon);
SqlCommand sqlcom;
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cbox.Checked == true)
{
string sqlstr = "insert into orders(vipID,goodsID,goodsName,goodsPrice) select vipID,goodsID,goodsName,goodsPrice from goodsview where goodsID ='" + GridView1.DataKeys[i].Value + "'and vipID='"+Session ["userName"]+"'";
sqlcom = new SqlCommand(sqlstr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
}
}
}
protected void Button4_Click(object sender, EventArgs e)
{
sqlcon = new SqlConnection(strCon);
SqlCommand sqlcom;
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cbox.Checked == true)
{
string sqlstr = "insert into goodsbag(vipID,goodsID,goodsName,goodsPrice) select vipID,goodsID,goodsName,goodsPrice from goodsview where goodsID ='" + GridView1.DataKeys[i].Value + "'and vipID='" + Session["userName"] + "'";
sqlcom = new SqlCommand(sqlstr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
}
}
}
protected void Button5_Click(object sender, EventArgs e)
{
Response.Redirect("goodsbag.aspx");
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
Session["goods"] = GridView1.DataKeys[e.NewSelectedIndex].Value;
Response.Redirect("goodsapprise.aspx");
}
}
密码修改模块设计
此界面为管理员密码修改界面,修改密码时要求输入原始密码,如果输入错误,会出现提示信息。再就是要求两次输入新密码,如果两次输入的不一致,则也会提示输入错误。全部输入正确后,点击确认会弹出“修改成功“提示信息,如图4-5所示。
图4-5 密码修改模块图
密码修改模块代码实现:
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "";
Label2.Text = "";
Label3.Text = "";
string strselect = "";
switch (Session["Role"].ToString())
{
case "管理员":
strselect = "select * from admin where adminName = '" + Session["userName"] + "'and adminPwd = '"+TextBox1.Text +"'";
break;
case"会员":
strselect = "select * from vip where vipID = '" + Session["userName"] + "'and vipPwd = '"+TextBox1.Text +"'";
break;
}
SqlCommand cmd = new SqlCommand(strselect, conn);
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
string strupdate = "";
if (TextBox2.Text == TextBox3.Text)
{
switch (Session["Role"].ToString())
{
case "管理员":
strupdate = "update admin set adminPwd = '" + TextBox3.Text + "'where adminName = '" + Session["userName"] + "'";
break;
case "会员":
strupdate = "update vip set vipPwd = '" + TextBox3.Text + "'where vipID = '" + Session["userName"] + "'";
break;
}
conn.Close();
conn.Open();
SqlCommand ucmd = new SqlCommand(strupdate, conn);
ucmd.ExecuteNonQuery();
conn.Close();
Label3.Text = "恭喜您,密码修改成功!";
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
}
else
{
Label1.Text = "您输入的新密码不匹配,请重新输入!";
TextBox2.Text = "";
TextBox3.Text = "";
}
}
else
{
Label2.Text = "您输入的原始密码有误,请重新输入!";
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
}
}
第六章 总结
本系统的使用方法:
1)系统评价登陆:2)数据录入:3)开始工作(数据维护):4)数据查询
5)商品销售:基本上体现了电子商务各方面的优点。经过了两个多星期的努力,我和同学合作基本开发完成了网上购物系统。其中我负责的主要页面设计基本符合要求,可以完成主页显示欢迎界面,提供近期的商品展示,提供商品添加,实现等功能,商品类别、名称来查询是否有自己需要的商品等功能。界面明了,易操作。 通过设计我学到了很多新知识,个人能力与了很大的提高,最重要的是我深切的感受到团队合作精神的重要性。在设计中经常遇到种种困难与挫折,几次陷入停顿状态。在这种情况下,同伴不但给予我的很多的鼓励,而且在设计上提出了很多正确的建议和善意的批评。大家一起搜集各种相关资料,一起探讨技术问题,一起攻克设计中的各种困难。总之,通过这次的课程设计我收获了很多!
第七章 参考文献
【1】 王晟,马里杰. SQL Server数据库开发经典案例解析 [M]. 北京:清华大学出版社,2006.268-321
【2】 钱雪忠.数据库原理及应用(第二版) . 北京邮电大学出版社.2007.67-110
【3】 何玉洁.数据库管理与编程技术 [M]. 北京:清华大学出版社,2007.161-185
【4】 王珊.数据库技术与联机分析处理. 北京科学出版社.120-156
【5】 刘韬,骆娟. Visual Basic 数据库通用模块及典型系统开发实例导航 [M].北京:人民邮电出版社,2006.137-147
【6】 王珊,萨师煊. 数据库系统概论(第四版) [M]. 北京:高等教育出版社, 2021. 120-125
【7】克罗恩克.数据库处理(Database processing).北京:电子工业出版社.2003.210—254
【8】萨师煊. 数据库的理论与实践 [J]. 计算机科学, 1983, 17(3): 36-39
展开阅读全文