电气信息学院
《数据库原理与应用》实验报告
专业班级
09电信  01 
实验时间
2012 5 14
学生学号
094030120
实验地点
4B 305
学生姓名
屈家袁
指导教师
邹连英
实验项目
学生信息管理数据库系统设计
实验类别
设计实验
实验学时
8学时
实验目的及要求
1. 掌握SQL aerver 2008工具的使用方法;
2. 掌握 Dreamweaver开发数据库管理界面的方法;
3. 理解 SQL Server数据库添加、查询、更新、删除记录的过程;
4. 理解使用Web方式控制数据库的方法;
   
分值
得分
 
上机表现
按时出勤、遵守纪律
认真完成各项实验内容
30
报告质量
程序代码规范、功能正确
填写内容完整、体现收获
70
说明:
                            评阅教师:           
                                      期: 2012  5       
(说明:此部分应包含:实验内容、实验步骤、实验数据与分析过程等)
1、实验内容
创建学生信息管理系统
管理员管理模块    该模块主要由五个子模块构成,主要负责学生、教师、课程、班级等相关信息的管理功能。
        1)学生管理子模块
    该模块主要负责管理所有在校注册学生的个人信息。主要功能包括添加、删除、修改、查学生信息。每个学生有唯一的学号,管理员添加新生后,新生即可登录此系统浏览个人信息,登录此系统的用户名和密码默认都是此学生的学号。
        2)教师管理子模块
    该模块主要负责管理系统本校教师。管理员可添加新教师信息,主要功能包括添加、删除、修改、教师信息。
        3)课程管理模块
      该模块负责管理所有的课程信息。主要功能包括添加、删除、 修改、课程信息。只有管理员才具有对课程信息进行维护的权限。课程管理模块是选课管理模块的基础,只有在课程管理中添有课程的信息,学生才能进行选课。
        4)班级管理模块
该模块负责班级的管理。主要功能包括添加、删除和修改班级信息。只有管理员才具有对班级管理信息进行维护的权限。学生信息的添加是建立在班级信息维护的基础上,每个学生必然属于特定的班级。
    5)成绩管理模块
    学生选修的每一门课最后都有成绩,查询的内容包括课程名称、编号、成绩等。只有管理员可录入学生每一门课的成绩,并能进行修改,学生只能查询自己所学课程的成绩。
    学生操作模块        学生只能进入此模块,该模块主要有5个方面的功能。可操作有关个人的信息,如修改个人的登录密码、浏览相关的课程信息、进行选课操作、查看自己已经选修的课程、查询自己的成绩等。
      学会使用软件Microsoft visio画出学生信息管理数据库的E-R设计图、关系表设计、掌握数据库开发工具SQL Server的安装,IIS服务包的安装,网站设计工具Dreamweaver的安装,并使用这些软件来设计Web控制界面、Web与后台数据库数据交互代码设计、最后设计结果分析与总结。
2、实验方法与步骤
1)、学生信息管理数据库的系统模块图如下:
其中“系部和教师关系”的E-R分布图为:
“学生和课程关系”的E-R分布图为:
“教师和课程关系”的E-R分布图为:
最终的E-R图形显示如下:
2)、学生信息管理数据库的关系表设计如下所示:
1. “教师”与“系部”之间存在一对多的关系
      系部(系部编码,系部名称)
      教师(教师编码,教师姓名,性别,出生日期,职称)
2.    “学生”与“课程”之间存在多对多的关系
      学生(学号,姓名,性别,出生日期,入学成绩,班级编码)
      课程(课程编码,课程名,学分)
      选修(学号,课程编码,成绩)
3.  “教师”与“课程”之间存在多对多的关系
      教师(教师编码,教师姓名,性别,出生日期,职称)
      课程(课程编码,课程名,学分)
      授课(教师编码,课程编码)
4.  123处理结果进行综合,得到最终的关系数据模型
    系部(系部编码,系部名称)
    教师(教师编码,教师姓名,性别,出生日期,职称)
    学生(学号,姓名,性别,出生日期,入学成绩,班级编码)
    课程(课程编码,课程名,学分)
    选修(学号,课程编码,成绩)
    授课(教师编码,课程编码)
    班级(班级编码,班级名,所属专业)
    专业(专业编码,专业名,所属系部)
  三)、将数据库开发工具SQL Server的安装,IIS服务包的安装及网站设计工具Dreamweaver的安装好。
1)SQL Server的安装
      新建一个数据库  如下图所示:
