数据库图书管理系统实训报告Word下载.docx
《数据库图书管理系统实训报告Word下载.docx》由会员分享,可在线阅读,更多相关《数据库图书管理系统实训报告Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
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课题简介
图书管理系统
通过本次实训,应熟悉并掌握数据库系统开发的基本方法,对理论教学中所讲的知识和基本概念有更进一步的理解,培养和提高实践操作能力,为今后从事计算机数据库系统的研究、开发、应用提供必要的准备。
利用这次的实训,提高学生对理论知识的理解能力和实践技能。
熟练掌握SQL语句的使用,掌握分析和设计数据库的方法,会结合高级程序设计语言完成数据库系统的实现过程,培养学生的自学能力和创新能力。
需求分析:
可行性分析、系统功能设计
概念模型设计
逻辑结构设计:
关系模式、规范处理、视图设计
④详细设计:
建立前台界面
⑤调试并运行
通过此次实训,学生能够熟练的建立数据库,并在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'
\图书管理数据库\books_management_log.ldf'
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(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()
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Form3.Show()
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
SubcheckLoginName()
DimstrconAsString="
datasource=XP23;
initialcatalog=books_management;
userid=XP23\Administrator;
pwd=;
integratedsecurity=true;
DimconAsSqlConnection=NewSqlConnection(strcon)
con.Open()
DimsqlAsString="
select*from[student]where学号='
'
and密码='
DimcmdAsNewSqlCommand(sql,con)
DimreaderAsSqlDataReader
reader=cmd.ExecuteReader
Ifreader.Read()=TrueThen
Me.Hide()
Form4.Show()
登陆失败,请检查你的用户名,密码,登陆权限是否正确"
3、当学生登陆成功后,进入查询界面,输入图书编号,点击“搜索”按钮可查询改图书信息。
如果点击“查询全部”按钮,即可查询所有的图书信息。
图5.3
按图书编号查询图书信息的代码如下:
DimstuNumAsString=Me.TextBox1.Text
DimselectStudentAsString="
select*frombookswhere书号='
+stuNum+"
DimdsAsDataSet=NewDataSet()
DimdaAsSqlDataAdapter=NewSqlDataAdapter(selectStudent,con)
da.Fill(ds,"
books"
Me.DataGridView1.DataSource=ds.Tables("
con.Close()
4、如果在图5.1中单击的是“管理员”按钮,则进入管理员登陆界面,如图5.4
图5.4
5、当成功登陆管理员系统后,进入图书管理界面,如图5.5
图5.5
6、当点击图5.5的“图书查询”按钮时,进入图书查询界面。
当单击“图书借阅信息查询”按钮时,学生的借阅信息将在下面显示,如图5.6。
当点击其他三个按钮时也会出现相应的信息。
图5.6
代码如下:
ImportsSystem.Data
Imports
PublicClassForm6
select*fromborrow"
borrow"
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)
DimcmdAsSqlCommand=NewSqlCommand(addclass,con)
DimresultAsInteger=cmd.ExecuteNonQuery()
If(result<
1)Then
MessageBox.Show("
添加失败!
"
操作提示"
,MessageBoxButtons.OK,MessageBoxIcon.Warning)
添加成功!
MessageBoxButtons.OK,MessageBoxIcon.Information)
Me.Close()
9、当点击图5.5中的“图书归还”按钮时,进入图书归还界面,如图5.9。
当点击下图中要删除的行时,根据学号和书号删除该列。
图5.9
DimstuNum1AsString=Me.TextBox1.Text
DimstuNum2AsString=Me.TextBox2.Text
select*fromborrowwhere学号='
+stuNum1+"
and书号='
+stuNum2+"
PrivateSubDataGridView1_CellContentClick(ByValsenderAsSystem.Object,ByValeAsDataGridViewCellEventArgs)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+"
+stuid1+"
DimcmdAsSqlCommand=NewSqlCommand(deleteStudent,con)
DimresultAsInteger=Convert.ToInt32(cmd.ExecuteNonQuery())
删除失败!
操作结果"
MessageBoxButtons.OK,MessageBoxIcon.Exclamation)
删除成功!
MessageBoxButtons.OK,MessageBoxIcon.Information)
Me.frmSearchStudent_Load(sender,e)
6、总结
通过此次实训,我受益匪浅。
这是第一次将数据库所学的理论知识用于实践,独立的设计一个系统程序。
对于我来说,在做这个系统的过程中,有好多不懂的地方如:
界面的设计、编码问题、用户需求问题等。
这个系统的功能还不够完善,很多地方因为所学的知识有限而没有做出来,这些都是不够好的地方,也是我一直需要努力的地方。
此次实训不仅让我了解到自身学习的不足之处,也让我扩展了知识面,是对书本所学的知识点的延伸。
在设计这个系统的过程中,我熟悉并掌握了MicrosoftSQLSevere2010和VB数据库的使用。
这是对自身知识丰富的一个过程,同时也感受到其中的快乐,激发了的兴趣,对于以后的学习有了更加坚定地信念。
7、参考文献
[1]周屹,李艳娟.数据库原理及开发应用(第二版).北京:
清华大学出版社.2007.
[2]肖慎勇.SQLserver数据库管理与开发.北京:
清华大学出版社.2007