数据库实习报告_第1页
数据库实习报告_第2页
数据库实习报告_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库系统课程设计学 号:学生:班 号: 指导教师:中国地质大学信息工程学院2012年3月3日=数据库实习报告教务管理系统一、需求分析1、首先要明确各个实体间的属性:a. 教师:工作证号,职称,系别;b. 学生:学号,性别,班级,系别,出生年月;d. 系别:系代号,系名,系办,公室;e. 课程:课序号,课名,学分,上课时间,名额。2、各个实体之间的联系:a. 每个学生都属于一个班;.每个教师也都属于一个系,每个班的班主任都由一名教师担任;d. 一名教师可以教多门课,一门课可以有几位主讲老师;e. 一名同学可以选多门课,一门课可被若干同学选中,一名同学选中的课若已 学完,应该记录有相应成绩。3、

2、总需求:本单位学生、教师都有重名,工作证号、学号可以作为标识。教学系统主要提供数据维护、选课和信息查询。常见的查询有:系统中各对象的基本信息查询;查询指定班、系的学生信息(、人数等);查询学生的成绩、学分情况;查询教师授课情况和学生选课情况等。二、概念设计1、概念模型(E-R图):a.授课关系E-R图b.选课关系E-R图2、数据字典:a.数据项系名:Dname, char, 20系代号:Dno, char, 3系办公室:Dtelepho nt,char, 11职称:Ttitle, char, 20工作证号:Tno, char, 10:Ttelephont, char, 11学号:Sno, ch

3、ar, 10 性别:Ssex, char, 2 出生年月:Sbirthday, date, :Sname, char, 20 课序号:Cno, char, 10:Tname, char, 20课名称:Cn ame, char, 20学分:Credit, float, 2上课时间:Ctime, datetime成绩:Grade, i nt名额:Cnumber, intb. 数据结构学生=学号、性别、出生年月教师=工作证号、教师、职称、所在系的系号系=系代号、系名、系办公室 课程=课序号、课名、学分、上课地点、名额、授课教师的工作证号选课=学号、课序号、成绩c. 数据流(说明,数据流来源,数据流去

4、向)变更系信息=变更系信息,变更信息,系信息 查询系信息=查询系信息,系代号,系信息 变更教师信息=变更教师信息,变更信息,教师信息查询教师信息=查询教师信息,工作证号,教师信息变更学生信息=变更学生信息,变更信息,学生信息查询学生信息=查询学生信息,学号,学生信息变更课程信息=变更课程信息,变更信息,课程信息 查询课程信息=查询课程信息,课序号,课程信息 学生选课=课程号,学号查询选课信息=查询选课信息,学号或课序号,选课信息 查询授课信息=查询授课信息,工作证号,授课信息 查询成绩=查询成绩, 学号&课程号,选课信息三、逻辑结构设计1关系模型教师(工作证号,职称,系代号)学生(学号

5、,,性别,出生年月)系(系代号,系名,系办公室)课程(课序号,课名,学分,上课时间,名额,工作证号)选课(学号,课序号,成绩)2、用户视图教师信息视图(工作证号,教师,职称,负责班级)学生信息视图(学号,性别,出生年月,班号)系信息视图(系代号,系名,系办公室)选课信息(课程号,学号)课程信息(课程号,课程名称,学分,上课时间,名额,授课老师)五、系统实施完成数据库的物理设计之后,设计人员就要用RDBM提供的数据定义语言和其他实用程 序设计和物理设计结果严格的描述出来,成为DMBM可以接受的源代码,再经过调试产生目标模式。然后就可以组织数据入库了,这就是数据库实施阶段。数据库实施阶段包括两项重

6、要的工作:1. 数据的载入:直接在SQL2012中建立 教师,学生,选课,系,课程六个表。 运用ODBC建立mysql的服务器,关联到 VB中。六、运行维护1 、数据库试运行数库的试运行阶段要实际运行数据库应用程序, 执行对数据库的各种操作, 测试应用程 序的功能是否满足设计要求。如果不满足,对应用程序部分则要修改、 调整,知道达到设计 要求为止。这一阶段特别强调两点,第一 该是分期分批的组织数据入库,先输入少量数据 做调试用,待试运行基本合格后,再大批量的输入数据。第二首先调试运行数据库管理系统的恢复功能, 做好数据库的转储和恢复工作,一旦故障发生,能使数据库尽快恢复,尽量减少数据库的破坏。

