1、数据库原理集中实训报告系统名称: 专 业: 班 级: 学 号: 姓 名: 指导教师: 2014 年 6 月 17 日信息与工程学院计算机科学系目录1、前言 11.1 课题简介 11、开发系统的名称: 12、实训目的: 13、实训意义: 14、实训内容: .15、实训预期实现效果: .11.2 方案及其论证 12、需求分析 12.1 可行性分析 .12.2 系统功能分析 .21、系统功能结构图 22、系统功能分析 23、概念模型设计 3E-R 图 .34、逻辑模型设计 3信息与工程学院计算机科学系关系模型 35、详细设计 45.1 建立数据库代码 .45.2 建立前台界面以及其代码 .56、总结
2、 .127、参考文献 .1211、前言1.1 课题简介1、开发系统的名称:图书管理系统2、实训目的:通过本次实训,应熟悉并掌握数据库系统开发的基本方法,对理论教学中所讲的知识和基本概念有更进一步的理解,培养和提高实践操作能力,为今后从事计算机数据库系统的研究、开发、应用提供必要的准备。3、实训意义:利用这次的实训,提高学生对理论知识的理解能力和实践技能。熟练掌握 SQL 语句的使用,掌握分析和设计数据库的方法,会结合高级程序设计语言完成数据库系统的实现过程,培养学生的自学能力和创新能力。4、实训内容:需求分析:可行性分析、系统功能设计概念模型设计逻辑结构设计:关系模式、规范处理、视图设计详细设
3、计:建立前台界面调试并运行5、实训预期实现效果:通过此次实训,学生能够熟练的建立数据库,并在 VS 开发环境下编写管理系统。编写成功的图书管理系统,能进行图书的查询、借阅、归还等简单的基本操作。1.2 方案及其论证语言: SQL+VB信息与工程学院计算机科学系2运行环境:Microsoft Visual Stdio 20102、需求分析2.1 可行性分析目前,我们已经大概学习了 SQL server,对网络技术也有一定的了解,而且图书管理系统已经得到了大量的运用,有许多可供参考的成功系统。而且,网上有许多关于Visual Studio C#编程的资料和 SQL Server 方面的资料。 从技
4、术角度考虑,此系统开发可行。2.2 系统功能分析1、系统功能结构图图书借阅图书管理图书管理系统图书查询全部图书查询图书借阅查询图书管理查询学生信息查询图书归还图书借阅图书管理图书管理系统图书查询信息与工程学院计算机科学系32、系统功能分析图书管理系统的流程是用户先选择自己的身份,是管理员或者是学生。如果是学生,则进入学生登录界面,登陆成功后,学生所能做的操作就是查询图书的信息。如果是管理员,则进入管理员登陆界面,登录成功后,能进行查询,图书借阅、归还等操作,通过此操作删改学生借还图书的信息。3、概念模型设计E-R 图性别学生姓名学号联系电话班级出版社定价分类号作者书名管理图书书号 数量编号密码
5、联系电话管理员姓名备注管理日期信息与工程学院计算机科学系4m mn n n4、逻辑模型设计关系模型学生(学号,姓名,性别,班级,联系电话)图书(书号,书名,作者,定价,数量,分类号,出版社名称)管理员(编号,密码,姓名,联系电话)借阅量借阅借阅时间信息与工程学院计算机科学系5借阅(学号,书号,借阅时间,借阅量)管理(编号,书号,备注,管理日期)5、详细设计5.1 建立数据库代码create database books_management /建立数据库on(name=books_management,filename=E:图书管理数据库books_management.mdf,size=10
6、,maxsize=10,filegrowth=10)log on(name=books_management_log,filename=E:图书管理数据库books_management_log.ldf,size=10,maxsize=10,filegrowth=10)Go信息与工程学院计算机科学系6create table student/建立学生表(学号 varchar(200) primary key,姓名 varchar(200) not null,性别 varchar(100) not null default男,班级 varchar(200)not null,联系电话 varcha
7、r(400) not null)create table books/建立图书表(书号 varchar(200) primary key,书名 varchar(200) not null,作者 varchar(200) not null,定价 varchar(200) not null,数量 varchar(200) not null,分类号 varchar(200) not null,出版社 varchar(200) not null,)create table administrator /建立管理员表(编号 varchar(200) primary key,密码 varchar(200)
8、 not null,姓名 varchar(100) not null ,联系电话 varchar(400) not null,信息与工程学院计算机科学系7)create table borrow /建立借阅表(学号 varchar(200) not null,书号 varchar(200) not null,借阅时间 varchar(100) not null ,借阅量 varchar(400) not null,primary key(学号,书号)create table management /建立管理表(编号 varchar(200) not null,书号 varchar(200) n
9、ot null,管理日期 varchar(100) not null ,备注 varchar(400) not null,primary key(编号,书号)5.2 建立前台界面以及其代码1、当图书管理系统打开时的界面如图 5.1 所示信息与工程学院计算机科学系8图 5.1Public Class Form1Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadEnd SubPrivate Sub Button1_Click(ByVal send
10、er As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickForm2.Show()End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickForm3.Show()End SubEnd Class2、当点击学生按钮后,进入了学生登陆系统信息与工程学院计算机科学系9图 5.2代码如下:PublicClassForm2PrivateSub Form
11、2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.LoadEndSubPrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickIf TextBox1.Text = “Or TextBox2.Text = “ThenMsgBox(“用户名和密码不能为空?“)ElsecheckLoginName()EndIfEndSubSub che
12、ckLoginName()Dim strcon AsString = “data source=XP23;initial catalog=books_management;user id=XP23Administrator;pwd=;integrated security=true;“信息与工程学院计算机科学系10Dim con AsSqlConnection = NewSqlConnection(strcon)con.Open()Dim sql AsString = “select * from student where 学号=“initial catalog=books_manageme
13、nt;user 信息与工程学院计算机科学系13id=XP23Administrator;pwd=;integrated security=true;“PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim con AsSqlConnection = NewSqlConnection(strcon)con.Open()Dim selectStudent AsString = “select * from borrow“Dim ds A
14、sDataSet = NewDataSet()Dim da AsSqlDataAdapter = NewSqlDataAdapter(selectStudent, con)da.Fill(ds, “borrow“)Me.DataGridView1.DataSource = ds.Tables(“borrow“)con.Close()EndSub7、当点击图5.5中的“图书管理”按钮时,进入图书管理界面,如图5.7图 5.78、当点击图 5.5 中的“图书借阅”按钮时,进入图书借阅界面,如图 5.8。信息与工程学院计算机科学系14图 5.8代码如下:Dim name AsString = Me.
15、TextBox3.TextDim num AsString = Me.TextBox4.TextDim time AsString = Me.TextBox5.TextDim num2 AsString = Me.TextBox6.TextDim addclass AsString = String.Format(“insert into borrow values(0,1,2,3)“, name, num, time, num2)Dim strcon AsString = “data source=XP23;initial catalog=books_management;user id=X
16、P23Administrator;pwd=;integrated security=true;“Dim con AsSqlConnection = NewSqlConnection(strcon)con.Open()Dim cmd AsSqlCommand = NewSqlCommand(addclass, con)Dim result AsInteger = cmd.ExecuteNonQuery()信息与工程学院计算机科学系15If (result 1) ThenMessageBox.Show(“添加失败!“, “操作提示“, MessageBoxButtons.OK, MessageBo
17、xIcon.Warning)ElseMessageBox.Show(“添加成功!“, “操作提示“,MessageBoxButtons.OK, MessageBoxIcon.Information)Me.Close()EndIf9、当点击图 5.5 中的“图书归还”按钮时,进入图书归还界面,如图 5.9。当点击下图中要删除的行时,根据学号和书号删除该列。图 5.9代码如下:PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim co
18、n AsSqlConnection = NewSqlConnection(strcon)con.Open()Dim stuNum1 AsString = Me.TextBox1.TextDim stuNum2 AsString = Me.TextBox2.Text信息与工程学院计算机科学系16Dim selectStudent AsString = “select * from borrow where 学号=“ + stuNum1 + “and 书号=“ + stuNum2 + “Dim ds AsDataSet = NewDataSet()Dim da AsSqlDataAdapter =
19、 NewSqlDataAdapter(selectStudent, con)da.Fill(ds, “borrow“)Me.DataGridView1.DataSource = ds.Tables(“borrow“)con.Close()EndSubPrivateSub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClickDim s
20、tuid AsString = Me.DataGridView1.Rows(e.RowIndex).Cells(0).Value.ToString().Trim()Dim stuid1 AsString = Me.DataGridView1.Rows(e.RowIndex).Cells(1).Value.ToString().Trim()IfMessageBox.Show(“确定要删除该用户吗? “, “操作警告“, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = Windows.Forms.DialogResult.Yes ThenDim
21、 deleteStudent AsString = String.Format(“DELETE FROM borrow WHERE 学号=“ + stuid + “and 书号=“ + stuid1 + “)Dim con AsSqlConnection = NewSqlConnection(strcon)con.Open()Dim cmd AsSqlCommand = NewSqlCommand(deleteStudent, con)Dim result AsInteger = Convert.ToInt32(cmd.ExecuteNonQuery()con.Close()If (resul
22、t 1) ThenMessageBox.Show(“删除失败!“, “操作结果“ MessageBoxButtons.OK, MessageBoxIcon.Exclamation)ElseMessageBox.Show(“删除成功!“, “操作结果“ MessageBoxButtons.OK, MessageBoxIcon.Information)信息与工程学院计算机科学系17Me.frmSearchStudent_Load(sender, e)EndIfEndIf6、总结通过此次实训,我受益匪浅。这是第一次将数据库所学的理论知识用于实践,独立的设计一个系统程序。对于我来说,在做这个系统的过程
23、中,有好多不懂的地方如:界面的设计、编码问题、用户需求问题等。这个系统的功能还不够完善,很多地方因为所学的知识有限而没有做出来,这些都是不够好的地方,也是我一直需要努力的地方。此次实训不仅让我了解到自身学习的不足之处,也让我扩展了知识面,是对书本所学的知识点的延伸。在设计这个系统的过程中,我熟悉并掌握了 Microsoft SQL Severe2010 和 VB 数据库的使用。这是对自身知识丰富的一个过程,同时也感受到其中的快乐,激发了的兴趣,对于以后的学习有了更加坚定地信念。7、参考文献1 周屹,李艳娟.数据库原理及开发应用(第二版). 北京:清华大学出版社.2007.2肖慎勇.SQL server 数据库管理与开发. 北京:清华大学出版社.2007