




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中南大学数据库课程设计实验报告 班 级: 计算机科学与技术 学 号: 姓 名: 日 期: 2016.7.13 指导老师: 第一章 概述1.1 项目背景社会生活的现代化,使得市场的走向发生巨大变化,由于经济的发展,人们对生活的需求已经不再足于丰衣足食的低度要求,许多人们往往不是单纯为满足生活必需去购买,而是凭着喜欢,意欲和感观去购买。商店与顾客之间的交流也随着商店的多样化、商业化而削弱,商店之间的竞争更加激烈。如果一个商店能够加深与顾客的交流,提升服务质量以致打动顾客,吸引顾客,自然会顾客盈门。在我国超市形成在20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。随着超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。为此,我选择了超市管理系统设计题目,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效。1.2 编写目的现代化的超市组织庞大、服务项目多、信息量大,要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。超市会员管理系统正是为此而设计的。优秀的超市会员管理系统操作方便,灵活性好,系统安全性高,运行稳定。1.3 软件定义软件实现查询修改删除增加会员信息,实现会员优惠等级查询等。1.4 开发环境开发工具:VS2015、sql server、开发语言:C#、sql第二章 需求分析2.1 陈述问题该超市会员管理系统是对会员信息的管理,会员优惠管理,超市购物交易记录,商品统计功能,实现超市会员管理的基本功能。2.2 功能要求1.登录系统: 管理员登录,对会员信息进行管理。2.会员管理:对会员信息的添加、修改、查询、删除。3.交易管理:对超市会员的购物信息进行统计。4.商品管理:对货物流量、消费人群及商品实时库存量等信息的统计。5.优惠管理:对会员的积分的,享受优惠的等级信息管理。2.3系统数据流图2.3.1系统业务流图图2.3.1 系统业务流图2.3.2系统数据流图图2.3.2 顶级数据流图图2.3.3 会员信息数据流图图2.3.4 会员优惠数据流图图2.3.5 消费记录数据流图图2.3.6 商品信息数据流图图2.3.7 管理员数据流图2.4 E-R图 图2.4.1 会员信息E-R图图2.4.2 优惠级别信息E-R图图2.4.3 消费记录E-R图图2.4.4 商品信息E-R图图2.4.5 管理员信息E-R图各实体之间关系的E-R图:图2.4.6 各实体间关系E-R图第三章 数据库设计3.1 逻辑结构设计会员(会员ID,姓名,性别,年龄,联系方式,地址,会员级别,卡号)主键会员ID,外键会员级别。消费记录(消费ID,消费时间,消费金额,条形码,购买数量,会员ID)主键消费ID,外键会员ID、条形码。优惠级别(会员级别,级别名称,最小值,最大值,级别优惠)主键会员级别。商品信息(条形码,单价,商品名称,数量,种类)主键条形码。管理员信息(管理员ID,管理员姓名,管理员密码)主键管理员ID。3.2 物理结构设计表3.1 会员信息表字段名称字段类型是否为空约束字段说明MemNoNumber(5)否主键会员IDMemNamevarchar2(10)否会员姓名MemGenderVarchar2(6)是Male,fe性别MemAgenumber(2)是年龄ContactTypevarchar2(20)是唯一性联系方式MemAddressvarchar2(30)是地址MemGradeVarchar2(10)是外键会员级别MemCardNonumber(10)是卡号表3.2 优惠级别表字段名称字段类型是否为空约束字段说明MemCardGradeNoNumber(2)否主键会员卡号GradeClassifyvarchar2(10)否优惠级别DisountRateNumber(3,2)是优惠折扣表3.3 消费记录表字段名称字段类型是否为空约束字段说明MemNoNumber否外键会员编号GoodsNoNumber(14,2)是货物编号BuyTimeDATE是购买时间ConsumeAllchar(20)是消费总额表3.4 商品信息表字段名称字段类型是否为空约束字段说明GoodsNoVarchar2(20)否主键商品编号GoodsNameNumber(10,4)是商品名称GoodsTypevarchar2(20)是商品类别GoodsNumNumber(6)是商品数量Goodspricevarchar2(10)是商品价格表3.5 管理员信息表字段名称字段类型是否为空约束字段说明LoginIdNumber(2)否主键管理员IDLoginNamevarchar2(10)否管理员姓名LoginPwdNumber(14,2)否管理员密码第四章 软件功能设计4.1 功能描述该系统的功能 需求有如下方面1. 会员信息管理。主要用于会员信息进行维护。功能包括会员信息的添加、修改和删除已有的会员信息,使用各种方式对会员信息进行查询。2. 管理员管理。主要完成管理员的登录、添加、修改、删除以及密码修改。3. 优惠管理:对会员的积分的,具体等级享受优惠的信息管理。4. 交易记录管理:管理维护超市会员的购物信息包括购买商品数量,消费金额,消费时间等信息。5. 商品管理:对货物流量、消费人群及商品实时库存量等信息的统计。4.2 系统模块本系统分为三个模块:系统模块:管理员的添加修改删除。资源管理:管理本超市的会员,优惠政策,交易记录,商品等信息。数据管理:管理本软件的数据库的连接和关闭。4.3 系统功能模块图图4.1 系统功能模块图第5章 界面设计5.1 登录界面5.2 主界面5.3 各功能界面第6章 结束语6.1 感悟通过两个周的数据库课程设计我基本上完成了本次超市会员管理系统的任务要求,进一步巩固了以前我所学的知识了,提升我解决实际问题的能力和信心,同时也使我学到了许多新的知识。在本次设计中真的遇到不少问题,最主要的是连接数据库的时候,老是连接不上,不断地修改程序也没有起色,通过上网查找资料,询问同学,发现连接数据库的代码有问题,经过一番修改与尝试,终于勉强地将实验弄出来。在解决了这些之后,接下来我又遇到了该为系统设计几张表,以及如何连接数据库等等的问题,最终通过在网上查阅大量的文献资料和开发实例以及老师的悉心指导下我的问题基本上得到了解决。实验并不完美,有几个功能还有缺陷,以后会加以修改。 6.2 试验中遇到的困难首先是连接数据库,刚开始的设想是使用Java设计,但是参考了一些资料后发现自己的编译器与参考书目的类包不兼容,因此放弃jdbc连接数据库的计划,参考其他同学的做法,使用ASP连接数据库。使用ASP.NET连接SQLSERVER的步骤:1.确定你的电脑安装了ASP.NET和SQLSERVER2.在你需要连接数据库的页面的.aspx页面中添加命名空间using system.data和using system.data.sqlclient3.实例化常用的类对象:sqlconnection具体方法如下:SqlConnection SQlConn = new SqlConnection(server = .;uid = sa;pwd = ; database = 你要连接的数据库名称);这样你就能实现最基本的C#连接数据库了,后面还要实例化SqlCommand对象和DataSet对象,这两个分别是你对数据库实现增,删,改,查的基本操作和生成数据集。连接代码如下:using System;using System.Collections.Generic;using System.Text;using System.Data.SqlClient;using System.Data;using System.Windows.Forms;namespace MarketMember.DataClass class CommonClass #region 全局变量 public static string Login_ID = ; /定义全局变量,记录当前登录的用户编号 public static string Login_Name = sa; /定义全局变量,记录当前登录的用户名 public static SqlConnection My_con; /定义一个SqlConnection类型的公共变量My_con,用于判断数据库是否连接成功 public static string M_str_sqlcon = Data Source=PC-XIAOYU;Initial Catalog=db_Market;User ID=sa;Password=wser; public static DataGridView ctrlID; /用来接收需要全局使用的DataGridView控件ID号 #endregion #region 建立数据库连接 / / 建立数据库连接. / / 返回SqlConnection对象 public static SqlConnection Getcon() My_con = new SqlConnection(M_str_sqlcon); /用SqlConnection对象与指定的数据库相连接 My_con.Open(); /打开数据库连接 return My_con; /返回SqlConnection对象的信息 #endregion #region 测试数据库是否赋加 / / 测试数据库是否赋加 / public void con_open() Getcon(); /con_close(); #endregion #region 关闭数据库连接 / / 关闭于数据库的连接. / public void con_close() if (My_con.State = ConnectionState.Open) /判断是否打开与数据库的连接 My_con.Close(); /关闭数据库的连接 My_con.Dispose(); /释放My_con变量的所有空间 #endregion #region 读取指定表中的信息 / / 读取指定表中的信息. / / SQL语句 / 返回bool型 public SqlDataReader Getcom(string SQLstr) Getcon(); /打开与数据库的连接 SqlCommand Mycom = My_con.CreateCommand(); /创建一个SqlCommand对象,用于执行SQL语句 Mycom.CommandText = SQLstr; /获取指定的SQL语句 SqlDataReader Myread = Mycom.ExecuteReader(); /执行SQL语名句,生成一个SqlDataReader对象 return Myread; #endregion #region 执行SqlCommand命令 / / 执行SqlCommand / / SQL语句 public bool Getsqlcom(string SQLstr) Getcon(); /打开与数据库的连接 SqlCommand SQLcom = new SqlCommand(SQLstr, My_con); /创建一个SqlCommand对象,用于执行SQL语句 int flag=SQLcom.ExecuteNonQuery(); /执行SQL语句 SQLcom.Dispose(); /释放所有空间 con_close(); /调用con_close()方法,关闭与数据库的连接 if (flag0) return true; return false; #endregion #region 创建DataSet对象 / / 创建一个DataSet对象 / / SQL语句 / 表名 / 返回DataSet对象 public DataSet GetDataSet(string SQLstr,string tableName) Getcon(); /打开与数据库的连接 SqlDataAdapter SQLda = new SqlDataAdapter(SQLstr, My_con); /创建一个SqlDataAdapter对象,并获取指定数据表的信息 DataSet My_DataSet = new DataSet(); /创建DataSet对象 SQLda.Fill(My_DataSet, tableName); /通过SqlDataAdapter对象的Fill()方法,将数据表信息添加到DataSet对象中 con_close(); /关闭数据库的连接 return My_DataSet; /返回DataSet对象的信息 #endregion 另外的一些小问题如下:String和DateTime在sql中和在C#中的相互转换String和datetime之间相互转换方法总结:SQL中的转换方法:一,将string转换为datetime,主要是使用Convert方法,方法,Convert(datetime ( length ) , expression,style)如: convert(datetime,Datetime.Now,120)结果如: 2016-10-23 20:44:11注:格式说明:convert(datetime, 2016-10-23 20:44:11,120) - yyyy-mm-dd hh:mm:ss(24h)二,将datetime转换为string,方法:Convert(char ( length ) , CURRENT_TIMESTAMP, style)如: Convert(char(19), Datetime.Now, 20)结果如: 2006-02-22 16:26:08注:格式说明:Convert(char ( length ) , CURRENT_TIMESTAMP,20) - yyyy-mm-dd hh:mm:ss(24h)在C#代码中的转换方法:一,将string转换为datetime.方法一, Convert.ToDateTime(string) /将日期和时间的指定String表示形式转换为等效的DateTime。如:Convert.ToDateTime(Datetime.Now),结果如:2011/9/6上午10:11:48方法二,DateTime.Parse(string) /将日期和时间的指定字符串表示转换成其等效的DateTime。如:DateTime.Parse(Datetime.Now),结果如:2011/9/6上午10:11:48二,将datetime转换为string.方法一, DateTime.ToString (String) /使用指定的格式将当前DateTime对象的值转换为它的等效字符串表示形式。如:DateTime.ToString (Datetime.Now),结果如:2011/9/6上午10:11:48常这样使用: DateTime.Now.ToString(yyyy/MM/dd hh:mm:ss)注:DateTime.ToString ()的格式化技巧:如: DateTime.Now.ToString(yyyy/MM/dd hh:mm:ss),结果如:2011/09/0610:38:06第7章 附录数据库连接代码:连接代码如下:using System;using System.Collections.Generic;using System.Text;using System.Data.SqlClient;using System.Data;using System.Windows.Forms;namespace MarketMember.DataClass class CommonClass #region 全局变量 public static string Login_ID = ; /定义全局变量,记录当前登录的用户编号 public static string Login_Name = sa; /定义全局变量,记录当前登录的用户名 public static SqlConnection My_con; /定义一个SqlConnection类型的公共变量My_con,用于判断数据库是否连接成功 public static string M_str_sqlcon = Data Source=PC-XIAOYU;Initial Catalog=db_Market;User ID=sa;Password=wser; public static DataGridView ctrlID; /用来接收需要全局使用的DataGridView控件ID号 #endregion #region 建立数据库连接 / / 建立数据库连接. / / 返回SqlConnection对象 public static SqlConnection Getcon() My_con = new SqlConnection(M_str_sqlcon); /用SqlConnection对象与指定的数据库相连接 My_con.Open(); /打开数据库连接 return My_con; /返回SqlConnection对象的信息 #endregion #region 测试数据库是否赋加 / / 测试数据库是否赋加 / public void con_open() Getcon(); /con_close(); #endregion #region 关闭数据库连接 / / 关闭于数据库的连接. / public void con_close() if (My_con.State = ConnectionState.Open) /判断是否打开与数据库的连接 My_con.Close(); /关闭数据库的连接 My_con.Dispose(); /释放My_con变量的所有空间 #endregion #region 读取指定表中的信息 / / 读取指定表中的信息. / / SQL语句 / 返回bool型 public SqlDataReader Getcom(string SQLstr) Getcon(); /打开与数据库的连接 SqlCommand Mycom = My_con.CreateCommand(); /创建一个SqlCommand对象,用于执行SQL语句 Mycom.CommandText = SQLstr; /获取指定的SQL语句 SqlDataReader Myread = Mycom.ExecuteReader(); /执行SQL语名句,生成一个SqlDataReader对象 return Myread; #endregion #region 执行SqlCommand命令 / / 执行SqlCommand / / SQL语句 public bool Getsqlcom(string SQLstr) Getcon(); /打开与数据库的连接 SqlCommand SQLcom = new SqlCommand(SQLstr, My_con); /创建一个SqlC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年康复医学康复评估与干预方案论述题答案及解析
- 养殖业疫病防控规定
- 快递物流派送时效管理方案
- 供应链质量管理审核表(中英文)
- 2025年耳鼻喉科鼻咽癌化疗副反应管理考试卷答案及解析
- 秋季园艺养护要点为植物度过严寒
- 代码审查流程及规范制定
- 2025年内分泌学糖尿病并发症防治策略考试答案及解析
- 小学数学长方形与正方形面积练习题
- 农学领域生态养殖示范基地考察总结反思报告
- ISO 22000-2018食品质量管理体系-食品链中各类组织的要求(2023-雷泽佳译)
- 卡巴斯基应急响应指南
- 理财规划大赛优秀作品范例(一)
- 2023年四川能投筠连电力招聘笔试参考题库附带答案详解
- 护理管理组织结构与设计
- 静配中心清洁消毒考核试题
- 一级烟草专卖管理师理论考试题库(含答案)
- 小学数学《分数除法》50道应用题包含答案
- 碳捕集、利用与封存技术课件
- 化工试生产总结报告
- 复句与单句的辨析课件
评论
0/150
提交评论