7、2、数据库的维护数据库的转储和恢复试系统正式运行后最重要的维护工作之一。要针对不同的应用要求制定不同的转储计划, 以保证一旦发生故障能够尽快将数据库恢复到某种一致状态,并尽可能减少对数据库的破坏。数据库运行阶段,主要是由数据库管理员完成经常性的维护工作。主要包括:a. 数据库的转储和恢复;b. 数据库的安全性、完整性控制;c. 数据库性能的监督、分析和改造;d. 数据库的重组织与重构造。七、小结两个周的数据库实习课程结束了,虽然数据库的设计工作完成的并不好,但是在这个过程中还是有些收获。 首先, 我知道了数据库的设计工作是有章可循的, 可以按照一定的步 骤、有规律的进行设计。 数据库可以按阶段

8、进行设计,在各个阶段有不同的目标,应遵循的原则和方法也各不相同, 还有一些应该注意的事项等等。 其中的重点是概念结构的设计和逻 辑结构的设计, 这也是整个数据库设计过程中最重要的两个环节。 人们在评述数据库的特点 时说,“三分技术,七分管理,十二分的基础数” ,在数据库建设中不仅涉及技术,还涉及管 理,要建设好一个数据库应用系统, 开发技术固然重要, 但是相比之下管理更为重要。 其次, 对数据库设计的各个阶段也有了初步认识。 在需求分析阶段, 主要的任务是通过详细的调查 现实世界重要处理的对象, 明确用户的各种需求, 然后在此基础上确定新系统的功能, 简单 地说, 也就是分析用户的需求, 它是

9、设计数据库的起点, 需求分析的准确与否直接关系到后 面各个阶段的设计。 在概念结构设计阶段, 要根据需求分析的结果抽象为信息结构, 主要就 是通过ER图来表现,不仅要考虑整个数据库的结构,还要注意子模式仕途的细节,它是 整个数据库设计的关键。 在逻辑结构的设计阶段, 主要任务就是把概念结构设计阶段设计好 的基本E-R图转换为数据库管理系统产品所支持的数据模型相符合的逻辑结构,是独立于任何一种数据模型的信息结构。 在物理结构设计阶段, 通常分为两步, 先确定数据库的存取方 法和存储结构, 后对物理结构进行评价, 评价重点是在时间和空间效率, 如果评价的结果满 足设计要求,则可进入物理实施阶段,否

10、则, 就需要重新设计或修改物理结构,有时甚至需 要逻辑设计阶段修改数据模型。 完成数据库的物理设计之后, 就要用数据库管理系统提供的 数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格的表示出来,这是还需要进行调试。 这些都是一些理论方法, 还是需要在实际工作中运用这些思想, 遵守设计原则, 注意各阶段工作的细节, 才能完成好数据库设计工作。 在以后的学习中会更加注意这些细节 问题,这样才会有所提高。八、附录VB源代码:1. 登陆界面代码:Private Sub Command1_Click()Dim rpt As IntegerIf Text1.Text = ""

11、; ThenIf Text2.Text = "123456" ThenIf Text3.Text = Label4.Caption ThenForm5.HideForm1.ShowElserpt = MsgBox(" 验证码错误 ", vbRetryCancel + vbExclamation, " If rpt = vbRetry ThenText3.Text = ""Text3.SetFocusEnd IfEnd IfElserpt = MsgBox(" 密码错误 ", vbRetryCancel +

12、 vbExclamation, " If rpt = vbRetry ThenText2.Text = ""Text2.SetFocusEnd IfEnd IfElserpt = MsgBox(" 用户名错误 ", vbRetryCancel + vbExclamation, "If rpt = vbRetry ThenText1.Text = ""Text1.SetFocusEnd IfEnd IfEnd Sub验证码 ")密码 ")用户名 ")Private Sub Command

