资源描述
(完整word版)数据库实验报告-校园小商品交易系统
《数据库原理》
课程设计报告
专业:计算机科学与技术学院
班级:0411003
学号:2010211853、2010211867、2010211852
姓名:熊云龙、马晓明、周枭
题目名称:校园小商品交易系统
完成日期:2012年6月7日
重庆邮电学院计算机学院实验中心
目 录
第一章 系统定义……………………………………………..........….…. ..3
1.1 系统功能概述…………………………………………....…………….3
1. 2 系统功能的基本要求.........................................................................3
第二章 系统分析………………………………………………….......……3
2.1 系统可行性研究……………………………………………....…….3
2.2 系统需求分析……………………………………………....……….3
2.3 系统数据流程图……………………………………………....……….4
第三章 系统设计阶段…………………………………………….......……4
3.1 系统功能模块设计…………………………………………....…….4
3.1.1 系统功能分析...........................................................................4
3.1.2 系统功能模块图.......................................................................5
3.2 系统数据库分析设计…………………………………………....….6
3.3 用户界面设计…………………………………………………....….8
第四章 系统参考源代码………………………………………………...11
第一章 系统定义
1.1 系统功能概述:
相对于传统的经营模式,网上创业有着成本低、时效高、风险小、方式灵活的优恪大于年中国中小企业情况调查显示,个人在网下启动销售公司的平均费用至少5万元。但在网上,成本也许只是联网的电话费。当然,网上开店也并不是有百利而无一害的,服务始终是其软肋,如诚信问题、安全问题、物流问题等。目前网上交易最大的问题还是信任感的建立。
网上购物的便捷性和实用性日益凸显,从发展的角度看,以不断扩大的网民数量为基础,随着电子商务的不断发展以及网络信用、电子支付和物流配送等瓶颈的逐渐突破,网上创业的前景必然更加广阔。
1.2 系统功能的基本要求:
包含三类用户:管理员、商品发布者、普通用户、访客。
Ø 向管理员提供以下功能:自身密码修改,其他用户添加删除,用户信息修改、统计。
商品信息添加、修改、删除、查找、统计。
Ø 向商品发布者提供以下功能:注册、登陆、注销、自身密码修改、自身信息修改。
商品信息发布,自身商品信息统计。查找浏览其他商品。
Ø 向一般用户提供以下功能:商品浏览、查找、获知商家联系方式,定购商品。
向访客提供以下功能:商品浏览、查找、获知商家联系方式。
第二章 系统分析
2.1 系统可行性研究
功能:本系统应该实现基本的网上商品交易,通过三种不同的身份登录系统,可以执行相应的数据操作,其中最主要的功能是网上订购,商品用户和普通用户都可以实现;关于付款或者交货,就用户私下解决,本系统可以提供双方的电话。商品用户的主要功能是发布商品,而普通用户则订购商品,管理员则可以管理系统全部信息,主要是维护系统信息的正确性与合法性。
输入:对于商品搜索功能,可以是按商品名称或者是价格的区域进行选择;对于管理员维护功能,要有修改整个系统的信息。
输出:能按要求在显示器上显示所需信息并能打印成有条理的表格。
安全与保密:对于不同权限用户,设置不同权限,对重要数据可以考虑加密存储。对不同身份登录也设置不同的功能。
2.2 系统需求分析
1) 基本信息的维护
商品基本信息管理:包括商品基本信息的新建、修改和删除等。
商品用户信息管理:包括商品用户信息的注册、修改密码和删除等。
普通用户信息管理:包括普通用户信息的添加、删除和修改密码等。
2)商品发布
商品发布信息管理:商品发布信息包括商品id,名称,价格,商品编号,上架时间等。商品发布管理功能完成商品信息增加、修改等。
分类查看:可以根据商品名称或者价格所在区域来查看某种商品的详细信息和卖家情况。
最近更新:商品信息的变动可以显示你的商品新鲜度。
已有商品:列出当前商品用户已发布的商品。
3)订购管理
商品订购管理:商品的订购包含商品id与订购商品的用户名,而且每订购一次就将商品的订购次数加一。
查看已订购商品:可以根据商品用户名称来查看当前用户订购商品的情况。
查找商品:用户可以直接去商城找商品,然后输入商品号订购,更新订购表。
4)管理员管理
普通用户信息管理:查看全部普通用户信息,对其进行修改与删除,更新表。
商品用户管理:基本功能与管理普通用户一样。
商品管理:查看全部商品信息与商品所属商品用户信息,然后对商品信息进行修改与删除。
2.3数据流程图
第三章 系统设计阶段
3.1 系统功能模块设计
系统开发的总体任务是实现各种信息的系统化、规范化和自动化。
3.1.1系统功能分析
系统功能分析是在系统开发的总体任务的基础上完成。校园小商品交易系统 需要完成功能主要有:
·默认访客的浏览,包括最近更新商品,查找商品,查看商品用户的资料。
·普通用户的注册,登陆,修改自身密码,浏览最近更新商品,查看商品用户信息,按商品名称搜索商品,订购商品;个人信息管理,查看已订购商品。
·商品用户的注册、登陆、修改自身密码与个人信息,查看已订购商品,查 看已发布商品,查看被订购商品的用户信息;浏览最近更新商品、全部商品;发布商品,修改拥有的商品信息。
··商品发布与修改,由商品用户完成,输入商品的基本信息,然后发布到商 城,商品用户可以在查看拥有的商品信息那块修改商品信息。
·管理员的功能,查看整个系统的信息,并可以对其进行修改;主要是维护 系统信息的规范性,文明性,而且能通过管理员查看用户的密码,避免了用 户丢失密码而无法再次登陆;对一些长期不登陆的用户进行修改删除,释放 更多空间让别人注册登陆。
3.1.2 系统功能模块图
对上述各功能进行集中、分块,按照结构化程序设计的要求,得到如图3-1所示的系统功能模块图。
3.2 系统数据库分析设计
1、 数据库设计
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:
● 数据库需要分析。
● 数据库概念结构设计。
● 数据库逻辑结构设计。
数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后而后具体设计打下基础。
管理员信息:管理员账号,密码;
普通用户信息:账号,密码,电话,姓名,地址;
商品用户信息(卖家):账号,密码,电话,姓名,地址;
商品信息:商品id,商品名称,商品价格,商品编号,发布日期,商品信息,商店名称;
订购信息:订购的商品id,订购商品的用户,商品价格;
本次设计要求使用ORACLE数据库,相对以前的SQL2000,用户的权限与表空间的分配要求就高了。
这次数据库的设计:首先在实例ORAL数据库上建了一个表空间,在表空间上创建管理员、卖家信息表,商品交易表、商品信息表、用户信息表几个表,用来存储各方面的资料,管理员存放管理员的账号密码, 卖家信息表存放商品用户的信息,用户信息表存放普通用户的信息,商品信息表存放商品的信息,商品交易表存放用户的订购信息。
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
3.3 用户界面设计
本系统设计思想:“为用户设计,而不是设计者”
本系统设计原则:1 界面简洁、操作方便并能高效率地完成工作。
2 界面根据用户需求设计。
3 界面能引导用户操作的功能。
1.登陆页面,个人管理页面
2.用户登录
3.用户注册
4.商品发布页面,查看已有商品
5.商家登陆
6.商家注册
7.商家管理商品
第四章 系统参考源代码
1.主界面代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Oracle1;
namespace 校¡ê园¡ã小?商¦¨¬品¡¤交?易°¡Á系¦Ì统ª3
{
public partial class zhujiemian : Form
{
public zhujiemian()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
denglu de = new denglu();
de.Show();
}
private void button2_Click(object sender, EventArgs e)
{
shangjiadenglu a = new shangjiadenglu();
a.Show();
}
private void button3_Click(object sender, EventArgs e)
{
yonghuzhuce a = new yonghuzhuce();
a.Show();
}
private void button1_Click_1(object sender, EventArgs e)
{
yonghudenglu b = new yonghudenglu();
b.Show();
}
private void button4_Click(object sender, EventArgs e)
{
shangjiazhuce a = new shangjiazhuce();
a.Show();
}
private void button5_Click(object sender, EventArgs e)
{
youkeliulan b = new youkeliulan();
b.Show();
}
}
}
2.管理员管理
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Oracle1;
namespace 校¡ê园¡ã小?商¦¨¬品¡¤交?易°¡Á系¦Ì统ª3
{
public partial class guanliyuan : Form
{
guanliyuan gl;
public guanliyuan()
{
InitializeComponent();
}
public guanliyuan(guanliyuan gl)
{
InitializeComponent();
this.gl = gl;
}
private void guanliyuan_Load(object sender, EventArgs e)
{
this.load(this);
}
public void load(guanliyuan s)
{
string sdd = "select * from 用®?户¡ì信?息¡é表À¨ª ";
DataSet ds = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, sdd, null);
s.dataGridView1.DataSource = ds.Tables[0];
}
private void button1_Click(object sender, EventArgs e)
{
yonghuzhuce a = new yonghuzhuce();
a.Show();
}
private void button2_Click(object sender, EventArgs e)
{
string sql = " delete from 用®?户¡ì信?息¡é表À¨ª where userid ='" + dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'";
OracleHelper.ExecuteNonQuery(OracleHelper.Con, sql);
string sddd = "select * from 用®?户¡ì信?息¡é表À¨ª ";
DataSet dss = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, sddd, null);
dataGridView1.DataSource = dss.Tables[0];
}
private void button3_Click(object sender, EventArgs e)
{
tequan a = new tequan();
a.Show();
}
}
}
3.商家管理商品
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Oracle1;
namespace 校¡ê园¡ã小?商¦¨¬品¡¤交?易°¡Á系¦Ì统ª3
{
public partial class shangjiashangpin : Form
{
shangjiadenglu gl;
public shangjiashangpin()
{
InitializeComponent();
}
public shangjiashangpin(shangjiadenglu gl)
{
InitializeComponent();
this.gl=gl;
}
private void button1_Click(object sender, EventArgs e)
{
tianjiashangpin a = new tianjiashangpin(this);
a.Show();
this.Hide();
}
private void shangjiashangpin_Load(object sender, EventArgs e)
{
string aa = "select shangpinid from 订?单Ì£¤ where dshopid = '" + this.gl.textBox1.Text + "'";
DataSet dssa = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, aa, null);
string bb = dssa.Tables[0].Rows[0][0].ToString();
string sdds = "select s.yonghuid,s.shangpinid,s.ddate,s.dshopid,g.telephone from 订?单Ì£¤ s,用®?户¡ì信?息¡é表À¨ª g where dshopid='" + this.gl.textBox1.Text + "' and shangpinid = '"+bb+"'";
DataSet dss = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, sdds, null);
dataGridView2.DataSource = dss.Tables[0];
this.load(this);
}
public void load(shangjiashangpin s)
{
string sdd = "select * from 商¦¨¬品¡¤信?息¡é表À¨ª where shopid='" + this.gl.textBox1.Text + "'";
DataSet ds = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, sdd, null);
s.dataGridView1.DataSource = ds.Tables[0];
}
private void button2_Click(object sender, EventArgs e)
{
string sql = " delete from 商¦¨¬品¡¤信?息¡é表À¨ª where id ='" + dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'";
OracleHelper.ExecuteNonQuery(OracleHelper.Con, sql);
string sddd = "select * from 商¦¨¬品¡¤信?息¡é表À¨ª where shopid ='" + this.gl.textBox1.Text + "'";
DataSet dss = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, sddd, null);
dataGridView1.DataSource = dss.Tables[0];
}
}
}
4.用户浏览商品
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Oracle1;
namespace 校¡ê园¡ã小?商¦¨¬品¡¤交?易°¡Á系¦Ì统ª3
{
public partial class liulanshangpin : Form
{
yonghudenglu gll;
public liulanshangpin()
{
InitializeComponent();
}
public liulanshangpin(yonghudenglu gll)
{
InitializeComponent();
this.gll = gll;
}
private void liulanshangpin_Load(object sender, EventArgs e)
{
string sdd = "select * from 商¦¨¬品¡¤信?息¡é表À¨ª";
DataSet ds = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, sdd, null);
dataGridView1.DataSource = ds.Tables[0];
aaa = this.gll.textBox1.Text;
}
private void button1_Click(object sender, EventArgs e)
{
DateTime now = DateTime.Now;
string s = "insert into 订?单Ì£¤ values('" + this.gll.textBox1.Text + "','" + dataGridView1.CurrentRow.Cells[0].Value.ToString() + "','" + now + "','" + dataGridView1.CurrentRow.Cells[6].Value.ToString() + "')";
OracleHelper.ExecuteNonQuery(OracleHelper.Con, CommandType.Text, s, null);
string sdd = "select snumber from 商¦¨¬品¡¤信?息¡é表À¨ª where id = '" + dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'";
DataSet ds = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, sdd, null);
int n = System.Int32.Parse(ds.Tables[0].Rows[0][0].ToString());
int a = --n;
string sql = " update 商¦¨¬品¡¤信?息¡é表À¨ª set snumber =" + a + " where id ='"+dataGridView1.CurrentRow.Cells[0].Value.ToString()+"'";
OracleHelper.ExecuteNonQuery(OracleHelper.Con, sql);
string sddd = "select * from 商¦¨¬品¡¤信?息¡é表À¨ª";
DataSet dss = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, sddd, null);
dataGridView1.DataSource = dss.Tables[0];
//string saa = "select * from 订?单Ì£¤ where yonghuid = '" + this.gll.textBox1.Text + "'";
//DataSet dsss = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, saa, null);
//dataGridView2.DataSource = dsss.Tables[0];
}
private void button2_Click(object sender, EventArgs e)
{
yonghudingdan a = new yonghudingdan(this);
a.Show();
}
private void button3_Click(object sender, EventArgs e)
{
string ssa = "select * from 商¦¨¬品¡¤信?息¡é表À¨ª where name = '"+textBox1.Text+"'";
DataSet dssa = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, ssa, null);
dataGridView1.DataSource = dssa.Tables[0];
}
private void button4_Click(object sender, EventArgs e)
{
string sddd = "select * from 商¦¨¬品¡¤信?息¡é表À¨ª";
DataSet dss = OracleHelper.ExecuteDataset(OracleHelper.Con, CommandType.Text, sddd, null);
dataGridView1.DataSource = dss.Tables[0];
}
}
}
主页:
展开阅读全文