大数据实习报告
目录
一、摘要
1.1项目背景……………………………………………………………2
1.2课程设计目的………………………………………………………2
1.3题目名称……………………………………………………………2
1.4开发环境……………………………………………………………2
二、需求分析
2.1 基本要求 ………………………………………………………3
2.2 实现的方法 ……………………………………………………3
三、数据库设计
3.1 数据库概念结构设计………………………………………………3
3.2数据库逻辑结构设计………………………………………………4
3.3 数据库物理设计……………………………………………………4
四、数据流图及程序结构框图…………………………………………………6
五、程序源代码及其说明………………………………………………………10
六、总结…………………………………………………………………………13
一、摘要
1.1 项目背景
图书管理系统是学院图书馆事务管理的一个重要内容,管理图书馆的各种信息,对学院图书馆来说是很重要的,这也是图书管-理-员的一个大问题。在这种情况下,一个可以规范化,自动化的图书管理系统对于图书馆来说显得至关重要。
最初的图书管理,都是靠人力完成,在图书馆规模比较小的时候,人力可以很好完成,但随着规模的增大,图书数量越来越多,这种管理的压力也越来越大,各种弊端显示出来。网络的到来给这带来了很大的便利,特别是对于图书管-理-员来说。
1.2课程设计目的
1. 熟悉大型数据库管理系统的结构与组成;
2. 熟悉数据库应用系统的设计方法和开发过程;
3. 掌握一种数据库管理系统SQL SERVER2015的应用技术;
4. 熟悉数据库设计工具的使用;
5. 熟悉数据库安全的相关知识和技术;
6. 熟悉数据库系统的管理和维护。
1.3题目及要求
题目:学院图书管理系统
图书管-理-员可以通过图书编号来查询到该图书的详细资料,并且查询
出该书的借出还入情况,以及借书者的个人资料等,该系统为图书管-理-员的管理提供了方便快捷。
要求:
1. 充分了解软件设计的全过程。
2. 从开始的系统需求分析到最后的代码编写,都要有详细的计划,设计文档应按照课程设计的要求书写。
3. 系统中的数据表设计应合理、高效,尽量减少数据冗余。
4. 数据库及表要易于维护、方便升级。
5. 必须包括数据库、表、查询、数据录入、删除、更新、约束建立等代码每人提交一个实训报告和可行的运行代码。
1.4 设计环境
1)、操作系统:windows XP
2)、数据库系统:Microsoft SQL Server 2000
二、需求分析
2.1 基本要求
按照题目的要求,要实现的基本功能有以下几条:
1)能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除; 2)能够实现对读者档案的查询和编辑管理; 3)能够进行罚款功能;
4)能够进行借阅历史的查询功能;
2.2 实现方法
按照要求,实现管-理-员的登录权限: 1)提供管-理-员对图书明细查询的功能; 2)管-理-员对图书等具有查询和修改权限; 3)按照借书的基本流程进行信息管理;
三、数据库设计
3.1 数据库概念结构设计
3.2 数据库逻辑结构设计
针对图书管理信息系统的需求,通过对借书流程的分析,设计如下面的数据项和数据结构:
注册信息表,包括的数据项有:(管-理-员类别、注册编号、密码、); 学生信息表,包括的数据项有:(编号、学号、姓名、班级、性别、年龄); 图书信息表,包括的数据项有:(图书编号、图书名称、图书类别、图书价格、作者性别、图书语言、出版日期、出版社);
借书信息表,包括的数据项有:(图书编号、借出时间、还书时间、学生编号);
3.3数据库物理设计
完成了数据库的逻辑设计之后,即可开始数据库的物理设计。基于以上数据库逻辑设计,考虑到程序设计的简易性及通用性,本图书管理信息系统采用的SQL Servier数据库,并在其下创建了以下数据表。
四、数据流图及程序结构框图
五、程序源代码及其说明
菜单界面代码:
Private Sub m_about_Click() frmAbout.Show End Sub
Private Sub m_book_Click() frmBookManage.Show End Sub
Private Sub m_bookquery_Click() frmBookQuery.Show End Sub
Private Sub m_exit_Click() Unload Me End Sub
Private Sub m_lend_Click() frmLoanManage.Show End Sub
Private Sub m_lend_report_Click() dsrBorrowManageReport.Show End Sub
Private Sub m_lendp_Click()
dsrLibraryRankReport.Show End Sub
用户登陆界面代码:
Option Explicit Private Sub CmdCancel_Click() Unload Me End Sub Private Sub CmdOk_Click() Dim miCount As Integer '用于记录输入密码次数 Dim str As String
str = "select 密码,管-理-员类别 from 管-理-员用户表 where 用户名 = '" & Trim(txtUserName.Text) & "'" Adodc1.RecordSource = str Adodc1.Refresh
If Adodc1.Recordset.EOF = True
Private Sub m_punish_Click() frmPunishManage.Show End Sub
Private Sub m_punish_report_Click() dsrFineManageReport.Show End Sub
Private Sub m_reader_Click() frmReaderManage.Show End Sub
Private Sub m_readerquery_Click() frmReaderQuery.Show End Sub
Private Sub m_rigister_Click() RegisterNewUsers.Show End Sub
Private Sub MDIForm_Load() If OA = True Then m_rigister.Enabled = False End Sub
Then MsgBox "用户名错误,请重新输入", vbExclamation, "警告" txtUserName.Text = "" txtUserName.SetFocus Else If
Trim(Adodc1.Recordset.Fields("密码")) = Trim(txtPassword.Text) And (OrdinaryUser.Value = True Or SuperUser.Value = True) Then
If OrdinaryUser.Value = True Then
OA = True
Else
SA = True End If
frmmdi.Show Unload Me Else
MsgBox "密码或管-理-员类别错误,请重新输入", vbExclamation,
读者管理信息界面代码:
Private Sub CmdAdd_Click() Adodc1.Recordset.AddNew CmdAdd.Enabled = False CmdDel.Enabled = False CmdOk.Enabled = True CmdCancel.Enabled = True MsgBox "添加读者信息成功" End Sub
Private Sub CmdCancel_Click() Adodc1.Refresh
CmdAdd.Enabled = True CmdDel.Enabled = True CmdOk.Enabled = False CmdCancel.Enabled = False End Sub
Private Sub CmdDel_Click() X = MsgBox("确实要删除当前记录吗?", vbYesNo + vbQuestion) If X = vbYes Then
http://lete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MoveLast End If Else
Adodc1.Refresh End If End Sub
Private Sub Cmdexit_Click()
"警告"
txtPassword.Text = ""
txtPassword.SetFocus End If End If
miCount = miCount + 1
If miCount >= 3Then Unload Me End Sub
Unload Me End Sub
Private Sub CmdFirst_Click()
Adodc1.Recordset.MoveFirst CmdFirst.Enabled = False CmdPre.Enabled = False CmdNext.Enabled = True CmdLast.Enabled = True End Sub
Private Sub CmdLast_Click()
Adodc1.Recordset.MoveLast CmdFirst.Enabled = True CmdPre.Enabled = True CmdNext.Enabled = False CmdLast.Enabled = False End Sub
Private Sub CmdNext_Click()
Adodc1.Recordset.MoveNext CmdFirst.Enabled = True CmdPre.Enabled = True
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MoveLast CmdLast.Enabled = False CmdNext.Enabled = False End If End Sub Private Sub CmdOk_Click() Adodc1.Recordset.Update CmdAdd.Enabled = True CmdDel.Enabled = True
CmdOk.Enabled = False CmdCancel.Enabled = False End Sub
Private Sub CmdPre_Click()
Adodc1.Recordset.MovePrevious CmdNext.Enabled = True CmdLast.Enabled = True
If Adodc1.Recordset.BOF = True Then
Adodc1.Recordset.MoveFirst CmdFirst.Enabled = False CmdPre.Enabled = False End If End Sub
Private Sub Form_Load()
CmdFirst.Enabled = False CmdPre.Enabled = False CmdNext.Enabled = True CmdLast.Enabled = True CmdAdd.Enabled = True CmdDel.Enabled = True
图书信息查询界面代码:
Private Sub Cmdexit_Click() Unload Me End Sub
Private Sub cmdquery_Click() Dim str As String
str = "select* from 图书表 where 图书表." & Combo1.Text & " like '" & Trim(Text1.Text) & "%'" Adodc1.RecordSource = str Adodc1.Refresh End Sub
Private Sub Combo1_Change() End Sub
Private Sub Form_Load() Combo1.AddItem "借阅状态"
新用户注册界面代码:
CmdOk.Enabled = False CmdCancel.Enabled = False CmdFirst.FontSize = 12 CmdPre.FontSize = 12 CmdNext.FontSize = 12 CmdLast.FontSize = 12 CmdAdd.FontSize = 12 CmdDel.FontSize = 12 CmdOk.FontSize = 12 CmdCancel.FontSize = 12 Cmdexit.FontSize = 12 Label1.FontSize = 12 Label2.FontSize = 12 Label3.FontSize = 12 Label4.FontSize = 12 Text1.FontSize = 12 Text2.FontSize = 12 Text3.FontSize = 12 Text4.FontSize = 12 End Sub
Combo1.AddItem "借阅次数" Combo1.AddItem "出版社" Combo1.AddItem "类别" Combo1.AddItem "书名" Combo1.Text = "借阅状态" Text1.Text = ""
Label1.FontSize = 12 Label2.FontSize = 12 Combo1.FontSize = 12 Text1.FontSize = 12 cmdquery.FontSize = 12 cmdexit.FontSize = 12 End Sub
Dim i As Integer
Private Sub CmdCancle_Click() Unload Me End Sub
Private Sub CmdEmpty_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" End Sub
Private Sub CmdExamine_Click() Dim str As String
Dim pcount As Integer
str = "select 用户名 from 管-理-员用户表"
Adodc1.RecordSource = str Adodc1.Refresh
If Adodc1.Recordset.BOF = False Then pcount =
Adodc1.Recordset.RecordCount End If
For i = 1 To pcount If
Trim(Adodc1.Recordset.Fields("用户名")) = Trim(Text1.Text) Then MsgBox "警告,该用户名已被注册!"
Text1.SetFocus
Exit For
End If
Adodc1.Recordset.MoveNext Next i
If i > pcount Then MsgBox "恭喜你,该用户名可用!": Text2.SetFocus End Sub
Private Sub CmdRegister_Click() Dim str As String
str = "select* from 管-理-员用户表"
Adodc1.RecordSource = str Adodc1.Refresh
If Adodc1.Recordset.BOF = False Then
pcount = Adodc1.Recordset.RecordCount End If If
i
Adodc1.Recordset.AddNew Adodc1.Recordset.Fields("用户名") = Trim(Text1.Text) Adodc1.Recordset.Fields("管-理-员类别") = Combo1.Text Adodc1.Recordset.Fields("密码") = Trim(Text2.Text) Adodc1.Recordset.Updat MsgBox "恭喜,成功注册新用户!"
Else MsgBox "对不起,两次输入密码不一致!" Text2.Text = "" Text3.Text = "" Text2.SetFocus End If End Sub
Private Sub Form_Load()
Combo1.AddItem "一般管-理-员" Combo1.AddItem "超级管-理-员" Combo1.Text = "一般管-理-员" End Sub
六、总结
这两周是我们SQL Server 数据库的实习,经过这次的实习,我对数据库这门课程有了更深的了解,简单的说下我对数据库的理解吧。我觉得它就是创建一些表格,然后再用一些语句根据他们之间的关系,把它们组合在一起,这次的实习我选择的是学院图书管理系统。首先我对创建该系统进行了项目背景与市场需求的分析,然后再开始动手做。
这次我们实习的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从实习中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。
在这次的实习中,我也遇到了不少困难。在结合具体的图书管理应用系统和SQL Sever2000,我遇到的困难有很多,比如如何把数据库连接到系统中,如何耐心地往表中输入数据,如何应用触发器,如何熟练掌握设计界面的方法…. 其实现在想想数据库学起来也是不难的,熟能生巧嘛,不懂的多问问老师,多自己动手练练,渐渐的就会了。但有一点必须注意,那就是上课必须跟着老师的进度走,一定要注意听讲,勤做笔记.这样,你学起来就会得心应手,没什么困难。 总之,在这次的实习中我受益匪浅。我们信管专业学的就是编程,系统开发这一方面的知识,这次的实习虽然我们最终做出来的系统还不是很成熟,但这至少勾起了我们对它的兴趣,从而在以后的学习过程中更有学习的动力,这样对以后工作也起到了很大的帮助作用。最后感谢老师们在我们的学习过程中给予我们的教导和帮助。希望我们以后在自己的专业的领域中能踏出一片天地!