数据库应用原理实验报告Word格式.docx
《数据库应用原理实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《数据库应用原理实验报告Word格式.docx(23页珍藏版)》请在冰点文库上搜索。
![数据库应用原理实验报告Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/11/128d95f9-874a-4ba7-ae3c-6ac34a0a133c/128d95f9-874a-4ba7-ae3c-6ac34a0a133c1.gif)
主要包括:
学生信息查询、课程信息查询和成绩查询等;
⑶具备一定的安全性管理功能。
包括操作员的权限设置、密码设置、重新登录和修改口令等功能。
本系统使用前面实践已经建好的服务器端SQLServer数据库—Student,具体创建方法见前面实践。
1、学生成绩管理模块设计
学生成绩管理功能包括:
成绩录入和修改两项操作。
本模块所需数据表tb_cjinfo。
此操作只能有教师来完成。
点击“成绩录入”,弹出成绩录入界面,在成绩录入窗口中的表格中输入学生成绩。
单击“保存”后,学生各科成绩保存到数据库中。
点击“成绩修改”,弹出成绩修改界面,在成绩修改窗口中要修改的学生成绩表格中输入学生成绩。
单击“保存”后,修改后的成绩保存到数据库中。
2、统计查询模块设计
此模块中可以分别对学生信息、课程信息和学生成绩进行查询,其中学生成绩是以按班级查询方式进行查询。
同时可以根据学生各科的总成绩进行班级排名和专业排名,并实现打印功能。
3、用户管理模块:
在这里可以对用户进行添加、删除、修改、权限设置四项操作。
(1)、用户添加:
所用数据表:
tb_user;
点击“添加用户”,弹出用户添加界面,在用户添加窗口中相应的文本框中输入用户名、密码和确认密码,选择用户权限,点击“确定”按钮,先对两次输入的密码进行比较,如过比较的结果相同,则将输入的用户名和密码信息添加到用户数据表中,否则提示“两次输入的用户名密码相同”,如果所添加的用户名在数据表中已存在,则提示“该用户名已存在”。
修改成功后提示“添加用户成功”。
(2)、用户修改:
点击“用户维护”按钮,弹出用户维护界面,在用户维护界面中的用户修改面板中选择要修改的用户名,选择后在相应的文本框中显示该用户的用户名,然后在“请输入新密码”文本框中输入新密码,选择用户权限,点击“修改”按钮,则对数据表中相应用户名的密码字段进行修改。
修改后提示“密码修改成功”。
(3)、用户删除:
点击“用户维护”按钮,在用户维护界面中的用户删除面板中选择要删除的用户名,选择后在相应文本框中显示用户信息,点击“删除”按钮,则对数据表中相应用户名的数据进行删除。
删除成功后提示“用户删除成功”。
(4)、权限设置:
在用户添加界面中可以对用户权限进行设置,在用户维护界面中的用户修改面板中可以对用户权限进行修改,用户权限分教务处管理员、任课教师和学生三种。
教务处管理员:
可以进行基础信息管理、用户管理和数据库备份三项操作。
任课教师:
可以进行学生成绩管理管理、统计查询、密码修改三项操作。
学生:
只能进行学生成绩查询和密码修改两项操作。
4、系统管理模块设计
系统管理模块用于实现系统关闭和数据库备份。
5、系统登录:
所用数据表:
tb_user。
系统登录:
输入完用户名和密码后,当点击登录按钮时,按用户名字段对用户数据表进行查询,查找出相应用户名的密码,如果查找出的密码与输入的密码相匹配时,登录成功,进入系统。
如果输入的用户名或密码不正确,提示“用户名或密码不正确”。
1.2系统流程图
该系统的主要流程从用户输入用户名密码开始,系统进行身份验证后进入系统,完成各种操作后退出系统。
如图1-2:
管教学
理
员师生
图1-2系统流程图
第二章数据库逻辑设计
2.1概念模型(E-R图)
学生(学号、姓名、性别、出生日期、院系、班级)
课程(课程号、课程名、开课学期、任课教师)
成绩(学号、课程号、成绩)
第三章创建学生成绩管理数据库
3.1创建学生成绩管理数据库
1.实验内容
使用SQLServer企业管理器创建名为xscjglxt的数据库。
2.实验步骤
(1).打开SQLServer企业管理器,出现图
(1)所示的界面。
.单击左端“+”号层层展开直到在屏幕上出现“数据库”、“master”、“model”、“msdb”、“tempdb”、等项。
图
(1)企业管理器
(2).用鼠标右键单击“数据库”选项,从弹出的快捷键菜单图
(2)中选择“新建数据库”选项,此时会出现“数据库属性”对话框图(3),在“名称”文本框中输入数据库名“xscjglxt”,单击[确定]按钮,以便默认的参数创建了一个名为“xscjglxt”数据库。
图
(2)数据库操作快捷菜单图(3)“数据库属性”对话框
(3).在“xscjglxt”数据库上单击鼠标右键,在弹出的菜单中选择“属性”选项图(4),
进入“xscjglxt属性”对话框,在该对话框内单击“数据文件”和“事物日志”选项卡的设置参
数,如图(5)
图(4)“xscjglxt”数据库快捷菜单图(5)“xscjglxt属性”对话框
3.2创建信息表
1.实验内容
使用SQLServer企业管理器,在“xscjglxt”数据库上创建“T-XSB”、“T-KCB”、“T-CJB”表。
其中:
T—XSB(学生表)用来存储一个学校内学生的基本信息:
T—KCB(课程表)用来存储于学生相关的课程基本信息;
T—CJB(成绩表)用来存储于学生所选课程的成绩基本信息。
通过这3张表建立一个简单的学生信息管理系统。
3张表的结构如下
表1学生表(T-XSB)表结构
字段
数据类型
长度
是否允许空值
备注
学号
Char
8
否
主键
性别
10
姓名
2
是
出身日期
Smalldatetime
4
院系
20
班级
Tesr
16
表2课程表(T--KCB)表结构
课程号
课程名
30
开学学期
Tinyint
1
任课教师
表3成绩表(T-CJB)表结构
数据结构
成绩
2.实验初始数据
表4学生表(T-XSB)初始记录
S0000001
王小燕
女
1978-12-1
管理学院
工商管理1班
S0000002
刘丽华
1977-1-15
S0000003
秦刚
男
1975-11-30
电子商务1班
S0000004
李建国
1976-6-24
S0000005
郝一平
1977-5-17
信息学院
信息1班
S0000006
杨双军
1978-4-28
S0000007
张清高
1979-1-23
信息2班
S0000008
赵志浩
1978-10-1
表5课程表(T-KCB)初始记录
课程表
开课学期
C001
计算机文化基础
李尊朝
C002
操作系统
3
罗建军
C003
C004
微机原理及接口技术
张云生
C005
计算机网络
C006
电子商务概论
C007
管理学
陈璇
C008
软件基础
C009
面向对象语言程序设计
表6成绩表(T-CJB)初始记录
学号
课程号
成绩
80
69
78
89
54
67
66
87
97
91
3.步骤
(1).打开SQLServer企业管理器,在树形目录中找到“xscjglxt”数据库并展开它,选择数据库对象“表“,在“表“对象上单鼠标右键,则弹出其快捷菜单,如图(6)
图(6)“表”的快捷菜单
(2)从弹出的快捷菜单选择“新建表”选项,则弹出“表结构设计”窗口,如图(7),所示。
该窗口的上半部分是一个表格,在这个表格中输入”学号”、”姓名”、”性别”、”出生日期”、”院系”
等列的属性,表格的每一行对应一个列定义。
(3)用鼠标单击“学号”列,在工具栏中单击”钥匙”图标按钮,可将“学号”字段设置为主
键(主关键字),此时“学号”前将出现一钥匙图标,如图(7)
图(7)表结构设计窗口
(4)将表结构输入完后,单击[保存]按钮将出现“选择名称”对话框,如图(8)所示。
输入表名“T-XSB”后,单击[确定]按钮就完成了学生表结构的设计,创建了一张空表。
图(8)输入表名
(5)按上述第2~5步的方法,按表
(2)、表(3)的要求,分别创建课程表“T-KCB”成绩表
“T-CJB”结构
(6)返回企业管理器主界面,在表对象的显示窗口内找到表名,在其上单击鼠标右键,在弹出菜单中,选择“打开表”选项中的“返回所有行”命令,如图(9)所示:
图(9)“打开表”级联菜单
(7)选择“返回所有行”命令后,将出现“表数据录入及维护”窗口,如图(10)所示。
根据
表(4)所列出的实验数据,向表“T-XSB”中添加记录
图(10)表数据录入及维护窗口
(8)按第6~7步所示方法将表(5)、(6)所列出的数据输入到“T-KCB”和“T-CJB”表中
3.3创建关系图
使用SQLServer企业管理器建立3个关系表的关系图,并保证表中数据的唯一性。
2.实验步骤
(1)运行SQLServer企业管理器,在树形目录中找到“xscjglxt”数据库并展开它,选择
数据库对象”关系图”,在”关系图”选项上单鼠标右键,则弹出一快捷菜单,如图所示
图(11)“关系图”快捷菜单
(2)在弹出的快捷菜单中选择“新建数据库关系图”选项,则弹出“创建数据库关系图向导”
对话框,如图(12)所示。
在该对话框中单击[下一步]按钮,“选择要添加的表“对话框,这个对话框中选择表”T-XSB”、”T-KCB”、”T-CJB”,并单击[添加]按钮,将选中表添加到右列表框中,如图(13)中。
单击[下一步]按钮,检查所选择的表是否正确,如图(14)所示
(3)单击“完成”按钮,完成数据库关系图的创建,会出现“新关系图”窗口,如图(15)所示。
图(12)“创建数据库关系图向导”对话框图(13)“选择要添加的表”对话框
图(14)正在完成数据库关系图向导图(15)“新关系图”窗口
(4)在“新关系图”窗口内,将光标放在“T-KCB”表中课程号“字段前的”
标识处,
单击鼠标左键,此时”课程号”字段呈被选中状态,拖动鼠标到表”T-CJB”上,放开鼠标左键将
弹出创建关系对话框,如图(6)所示在”主键表”和”外键表”中都选择”课程号”字段并单击
创建中检查现存数据”对复制强制关系”和”UPDATE强制关系”3个复选框然后单击[确定]按钮.
图(16)“创建关系”对话框
(5)按上述第4步的方法,建立学生表“T-XSB”成绩表“T-CJB”在学号字段上的关系,
如图(17)所示
图(17)创建关系后的窗口
(6)单击[保存]按钮,在弹出的“另存为”对话框中输入新关系图的名称,如图(18)所示
图(18)保存数据库关系图
3.4创建视图
使用SQLServer企业管理器建立名为视图。
作为成绩查询的操作对象
(1)打开SQLServer企业管理器,在树形目录中找到“xscjglxt”数据库并展开它,选择
数据库对象“视图“,在“视图“选项上单鼠标右键,则弹出一快捷菜单,如图所示
图(19)“视图”快捷菜单
(2)在弹出的菜单中选择“新建视图”选项,则弹出“新视图”对话框,如图(20)
所示,在对话框上半部分的灰色框内单击鼠标右键,从弹出的菜单中选择“选择添
加表”选项,回出现“添加表”对话框,如图(21)所示
图(20)新建视图窗口图(21)“添加表”对话框
(3)在“添加表”对话框中,选择表“T--XSB”“T-KCB”“T--CJB”,单击[添加]按钮,关
闭“添加表”对话框,返回新视图窗口,如图(22)所示,在3个表的字段前可通过字段左边
的复选框选择要添加到视图中的字段(不同表中名称相同的字段只勾选一次)
图(22)添加表后的新视图窗
(4)单击[保存]按钮,在弹出的“另存为”对话框中输入新视图的名称,如图(23)所示
单击[确定]按钮,完成新视图的建立。
图(23)“另存为”对话框
3.5为数据库建立索引
创建索引可以大大提高系统的性能。
第一,通过创建唯一性索引,可以保证每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是所以的最主要原因。
第三,可以加速表与表之间的连接,特别是实现数据的参考完整性方面特有意义。
第四,在使用ORDERBY和GROUPBY子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能。
A.创建索引:
(1)在class表的cno列上创建非聚集索引。
CreateindexclassrnameONclass(cno)
(2)在student1表的sno列上创建非聚集索引。
Createuniqueindexstudent1noONStudent1(sno)
(3)在Student1表的sno列创建一个非聚集索引,要求索引键值按sno升序排列。
Createindexstudent1noONstudent1(snoASC)
B.删除索引:
(1)删除student1表中的student1no索引。
Dropindexstudent1no
第四章在PB设计平台上数据库的实现
⑴创建应用库及应用对象:
利用PB新建应用库gm.pbl,应对象名为gm,注释为“学生成绩管理系统”。
对应用对象的Open事件进行编程,程序代码如下:
open(w_welcome)//打开启动封面窗口
//设置数据库连接参数
SQLCA.DBMS="
MSSMicrosoftSQLServer6.x"
SQLCA.Database="
student"
SQLCA.LogPass="
sa"
SQLCA.ServerName="
XBSERVER"
SQLCA.LogId="
SQLCA.AutoCommit=False
SQLCA.DBParm="
"
connect;
//判断连接是否成功,若不成功,则提示出错信息,并返回
ifsqlca.sqlcode<
>
0then
messagebox("
错误"
"
数据库连接错误,轻检查后重试!
stopsign!
)
close(w_welcome)
return
endif
close(w_welcome)//关闭封面窗口
⑵创建全局变量:
在应用程序中定义全局信息;
⑶菜单设计:
根据应用系统的功能要求,设计菜单结构,其中将菜单名称命名为m_main,注释为“主菜单”,其中的图标选用的是系统内置的图标;
⑷创建数据窗口,根据需要创建以下数据窗口:
①d_student:
学生信息录入数据窗口。
创建选项:
“Grid”显示风格,“QuickSelect”数据源,“student”表选择所有列,按”Sno”排序,“性别”一栏的编辑风格选用”DropDownListBox”,增加”男”、”女”两项,“出生日期”的编辑风格选用”EditMask”,内容为”yyyy/mm/dd”。
②d_student2:
学生信息查询数据窗口。
“Grid”显示风格,“QuickSelect”数据源,“student”表选择所有列,其他可不变。
③d_course:
课程设置数据窗口。
“Grid”显示风格,“QuickSelect”数据源,“course”表选择所有列,属性设置与d_student相同
④d_course2:
课程查询数据窗口。
方法与d_student2类似。
⑤d_operator:
操作员管理数据窗口。
“Grid”显示风格,“QuickSelect”数据源,“operator”表选择所有列,其他可不变。
⑥d_score:
成绩录入数据窗口。
创建方法与d_student类似。
⑦d_score_student:
按学生_成绩查询数据窗口。
“Group”显示风格,“SQLSelect”数据源,选择打开“student”、“course”和“sc”三个表。
一次选择“sc”表的sno列、“student”表的sname列、“sc”表的cno列、“course”表的cname列和“sc”表的grade列,在分组对话框中,选择“sc”表的sno列、“student”表的sname列进行分组。
在数据窗口对象的Design视图中选中细目区(detail)中的sc_grade列,在其属性视图的Font选项卡中的TextColor属性后的条件框中输入if(sc_grade<
60,rgb(255,0,0),rgb(0,0,0)),使不及格的成绩呈红色显示。
在组尾区(GroupTrailer)中插入一个静态文本框控件和一个计算域控件用于显示“平均成绩:
”提示文本和每组的平均成绩,并且在属性视图的Format选项卡中设定计算域控件的显示格式为“0##.0”
⑧d_score_course:
按课程_成绩查询数据窗口。
创建方法与d_score_student类似。
(5)创建窗口并在窗口中放置所需控件,根据需要创建以下窗口:
①w_welcome:
封面窗口;
②w_login:
登录窗口;
③w_main:
主窗口;
④w_changepassword:
口令修改窗口;
⑤w_operator:
操作员管理窗口;
⑥w_student_input:
学生信息录入窗口;
⑦w_student_query:
学生信息查询窗口;
⑧w_course_set:
课程设置窗口;
⑨w_course_query:
课程查询窗口;
⑩w_score_input成绩录入窗口;
⑾w_score_query_student按学生成绩查询窗口。
参考文献
【1】
SQL学生成绩管理系统设计
【2】
基于SQL学生成绩管理系统课程实验报告
【3】张龙祥,黄正端,龙军.《数据库原理与设计》.人民邮电出版社
【4】蔡荣华《数据库原理与应用》实践指导书
【5】SQLServer2000管理与应用开发教程王晶人民邮电出版社(2009-10出版)