数据库图书管理系统实训报告.docx
《数据库图书管理系统实训报告.docx》由会员分享,可在线阅读,更多相关《数据库图书管理系统实训报告.docx(15页珍藏版)》请在冰豆网上搜索。
数据库图书管理系统实训报告
《数据库原理》
集中实训报告
系统名称:
专业:
班级:
学号:
姓名:
指导教师:
2014
年
6
月
17
日
1、前言1
1.1课题简介1
1、开发系统的名称:
1
2、实训目的:
1
3、实训意义:
1
4、实训容:
1
5、实训预期实现效果:
1
1.2方案及其论证1
2、需求分析1
2.1可行性分析1
2.2系统功能分析2
1、系统功能结构图2
2、系统功能分析2
3、概念模型设计3
E-R图3
4、逻辑模型设计3
关系模型3
5、详细设计4
5.1建立数据库代码4
5.2建立前台界面以及其代码5
6、总结12
7、参考文献12
1、前言
1.1课题简介
1、开发系统的名称:
图书管理系统
2、实训目的:
通过本次实训,应熟悉并掌握数据库系统开发的基本方法,对理论教学中所讲的知识和基本概念有更进一步的理解,培养和提高实践操作能力,为今后从事计算机数据库系统的研究、开发、应用提供必要的准备。
3、实训意义:
利用这次的实训,提高学生对理论知识的理解能力和实践技能。
熟练掌握SQL语句的使用,掌握分析和设计数据库的方法,会结合高级程序设计语言完成数据库系统的实现过程,培养学生的自学能力和创新能力。
4、实训容:
①需求分析:
可行性分析、系统功能设计
②概念模型设计
③逻辑结构设计:
关系模式、规处理、视图设计
④详细设计:
建立前台界面
⑤调试并运行
5、实训预期实现效果:
通过此次实训,学生能够熟练的建立数据库,并在VS开发环境下编写管理系统。
编写成功的图书管理系统,能进行图书的查询、借阅、归还等简单的基本操作。
1.2方案及其论证
语言:
SQL+VB
运行环境:
MicrosoftVisualStdio2010
2、需求分析
2.1可行性分析
目前,我们已经大概学习了SQLserver,对网络技术也有一定的了解,而且图书管理系统已经得到了大量的运用,有许多可供参考的成功系统。
而且,网上有许多关于Visual Studio C#编程的资料和SQL Server方面的资料。
从技术角度考虑,此系统开发可行。
2.2系统功能分析
1、系统功能结构图
2、系统功能分析
图书管理系统的流程是用户先选择自己的身份,是管理员或者是学生。
如果是学生,则进入学生登录界面,登陆成功后,学生所能做的操作就是查询图书的信息。
如果是管理员,则进入管理员登陆界面,登录成功后,能进行查询,图书借阅、归还等操作,通过此操作删改学生借还图书的信息。
3、概念模型设计
E-R图
mm
n
nn
4、逻辑模型设计
关系模型
学生(学号,,性别,班级,联系)
图书(书号,书名,作者,定价,数量,分类号,名称)
管理员(编号,密码,,联系)
借阅(学号,书号,借阅时间,借阅量)
管理(编号,书号,备注,管理日期)
5、详细设计
5.1建立数据库代码
createdatabasebooks_management//建立数据库
on
(
name='books_management',
filename='E:
\图书管理数据库\books_management.mdf',
size=10,
maxsize=10,
filegrowth=10
)
logon
(name='books_management_log',
filename='E:
\图书管理数据库\books_management_log.ldf',
size=10,
maxsize=10,
filegrowth=10
)
Go
createtablestudent//建立学生表
(学号varchar(200)primarykey,
varchar(200)notnull,
性别varchar(100)notnulldefault'男',
班级varchar(200)notnull,
联系varchar(400)notnull
)
createtablebooks//建立图书表
(
书号varchar(200)primarykey,
书名varchar(200)notnull,
作者varchar(200)notnull,
定价varchar(200)notnull,
数量varchar(200)notnull,
分类号varchar(200)notnull,
varchar(200)notnull,
)
createtableadministrator//建立管理员表
(编号varchar(200)primarykey,
密码varchar(200)notnull,
varchar(100)notnull,
联系varchar(400)notnull,
)
createtableborrow//建立借阅表
(学号varchar(200)notnull,
书号varchar(200)notnull,
借阅时间varchar(100)notnull,
借阅量varchar(400)notnull,
primarykey(学号,书号)
)
createtablemanagement//建立管理表
(编号varchar(200)notnull,
书号varchar(200)notnull,
管理日期varchar(100)notnull,
备注varchar(400)notnull,
primarykey(编号,书号)
)
5.2建立前台界面以及其代码
1、当图书管理系统打开时的界面如图5.1所示
图5.1
PublicClassForm1
PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Form2.Show()
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Form3.Show()
EndSub
EndClass
2、当点击学生按钮后,进入了学生登陆系统
图5.2
代码如下:
PublicClassForm2
PrivateSubForm2_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
IfTextBox1.Text=""OrTextBox2.Text=""Then
MsgBox("用户名和密码不能为空?
")
Else
checkLoginName()
EndIf
EndSub
SubcheckLoginName()
DimstrconAsString="datasource=XP23;initialcatalog=books_management;userid=XP23\Administrator;pwd=;integratedsecurity=true;"
DimconAsSqlConnection=NewSqlConnection(strcon)
con.Open()
DimsqlAsString="select*from[student]where学号='"&TextBox1.Text.ToString().Trim()&"'and密码='"&TextBox2.Text.ToString().Trim()&"'"
DimcmdAsNewSqlCommand(sql,con)
DimreaderAsSqlDataReader
reader=cmd.ExecuteReader
Ifreader.Read()=TrueThen
Me.Hide()
Form4.Show()
Else
MsgBox("登陆失败,请检查你的用户名,密码,登陆权限是否正确")
EndIf
EndSub
3、当学生登陆成功后,进入查询界面,输入图书编号,点击“搜索”按钮可查询改图书信息。
如果点击“查询全部”按钮,即可查询所有的图书信息。
图5.3
按图书编号查询图书信息的代码如下:
DimconAsSqlConnection=NewSqlConnection(strcon)
con.Open()
DimstuNumAsString=Me.TextBox1.Text
DimselectStudentAsString="select*frombookswhere书号='"+stuNum+"'"
DimdsAsDataSet=NewDataSet()
DimdaAsSqlDataAdapter=NewSqlDataAdapter(selectStudent,con)
da.Fill(ds,"books")
Me.DataGridView1.DataSource=ds.Tables("books")
con.Close()
4、如果在图5.1中单击的是“管理员”按钮,则进入管理员登陆界面,如图5.4
图5.4
5、当成功登陆管理员系统后,进入图书管理界面,如图5.5
图5.5
6、当点击图5.5的“图书查询”按钮时,进入图书查询界面。
当单击“图书借阅信息查询”按钮时,学生的借阅信息将在下面显示,如图5.6。
当点击其他三个按钮时也会出现相应的信息。
图5.6
代码如下:
ImportsSystem.Data
ImportsSystem.Data.SqlClient
PublicClassForm6
DimstrconAsString="datasource=XP23;initialcatalog=books_management;userid=XP23\Administrator;pwd=;integratedsecurity=true;"
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimconAsSqlConnection=NewSqlConnection(strcon)
con.Open()
DimselectStudentAsString="select*fromborrow"
DimdsAsDataSet=NewDataSet()
DimdaAsSqlDataAdapter=NewSqlDataAdapter(selectStudent,con)
da.Fill(ds,"borrow")
Me.DataGridView1.DataSource=ds.Tables("borrow")
con.Close()
EndSub
7、当点击图5.5中的“图书管理”按钮时,进入图书管理界面,如图5.7
图5.7
8、当点击图5.5中的“图书借阅”按钮时,进入图书借阅界面,如图5.8。
图5.8
代码如下:
DimnameAsString=Me.TextBox3.Text
DimnumAsString=Me.TextBox4.Text
DimtimeAsString=Me.TextBox5.Text
Dimnum2AsString=Me.TextBox6.Text
DimaddclassAsString=String.Format("insertintoborrowvalues('{0}','{1}','{2}','{3}')",name,num,time,num2)
DimstrconAsString="datasource=XP23;initialcatalog=books_management;userid=XP23\Administrator;pwd=;integratedsecurity=true;"
DimconAsSqlConnection=NewSqlConnection(strcon)
con.Open()
DimcmdAsSqlCommand=NewSqlCommand(addclass,con)
DimresultAsInteger=cmd.ExecuteNonQuery()
If(result<1)Then
MessageBox.Show("添加失败!
","操作提示",,MessageBoxButtons.OK,MessageBoxIcon.Warning)
Else
MessageBox.Show("添加成功!
","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Me.Close()
EndIf
9、当点击图5.5中的“图书归还”按钮时,进入图书归还界面,如图5.9。
当点击下图中要删除的行时,根据学号和书号删除该列。
图5.9
代码如下:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimconAsSqlConnection=NewSqlConnection(strcon)
con.Open()
DimstuNum1AsString=Me.TextBox1.Text
DimstuNum2AsString=Me.TextBox2.Text
DimselectStudentAsString="select*fromborrowwhere学号='"+stuNum1+"'and书号='"+stuNum2+"'"
DimdsAsDataSet=NewDataSet()
DimdaAsSqlDataAdapter=NewSqlDataAdapter(selectStudent,con)
da.Fill(ds,"borrow")
Me.DataGridView1.DataSource=ds.Tables("borrow")
con.Close()
EndSub
PrivateSubDataGridView1_CellContentClick(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.DataGridViewCellEventArgs)HandlesDataGridView1.CellContentClick
DimstuidAsString=Me.DataGridView1.Rows(e.RowIndex).Cells(0).Value.ToString().Trim()
Dimstuid1AsString=Me.DataGridView1.Rows(e.RowIndex).Cells
(1).Value.ToString().Trim()
IfMessageBox.Show("确定要删除该用户吗?
","操作警告",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)=Windows.Forms.DialogResult.YesThen
DimdeleteStudentAsString=String.Format("DELETEFROMborrowWHERE学号='"+stuid+"'and书号='"+stuid1+"'")
DimconAsSqlConnection=NewSqlConnection(strcon)
con.Open()
DimcmdAsSqlCommand=NewSqlCommand(deleteStudent,con)
DimresultAsInteger=Convert.ToInt32(cmd.ExecuteNonQuery())
con.Close()
If(result<1)Then
MessageBox.Show("删除失败!
","操作结果"MessageBoxButtons.OK,MessageBoxIcon.Exclamation)
Else
MessageBox.Show("删除成功!
","操作结果"MessageBoxButtons.OK,MessageBoxIcon.Information)
Me.frmSearchStudent_Load(sender,e)
EndIf
EndIf
6、总结
通过此次实训,我受益匪浅。
这是第一次将数据库所学的理论知识用于实践,独立的设计一个系统程序。
对于我来说,在做这个系统的过程中,有好多不懂的地方如:
界面的设计、编码问题、用户需求问题等。
这个系统的功能还不够完善,很多地方因为所学的知识有限而没有做出来,这些都是不够好的地方,也是我一直需要努力的地方。
此次实训不仅让我了解到自身学习的不足之处,也让我扩展了知识面,是对书本所学的知识点的延伸。
在设计这个系统的过程中,我熟悉并掌握了MicrosoftSQLSevere2010和VB数据库的使用。
这是对自身知识丰富的一个过程,同时也感受到其中的快乐,激发了的兴趣,对于以后的学习有了更加坚定地信念。
7、参考文献
[1]周屹,艳娟.数据库原理及开发应用(第二版).:
清华大学.2007.
[2]肖慎勇.SQLserver数据库管理与开发.:
清华大学.2007