数据库课程设计---报刊订阅管理系统设计与实现.pdf

上传人:tbuqq 文档编号:5418673 上传时间:2020-05-04 格式:PDF 页数:36 大小:2.94MB
返回 下载 相关 举报
数据库课程设计---报刊订阅管理系统设计与实现.pdf_第1页
第1页 / 共36页
数据库课程设计---报刊订阅管理系统设计与实现.pdf_第2页
第2页 / 共36页
数据库课程设计---报刊订阅管理系统设计与实现.pdf_第3页
第3页 / 共36页
数据库课程设计---报刊订阅管理系统设计与实现.pdf_第4页
第4页 / 共36页
数据库课程设计---报刊订阅管理系统设计与实现.pdf_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《数据库课程设计---报刊订阅管理系统设计与实现.pdf》由会员分享,可在线阅读,更多相关《数据库课程设计---报刊订阅管理系统设计与实现.pdf(36页珍藏版)》请在三一文库上搜索。

1、第1页 共 36 页 存档资料成绩: xxxx 课 程 设 计 报 告 书 所属课程名称数据库系统开发教程 题目报刊订阅管理系统的设计与实现 分院XXXXXXXXXXXX 专业班级 XXXXXXXXXX 学号 XXXXXXXXXXXXXXXXX 学生姓名XXXXXXXX 指导教师 XXXXXXXXX 20XX年 XX月 XX日 目录 第一章课程设计内容及要求 3 1.1 设计目的 3 1.2 设计要求 3 1.3 设计环境 3 第二章概要设计 4 2.1系统需求分析 4 2.2系统结构设计: 4 2.3逻辑结构设计 5 2.4功能模块设计 5 第三章详细设计 7 3.1系统数据库设计 7 3.

2、2系统主要功能模块设计 12 3.2.1登录界面 12 3.2.2主界面 12 3.3程序主要算法对应的原代码 12 第四章调试与运行结果及存在的问题 18 第五章课程设计心得体会 34 第六章参考文献 35 XXXXX课程设计报告 第 3 页 共 36 页 第一章课程设计内容及要求 通过对某企业的报刊订阅业务进行分析、调查,设计该企业的报刊订阅管理系统。以SQL Server 2005作为后台数据库,以C#作为前台开发工具,完成数据库应用系统的设计开发。 1.1设计目的 人们在部门单位中一直以来都是使用传统人工方式管理本单位的报刊订阅,这种管理方式 存在着许多缺点,而且时间一长,将产生大量的

3、文件和数据,难于归类整理,这对于查找、更 新和维护都带来了不少的困难。 课题要求设计并实现一个报刊订阅管理系统,能够通过计算机和数据库对本单位的报刊订 阅进行管理。一个单位可指定一个或多个管理员,普通用户注册获得一个账号后就可以订阅报 刊以及在自己的权限范围内进行相关的操作。 1.2设计要求 综合运用所学的数据库基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开 发工作。要求根据本课题设计出合理的数据结构,并实现报刊订阅管理系统中, 登录对角色的判 断,管理员注册新用户,管理员查看、更新报刊信息,查询、统计订阅信息,维护数据,管理 用户,普通用户修改个人信息,查询、统计、增加订阅等功能

4、模块。 1.3设计环境 系统数据库用的是Microsoft SQL Server 2005,系统的开发平台为Microsoft Visual Studio 2010 ,开发语言为 C# 。 XXXXX课程设计报告 第 4 页 共 36 页 第二章概要设计 2.1系统需求分析 通过对企业的报刊订阅业务进行分析、调查,设计该企业的报刊订阅管理系统。主要实现 以下功能: 1.登陆功能:登陆系统为身份验证登录。分为管理员登录和一般用户登录。分别通过不 同的用户名和密码进入报刊订阅管理界面。 2.录入新信息功能:对于管理员,包括新用户信息和新报刊信息的录入功能,信息一旦 提交就存入到后台数据库中;普通用

5、户自行注册进行录入个人信息。 3.订阅功能:用户可以订阅报刊,系统自动计算所需金额,并显示在界面上;管理员不 可订阅报刊,必须以用户身份订阅报刊。 4.查询功能:按人员查询、按报刊查询、按部门查询有关订阅信息,对查询结果能进行 预览; 5.统计功能:按报刊统计、按人员统计、按部门统计,对统计结果能进行预览; 6.系统维护:如数据安全管理(含备份与恢复) 2.2系统结构设计 本系统包括后台数据库设计和前台应用程序的设计两个大的方面,后台数据库的设计是为 前台应用程序而服务的,而应用程序的设计则是基于数据库编写的。 根据需求分析可以建立管理员表,部门表,用户表,报刊类别表,报刊信息表,订单表。 其