13、2_Click()Form7.ShowForm5.HideEnd SubPrivate Sub Form_Load()Label5.FontSize = 15Label5.ForeColor = vbRed RandomizeDim x As Longx = Int(90000 * Rnd(0) + 10000 Label4.Caption = xEnd Sub2学生信息界面代码:Private sqlcon As New ADODB.Connection Private sqlres As New ADODB.Recordset Private sqlcmd As New ADODB.Com

14、mand Dim sqlstr As StringPrivate Sub Command1_Click()MakeSqlStr学生 where 学号 =" & sqlstrAdodc1.RecordSource = "select *fromAdodc1.RefreshEnd SubPrivate Sub Command2_Click()ret = MsgBox(" 是否要删除 " + Adodc1.Recordset(" 学号 ") + " 号学生的记录 ", vbYesNo, " 提示 &qu

15、ot;)If ret = vbYes Thensqlcmd.ActiveConnection = sqlconsqlcmd.CommandText = "delete from 学生 where 学号 =" + Adodc1.Recordset(" 学号 ") sqlcmd.ExecuteAdodc1.RecordSource = "select * from学生 "Adodc1.RefreshEnd IfEnd SubPrivate Sub Command3_Click()Dim sqlupstr As Stringsqlupstr

16、 = "select * from 学生 where 学号 =" & Trim(Text1.Text) sqlres.Open sqlupstr, sqlcon, adOpenDyamic, adLockPessimistic If Not sqlres.EOF ThenElse sqlres.AddNewsqlres(" 学号") = Text1.Text sqlres("") = Text2.Textsqlres(" 性别") = Text3.Text sqlres(" 出生日期 "

17、) = Text4.Text sqlres(" 系代号 ") = Text5.Text sqlres.UpdateEnd If sqlres.CloseAdodc1.RecordSource = "select * fromAdodc1.RefreshEnd Sub学生"Private Sub Command4_Click()Dim sqlupstr As Stringsqlupstr = "select *from学生 where 学号 =" & Trim(Text1.Text)sqlres.Open sqlupstr, s

18、qlcon, adOpenDyamic, adLockPessimistic If Not sqlres.EOF ThenElse sqlres.AddNew sqlres(" 学号") = Text1.Text sqlres("") = Text2.Text sqlres(" 性别") = Text3.Text sqlres(" 出生日期 ") = Text4.Text sqlres(" 系代号 ") = Text5.Text sqlres.UpdateEnd Ifsqlres.CloseAd

19、odc1.RecordSource = "select * from学生 "Adodc1.RefreshEnd SubPrivate Sub Form_Load() sqlcon.Provider = "SQLOLEDB" sqlcon.Open "Server=Y500-X64SQLEXPRESS;DataBase= 教务管理系统 ;UID=sa;PWD=;" End SubPrivate Sub Form_Unload(Cancel As Integer)sqlcon.CloseEnd SubPublic Sub MakeSqlS

20、tr()sqlstr = ""If Trim(Text6.Text) <> "" Thensqlstr = Trim(Text6.Text)End IfIf Trim(Text6.Text) = "" Thensqlstr = Text1.TextEnd IfEnd Sub3. 学生课程成绩代码:Private sqlcon As New ADODB.ConnectionPrivate sqlres As New ADODB.RecordsetPrivate sqlcmd As New ADODB.CommandDim s

21、qlstr As StringPrivate Sub Command1_Click()MakeSqlStrAdodc1.RecordSource = "select *from选修 , 学生 where 选修 . 学号 =" & sqlstrAdodc1.RefreshEnd SubPrivate Sub Form_Load()sqlcon.Provider = "SQLOLEDB"sqlcon.Open "Server=Y500-X64SQLEXPRESS;DataBase= 教务管理系统 ;UID=sa;PWD=;" En

22、d SubPublic Sub MakeSqlStr() sqlstr = ""If Trim(Text5.Text) <> "" Thensqlstr = Trim(Text5.Text)End IfIf Trim(Text5.Text) <> "" Then sqlstr = Text2.TextEnd IfEnd SubPrivate Sub Form_Unload(Cancel As Integer) sqlcon.CloseEnd SubPrivate Sub Image1_Click()Form1.

23、Picture = LoadPicture(picturefile)End Sub4. 教师信息代码:Private sqlcon As New ADODB.ConnectionPrivate sqlres As New ADODB.RecordsetPrivate sqlcmd As New ADODB.Command Dim sqlstr As StringPrivate Sub Command1_Click()教师 where 工作证号 =" & sqlstrMakeSqlStrAdodc1.RecordSource = "select *fromAdodc1

24、.RefreshEnd SubPrivate Sub Command2_Click()ret = MsgBox(" 是否要删除 " + Adodc1.Recordset("工作证号 ") + " 号教师的记录 "vbYesNo, " 提示 ")If ret = vbYes Thensqlcmd.ActiveConnection = sqlconsqlcmd.CommandText = "delete from 教师 where 工作证号 =" + Adodc1.Recordset("

25、工作证号 ") sqlcmd.ExecuteAdodc1.RecordSource = "select * from教师 "Adodc1.RefreshEnd IfEnd SubPrivate Sub Command3_Click()Dim sqlupstr As Stringsqlupstr = "select * from教师 where 工作证号 =" & Trim(Text1.Text)sqlres.Open sqlupstr, sqlcon, adOpenDyamic, adLockPessimisticIf Not sqlr

26、es.EOF ThenElse sqlres.AddNew sqlres(" 工作证号 ") = Text1.Text sqlres("") = Text2.Text sqlres(" 职称 ") = Text3.Text sqlres("") = Text4.Text sqlres(" 系代号 ") = Text5.Text sqlres.UpdateEnd Ifsqlres.CloseAdodc1.RecordSource = "select * from教师 "Adod

27、c1.RefreshEnd SubPrivate Sub Command4_Click()Dim sqlupstr As Stringsqlupstr = "select *from教师 where 工作证号 =" & Trim(Text1.Text)sqlres.Open sqlupstr, sqlcon, adOpenDyamic, adLockPessimisticIf Not sqlres.EOF ThenElse sqlres.AddNew sqlres(" 工作证号 ") = Text1.Text sqlres(""

28、;) = Text2.Text sqlres(" 职称 ") = Text3.Text sqlres("") = Text4.Text sqlres(" 系代号 ") = Text5.Textsqlres.UpdateEnd Ifsqlres.CloseAdodc1.RecordSource = "select * from教师 "Adodc1.RefreshEnd SubPrivate Sub Form_Load()sqlcon.Provider = "SQLOLEDB"sqlcon.Open

29、 "Server=Y500-X64SQLEXPRESS;DataBase= 教务管理系统 ;UID=sa;PWD=;" End SubPrivate Sub Form_Unload(Cancel As Integer)sqlcon.CloseEnd SubPublic Sub MakeSqlStr()sqlstr = ""If Trim(Text6.Text) <> "" Thensqlstr = Trim(Text6.Text)End IfIf Trim(Text6.Text) = "" Thensq

30、lstr = Text1.TextEnd IfEnd Sub5. 课程信息代码:Private sqlcon As New ADODB.ConnectionPrivate sqlres As New ADODB.RecordsetPrivate sqlcmd As New ADODB.CommandDim sqlstr As StringPrivate Sub Command1_Click()MakeSqlStrAdodc1.RecordSource = "select *from选修 where 课程号 &学号 =" & sqlstrAdodc1.Refr

31、eshEnd SubPrivate Sub Form_Load()sqlcon.Provider = "SQLOLEDB"sqlcon.Open "Server=Y500-X64SQLEXPRESS;DataBase= 教务管理系统 ;UID=sa;PWD=;" End SubPrivate Sub Form_Unload(Cancel As Integer) sqlcon.CloseEnd SubPublic Sub MakeSqlStr()sqlstr = ""If Trim(Text7.Text) <> "

32、" Thensqlstr = Trim(Text7.Text)End IfIf Trim(Text7.Text) = "" Thensqlstr = Text1.TextEnd IfEnd Sub6. 学生选课:Private sqlcon As New ADODB.ConnectionPrivate sqlres As New ADODB.RecordsetPrivate sqlcmd As New ADODB.Command Dim sqlstr As StringDim sqlupstr As StringPrivate Sub Command2_Click()Form8.HideEnd SubP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论