安装成功后如下图所示:
    再按照首先是用户表(Users),用于存储学生管理系统中所有参与人员的信息,包括管理员登录信息、学生登录信息,这样做的目的是可以方便系统判断用户登录的类型,以及对用户类型的统一管理。用户表中主要包括用户名、用户密码、用户类型,具体定义如下表所示。本系统中最重要的对象是学生,学生表(student)就是用于存储所有学生信息的。具体定义如下表所示。学生所在班级信息相对独立,系统用班级表(class)记录所有班级信息。具体定义如下表所示。系统构建教师表(teacher)用来存储本校所有教师信息,教师信息表给出一个较为简单的结构。具体定义下表所示。 每一个教师讲授什么课程都有记录,我们教师授课表(teaching)来记录每位教师所上的课程。具体定义如下表所示。学生总是离不开课程,系统设计了课程表(course),用于存储本校所有课程信息,其中包括课程名、学分。具体定义如下表所示。学生所学课程都会有成绩,并且每个学生每一门课只有一个成绩。系统设计了成绩表(choice),用于存储本校所有学生所学课程信息。具体定义如表下表所示。学生所属专业情况记录在专业表(Professional)中,具体定义如下表所示。专业所属系部情况记录在系部表(department)中,具体定义如表下表所示。 系统使用Microsoft SQL Server 2005建立数据库,库名为student
在数据库中分别建立如下九张表格:
 
注:主键约束是最重要的约束类型,它是每条记录的标识符,即可能是该记录与其它记录得以区别开来的唯一不同,每张数据表只能设置一个主键,在表中定义的主键列不能有重复的值;非空指该输入值,没有时则出错。外键约束可以保证表和表之间数据一致性,它通过主键和外键建立起表与表之间的关联。其中包含主键的表称为父表,包含外键的表称为子表。当父表中的数据发生改变时,子表中的数据也会发生相应的变化,以此来保证参照的完整性,其中关于外键的设置都没有设置。
  2)、IIS服务包的安装   
      操作步骤为:
 
 
其中弹出下表后,点击浏览后选中IIS安装包中的内容。
 
 
3)、在Dreamweaver中设计Web界面。
    Dreamweaver中的步骤为:点击标题栏中的站点,点击新建站点如下图:
 
直接点下一步,
 
点击下一步
    将其中的位置改为与IIS先前所指位置一致。其余的直接点击下一步即可,关键是此处位置设置要与IIS中的一致。
4)、Dreamweaver中建立站点后将基本页面图形都画出来,完成各个页面之间的超链接,再与数据库连接,在右侧应用程序中选择数据库:
           
点击+号,选择自定义连接数据库
其中连接名称自己设定,我设定为Connections,在连接字符串中改为“Provider=SQLOLEDB;Server=QUJIAYUAN;Database=qujiayuan;UID=sa;pwd=123456”其意思是:提供者为:SQLOLEDB;服务器名为:server;自己建的数据库名为qujiayuan;其中数据库的用户名为:sa;密码为:123456.
连接成功后出现:
               
     
5)、所有网页的具体设计:
    首先将最基本的网页设计出来,在打开的页面中,先添加表单,在网站浏览中,很多交互行为是通过超链接来实现的,但是这种交互行为只是一个简单的方式,表单的出现使用户与网站的交互上升到一个新的高度。表单是网页中站点服务器处理的一组数据输入域,当用户单击按钮或图形提交表单后,数据就会传送到服务器。表单处理程序是服务器上的一个程序,当用户传送一个表单时,也就是开始执行该程序。表单域是网页上的一个数据输入域,用户可以在其中输入文本或选择在表单域中提供的信息。表单的形式有很多种,除了登录系统表单和搜索表单外,还可以是提供用户信息的表单。在表单中还可以包括单选按钮和复选框等表单元素。
    网页设计的基本过程和一些基本制作方法。
在设计这个页面之前,需要先在图像处理软件中处理要用的图像,然后新建一个文件夹,将这些图像文件都复制到这个文件夹中,以备使用。接着按以下步骤进行操作。
(1)    建立一个用于放置该网页及其相关网页的本地站点。
(2)    在站点中添加空网页。
(3)    设置页面的标题和背景图像。
(4)    在网页中插入图片、文本和水平线等对象,利用层将图像合理布局。
(5)    建立超链接。
(6)    预览和保存网页。
    网页的设计并不能一次完成,以上步骤可以重复进行。下面通过对这样一个简单网页的制作介绍网页制作一般流程。
具体的各页面设计如下:
    Log.asp页面的具体设计:
    首先将用户类型中的单选按钮改为:usertype,用户名中的文本域改为:sname,密码中的文本域改为:spwd。同时管理员的选定值设为1,学生的选定值设为2,这些都是与数据库中的添加的值保持一致的,在服务器行为中点击加号,再点击用户身份验证,最后点击登录用户。
 