6、中用户表中包括了用户基本信息,报刊信息表中包括了报刊的基本信息,订单表中包括了用 户订阅报刊的相关信息。系统登录主要分为管理员和用户两种类型。管理员可以实现录入用户 信息、录入报刊信息,查询用户、报刊、部门订阅情况,统计用户、报刊、部门所订阅的数量, 数据备份和数据恢复的系统维护操作。用户可以实现查询本人信息并修改,订阅报刊并查询等 操作。界面设计相对友好,方便用户的操作。 XXXXX课程设计报告 第 5 页 共 36 页 2.3逻辑结构设计 设计数据库共有7 个关系模式,分别为: 用户(用户账号,姓名,密码,用户类别)用户账号为主键,决定因素为主键自身或包含 主键,满足 BC范式。 普通用户

7、 1(用户账号,联系电话,联系地址,部门编号)用户账号为主键,部门编号为外 键,决定因素为主键自身或包含主键,满足BC范式。 普通用户 2(用户账号,身份证号)用户账号为主键,决定因素为主键自身或包含主键,满 足 BC范式。 部门(部门编号,部门名称)部门编号为主键,决定因素为主键自身或包含主键,满足BC 范式。 报刊信息(报刊编号,报刊名称,出版报社,出版周期,季度报价,内容介绍,分类编号) 报刊编号为主键,分类编号为外键,决定因素为主键自身或包含主键,满足BC范式。 报刊类别(分类编号,分类名称)分类编号为主键,决定因素为主键自身或包含主键,满 足 BC范式。 订单(用户编号,报刊编号,订

8、阅份数,订阅月数)用户编号、报刊编号为主键,决定因 素为主键自身或包含主键,满足BC范式。 2.4功能模块设计 由以上分析可以画出功能模块设计图,如图2-1 和 2-2 所示: XXXXX课程设计报告 第 6 页 共 36 页 图 2-1 报刊管理系统E-R 图 图 2-2 管理员和用户E-R 图 报刊订阅管理系统 用 户 登 录 用 户 信 息 录 入 报 刊 信 息 录 入 按 人 员 查 询 按 报 刊 查 询 按 部 门 查 询 按 人 员 统 计 按 报 刊 统 计 按 部 门 统 计 数 据 库 备 份 统 计 数 据 库 恢 复 系 统 维 护 录 入 登 录 管 理 员 登 录

9、 订 阅 查 询 用 户管理员 所有 报 刊 信息 管 所有 用 户 信息 管 系 统 维 护 查询 自身 资料 并修 改信 查询 报刊 信息 订阅 报刊 XXXXX课程设计报告 第 7 页 共 36 页 第三章详细设计 3.1系统数据库设计 经过需求分析设计后得出数据库设计的概念模型,建立了六个表,分别是:管理员表,部门 表,用户表,报刊类别表,报刊信息表,订单表。如下: 管理员(管理员,密码) 部门(部门编号,部门名) 用户(用户账号,密码,姓名,身份证号,联系电话,部门编号) 报刊类别(分类编号,分类名称) 报刊信息(报刊编号,报刊名称,出版报社,季度报价,内容介绍,分类编号) 订单(订

10、单编号,用户账号,报刊编号,订阅份数,订阅季度,订阅总额) 所创建表的设计图如下所示: 管理员表 : 用 E-R 图表示该实体如下: 部门表: 管理员 管理员 密码 XXXXX课程设计报告 第 8 页 共 36 页 用 E-R 图表示该实体如下: 用户表: 用 E-R 图表示该实体如图 3-1所示: 图 3-1 实体 E-R 图 报刊类别表: 部门 部门编号 部门名 姓名 联系电话用户 用户账号 部门编号 密 码身份证号 XXXXX课程设计报告 第 9 页 共 36 页 用 E-R 图表示该实体如下: 报刊信息表: 用 E-R 图表示该实体如图3-2 所示: 图 3-2 报刊信息实体E-R 图

