课程设计报告
- 格式:doc
- 大小:724.00 KB
- 文档页数:25
东北石油大学课程设计2011年7 月 5 日东北石油大学课程设计任务书课程数据库课程设计题目图书信息管理系统专业信息管理与信息系统姓名杨昌理学号100701240108主要内容数据库课程设计的目的是让学生综合运用学过的知识,开发一个小型的数据库信息管理系统。
系统主要实现以下几个功能:图书入库管理;图书出库管理;图书入库统计;图书出库统计;能查询各种信息。
数据库的设计包含以下实体:1.图书(图书编号、图书名称、作者、版次、出版社);2. 书库(书库编号、名称、位置);3. 读者(借书证号,姓名,性别,年龄,单位,联系电话);4. 系统信息(用户名、密码);一、基本要求:1.掌握DBMS的基本工作原理;2.掌握数据库设计:进行数据需求分析,给出E-R图,关系模型,表结构;3.掌握数据库实现:建立数据库和表;进行数据库链接;4.掌握系统设计与实现:画出系统的功能模块图,设计出主界面和各窗体;5.按时提交规范课程设计报告。
三、主要参考资料:[1] 萨师煊,王珊.数据库系统概论[M].高等教育出版社2000.2[2] 李应伟. 数据库高级教程(C#篇) [M].清华大学出版社,2004. 7[3] 郑阿奇.C#实用教程[M],电子工业出版社,2008.6[4] 唐学忠.SQL Server 2000数据库教程[M],电子工业出版社,2005.5[5] 廖信博. Management Information System Case[M].机械工业出版社2005.4 完成期限第19周到第20周指导教师专业负责人年月日目录第1章概述 (2)1.1 开发工具的介绍 (2)1.2 程序设计思想 (2)第2章需求分析 (3)2.1 图书信息管理系统概述 (3)2.2 系统用户分析 (3)2.3 功能需求分析 (3)第3章数据库设计与实现 (4)3.1数据库概念模型设计 (4)3.2数据库逻辑设计 (4)3.3 数据库物理设计与实现 (5)第4章详细设计 (7)4.1系统模块设计 (7)4.2 关键步骤和代码 (8)4.3 实现效果 (12)总结 (18)参考文献 (19)第1章概述1.1 开发工具的介绍Visiual studioMicrosoft Visual Studio是美国微软公司的开发工具套件系列产品。
VS 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境等等。
所写的目标代码适用于微软支持的所有平台。
Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office 插件。
Visual Studio是目前最流行的 Windows平台应用程序开发环境。
SQL server 2005SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。
SQL Server 2005通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好的确立了微软在BI领域的领导地位。
它能够把关键的信息及时的传递到组织内员工的手中,从而实现了可伸缩的商业智能。
员工可以快速的、容易的处理数据,以更快更好的做出决策。
SQL Server 2005全面的集成、分析和报表功能使企业能够提高他们已有应用的价值。
1.2 程序设计思想随着科技的日新月异,图书的作用越来越大,图书的存量也越来越大,这就需要图书馆对图书进行有效的管理,提高图书的利用效率。
本系统在c#环境下开发一个管理信息系统,该系统能够对图书及其相关信息进行简单有效的管理和操作,包括查询,修改,删除,添加等的计算机操作。
通过对图书馆进行实际调查发现,图书信息管理系统需要解决对图书信息进行图书入库管理、图书出库管理、图书入库统计、图书出库统计、能查询各种信息这一系列问题。
从而提供快速的图书信息检索功能及快捷的图书借阅、归还流程。
第2章需求分析2.1 图书信息管理系统概述本图书信息管理系统立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,解决人工管理图书信息系统中所存在的处理借书、还书业务流程的效率很低、一般时间内所能服务的读者有限等问题而开发的。
该系统将提供快速的图书信息检索功能及快捷的图书借阅、归还流程。
基于集中统一规划的数据管理新模式,有效实现对图书、读者的信息管理。
2.2 系统用户分析本系统是针对用户而设计的图书信息管理,在系统内部,能够对图书、书库、读者、用户四个模块的内容作简单的操作。
该系统的用户操作只建立在知道用户密码的前提下,具备比较完善和安全的保障系统,同时,用户可以对图书、书库、读者进行增删改查。
2.3功能需求分析该图书管理系统能够进行以下的功能实现:用户信息管理操作:有新建,密码修改,删除功能;图书信息管理操作:有添加,删除,修改,查询功能;书库信息管理操作:有位置,名称,图书编号;读者信息管理操作:有添加,删除,修改,查询功能;第3章概要设计3.1数据库概念模型设计为更好的实现图书信息管理系统的功能,建立完善的数据库,因此对数据库分析后得出了如下系统整体E-R图,如图3-1所示:图3-1 系统E-R图3.2 数据库逻辑设计通过E/R模型到关系模型的转化,可以得到关系模式,如下所示三个表,分别为用户信息管理表,图书信息管理表,书库信息管理表,读者信息管理表:表3-2图书表信息管理(book)3.3 数据库物理设计与实现3.3.1 用户信息表包含:用户名,密码。
其中,用户名作为主键,且用户密码不可为空。
create table UserList( UserName nchar(10) primary key,PassWord nchar(10) not null )3.3.2 图书信息表包含:图书编号、图书名称、作者、版次、出版社。
其中,图书名称、作者、版次均不可为空,图书编号作为主键。
create table book( 图书编号int primary key,图书名称nchar(20),not null作者nchar(10) not null,,版次nchar(10), not null出版社nchar(20))3.3.3 读者信息表包含:借书证号、姓名、性别、年龄、单位、联系电话。
其中,借书证号作为主键,性别的约束为只在“男,女”。
create table reader( 借书证号nchar(10) primary key,姓名nchar(20), not null性别nchar(10) not null年龄int单位nchar(10), not null联系电话int3.3.4 书库信息表包含:书库编号、名称、位置,其中,书库编号为主键,书库名不可为空。
create table stack( 书库编号int primary key,名称nchar(20) not null位置nchar(20) not null第4章详细设计4.1 系统模块设计图4-1 系统模块设计图4.2关键步骤及代码4.2.1 数据库连接配置SqlConnection conn = new SqlConnection("Data Source=(local);Integrated Security=SSPI;Initial Catalog=aa;");SqlCommand cmd = conn.CreateCommand();4.2.2系统登录页面if (txtUserName.Text.Length == 0){MessageBox.Show("用户名不能为空,请查询后输入");txtPassWord.Focus();return;}mandText = "select count(*) from UserList where UserName='" + txtUserName.Text + "'";conn.Open();if ((int)cmd.ExecuteScalar() == 0){MessageBox.Show("有存在此用户名,请检查后重新输入");txtPassWord.Focus();return;}mandText = "select UserName, PassWord from UserList where PassWord='" + txtPassWord.Text + "'";SqlDataReader myReader = cmd.ExecuteReader();if (myReader.Read()){if (txtPassWord.Text == myReader[0].ToString() && txtUserName.Text.Length != 0)MessageBox.Show("登录成功恭喜", MessageBoxButtons.OK, rmation);frmMain fm = new frmMain(this);fm.ShowDialog();}else{MessageBox.Show("用户" + txtUserName.Text + "的密码不正确”, "密码", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);txtPassWord.Focus();return;}private void textBoxPwd_TextChanged(object sender, EventArgs e)4.2.3添加功能模块if (textBox1.Text.Trim() == ""){MessageBox.Show("用户名不能为空?,请重新输入", "错误");return;}string connString = "Data Source=(local);IntegratedSecurity=SSPI;Initial Catalog=aa";SqlConnection myconn = new SqlConnection(connString);String selectString = "select * from UserList";SqlCommand mycmd = new SqlCommand(selectString, myconn);myconn.Open();SqlDataReader myreader = mycmd.ExecuteReader();bool accept_user = false;while (myreader.Read()){if (myreader.GetString(0).Trim() == textBox1.Text.Trim()){accept_user = true;break;}}myreader.Close();if (accept_user == true){MessageBox.Show("用户名已存在,请重新输入", "提醒");return;//退出新建用户事件}String strInsert = "INSERT INTO UserList( UserName,PassWord) VALUES ('" + textBox1.Text.Trim() + "','" + textBox2.Text.Trim() + "')";mandText = strInsert;mycmd.Connection = myconn;mycmd.ExecuteNonQuery();MessageBox.Show("新建用户成功");this.Close();private void button2_Click(object sender, EventArgs e){this.Close();}private void Form2_Load(object sender, EventArgs e)4.2.4修改功能模块SqlConnection conn = new SqlConnection("Data Source=(local);Integrated Security=SSPI;Initial Catalog=aa;");SqlCommand cmd = conn.CreateCommand();String updateString = "update stack set 名称='" +textBox3.Text.Trim() + "',位置='" + textBox4.Text.Trim() + "'where 图书编号='" + textBox1.Text.Trim() + "'";SqlCommand myCmd = new SqlCommand();myCmd.Connection = myConn;mandText = updateString;DialogResult result;result = MessageBox.Show("确认要修改信息吗", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);if (result == DialogResult.Yes){myCmd.ExecuteNonQuery();myConn.Close();MessageBox.Show("修T改?成¨¦功|!");}4.2.5删除功能模块if (textBox1.Text == ""){MessageBox.Show("图书编号不能为空", "提示");}string connString = "Data Source=(local);IntegratedSecurity=SSPI;Initial Catalog=aa";SqlConnection myconn = new SqlConnection(connString);myconn.Open();SqlCommand mycmd = new SqlCommand();string DelStr = "delete FROM book where图书编号='"+(textBox1.Text.Trim())+"'";mycmd.Connection = myconn;mandText = DelStr;DialogResult result;result = MessageBox.Show("确定要删除该图书吗?", "提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question);if (result == DialogResult.Yes){mycmd.ExecuteNonQuery();myconn.Close();BangDingData();}private void DelScoreForm_Load(object sender, EventArgs e){BangDingData();}private void TeacherDelScoreForm_Load(object sender, EventArgs e){BangDingData();}private void label1_Click(object sender, EventArgs e)4.2.6查询功能模块(模糊查询)string connString = "Data Source=(local);Integrated Security=SSPI;Initial Catalog=aa";SqlConnection myconn = new SqlConnection(connString);myconn.Open();DataSet mydataset = new DataSet();string strcom = "SELECT * FROM book WHERE 图书编号" + (textBox1.Text) + "'";SqlDataAdapter mycommand = new SqlDataAdapter(strcom, myconn);mycommand.Fill(mydataset, "book");dataGridView1.DataSource = mydataset.Tables["book"];myconn.Close();}private void button3_Click(object sender, EventArgs e){string connString = "Data Source=(local);IntegratedSecurity=SSPI;Initial Catalog=aa";SqlConnection myconn = new SqlConnection(connString);myconn.Open();DataSet mydataset = new DataSet();string strcom = "SELECT * FROM book WHERE 作者like '%" + textBox2.Text + "%'";SqlDataAdapter mycommand = new SqlDataAdapter(strcom, myconn);mycommand.Fill(mydataset, "book");dataGridView1.DataSource = mydataset.Tables["book"];myconn.Close();}private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)4.3实现效果4.3.1登录界面模块用户运行程序就进入登陆界面。