1、拥有最高的权限。允许添加教师信息和课程信息等。其提供了简单、方便的操作。3 概要设计3.1功能模块图功能模块图,如下图3.1所示学生信息管理系统学生基本信息班级基本信息管理员基本信息学生成绩信息课程基本信息教师基本信息图3.1 功能模块图3.2数据流图数据流图,如图3.2所示 图3.2 数据流程图4 数据库设计4.1实体及其属性 (1)学生实体及其属性,如下图4.1所示图4.1 学生实体(2)教师实体及其属性,如图4.2所示图4.2 教师实体(3)管理员实体及其属性,如图4.3所示图4.3 管理员实体(4)课程实体及其属性,如图4.4所示图4.4 课程实体(5)班级实体及其属性,如图4.5所示
2、图4.5 班级实体(6)成绩实体及其属性,如图4.6所示成绩课程号学号门人数图4.6成绩实体4.2局部E-R图4.2.1学生-班级局部E-R图学生-班级局部E-R图如下图4.7所示:图4.7学生-班级局部E-R图4.2.2教师-课程局部E-R图教师-课程局部E-R图如下图4.8所示:图4.8教师-课程局部E-R图4.2.3学生-课程局部E-R图学生-课程局部E-R图如下图4.9所示:图4.9学生-课程局部E-R图4.3全局E-R图全局E-R图,如图4.10所示管理员登陆密码管理员ID勤编号图4.10全局E-R图4.4关系表教师信息表如下表4-1所示:表4-1 教师信息表字段名 类型空值约束条件
3、教师IDvarchar(8)not null主键教师姓名登录密码课程信息表如下表4-2所示:表4-2 课程信息表 varchar(8)课程名称varchar(12)外键班级信息表如下表4-3所示:表4-3 班级信息表班级号班级名称所属学院varchar(6)班级人数nchar(4)管理员信息表下表4-4所示:表4-4 管理员信息表 varchar(10)varchar(10)成绩信息表下表4-5所示:表4-5 成绩信息表 varchar(15)主键,外键smallint学籍信息下表4-6所示:表4-6 学籍信息表int 姓名varchar(30)性别char(2)籍贯char(10)money
4、5 关键技术实现5.1创建数据库创建数据库,如下图5.1所示图5.1 创建数据库5.2 创建基本表5.2.1教师信息表创建create table 教师信息表(教师ID varchar(8) primary key ,教师姓名varchar(8) not null unique,登录密码varchar(8) not null,)5.2.2课程信息表创建create table 课程信息表(课程号varchar(8) primary key,课程名称varchar(12) not null,教师ID varchar(8) not nullforeign key(教师ID) references
5、教师信息表(教师ID) 5.2.3班级信息表创建create table 班级信息表(班级号varchar(8) not null primary key,班级名称varchar(8) not null unique,所属学院varchar(8) ,班级人数 nchar(4) 5.2.4学籍信息表创建create table 学籍信息表(学号varchar(15) primary key,姓名varchar(8) not null ,性别varchar(4) ,班级号varchar(8) not null ,籍贯varchar(5) ,登录密码varchar(6) not nullforeig
6、n key (班级号) references 班级信息表(班级号)5.2.5成绩信息表创建create table 成绩信息表(学号varchar(15),课程号varchar(8),成绩smallint primary key(学号,课程号)foreign key (学号) references 学籍信息表(学号),foreign key (课程号) references 课程信息表(课程号)5.2.6管理员信息表创建管理员ID varchar(8) primary key,登录密码 varchar(12) not null5.3视图的创建5.3.1“教师课程详细信息”视图创建create
7、view 教师课程详细信息asSELECT 教师信息表.教师ID,教师信息表.教师姓名,课程信息表.课程号,课程信息表.课程名称,教师信息表.登录密码FROM 教师信息表JOIN 课程信息表 ON 教师信息表.教师ID =课程信息表.教师ID视图创建结束的结果图如下图5.2所示:图5.2 教师详细信息视图5.3.2 “学生成绩信息”视图创建create view 学生成绩信息SELECT 学籍信息表.学号,学籍信息表.姓名,学籍信息表.性别,课程信息表.课程名称,成绩信息表.成绩FROM 成绩信息表JOIN 学籍信息表 ON 成绩信息表.学号 = 学籍信息表.学号JOIN 班级信息表 ON 班
8、级信息表.班级号 = 学籍信息表.班级号JOIN 课程信息表 ON 课程信息表.课程号 = 成绩信息表.课程号学生成绩信息视图创建结束的结果图如下图5.3所示:图5.3 学生成绩信息视图5.4 存储过程创建5.4.1“单科成绩排名”创建create proc dbo.单科成绩排名kechenname char(8),classname char(8)select 学籍信息表.学号,姓名,成绩 from 成绩信息表 join 课程信息表on 课程信息表.课程号=成绩信息表.课程号 join 学籍信息表on 学籍信息表.学号=成绩信息表.学号join 班级信息表on 班级信息表.班级号=学籍信息表
9、.班级号 where 课程名称=kechenname and 班级名称=classnameorder by 成绩desc5.4.2“全班排名”创建create proc dbo.全班排名class char(8)select 学籍信息表.学号,姓名, avg(成绩) as 平均分,sum(成绩) as 总分 join 学籍信息表 on 成绩信息表.学号=学籍信息表.学号join 班级信息表 on 班级信息表.班级号=学籍信息表.班级号where 班级信息表.班级名称=classgroup by 学籍信息表.姓名,学籍信息表.学号 order by avg(成绩) desc,学籍信息表.学号5.
10、5 触发器创建5.5.1 创建教师信息表-课程信息表之间的触发器。 创建触发器,使教师中某教师信息修改后,相应的在课程信息表中也要将相应教师的信息修改。创建触发器如下图5.4所示:图5.4 教师信息表-课程信息表之间的触发器5.5.2 创建成绩信息表的触发器为成绩信息表创建触发器,使得成绩在0-100分之间。创建过程如下图5.5所示图5.5在成绩信息表创建触发器如下图5.6中在成绩信息表中插入两条信息图5.6 在成绩信息表中插入两条子信息5.6数据库的备份和恢复5.6.1数据库备份数据库的备份信息如下图5.7所示BACKUP DATABASE student TO DISK = Nf:cmSt
11、aff.bak图5.7 数据库备份 5.6.2数据库还原数据库的还原如下图5.8所示RESTORE DATABASE student FROM disk= N图5.8 数据库还原6 数据库安全性控制新建两个数据库用户madmin和cai,manager用户能够查看和删除student数据库中的学生信息,而Writer用户能够插入和更新student数据库的学生信息。用户madmin的权限如下图6.1所示,用户cai的权限如下图6.2所示图6.1用户madmin的权限图6.2用户cai的权限7 总结与展望课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,
12、是对学生实际工作能力的具体训练和考察过程。本次课程设计虽然很辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2