11、 报刊类别 分类编号分类名称 报刊信息出版报社 季度报价 报刊编号报刊名称 内容介绍分类编号 XXXXX课程设计报告 第 10 页 共 36 页 订单表: 用 E-R 图表示该实体如3-3 所示: 图 3-3 订单实体E-R 图 数据库各个表之间的关系如图3-4 所示: 订单 DINGDA 报刊编号 订阅份数 订阅季度订阅总额 订单编号用户账号 XXXXX课程设计报告 第 11 页 共 36 页 图 3-4 各表关系图 完整的 E-R 图如图 3-5 所示: 1 M 1 M N M 1 M M 1 订 单 订制 用 户 管理员 处理 报刊 包含 报刊类别 订 阅 部门 拥有 密码 订单编号 用

12、户账号 报刊编号 订阅份数 分类编号 分类名称 报刊名称 出版报社 季度报价 内容介绍部门编号部门名 用户账号 密码 姓名 部门编号 联系电话 报刊编号 分类编号 订阅季度 订阅总额 身份证号 管理员 XXXXX课程设计报告 第 12 页 共 36 页 图 3-5 完整 E-R 图 3.2系统主要功能模块设计 3.2.1 登录界面 开始使用系统时,在主界面首先要选择其类型,管理员或用户,这样才能进入登录界面。 在管理员或用户登录界面分别输入正确的用户账号和密码时,方可进入到系统,否则不能进入 系统。新用户可点击注册,添加自己的信息,注册成功后,就可以登录系统。 3.2.2 主界面 主界面有管理

13、员界面和用户界面。管理员进入管理员界面后,可以进行录入、查询、统计、系 统维护等操作。具体可以添加、修改、删除用户和报刊信息,可以按用户、报刊、部门进行查 询和统计订阅的情况,可以进行系统的数据备份与恢复。用户进入用户界面后,可以修改本人 信息,根据报刊信息订阅报刊,并查看自己的订阅信息。 3.3程序主要算法对应的原代码 用户修改本人信息: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using Syst

14、em.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace 报刊订阅管理系统 public partial class Form5 : Form My conConnection = new My(); XXXXX课程设计报告 第 13 页 共 36 页 /在登录界面使用的用户账号调用到这一界面 private string User; private string password; public string UserNum get return User; s

15、et this.User = value; public string PassWord get return password; set this.password = value; public Form5() InitializeComponent(); class Connect public static string HY() return “Data Source=(local);Initial Catalog=报刊订阅管理系统;Integrated Security=True“; class My public string strConnect = “; public Sql

16、Connection conConnection = null; public My() strConnect = Connect.HY(); conConnection = new SqlConnection(strConnect); public void OpenDB() if (conConnection.State != ConnectionState.Open) try conConnection.Open(); XXXXX课程设计报告 第 14 页 共 36 页 catch (System.Exception ex) throw ex; public void CloseDB()