像上表那样选择信息,然后修改代码:
MM_valUserpower=CStr(Request.Form("userpower"))
If MM_valUsername <> "" Then
  MM_fldUserAuthorization=""
  MM_redirectLoginAdminSuccess="admin.asp"
  MM_redirectLoginStudentSuccess="Student.asp"
  MM_redirectLoginFailed="Default.asp"
  MM_flag="ADODB.Recordset"
  set MM_rsUser = Server.CreateObject(MM_flag)
  MM_rsUser.ActiveConnection = MM_connection_STRING
  MM_rsUser.Source = "SELECT login_name, pass_word"
  If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
  MM_rsUser.Source = MM_rsUser.Source & " FROM dbo.login WHERE login_name='" & Replace(MM_valUsername,"'","''") &"' AND pass_word='" & Replace(Request.Form("密码"),"'","''") & "'AND power='"&Replace(Request.Form("userpower"),"'","''")&"'"
  MM_rsUser.CursorType = 0
  MM_rsUser.CursorLocation = 2
  MM_rsUser.LockType = 3
  MM_rsUser.Open
  If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then
    ' username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <> "") Then
      Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
    Else
      Session("MM_UserAuthorization") = ""
    End If
    if CStr(Request.QueryString("accessdenied")) <> "" And false Then
      MM_redirectLoginSuccess = Request.QueryString("accessdenied")
    End If
    'MM_rsUser.Close
    'Response.Redirect(MM_redirectLoginSuccess)
    If MM_valUserpower=1 Then
        Response.Redirect(MM_redirectLoginAdminSuccess)
    End If
    If MM_valUserpower=2 Then
        Response.Redirect(MM_redirectLoginStudentSuccess)
    End If
  End If
  MM_rsUser.Close
  Response.Redirect(MM_redirectLoginFailed)
End If
%>
意思是:如果是管理员身份则跳转到admin.asp页面,如果是学生登录则跳转至Student.asp页面。失败时则跳转至原登录页面。
其页面为:
      admin.asp的网页设计过程:
  先将文本域中的内容改为与数据库中的对应字段名一致。点击服务器行为中的记录集,点绑定后再插入,完成后再选择插入记录,选择重复区域,服务器行为中显示为: 
                 
  最后addstudent.asp的页面显示如下:
 
    对于修改,与删除页面,首先另外再建两个页面changeStu,DeleteStu。其中对于changeStu的页面,在服务器行为中选择记录集,并在筛选中选择sno,相关操作如下所示,其服务器行为为:
               
最终显示为:
对于删除页面服务器行为及最终显示的操作如下:
           
    以上两个页面做好后,再在 adminstudnt.asp中选中修改,然后在链接中写入代码:
changeStu.asp?sno=<%=(Recordset1.Fields.Item("sno").value)%>,其意思指跳转到changeStu页面,按照sno来筛选信息。
同理,选中删除,然后在链接中写入代码:
DeteleStu.asp?sno=<%=(Recordset1.Fields.Item("sno").value)%>,其意思指跳转到 DeteleStu 页面,按照sno来筛选信息。
 
      Perinformation.asp的网页设计过程:
  因为个人信息的显示只显示登录用户的个人信息,所以该网页添加的个人信息记录要经过筛选,通过阶段变量作为筛选条件
         
   
                   
  Perinformation.asp页面的最终显示为:
 
PasswordChange.asp的网页设计过程:
  先将文本域中的内容改为与数据库中的对应字段名一致。点击服务器行为中的记录集,点绑定后再插入,完成后再选择插入记录,操作显示为:
     
简单网页
   
                       
服务器行为:
  PasswordChange.asp页面的最终显示为:
 
   
               
  Myscore.asp页面的最终显示为:
  Adminteacher.asp教师管理页面的设计:
  添加记录集:
通过绑定将记录集里面的列对应的填入到表格中:
添加教师功能的实现,在服务器行为添加插入记录
将数据库中各列与表单中各个文本域相对应,最后显示效果:
3、    实验数据与结果分析
Default.asp页面运行后,结果为:
 
(一)如果是管理员登录则跳到admin.adp页面
管理员页面共有六个超链接共实现六个对应功能:
(1)学生管理页面对学生信息修改和删除,添加
运行结果:
(2)成绩管理 可以实现学生信息的显示
运行结果:
(2)如果以学生的身份登录 则跳到Student.asp页面
(3)
该页面共有四个超链接 分别实现对个人信息,密码修改,课程查询,成绩查询功能的实现
信息查询页面运行结果:
密码修改页面运行结果:
成绩查询页面运行结果:
通过这次数据库的实验,收获很大,不仅在理论上对数据库有一定的了解,更是在实践中掌握了数据库使用的部分技巧。
本次的实验是围绕设计学生信息管理系统的设计展开的,不仅要设计数据库还要设计相应的网页,通过网页实现对数据库的更新、删除、添加。本人觉得这是一个非常好的教学方法,把理论以实际运用的方式进行教学的方法使我们入门者更容易理解,更容易接受,不会因为无法理解纯理论而挫伤学习的激情。
在这次实验的过程中,遇到的困难和难题很多。主要是通过询问老师和同学解决的,也有部分是自己查相关的资料解决的。不过通过老师和同学的帮助会大大提高学习效率,不至于浪费很多时间,而且在与老师和同学的交流中会有意想不到的收获,会使我们从不同的角度去看待问题,思路会更加开阔。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。