




免费预览已结束,剩余21页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库语言课程设计说明书 计算机06-7班 李默计算机与信息工程学院数据库语言课程设计说明书 (数据库方向)班 级: 计算机06-7班 学 号: 26 姓 名: 李默 2009 年 6 月 26 日数据库设计课程设计任务书及综合评定学生姓名: 李默 班 级: 计算机06-7班 专 业: 计算机科学与技术 E-Mail: 指导教师(签字): 起止时间: 2009年6月15日至6月26日 设计题目名称水费管理系统的设计数据库名称suifei密 码无设计主要内容及目标:水费管理系统是典型的信息管理系统,提供从原始用户的水费基础数据的录入或每月用户水费基础数据的自动生成,到用户水费的计算、存储和显示,用户水费的简单查询,以及用户登录界面等核心功能。系统前端开发工具采用Microsoft Visual Studio 2005,后台数据库采用SQL Server2000。设计主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。水费管理系统是针对目前水费收缴困难麻烦等情况下设计出的管理软件,是一个实用的管理信息系统,管理员可以通过相应的模块,对数据库中的信息进行更新、删除和查询,对水费基本用量信息报表生成,对使用该系统的管理员信息进行更新、删除,还有操作员管理,权限设置,密码修改,数据备份与系统恢复等其他系统管理功能。因为本系统具有高透明性,所以相关用户可以对水的使用缴费信息以及资费信息进行查询。答辩及综合评定: 评阅教师(签字): 年 月 日综合评定成 绩教研室主任签字摘 要水费管理系统是针对目前水费收缴困难麻烦等情况下设计出的管理软件,是一个实用的管理信息系统,管理员可以通过相应的模块,对数据库中的信息进行更新、删除和查询,对水的基本用量信息报表生成,对使用该系统的管理员信息进行更新、删除,还有操作员管理,权限设置,密码修改,数据备份与系统恢复等其他系统管理功能。因为本系统具有高透明性,所以相关用户可以对水的使用缴费信息以及资费信息进行查询。水费管理系统是典型的信息管理系统(MIS), 该系统采用客户/服务器(C/S)体系结构,是目前计算机网络系统最先进的体系,其特点是把整个系统分成前台(客户机)和后台(主机)两个部分。前台采用Microsoft Visual Studio 2005,后台数据库采用SQL Server2000。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。通过本系统的应用,可以加强对水电使用信息的管理,减轻管理员的工作负担,提高工作效率。使用户可以更及时有效的查询并交纳水电费,实现水电缴费管理的科学化、现代化。关键词:水费管理系统,Microsoft Visual Studio 2005, SQL Server2000 第1章 绪论随着改革开放的深入发展,社会主义市场经济的建立,原始的收费系统为手工操作,不能及时有效的反映收缴的情况,而且不能跨地区收费,以及不能集中的管理给管理人员带来不必要的麻烦。另外,以往用户交费必须到指定的地点进行,因此该系统的设计为用户带来了很大的便利,可以就近交费,也使用户及管理者节约了很多时间。数据的统一集中也给小区的物业管理部门的管理分析以及领导者的决策带来了很大帮助。水费管理系统是每一个水资源管理机构管理水资源用户及水费缴纳情况的不可缺少的一个管理信息系统,它的内容对于水资源管理机构的管理者来说是至关重要的,所以水费管理系统应该能够为每一个水资源管理机构的管理者提供充足的信息和快捷的查询手段,大大的方便水资源管理机构的管理者的合理管理。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对水资源用户及水费缴纳情况进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高水资源用户及水费缴纳情况管理的效率,也是水资源管理机构帐收费的科学化、正规化管理,与先进科学技术接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计算机专业毕业的学生来说,也是一次将计算机应用于现实管理的一次很有意义的实践活动。本系统采用客户/服务器(C/S)体系结构,客户/服务器体系结构的另一个特点是它的开放性,所谓开放性,即是在网络构成方面,可与多种软、硬件系统相连接,这就使得在前台端构成多种类客户机并存成为现实。这样,在新旧系统更替时,可充分利用原有系统的软、硬件资源。该系统功能较齐全,用户界面好,使用性强,可靠性好,明显提高用电与收费管理的工作效率。总体技术达到省内行业先进水平,其中水费管理、语音查询功能达到省内行业先进水平,具有较好的推广和应用价值。本设计主要分为五个阶段这其中包括:需求分析阶段,概念模型设计阶段,逻辑设计阶段,物理设计阶段及系统测试阶段,介绍程序的测试方法和测试结果。第2章 需求分析随着城市人口的增多,以及人民生活水平的提高,各种用电器大量涌入寻常百姓家,致使用用水量大涨,给水费收缴人员的管理带来了很大的不便,常常在自己的办公桌上着一叠叠得计录册,很难在其中进行查询及修改操作,为了减轻水费收缴人员的工作负荷,同时也为了方便用户对水用量及水收费情况的查询,我们决定设计一个应用软件系统也就是水费管理系统。2.1建立数据库建立水费管理系统的数据库,在这个数据库中建立这三表,它们分别是水费表、水价表、操作员表,并从中获得三个实体:水费表:用户编号、用户姓名、用户地址、抄表年月、水表编号、水表量程、水表倍率、上月读数、本月读数、外加水量、水价类型水价表:水价类型、水价名称、水价、起始年月、终止年月操作员表:操作员名称、出库药品类型、操作员密码、操作员级别2.2访问、操作并连接数据库这次水费管理系统一般按照以下三步曲进行:首先,是建立与水费管理系统的数据库的连接。其次,读取或查询数据库中记录,并显示在窗口中的各个可视控件中。最后,编辑数据并提交,完成数据插入、修改或删除等各种操作。以上三步完成以后,在进行与前台进行连接,在这之中,我们也可以进行数据的添加、修改、删除的操作,这样做可以完善数据库,同时,也要做水费管理系统的数据库备份,以便以后的操作。2.3水费管理系统的结构图:水价管理模块水费管理系统客户管理模块管理员维护模块缴费信息模块账目信息模块 图2-1水费管理系统结构图第3章 数据库设计数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。 新建一个数据库创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。1 标识需要的数据;2 收集被标识的字段到表中;3 标识主关键字字段;4 绘制一个简单的数据图表;5 规范数据;6 标识指定字段的信息;7创建物理表。修改已建的数据库数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Visual Basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。实现数据库之间的联系数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。3.1概念模型设计根据水资源管理机构提供的水费管理信息,预测开发的管理系统的达到的功能如下:第一部分:系统用户管理要求:用户分四类:超级用户一切功能可用、管理员不可添加系统用户、修改用户密码、收费员仅可查询信息、收费功能第二部分:水费管理 要求:实现缴纳水费及查询缴费情况。第三部分:用户管理 要求:实现编辑用户和浏览用户信息第四部分 环境设置要求:实现缴费月份及当前水价的设置3.1.1 水费管理系统E-R图1水费管理数据库设计 维护管理员水费管理系统 n m n n查询管理 m m客户 客户缴费图3-1水费管理2 计费信息计 费 信 息客户代码上月电表读数上月水表读数本月电表读数本月水表读数实用度数实用吨数水单价电单价本月应交金额图3-2计费信息3.帐目信息 帐目信息客户代码应交金额年 月实交金额交款日期图3-3账目信息4资费信息库设计水单价更改日期更改后水单价资费维护更改后水用量水用量图3-4资费管理5权限信息库设计权限维护管理员姓名密码图3-5权限维护6水费基本信息库,资费信息库及权限信息库的相互关系累加资费维护水量管理维护权限维护累加图3-6水量管理3.2逻辑模型设计水费管理系统数据库中各个表的设计结果如下面所示,每个表格表示在数据库中的一个表。这些表单的创建为以后数据窗口的创建和设计提供最有利的前提和基础。通过E/R模型到关系模型的转化,可以得到如下关系模式:水费信息实体集转换关系为: 水费表(用户编号,用户姓名,用户地址,抄表年月,水表编号,水表量程,水表倍率,上月读数,本月读数,外加水量,水价类型)水价实体集转换关系为:水价表(水价类型,水价名称,水价,起始年月,终止年月)操作员实体集转换关系为: 操作员表(操作员名称,出库药品类型,操作员密码,操作员级别)3.3 物理模型设计用SQL实现设计实现该设计的环境为C#+SQLServer 200建立水费表:create table 水费表(用户编号 char(11), 用户姓名 char(10), 用户地址 varchar2(50), 抄表年月 char(6), 水表编号 char(10), 水表量程 number(9,1) default 9999.9 not null check (水表量程 in (9999.9,99999.9,999999.9), 水表倍率 int default 1 not null, 上月读数 number(9,1) not null, 本月读数 number(9,1) default -1 not null, 外加水量 number(9,0) default 0 not null, 本月水量 number(9,0) default 0, 水价类型 number(2,0) default 1 not null check (水价类型 = 1 and 水价类型 = 1 and 水价类型=02 and substr(v_本月抄表年月,5,2)=上月读数 and 本月读数-1 and 抄表年月=v_nianyue; update 水费表 set 本月水量=(水表量程-上月读数+本月读数+0.1)*水表倍率+外加水量 where 本月读数上月读数 and 本月读数-1 and 抄表年月=v_nianyue; update 水费表 set 本月水费=本月水量*(select 水价 from 水价表 where 水价表.水价类型=水费表.水价类型 and 抄表年月=起始年月 and 抄表年月=0 and 抄表年月=v_nianyue;end;-执行存储过程execute caculate_sf(200701);第4章 系统具体实现4.1程序运行时用户管理界面:流程图:NY开始增加/修改用户信息是否继续保存入表4.2查询用户模块界面:流程图:NY开始设定查询信息是否继续结果图4-2查询用户界面4.3 管理员界面图4-3管理信息4.4数据库的备份实现 图4-4查询库存药品信息4.5日历查询界面:图4-5查询出库药品信息第5章 结论水费管理系统是每一个水资源管理机构管理水资源用户及水费缴纳情况的不可缺少的一个管理信息系统,它的内容对于水资源管理机构的管理者来说是至关重要的,所以水费管理系统应该能够为每一个水资源管理机构的管理者提供充足的信息和快捷的查询手段,大大的方便水资源管理机构的管理者的合理管理。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对水资源用户及水费缴纳情况进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高水资源用户及水费缴纳情况管理的效率,也是水资源管理机构帐收费的科学化、正规化管理,与先进科学技术接轨的重要条件。水费管理系统是一个实用的管理信息系统,管理员可以通过相应的模块,对数据库中的信息进行更新、删除和查询,对水的基本用量信息报表生成,对使用该系统的管理员信息进行更新、删除,还有操作员管理,权限设置,密码修改,数据备份与系统恢复等其他系统管理功能。因为本系统具有高透明性,所以相关用户可以对水的使用缴费信息以及资费信息进行查询。第6章 总 结水费管理系统是针对目前水费收缴困难麻烦等情况下设计出的管理软件,是一个实用的管理信息系统,管理员可以通过相应的模块,对数据库中的信息进行更新、删除和查询,对水的基本用量信息报表生成,对使用该系统的管理员信息进行更新、删除,还有操作员管理,权限设置,密码修改,数据备份与系统恢复等其他系统管理功能。因为本系统具有高透明性,所以相关用户可以对水的使用缴费信息以及资费信息进行查询。在此期间本人阅读了大量C#及管理信息系统的教程,收获非浅,比如:之前本人对DATA及ADOBC控件不熟悉,通过这次毕业设计,我能熟练的操作这两个控件;再比如说在用COMBO控件时不知道如何向其中添加列表项,走了许多弯路,查询了众多资料,最后终于找到了一种捷径的方法,解决了我设计中的一大难题。因此,在本次的课程设计中,为搞清控件的使用方法、编程的各个难点、掌握面向对象的编程思想,本人查过相关的教材、查询过相关的网站、请教过指导教师。在摸索中学习,在困惑中探索,终于探究了一套较好的学习面向对象的程序设计的方法。但是由于课程设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不完善等多方面问题。这些都有待进一步改善。参考文献1 闪四清.数据库系统原理与应用教程清华大学出版社, 2003:6-102 微软公司 .Microsoft SQL Server 2000北京电子出版社,2002:8-103 萨师煊、王珊.数据库系统理论高等教育出版社,2000.2:6-104薛华成管理信息系统清华大学出版社9-165 杨文龙软件工程电子工业出版社11-13附 录用户管理的代码如下:namespace SQLpractice public partial class 添加用水户 : Form public 添加用水户() InitializeComponent(); private void button1_Click(object sender, EventArgs e) int pos = Form1.messageG.IndexOf( ); /- connection5 = new SqlConnection(Data Source=(local);Integrated Security=SSPI; + Initial Catalog = + Form1.messageG.Substring(0, pos); /从第一个from1的textBox1中得到要用到的数据库的名字. connection5.Open(); /连接数据库 /- string str1 = insert into 水费表 values(+textBox1 .Text +, + textBox2.Text + , + textBox3.Text + ,200809, + textBox5.Text + ,9999.9,10,-1,0,0,0, + textBox5.Text + ,0,0); SqlCommand mycom = new SqlCommand(str1, connection5); mycom.ExecuteNonQuery(); MessageBox.Show(添加成功); 管理员代码如下:namespace SQLpractice public partial class Form4 : Form public bool modifi = false; public Form4() InitializeComponent(); private void 添加管理员ToolStripMenuItem_Click(object sender, EventArgs e) Form3 f3 = new Form3(); f3.Show(); private void Form4_Load(object sender, EventArgs e) int pos = Form1.messageG.IndexOf( ); connection4 = new SqlConnection(Data Source=(local);Integrated Security=true; + Initial Catalog = + Form1.messageG.Substring(0, pos); /从第一个from1的textBox1中得到要用到的数据库的名字. connection4.Open(); /连接数据库 /- SqlCommand command = connection4.CreateCommand(); command.CommandText = SELECT * FROM 操作员档案; /建立数据库命令列表 inform = new SqlDataAdapter(); inform.SelectCommand = command; cb = new SqlCommandBuilder(inform); /实例化 SqlCommandBuilder 对象 否则无法进行数据刷新 this.dataSet1.Clear(); inform.Fill(dataSet1, 操作员档案); / 找到数据集dataSet1 就是找到了一个可以接水的容器 dataGrid1.SetDataBinding(dataSet1, 操作员档案); label1.DataBindings.Add(Text, dataSet1, 操作员档案.操作员名称); textBox2.DataBindings.Add(Text, dataSet1, 操作员档案.操作员密码); textBox3.DataBindings.Add(Text, dataSet1, 操作员档案.操作员级别); bManager = this.BindingContextdataSet1, 操作员档案; / 建立一个dataSet1的管理器 来控制当前数据的位 private void 删除管理员ToolStripMenuItem_Click(object sender, EventArgs e) string str = delete from 操作员档案 where 操作员名称= + label1 .Text + ; /建立数据库命令列表 SqlCommand mycom = new SqlCommand(str, connection4); mycom.ExecuteNonQuery(); dataSet1.Tables操作员档案.RowsbManager.Position.Delete(); modifi = true; private void 修改管理员ToolStripMenuItem_Click(object sender, EventArgs e) string str2 = update 操作员档案 set 操作员密码= + textBox2.Text + , 操作员级别= + textBox3.Text + where 操作员名称= + label1 .Text + ; /建立数据库命令列表 SqlCommand mycom = new SqlCommand(str2, connection4); mycom.ExecuteNonQuery(); SqlCommand command = connection4.CreateCommand(); command.CommandText = SELECT * FROM 操作员档案; /建立数据库命令列表 inform = new SqlDataAdapter(); inform.SelectCommand = command; cb = new SqlCommandBuilder(inform); /实例化 SqlCommandBuilder 对象 否则无法进行数据刷新 this.dataSet1.Clear(); inform.Fill(dataSet1, 操作员档案); / 找到数据集dataSet1 就是找到了一个可以接水的容器 dataGrid1.SetDataBinding(dataSet1, 操作员档案); private void dataGrid1_Navigate(object sender, NavigateEventArgs ne) 数据库备份代码如下:批量导出namespace SQLpractice public partial class 批量导出 : Form public 批量导出() /string strCommand = SELECT 用户编号 ,用户姓名 ,用户地址 FROM 水费表; /this.labelInfo.Text = 记录数: + DisplayAccess(strCommand).ToString(); InitializeComponent(); /private int DisplayAccess(string strCommand) / / int recordCount = 0; / SqlConnection conConnection = new SqlConnection(Data Source=(local);Initial Catalog=shuifei;Integrated Security=True); / conConnection.Open(); / SqlCommand command = conConnection.CreateCommand(); / command.CommandText = SELECT * FROM 水费表 ; / /建立数据库命令列表 / inform = new SqlDataAdapter(); / inform.SelectCommand = command; / cb = new SqlCommandBuilder(inform); / /实例化 SqlCommandBuilder 对象 否则无法进行数据刷新 / this.myDataSet.Clear(); / inform.Fill(myDataSet, 水费表); / / 找到数据集dataSet1 就是找到了一个可以接水的容器 / dataGridOutput.SetDataBinding(myDataSet, 水费表); / /textBox1.DataBindings.Add(Text, dataSet1, 水费表.用户姓名); / bManager = this.BindingContextmyDataSet, 水费表; / /connectionS.Close(); / gressBarInfo.Maximum = this.myDataSet.Tables水费表.Rows.Count; / gressBarInfo.Visible = true; / / / SqlCommand cmd = new SqlCommand(strCommand, conConnection); / S / reader = cmd.ExecuteReader();/获得数据集 / while (reader.Read() / / recordCount += 1; / gressBarInfo.Value = recordCount; / / gressBarInfo.Visible = false; / reader.Close(); / 关闭数据集 / this.dataGridOutput.CaptionText = 总记录数: + recordCount.ToString(); / return (recordCount); / private void radioButtonstudentAll_CheckedChanged(object sender, EventArgs e) if (this.radioButtonstudentAll.Checked) this.textBox2.Visible= false; this.textBox1 .Enabled = false; this.textBox1.Visible = true; this.textBox3.Visible = false; this.textBox1.Text = 全部; SqlConnection conConnection = new SqlConnection(Data Source=(local);Initial Catalog=shuifei;Integrated Security=True); conConnection.Open(); SqlCommand command = conConnection.CreateCommand(); command.CommandText = SELECT * FROM 水费表 order by 抄表年月; /建立数据库命令列表 inform = new SqlDataAdapter(); inform.SelectCommand = command; cb = new SqlCommandBuilder(inform); this.dataSet1.Clear(); inform.Fill(dataSet1, 水费表); / 找到数据集dataSet1 就是找到了一个可以接水的容器 dataGridOutput.SetDataBinding(dataSet1, 水费表); /textBox1.DataBindings.Add(Text, dataSet1, 水费表.用户姓名); bManager = this.BindingContextdataSet1, 水费表; / 建立一个dataSet1的管理器 来控制当前数据的位置 /connectionS.Close(); private void radioButtonstudentname_CheckedChanged(object sender, EventArgs e) if (this.radioButtonstudentname.Checked) this.textBox2.Visible = true ; this.textBox1.Visible = false ; this.textBox3.Visible = false; this.textBox2.Text = 姓名; SqlConnection conConnection = new SqlConnection(Data Source=(local);Initial Catalog=shuifei;Integrated Security=True); conConnection.Open(); SqlCommand command = conConnection.CreateCommand(); command.CommandText = SELECT * FROM 水费表 where 用户姓名=+ textBox2 .Text + order by 抄表年月; /建立数据库命令列表 inform = new SqlDataAdapter(); inform.SelectCommand = command; cb = new SqlCommandBuilder(inform); inform.Fill(dataSet1, 水费表); / 找到数据集dataSet1 就是找到了一个可以接水的容器 dataGridOutput.SetDataBinding(dataSet1, 水费表); /textBox1.DataBindings.Add(Text, dataSet1, 水费表.用户姓名); bManager = this.BindingContextdataSet1, 水费表; / 建立一个data
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融不良资产处置合同的法律风险分析与处置技巧
- 物业公司内部财务信息保密及员工竞业禁止合同
- 文化创意产业劳动合同风险防控与权益保护协议
- 大数据科技公司内部股权交易及监管协议
- 离婚协议车辆分割及财产处理明确约定合同
- 离婚协议书范本空白版涵盖子女抚养及赡养费用
- 夫妻共同债务处理协议范本及债务免除条件分析
- 旅游景区设施维护与导游服务承包协议
- 离婚协议书范本:知识产权归属与商业秘密保护协议
- 离婚纠纷调解服务合同范本
- GB 16807-2025防火膨胀密封件
- 麻醉医生进修汇报课件
- 开学第一课+课件-2025-2026学年人教版(2024)七年级英语上册
- 医院医疗收费培训课件
- 大咯血的急救和护理
- 名学快问快答题目及答案
- 2025年党员干部廉政知识中央《八项规定》知识测试题及答案
- 《人工智能基础与应用(第2版)》完整全套教学课件
- 【MOOC答案】《VLSI设计基础(数字集成电路设计基础)》(东南大学)章节作业慕课答案
- 活科技馆试题及答案
- 中小学心理健康课程标准2022版
评论
0/150
提交评论