17、 if (conConnection != null public DataTable GetDT(string sql) if (sql = null) return null; DataTable dt = null; DataSet ds = null; try OpenDB(); SqlDataAdapter sda = new SqlDataAdapter(sql, strConnect); ds = new DataSet(); sda.Fill(ds); if (ds.Tables.Count = 0) return null; dt = ds.Tables0; catch (S

18、ystem.Exception ex) throw new Exception(ex.ToString(); ds.Dispose(); return dt; public DataSet GetDS(string sql) XXXXX课程设计报告 第 15 页 共 36 页 DataSet ds = null; try OpenDB(); SqlDataAdapter sda = new SqlDataAdapter(sql, strConnect); ds = new DataSet(); sda.Fill(ds); sda.Dispose(); sda = null; CloseDB()

19、; catch (System.Exception ex) throw new Exception(ex.ToString(); return ds; public void ExecuteNonQuery(string sql) try OpenDB(); SqlCommand com = new SqlCommand(sql, conConnection); com.ExecuteNonQuery(); com.Dispose(); com = null; CloseDB(); catch (System.Exception ex) throw new Exception(ex.ToStr

20、ing(); private void button1_Click(object sender, EventArgs e) string User = textBox1.Text.ToString().Trim(); string xm = textBox2.Text.ToString().Trim(); string mm = textBox3.Text.ToString().Trim(); XXXXX课程设计报告 第 16 页 共 36 页 string dh = textBox4.Text.ToString().Trim(); string bm = textBox5.Text.ToSt

21、ring().Trim(); /string sql_ = “update 用户表set 用户名 =“+User+“, 姓名 = “ + xm + “, 密码 =“ + mm + “, 身份 证号 =“+sf+“, 联系电话 =“ + dh + “, 部门编号 =“ + bm + “ where 用户名 =“ + User; string sql_ = “update 用户表set 姓名 = “ + xm + “, 密码 =“ + mm + “, 联系电话 =“ + dh + “, 部门 编号 =“ + bm + “ where 用户账号 =“ + User; sql_ = string.Fo

22、rmat(sql_); try conConnection.ExecuteNonQuery(sql_); string sql = “select 用户账号 ,密码 ,姓名 ,身份证号 ,联系电话 ,用户表 .部门编号 ,部门名from 用户表 ,部门表where 用户表 .部门编号 =部门表 .部门编号and 用户账号 =“+User+“; this.dataGridView1.DataSource = conConnection.GetDT(sql); catch (System.Exception ex) MessageBox.Show(ex.ToString(); textBox2.T

23、ext = “; textBox3.Text = “; textBox4.Text = “; textBox5.Text = “; bool flagshow = false; private void button3_Click(object sender, EventArgs e) string strConnnect = “Data Source=(local);Initial Catalog= 报 刊 订 阅 管 理 系 统 ;Integrated Security=True“; SqlConnection conConnection = new SqlConnection(strCo

24、nnnect); conConnection.Open(); SqlCommand com = new SqlCommand(“select 用户账号form 用户表 “, conConnection); com.CommandText = “select * from 用户表 “; SqlDataReader dr = com.ExecuteReader(); while (dr.Read() User = dr“ 用户账号 “.ToString(); if (User.Trim()=textBox1.Text) XXXXX课程设计报告 第 17 页 共 36 页 flagshow = tr

25、ue; string strConnect = “Data Source=(local);Initial Catalog=报刊订阅管理系统;Integrated Security=True“; string cmd = “select 用户账号 ,密码 ,姓名 ,身份证号 ,联系电话 ,部门编号from 用户表 where 用户账号 = “ + User; SqlConnection conConnect = new SqlConnection(strConnect); conConnect.Open(); SqlDataAdapter sda = new SqlDataAdapter(cmd

26、, conConnect); DataSet ds = new DataSet(); sda.Fill(ds, “ 用户表 “); dataGridView1.DataSource = ds.Tables0.DefaultView; conConnect.Close(); /else / / MessageBox.Show(“ 请输入本人账号!“); / /textBox1.Text = “; / dr.Close(); / conConnection.Close(); if(flagshow=true) else MessageBox.Show(“ 请输入本人账号!“); textBox1.

27、Text = “; private void button2_Click(object sender, EventArgs e) this.Hide(); Form4 form4 = new Form4(); form4.Show(); XXXXX课程设计报告 第 18 页 共 36 页 第四章调试与运行结果及存在的问题 主界面里选择用户的类型,如图4-1 所示: 图4-1 报刊订阅管理系统用户界面 点击管理员进入管理员登录界面,则为用户登录界面。登录界面主要由管理员(用户名) 和密码的信息,如图4-2 所示: XXXXX课程设计报告 第 19 页 共 36 页 图4-2 管理员和用户登录界面

28、 如果输入的用户名和密码不正确或不存在,则会提示错误,如图4-3 所示: 图4-3 提示界面 用户还可以注册新账号,如图4-4 所示: XXXXX课程设计报告 第 20 页 共 36 页 图 4-4 用户注册界面 如果输入的用户账号已有用户注册过,则会提示已存在,如图4-5 所示: 图 4-5 注册错误提醒界面 填入的信息正确,就会分别进入到管理员界面和用户界面。 管理员与用户能操作的权限不一样,所以两个界面的菜单也不同,如图4-6 和 4-7 所示: XXXXX课程设计报告 第 21 页 共 36 页 图 4-6 报刊订阅管理系统界面 XXXXX课程设计报告 第 22 页 共 36 页 图

29、4-7 用户订阅界面 管理员实现的录入用户和报刊信息,可以根据用户(报刊)信息里所显示的内容添加,修 改,删除用户(报刊) ,并进行调整,如图4-8 和 4-9 所示: XXXXX课程设计报告 第 23 页 共 36 页 图 4-8 用户信息界面 XXXXX课程设计报告 第 24 页 共 36 页 图 4-9 报刊信息界面 管理员实现的查询功能可根据用户、报刊、部门分别查询订阅报刊的情况。报刊、部门查 询也与用户查询相同,如图4-10 和 4-11所示: XXXXX课程设计报告 第 25 页 共 36 页 图 4-10 根据用户查询界面 XXXXX课程设计报告 第 26 页 共 36 页 图

30、4-11 根据用户界面查询演示 管理员实现的统计功能可以根据用户、报刊进行统计共订阅了几份报刊,并显示出总额为 多少。报刊统计也与用户统计相同,如图4-12 所示: XXXXX课程设计报告 第 27 页 共 36 页 图 4-12 根据用户统计界面 管理员也可以实现系统维护,数据备份和数据恢复功能,如图4-13和 4-14 所示: XXXXX课程设计报告 第 28 页 共 36 页 图 4-13 管理员登陆备份界面 XXXXX课程设计报告 第 29 页 共 36 页 图 4-14 管理员界面备份界面 用户可以修改信息,在用户账号里填写本人账号后,会显示自己的信息,然后根据自己原 来的信息进行修

31、改,如图4-15 所示: XXXXX课程设计报告 第 30 页 共 36 页 图 4-15 修改信息界面 如果填入的账号与登录时的账号不一致,则不能显示信息,并且会有提示,如图4-16 所 示: XXXXX课程设计报告 第 31 页 共 36 页 图4-16提示用户账户错误 用户选择“订阅报刊”菜单后,在弹出的界面里,用户可以浏览到所有的报刊信息,输入 相关信息后,点击订阅,就完成了订阅,并会显示出所需金额,如图4-17 和 4-18 所示: XXXXX课程设计报告 第 32 页 共 36 页 图4-17 订阅报刊界面 图4-18订阅报刊界面演示 XXXXX课程设计报告 第 33 页 共 36

32、 页 用户选择“我的订阅”后,就可查看所有自己订阅的报刊信息,如图4-19所示: 图 4-19 我的订单界面 XXXXX课程设计报告 第 34 页 共 36 页 第五章课程设计心得体会 关于这个课程设计,我的感触很深,这是我很难得的非常认真独立的做的一个课程设计。 整个过程中遇到了不少问题,也解决了不少问题,收获挺大的。管理员方面,可以输入用户、 报刊的信息,并且可以对这些信息进行修改。管理订单方面,管理员可以按人员、按部门、按 报刊查询和统计所有的订单信息,方便对报刊的分发进行管理,并且可以预览和打印出这些结 果,还有数据库备份和恢复功能使系统的数据安全性有了保障。 使用 C# 做程序也是这

33、个学期才学的,难免有些不足之处。由于很多方面能力上的不足,加 上时间问题考虑得不够周全,可能在某些功能上不是很完善,不过已有的功能已能基本满足一 般用户的需求,界面设计上,做的都是最简单的形式,虽然基本功能是实现了,但不够完善。 本次实习中遇到了很多以前没有遇到过的问题,也曾想过要放弃,但看到自己一般写过的大量 程序,给了我继续的信心。有过挫折有过坎坷,但最终实现目标后的成就感,也让我充分感受 到实际操作的重要性。通过这次课程设计,觉得对数据库有了更进一步更深刻的认识,巩固了 对数据库的知识,而且学会了使用Visual Studio 2010,用 C# 做项目,对于这个软件的基础应 用我已相当

34、熟悉了,感觉自学挺自豪的,我会继续学习这相关方面的知识,使我以后开发出来 的系统更加完善! XXXXX课程设计报告 第 35 页 共 36 页 第六章参考文献 1 程云志,张帆,崔翔 . 数据库原理与 SQL Server 2005 应用教程 . 机械工业 出版社, 2003. 2 唐政,房大伟 . C# 项目开发全程实录 . 清华大学出版社 3 王永皎,廖建军 . Visual C#2005 SQL server 2005 数据库开发与实例清 华大学出版社,2000. 4 戴志诚 SQL Server2005 数据库系统开发与实例北京:电子工业出版社, 2007.3. 5 刘志成. SQL

35、Server 2005 实例教程 . 北京:电子工业出版社,2008. 6 刘亚秋,梁心东,蒋力等.C#程序设计与应用 M. 北京:电子工业出版社,2000. 7 郑阿奇. SQL Server 实用教程 .北京:电子工业出版社,2007.7 8 刘韬, 楼兴华 .SQL Server2000 数据库系统开发实例导航 . 北京: 人民邮电出 版社,2004. 9 周佩德数据库原理及应用M 北京:电子工业出版社,2004. 10曾登高编著 NET 系统架构与开发 . 北京:电子工业出版社,2003. 致谢 感谢指导老师和一起做报告的组员! XXXXX课程设计报告 第 36 页 共 36 页 致谢

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1