数据库原理 课程设计 邮局订报管理系统.doc_第1页
数据库原理 课程设计 邮局订报管理系统.doc_第2页
数据库原理 课程设计 邮局订报管理系统.doc_第3页
数据库原理 课程设计 邮局订报管理系统.doc_第4页
数据库原理 课程设计 邮局订报管理系统.doc_第5页
免费预览已结束,剩余41页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上海应用技术学院 课程设计专用纸上海应用技术学院课程设计任务书课程名称数据库原理及应用课程代码设计题目邮局订报管理系统设计时间2012年 6 月 11 日 2012 年6 月 22 日系(院)计算机科学与信息工程学院专业计算机科学与技术班级09104111一、 课程设计任务(条件)、具体技术参数(指标)通过两周的课程设计,要求学生加深对数据库技术相关理论的理解,增强动手能力,掌握使用现行较为流行的数据库理论和数据库开发工具进行数据库管理操作(如建库、建立完整性约束,对数据库中数据进行查询,更改等操作)的方法;具体应用方面,要求学生对SQL语言要有较深入的了解和掌握,对数据库的管理(主要是安全性方面)要有一定程度的了解。本次课程设计包含两大部分内容:设计软件和设计报告。其中设计软件在题目验收时由指导教师检查,具体内容不同,系统要求不同;设计报告作为书面材料提交。二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)1、每位同学提交设计的数据库和应用程序相关文档,并提交一份课程设计报告,内容要包含设计题目、设计目的、需求分析、系统功能描述、系统E-R图、关系模式设计、各数据库表的建立(代码)、系统各功能实现(代码)、系统功能评价等。2、课程设计报告电子版排版顺序: 任务书 目录 正文 附录。3、每个同学要针对自己的系统,写出对设计技术的分析、对系统的测试、在编码和调试过程中遇到的问题和解决方法等。4、课程设计报告最后写出本次设计的心得体会。二、 课程设计工作进度计划1、 课程设计第1周第1天:布置任务、交代课题、安排设计事宜2、 第1周第2天:调研,书籍和资料的准备3、 第1周第3天-第5天:系统分析和设计4、 第2周第1天-第3天:编程和测试,撰写设计报告5、 第2周第4天-第5天:课程设计检查,交设计报告四、主要参考资料1数据库原理及应用 钱雪忠主编 北京邮电大学出版社 2010,6, 第三版2 陈刚等编著.Powerbuilder 案例开发程序设计教程.北京.清华大学出版社.20023 杨诏主编.Powerbuilder 8.0 编程实用技术与案例.北京.水利水电出版社.20034 卫海登. Powerbuilder 9.0 课程设计案例精编.北京.中国水利水电出版社.20045 王晟编著.Powerbuilder数据库开发经典案例解析.北京.清华大学出版社.2005指导教师(签名): 刘梅 教研室主任(签名): 2012年 5 月 28 日 2012 年 5 月 30 日上海应用技术学院课程设计报告课程名称 数据库原理及应用 设计题目 邮局订报管理系统 姓 名 专业班级 学号 指导教师 日期 2012-6-11 2012-6-22 成绩 目录一、设计目的及要求31.1 课程设计目的31.2. 课程设计的要求4二、课程设计内容说明52.1. E-R图设计及关系模式图52.1.1E-R图52.1.2. 关系模型设计62.1.3对应属性表82.2.4. 对应数据库表82.2.5对应数据类型102.3. 程序界面及功能演示122.3.1. 登录界面演示122.3.2. 管理员登录122.3.3.用户登录17三、结论及体会223.1. 设计结论223.2. 设计体会22四、程序附录23 一、设计目的及要求1.1 课程设计目的1.1.1. 通过本次课程设计了解和熟悉数据库的详细使用和设计的步骤。1.1.2. 熟悉数据库的设计的六个步骤,明确和掌握每个步骤的详细任务和方法及 注意事项。1.1.3. 学会C#和SQL SEVER软件的相关使用。1.1.4. 通过两周的课程设计,要求学生加深对数据库技术相关理论的理解,增强 动手能力。1.1.5 .掌握使用现行较为流行的数据库理论和数据库开发工具进行数据库管理操 作(如建库、建立完整性约束,对数据库中数据进行查询,更改等操 作)的方法。1.1.6. 通过本次课设,也让我们学会了团队之间的合作,虽然这是一次个人的设 计,但是在需求分析和界面功能等的实现上实际上是相互间的不断学习和 探讨的过程,对于今后的实习和工作都有很大的帮助,因为很多问题和缺 陷单靠一个人是很慢想到的,但是团队的力量是无限的。1.1.7. 体会一个简单的应用系统的界面设计及功能模块的实现之间的相互协调 和搭配。1.1.8. 理解需求分析的重要作用及意义,以及概念模型的设计。1.1.9. 了解实际过程中顾客订报的流程和邮局的系统的工作过程,尽量考虑周 全,实现实际过程中的相关操作和约束。1.2. 课程设计的要求1.2.1. 可随时查询出可订购报纸的详细情况,如报纸编号(PNO)、报纸名称(PNA)、 报纸单价(PPR)、报纸版面规格(PSI)、报纸出版单位(PDW)等,这样便于 客户选订。 1.2.2. 客户查询报纸情况后即可订购所需报纸,可订购多种报纸,每种报纸可订 若干份,交清所需金额后,就算订购处理完成;1.2.3. 为便于邮局投递报纸,客户需写明如下信息:客户姓名(CNA)、客户电话 (CTE)、客户地址(CAD)及邮政编码(CPO),邮局将即时为每一客户编制唯 一代码(CNO)。1.2.4. 邮局对每种报纸订购人数不限,每个客户可多次订购报纸,所订报纸亦可 重复。1.2.5. 请认真作系统需求分析,设计出反映本系统的E-R图(需求分析、概念 设计)。1.2.5. 写出相应设计的E-R图的关系模式,根据设计所需也可增加辅助关 系模式,并找出各关系模式的关键字(逻辑设计)。1.2.6. 在已设计的关系模式基础上开发设计功能子系统 ,要求子系统能完 成如下功能要求(物理设计、设施与试运行)。1.2.7. 在某数据库管理系统中建立各关系模式对应的库表,并设计所 需的视图、索引等。1.2.8. 能对各库表进行输入、修改、删除、添加、查询、打印等基本操作。1.2.9. 能根据订报要求订购各报纸,并完成一次订购任务后汇总总金额, 模拟付钱、开票操作。 1.2.10. 能明细查询某客户的订报情况及某报纸的订出情况。1.2.11. 能统计出某报纸的总订数量与总金额及某客户订购报纸种数、报纸份数 与总订购金额。1.2.12. 要求子系统设计得界面友好,功能选择方便合理,并适当考虑子系 统在其安全性、完整性、备份、恢复等方面的功能要求。1.2.13. 子系统设计完成后请书写课程设计报告,设计报告要围绕数据库应 用系统开发设计的步骤来考虑书写,力求清晰流畅。二、课程设计内容说明2.1. E-R图设计及关系模式图2.1.1E-R图 报纸信息PNOPNAPDWPSIPPRTYP 客户信息CNOCNACTECADCPO 订购COUNTPAY2.1.2. 关系模型设计. 报纸信息报纸信息编号报纸名称价格类型出版社规格. 用户信息编号姓名电话地址邮编用户信息. 订购信息用户订购信息报纸编号客户编号客户姓名订购数量金额客户邮编报纸名称客户地址客户电话2.1.3对应属性表属性名属性元素book(cno,pno,can,pna, count,pay,cad,cpo,cte)cs(cna,cte,cad,cpo,cno)news(pno,pna,ppr,psi,pwd,typ)admin(name,password)user(cna,upwd)2.2.4. 对应数据库表报纸订购信息表用户信息表报纸信息表管理员信息表用户信息表2.2.5对应数据类型报纸订购信息表用户信息表报纸信息表管理员信息表用户信息表. 数据库数据表视图2.3. 程序界面及功能演示2.3.1. 登录界面演示2.3.2. 管理员登录登录后的主界面sqlConnect(); string sql = select upwd from users where cna = + textBox1.Text + ; SqlCommand cmd = new SqlCommand(sql, conn); if (cmd.ExecuteScalar() = null) MessageBox.Show(账号或密码错误); return; else MessageBox.Show(textBox1.Text, 登录成功! ); if (textBox2.Text = cmd.ExecuteScalar().ToString().Trim() this.Hide(); 用户界面 Form1 = new 用户界面(); Form1.Show(); string str = Data Source=(local);Integrated Security=SSPI;database=poster; conn = new SqlConnection(str); conn.Open(); string sqlstr = select * from news ; adapter = new SqlDataAdapter(sqlstr, conn); dataset = new DataSet(); adapter.Fill(dataset); if (dataset.Tables0.Rows.Count = 1) dataGridView1.DataSource = dataset.Tables0; conn.Close(); conn.Dispose(); dataset.Dispose();用户查询操作报纸信息查询操作string str = Data Source=(local);Integrated Security=SSPI;database=poster; sqlConnect(); string sql = select cna as 姓名,cte as 电话,cad as 地址,cpo as 邮编,cno as 编号 from cs where cna = + textBox1.Text + ; SqlCommand cmd = new SqlCommand(sql, conn); if (cmd.ExecuteScalar() = null) MessageBox.Show(您输入的账号或密码错误! 请重新输入!, 提示信息); return; else报纸信息添加操作打印报纸信息sqlConnect(); string sql = insert into news values ( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + , + textBox6.Text + , + textBox5.Text + ); SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); MessageBox.Show ( 添加成功!); return;删除操作删除报纸信息string str = Data Source=(local);Integrated Security=SSPI;database=poster; sqlConnect(); string sql = delete from news where pna = + comboBox1.Text + ; SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); MessageBox.Show( 删除成功!, 提示!); conn = new SqlConnection(str); conn.Open(); string sqlstr = select * from news; adapter = new SqlDataAdapter(sqlstr, conn); dataset = new DataSet(); adapter.Fill(dataset); if (dataset.Tables0.Rows.Count = 1) dataGridView1.DataSource = dataset.Tables0; conn.Close(); conn.Dispose(); dataset.Dispose();用户信息删除2.3.3.用户登录 sqlConnect(); string sql = select upwd from users where cna = + textBox1.Text + ; SqlCommand cmd = new SqlCommand(sql, conn); if (cmd.ExecuteScalar() = null) MessageBox.Show(账号或密码错误); return; else MessageBox.Show(textBox1.Text, 登录成功! ); if (textBox2.Text = cmd.ExecuteScalar().ToString().Trim() this.Hide(); 用户界面 Form1 = new 用户界面(); Form1.Show(); 登录成功主界面查询报纸信息和用户信息用户订报功能 string str = Data Source=(local);Integrated Security=SSPI;database=poster; sqlConnect(); string sql = select pna as 报纸,pno as 编号,ppr as 单价,psi as 规格,typ as 类型 from news where pna = + comboBox1.Text + ; SqlCommand cmd = new SqlCommand(sql, conn); if (cmd.ExecuteScalar() = null) MessageBox.Show(账号或密码不能为空!); return; else conn = new SqlConnection(str); conn.Open(); string sqlstr = select pna as 报纸,pno as 编号,ppr as 单价,psi as 规格,typ as 类型 from news where pna = + comboBox1.Text + ; adapter = new SqlDataAdapter(sqlstr, conn); dataset = new DataSet(); adapter.Fill(dataset); if (dataset.Tables0.Rows.Count = 1) dataGridView1.DataSource = dataset.Tables0; conn.Close(); conn.Dispose(); dataset.Dispose(); 用户注册界面2.3.4. 程序运行流程图开始运行身份选择管理员 用户管理员登陆用户登录注册用户注册判断是否正确输入是否正确否是管理员界面是用户界面查询所有信息打印报纸信息用户信息添加报纸信息添加用户信息查询用户订报查询用户订报 退出三、结论及体会3.1. 设计结论本次课程设计本着需求分析为准绳,多次修改和完善了数据库的数据表及结构,实现了课程设计要求的绝大部分功能,但是由于所学知识的不牢固加之能力和时间有限,在一些较复杂的功能方面尚未实现或不完善,我将会在今后的学习中更加注重这方面知识的学习和锻炼,争取今后将这些尚不完善的功能进一步的加强和完善。另外由于时间的限制在程序的一些检测和纠正的细节方面尚不能做到检测和纠正,故在输入和注册的时候如果输入不对或者超出数据的数值范围,将会引起数据库报错,程序需要重新运行方可继续操作,同时输入的数据也将不能保存到数据库中。本次课程设计用到了Microsoft SQL Server 2005和C# 2008,故此系统在较之更低的版本上将不能运行。3.2. 设计体会每次课程设计都会发现以前学的很多知识都遗忘了,尤其是在一些较难的知识点上需要重新回顾和复习以前的知识才能回顾起来。通过本次课程设计也发现了我在c#和数据库方面有很多的知识的掌握不牢固和不全面,在不断的学习和复习回顾中也对一些不熟悉或是不知道的知识有了 更加深刻的映像和记忆,对于今后的学习和工作都打下了坚实的基础。四、程序附录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;namespace shujuku public partial class Index : Form public Index() InitializeComponent(); private void label3_Click(object sender, EventArgs e) label3.Text = DateTime.Now.ToString(); private void timer1_Tick(object sender, EventArgs e) label3.Text = DateTime.Now.ToString(); private void button1_Click(object sender, EventArgs e) this.Hide(); 用户登录 Form1 = new 用户登录(); Form1.Show(); private void button4_Click(object sender, EventArgs e) this.Hide(); 管理登录 Form4 = new 管理登录(); Form4.Show(); private void button2_Click(object sender, EventArgs e) Application.Exit(); private void Index_Load(object sender, EventArgs e) 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 System.Data.SqlClient;using System.Diagnostics;namespace shujuku public partial class 用户登录 : Form private static string server = .; private static string database = poster; private static string uid = sa; private static string pwd = 123; private string connStr = server= + server + ;database= + database + ;uid= + uid + ;pwd= + pwd; private SqlConnection conn; public 用户登录() InitializeComponent(); private void button3_Click(object sender, EventArgs e) Application.Exit(); private void label3_Click(object sender, EventArgs e) private void timer1_Tick(object sender, EventArgs e) textBox3.Text = DateTime.Now.ToString(); private void textBox3_TextChanged(object sender, EventArgs e) textBox3.Text = DateTime.Now.ToString(); private void button2_Click(object sender, EventArgs e) this.Hide(); 用户注册 Form7 = new 用户注册(); Form7.Show(); private void sqlConnect() conn = new SqlConnection(connStr); conn.Open(); private void sqlClose() conn.Close(); private void button1_Click(object sender, EventArgs e) sqlConnect(); string sql = select upwd from users where cna = + textBox1.Text + ; SqlCommand cmd = new SqlCommand(sql, conn); if (cmd.ExecuteScalar() = null) MessageBox.Show(账号或密码错误); return; else MessageBox.Show(textBox1.Text, 登录成功! ); if (textBox2.Text = cmd.ExecuteScalar().ToString().Trim() this.Hide(); 用户界面 Form1 = new 用户界面(); Form1.Show(); private void Form1_Load(object sender, EventArgs e) 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 System.Data.SqlClient;using System.Diagnostics;namespace shujuku public partial class 用户界面 : Form SqlDataAdapter adapter; DataSet dataset; private static string server = .; private static string database = poster; private static string uid = sa; private static string pwd = 123; private static int ppr; private string connStr = server= + server + ;database= + database + ;uid= + uid + ;pwd= + pwd; private SqlConnection conn; public 用户界面() InitializeComponent(); private void button6_Click(object sender, EventArgs e) this.Hide(); 用户查询 Form1 = new 用户查询(); Form1.Show(); private void button1_Click(object sender, EventArgs e) this.Hide(); 用户订报 Form2 = new 用户订报(); Form2.Show(); private void button2_Click(object sender, EventArgs e) Application.Exit(); private void sqlConnect() conn = new SqlConnection(connStr); conn.Open(); /关闭数据库 private void sqlClose() conn.Close(); private void 用户界面_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“posterDataSet13.news”中。您可以根据需要移动或移除它。 this.newsTableAdapter.Fill(this.posterDataSet13.news); private void button3_Click(object sender, EventArgs e) this.Hide(); 用户登录 用户登录 = new 用户登录(); 用户登录.Show(); 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 System.Data.SqlClient;namespace shujuku public partial class 用户注册 : Form public 用户注册() InitializeComponent(); private static string server = .; private static string database = poster; private static string uid = sa; private static string pwd = 123; private string connStr = server= + server + ;database= + database + ;uid= + uid + ;pwd= + pwd; private SqlConnection conn; private void textBox2_TextChanged(object sender, EventArgs e) private void button2_Click(object sender, EventArgs e) if (textBox1.Text != & (textBox2.Text) != & (textBox3.Text) != & (textBox4.Text) != & (textBox5.Text) != & (textBox6.Text) !=) sqlConnect(); string sql = insert into cs values ( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + ); SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); string sql1 = insert into users values ( + textBox5.Text + , + textBox6.Text + ); SqlCommand cmd1 = new SqlCommand(sql1, conn); cmd1.ExecuteNonQuery(); MessageBox.Show( 恭喜您!注册成功!); this.Hide(); 用户登录 Form1 = new 用户登录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论