武 汉 工 程 大 学
电气信息学院
《数据库原理与应用》实验报告
专业班级 | 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. 对1、2、3处理结果进行综合,得到最终的关系数据模型 系部(系部编码,系部名称) 教师(教师编码,教师姓名,性别,出生日期,职称) 学生(学号,姓名,性别,出生日期,入学成绩,班级编码) 课程(课程编码,课程名,学分) 选修(学号,课程编码,成绩) 授课(教师编码,课程编码) 班级(班级编码,班级名,所属专业) 专业(专业编码,专业名,所属系部) 三)、将数据库开发工具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小时内删除。
发表评论