选课系统分析与设计.doc_第1页
选课系统分析与设计.doc_第2页
选课系统分析与设计.doc_第3页
选课系统分析与设计.doc_第4页
选课系统分析与设计.doc_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

学生选课系统数据库系统概论选课系统分析与设计组号:组名:2015.01.09目录第一章 绪论11.1课程设计背景11.2课程设计目的11.3课程设计思路1第二章 工作分配22.1人员分配22.2工作进度2第三章 需求分析33.1功能要求与数据流图33.2数据要求即实体关系图53.3数据字典6第四章 功能设计84.1总体功能设计84.2分块功能设计84.2.1学生功能84.2.2老师功能84.2.3管理员功能94.2.4教学办94.2.5教务处9第五章 数据库的总体设计105.1库功能的设计105.2表的详细设计105.3表之间的关系125.4表之间的流程12第六章 代码实现126.1建库建表126.2功能的实现16 6.2.1学生功能166.2.2老师功能196.2.3管理员功能216.2.4教学办226.2.5教务处24第七章 系统实现267.1登陆界面实现267.2学生功能实现277.3管理员功能实现347.4老师功能实现377.5教学办功能实现417.6教务处功能实现497.7公有功能52第八章 改进对比54 8.1 问题解决方法548.1.1 2.0版问题解决方法548.1.2 3.0版问题解决方法548.1.3 4.0版本已经是最后的版本548.3 实现功能上的对比558.3.1登录比较558.3.2教师功能操作56第九章 项目总结57第一章 绪论1.1课程设计背景 学生选课系统在各大高校都是不可缺少的一个系统,各大高校都需要一个比较完善的系统对选课信息进行管理。其中,很明显的是对信息的存储和处理上是我们需要解决的问题,学生需要进行选课,老师领导需要进行相关的操作等等,这些比较细的部分都是需要我们通过一个完整的系统来完成的。因此,一个好的高效的选课系统也是被需要的。 在这个信息网络发达的时代,利用网络来进行信息管理已经是必不可少的趋势了,因为运用网络的方式不仅可以使得工作进行简化,而且还可以节约资源,提高工作效率,社会在进步,如果我们的工作方式还是停留在原来的基础上,那么我们的工作成效势必不会有很大,因此,在这样的社会背景之下,我们必须适应潮流,与时俱进。1.2课程设计目的 学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说是至关重要的,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询方式。传统的通过文档的方式来管理学生信息的方式,在现在来看是非常的低效而且准确度也经常不是很高的,因此通过计算机方式的改进是非常必要的。 在这次学生选课系统的设计中,我们组想通过网络的方式实现系统所有功能的一体化。在项目的实现过程中,我们主要是想采用自学的Java语言来实现项目中的功能,已达到让我们的项目能够满足当前的需求,实现信息管理的这一目的。其中,除了要完成我们的项目之外,我们还根据这学期我们开设的数据库这门课的特征,进行学以致用,将所学到的数据库的知识运用到我们的项目中来,这样,一来可以使我们的项目的存储结构更加的方便有效,二来也达到了我们这门课的课程目标,在实践中进行学习,从而提高我们的学习效率,当然,最后实现完成简化传统的选课的方式。1.3课程设计思路 在完成一个系统的设计中,当然比较重要的是存储方式和所采用的语言实现方式已达到使用最简单的方式来完成对系统各个功能的实现。 在这次数设计的过程中,我们在存储上面是采用的数据库,其中,我们设计的基本表有学生信息表、课程信息表、教师信息表、专业信息表、系信息表,衍生出来的表有选课表和开设课程表。这里我们的基本表的信息基本是不会变动的信息,衍生表是会根据选课的适合进行变化的。其中这次数据库的设计过程中我们组除了基本表的结构设计外,主要解决的问题有转专业信息的修改、评教信息的处理、课程如果有条件限制的时候的处理、表与表之间的连接关系。 在项目的设计过程中,我们在查询上面也还是做了一定的设计的,在每个角色的查询上面分别得才用到了不同的查询方式,比如按编号查询、按名字进行查询等等,多样化的查询方式使得我们的系统具备了方便简洁的特征,同时在程序员方面进行考虑,程序员在编码上当然还是需要一定的技术的,同时也方便了程序员的编码工作。除此之外,我们还想在语言的使用上进行一个转换,尽量通过使用Java来实现界面的方式,这样可以使用户在使用的时候比较直观简洁,从而完成系统的所有的功能。第二章 工作分配2.1人员分配数据库的设计全员参与讨论(每个人根据老师上课的时候所讲的系统进行意见的提出,具体内容参照工作进度中所列出的)报告的编写(主要进行讨论后讨论结果的总结和最后完整的报告的编写)图的绘制(实体关系图)(数据流程图)(表的树形图)角色代码的完成(数据库)(学生块) (教师)(教学办) (教务处)(管理员)前台代码的编写(Java)(主界面、学生、老师、综合)(管理员、教务处)(教学办)2.2工作进度12月3号(星期三) 全员在上午上完计算机网络实验课程后进行讨论,每人就老师上课所讲的数据库系统进行自己的意见的发表,内容 为:表的列、表与表之间的联系关系(即主键、外键和衍生关系)、功能的设计、删除表和添加表的理由等在讨论过程中遇到的问题。(参与者:全员)12月3号(晚上) 编写报告的成员就白天讨论的结果做成初步的报告,并且上传群共享,最晚时间不得超过星期四。(负责人:)12月4号 结合讨论和报告的内容,所有成员在群里面进行最后的讨论,提出最后需要修改的地方。(参与者:全员)12月5号 编写报告的成员结合群里讨论的最后结果进行报告的修改,然后进行上传群共享和发给老师。(负责人:)12月6号库和基本表的完成。()12月7号角色分配。()12月8号小组完成各自功能代码。(全员)12月13号相应的功能和关系图的完善,即汇总。()12月18号全小组进行最后的讨论。(全员参与)12月19号进行最后的报告的修改。()12月30号1月3号进行前台的代码的编写。()1月3号报告的编写()1月4号PPT的制作()注:在讨论的过程中根据大家的实际情况进行工作分配,然后再各个项中进行相互协调相互帮助完成。第三章 需求分析3.1功能要求与数据流图(1)登录信息数据流图 注:登录信息是每个角色都会进行的操作,角色在登录信息的时候,首先应该输入自己的用户名和账号,然后根据登录信息表进行核对信息,看是否存在该信息,也即是信息的验证的过程,登录失败会提示登录失败的提醒,登录成功会进入相应的操作界面,除此之外,登录信息也可以进行修改,修改为完成后,会将相应的修改信息更新到相应的表中去。(2)开设课程数据流图注:在开设课程设计中,首先是老师向教务处进行申请开课,将其任课请求和信息进行提交,然后教务处根据老师的请求进行排课,并将排课信息添加到选课信息表中,并标明是开设的课程。(3) 学生选课数据流图注:学生选课,首先是学生进入学生选课的界面,该界面中显示可选课程,然后学生进行选择,选中课程后,进行信息的核对,将选课信息添加到课程信息表中。(4)查看资料数据流图注:查看资料也是很多的角色会用到的,这里当然是根据自己的角色进行登录到相应的界面进行操作,查看资料。(5)录入成绩数据流图注:老师根据选课信息表中的信息进行查看自己所教授的课程和确定自己该门课的学生,然后找到相关的消息,进行成绩的评定,然后更新相应的表。(6)评教数据流图注:评教成绩是学生对老师的评价,学生进入相应的操作界面进行操作。3.2数据要求即实体关系图 根据我们的设计的思路,我们整理出来的我们的主要的实体有系、专业、课程、学生、教师,他们相应的关系如图所示。3.3数据字典(1)学生信息表字段名字段类型字段长度学号varchar10姓名varchar50性别varchar2出生日期varchar20所在系varchar10第一专业varchar10第二专业varchar10原专业varchar10(2) 课程信息表字段名字段类型长度课程编号varchar10课程名称varchar50先行课varchar50学分int (3) 教师信息表字段名字段类型长度教师编号varchar10姓名varchar50性别varchar50出生日期varchar50所在系varchar50职称varchar50学历varchar50(4) 专业信息表字段名字段类型长度专业号varchar10专业名varchar10所在系varchar10(5)系信息表字段名字段类型长度系编号varchar10系名varchar10(6)开设课程信息表字段名字段类型长度课程编号varchar10教师编号varchar10专业号varchar10限选人数int上课时间varchar6上课地点varchar10(7)选课信息表字段名字段类型长度学号varchar10课程编号varchar10教师编号varchar10成绩float评教分float开课情况varchar10第四章 功能设计4.1总体功能设计 根据项目的讨论结果来看,我们的项目主要分为5大块,这些功能的设计也是和项目的设计目的相呼应的,一方面是为了满足使用者的需求,一方面是满足管理者的需求,为了达到这样的一个目的,在功能设计上我们结合实际,根据实际的需求进行功能的设计,满足所有用户的需求。 在设计功能这块,我们主要是将角色划分为5大部分,然后根据角色来进行功能的设计。五大块为学生、老师、管理员、教学办、教务处,主要是要实现的是学生选课、管理员对课程的控制、领导对课程的查询的功能,从而实现对数据的管理。4.2分块功能设计 4.2.1学生功能 (1)、选课 注:学生在选课表里选择要修的课程。 (2)、查看课表 注:学生查看自己所选的课程信息。 (3)、退课 注:学生退选自己所选的课程。(4) 、查看成绩 注:查看自己所选课程的成绩。(5) 、学生评教 注:用于学生给老师的教学情况做个评价。(6) 、查看个人资料 注:查看自己的个人资料,姓名,性别等。(7) 、修改密码 注:修改登录密码。 4.2.2老师功能(1) 、查询所授课程信息 注:教师查看自己所授课程的课程信息。(2) 、查看所教学生信息 注:教师查看自己所教学生的学生信息。(3) 、录入成绩 注:教师对学生的学习情况打分(4) 、查看个人资料 注:查看自己的个人资料,姓名,性别等(5) 、修改密码 注:修改登录密码 4.2.3管理员功能(只管理用户表的信息)(1)、添加用户信息 注:添加用户类型、用户名和密码(2) 、删除用户信息 注:删除某个用户(3) 、修改用户信息 注:修改某个用户的用户类型、用户名(4) 、查看用户信息 注:查看用户的基本信息(5) 、修改密码 注:修改登录密码 4.2.4教学办(1) 、向教师信息表、学生表、课程表、专业表和系表添加信息 注:添加基本信息(2) 、向教师信息表、学生表、课程表、专业表和系表删除信息 注:删除基本信息(3) 、向教师信息表、学生表、课程表、专业表和系表修改信息 注:修改表中的某一项或几项信息(4) 、查询教师信息表、学生表、课程表、专业表和系表信息 注:通过查询语句查询基本信息(5) 、排课 注:添加课程的上课时间、地点、任课老师等信息。 (6)、转专业 注:处理学生的转专业问题。(7) 、修改密码 注:修改登录密码4.2.5教务处(1) 、查询某个教师的教学情况 注:查看某个老师某门课的平均评教分(2) 、查询所有教师的教学情况 注:查看所有老师所授课程的平均评教分(3) 、查询一个学生的学习情况 注:查看某个老师某门课的平均成绩(4) 、查询所有学生的学习情况 注:查看所有老师所授课程的平均成绩(5) 、修改密码 注:修改登录密码第五章 数据库的总体设计5.1库功能的设计 根据数据库的使用人群为学生和学校的管理员这类需要对库的内容进行更改的人群,设计的表有选课表(学生进行选课后的信息存储表)和开设课程表(管理员控制的哪些课可以供学生进行选择),除此之外,根据这些表的生成还需要的基本信息表的支撑和其他需要进行查询的人群(领导等)的需要,设计的基本表有学生信息表、课程信息表、专业信息表、系信息表、教师信息表。5.2表的详细设计(1)、学生信息表*学号姓名出生日期所在系第一专业第二专业原专业 注:红色代表主键,这里设计原专业的目的是为转专业的学生进行服务的,即:若A生由计科转入软件班,则第一专业由原来的计科修改为软件,原专业为计科,保留原来计科的信息,不转专业的学生原专业项为空或与第一专业一样。(2)、课程信息表*课程编号 课程名称先行课学分 注:红色部分为主键,作为基本表为其他的表做支撑。(3)、教师信息表*教师编号姓名性别出生日期所在系职称学历 注:红色部分为主键,作为基本表为其他的表做支撑。(4)、专业信息表*专业号专业名所在系注注注 注:红色部分为主键,作为基本表为其他的表做支撑。(5)、系信息表*系编号系名 注:红色部分为主键,作为基本表为其他的表做支撑。(6)、开设课程信息表*课程号教师编号课程专业限选人数上课时间上课地点课程简介注:这里特别要注意的是课程专业的设定,这是为了条件选课的时候用的,即:计科专业的学生不能再继续选修数计院的课了。(7)、选课信息表 学号课程号教师编号成绩评教分开课情况 注:这里没有主键,主要信息都是从别的表中得到的,注意表中的开课情况是根据开设课程表中的限选人数决定的,若人数不够则不开。(8)、登录信息用户类型账号密码 注:这个表格主要是用来存储 所有用户的登录账号和密码。5.3表之间的关系5.4表之间的流程(1)、基本表:学生信息表、课程信息表、专业信息表、系信息表、教师信息表。这些表都是在学校的系统中早就输入的基本上是不会做很大的变动的。(2)、根据选课的要求设计的表有开设课程表和选课表。这些表的更动是比较大的,信息也是来自基本表。(3)、学生信息表为选课表提供学号信息,这个表还有记录学生的专业变动的学生增减的情况的功能,其中有列第一专业、第二专业、原专业这三列,设有第一、二专业是为有双学位的学生设的,原专业和第一专业的关系是如果有转专业的情况,就将第一专业修改为转入后的专业,原专业修改为转入前的专业,这里就解决了转专业的问题。(4)、专业表为学生表、教师表和开设课程表中的课程专业提供相应的专业的信息。(5)、系信息表为学生和教师提供相应的系的信息。(6)、教师信息表为开设课程表中的教师编号提供信息。(7)、课程信息表为开设课程表中的课程号提供信息。(8)、开设课程表中的课程主要是来自课程表,即开设课程表中的课程数比课程表中的课程数少。其中有列课程专业是为对选课学生条件的限制的时候的查询,即:计科专业的学生进行选课的时候,数计学院的课会被排除,不会出现在学生可以看到的屏幕上。(9)、选课表是所有的工作完成后生成的表,其中开课情况是限制有的课程由于学生人数没有选够就不开的情况,但是不做删除的操作,只是修改开课情况这列的信息。第六章 代码实现6.1建库建表use masterif exists (select *from sysdatabases where name=xk)drop database xk -删除数据表else print 没有xkgo-创建数据表create database xk on(name=xk_main,filename=d:t.mdf,size=5mb,filegrowth=15%)log on(name=xk_log,filename=d:t.ldf,size=5mb,filegrowth=15%)gouse xkgo-创建登录信息表(用于存储各类用户的登录用户名和密码)create table 登录信息(用户类别varchar(50) not null,账号varchar(50) not null primary key,密码varchar(50) default 123456)-创建系信息表(用于存储各院系的基本信息)CREATE TABLE dbo.系(系编号 varchar(10) COLLATE Chinese_PRC_CI_AS primary key NOT NULL,/设置主键系名 varchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL) ON PRIMARYGOSET ANSI_PADDING OFF-创建专业信息表(存储各专业的基本信息)CREATE TABLE dbo.专业(专业号 varchar(10) COLLATE Chinese_PRC_CI_AS primary key NOT NULL,专业名 varchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL,所在系 varchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL,foreign key (所在系) references 系(系编号) ON PRIMARYGOSET ANSI_PADDING OFF-创建教师信息表(存储所有老师的基本信息)create table 教师信息(教师编号varchar(10) NOT NULL primary key,姓名varchar(50) NOT NULL,性别varchar(50) not null,出生日期varchar(50) NOT NULL,所在系varchar(50) NOT NULL,职称varchar(50) NOT NULL,学历varchar(50) NOT NULL)-创建课程信息表(存储所有课程的基本信息)create table 课程信息(课程编号varchar(10) NOT NULL primary key,课程名称varchar(50) NOT NULL,先行课varchar(50) default null,学分int NOT NULL)-创建学生信息表(存储所有学生的基本信息)CREATE TABLE dbo.学生(学号 varchar(10) COLLATE Chinese_PRC_CI_AS primary key NOT NULL,姓名 varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,性别 varchar(2) COLLATE Chinese_PRC_CI_AS NOT NULL,出生日期 varchar(20) COLLATE Chinese_PRC_CI_AS NOT NULL,所在系 varchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL,第一专业 varchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL,第二专业 varchar(10) COLLATE Chinese_PRC_CI_AS NULL,原专业 varchar(10) COLLATE Chinese_PRC_CI_AS NULL,foreign key (所在系) references 系(系编号) on update cascade on delete cascade,-设置外键foreign key (第一专业) references 专业(专业号) on update cascade on delete cascade,-on update cascade on delete cascade适用于进行修改和删除主键信息从而相应的外键也删除) ON PRIMARYGOSET ANSI_PADDING OFF-创建开设课程表(存储所开设的课程的基本信息)if exists(select * from sysobjects where name=开设课程表)drop table score_infogocreate table 开设课程表(课程编号varchar(10) primary key ,教师编号varchar(10) not null,专业号varchar(10) not null,限选人数int not null,上课时间varchar(6) not null,上课地点varchar(10) not null,foreign key (课程编号) references 课程信息(课程编号) on update cascade on delete cascade,foreign key (教师编号) references 教师信息(教师编号) on update cascade on delete cascade,foreign key (专业号) references 专业(专业号) on update cascade on delete cascade)go-创建选课信息表(存储可供学生选课的课程信息)if exists(select * from sysobjects where name=选课信息表)drop table 选课信息表gocreate table 选课信息表(学号varchar(10) not null,课程编号varchar(10) not null,教师编号varchar(10) not null,成绩float null,评教分float null,开课情况varchar(10) null,foreign key (学号) references 学生(学号) on update cascade on delete cascade,foreign key (课程编号) references 课程信息(课程编号) on update cascade on delete cascade,foreign key (教师编号) references 教师信息(教师编号)on update cascade on delete cascade )go6.2功能的实现 6.2.1学生功能-作者:-角色:学生-功能:- 1.搜索课程(根据课程名称通过课程信息表和开设课程表进行多表链接查询)- 2.查看选课情况(通过查询语句从选课信息表里查询自己所选的课程信息)- 3.选课(通过添加语句向选课信息表里添加数据)- 4.退课(通过删除语句从选课信息表里删除数据)- 5.学生评教(用于学生给老师的教学情况做个评价)- 6.查看个人资料(查看自己的个人资料,姓名,性别等)- 7.修改密码(修改登录密码)-已选人数视图drop view 已选人数create view 已选人数(课程编号,已选人数)asselect 课程编号,count(*)from 选课信息表group by 课程编号select *from 已选人数-平均评教分视图drop view 平均评教分create view 平均评教分(课程编号,教师编号,平均评教分)asselect 课程编号,教师编号,avg(评教分) from 选课信息表group by 课程编号,教师编号select *from 平均评教分-创建搜索课程视图(用于搜索可供选择的课程的详细信息)drop view 搜索课程create view 搜索课程(课程编号,课程名称,先行课,学分,授课老师,课程专业,限选人数,已选人数,上课时间,上课地点)asselect 课程信息.*,教师信息.姓名,专业.专业名,开设课程表.限选人数,已选人数.已选人数,开设课程表.上课时间,开设课程表.上课地点from 专业,教师信息,课程信息,开设课程表,已选人数where 课程信息.课程编号=开设课程表.课程编号and 开设课程表.教师编号=教师信息.教师编号and 开设课程表.专业号=专业.专业号and 已选人数.课程编号=开设课程表.课程编号select *from 搜索课程-按照条件进行搜索课程,即:计科专业的学生不能搜索到计科专业的课程select *from 搜索课程where 课程专业not in (计科) order by 课程编号-2.查看选课情况(查询某个学生所选的课程信息)-创建学号为*的学生选课生成表视图create view 选课生成表(学号,姓名,课程编号,课程名称,学分,任课老师,课程专业,限选人数,上课时间,上课地点,开课情况)asselect 选课信息表.学号,学生.姓名,课程信息.课程编号,课程信息.课程名称,课程信息.学分,教师信息.姓名,专业.专业名,开设课程表.限选人数,开设课程表.上课时间,开设课程表.上课地点,选课信息表.开课情况from 学生,教师信息,专业,开设课程表,课程信息,选课信息表where 学生.学号=选课信息表.学号and 开设课程表.课程编号=课程信息.课程编号and 开设课程表.课程编号=选课信息表.课程编号and 专业.专业号=开设课程表.专业号and 教师信息.教师编号=开设课程表.教师编号select *from 选课生成表-按姓名查找的选课生成表视图create view 选课生成表(学号,姓名,课程名称,学分,课程专业,任课老师,限选人数,上课时间,上课地点)asselect 选课信息表.学号,学生.姓名,课程信息.课程名称,课程信息.学分,专业.专业名,教师信息.姓名,开设课程表.限选人数,开设课程表.上课时间,开设课程表.上课地点from 学生,教师信息,专业,开设课程表,课程信息,选课信息表where 学生.学号=选课信息表.学号and 开设课程表.课程编号=课程信息.课程编号and 开设课程表.课程编号=选课信息表.课程编号and 专业.专业号=开设课程表.专业号and 教师信息.教师编号=开设课程表.教师编号and 学生.姓名=张三 select *from 选课生成表-3.选课(通过添加语句向选课信息表里添加数据)insert into 选课信息表values(201204,2004,3004,NULL,NULL,NULL)select 选课信息表.学号,课程信息.课程名称,教师信息.姓名,选课信息表.成绩,选课信息表.评教分,选课信息表.开课情况from 选课信息表,教师信息,课程信息where 选课信息表.课程编号=课程信息.课程编号and 选课信息表.教师编号=教师信息.教师编号-4.退课(通过删除语句从选课信息表里删除数据)delete from 选课信息表where 课程编号=2001select 选课信息表.学号,课程信息.课程名称,教师信息.姓名,选课信息表.成绩,选课信息表.评教分,选课信息表.开课情况from 选课信息表,教师信息,课程信息where 选课信息表.课程编号=课程信息.课程编号and 选课信息表.教师编号=教师信息.教师编号order by 学号-5.学生评教(用于学生给老师的教学情况做个评价)update 选课信息表set 评教分=90 where 教师编号=3002select 选课信息表.学号,课程信息.课程名称,教师信息.姓名,选课信息表.成绩,选课信息表.评教分,选课信息表.开课情况from 选课信息表,教师信息,课程信息where 选课信息表.课程编号=课程信息.课程编号and 选课信息表.教师编号=教师信息.教师编号order by 学号-6.查看个人资料(查看自己的个人资料,姓名,性别等)select 学生.学号,学生.姓名,学生.性别,学生.出生日期,系.系名,专业.专业名,学生.第二专业,学生.原专业from 学生,系,专业where 学生.学号=201201 and 学生.所在系=系.系编号and 学生.第一专业=专业.专业号select 学生.学号,学生.姓名,学生.性别,学生.出生日期,系.系名,专业.专业名,学生.第二专业,学生.原专业from 学生,系,专业where 学生.姓名=张三 and 学生.所在系=系.系编号and 学生.第一专业=专业.专业号-7.修改密码(修改登录密码)-update 登录信息set 密码=000000 where 账号=201201select *from 登录信息-创建修改学生密码的视图(每个用户只能修改自己的登录密码)create view passwd_stu(账号,密码)asselect 账号,密码from 登录信息where 账号=201201select *from passwd_stuupdate passwd_stu set 密码=654321 where 账号=2012016.2.2老师功能-作者:-角色:教师-功能:- 1.查询学生信息(通过对选课信息表和学生表进行多表链接查询查看选该老师某门课的学生信息)- 2.老师查询自己开课的课程信息(通过对开设课程表和课程信息表进行多表链接查询查看该老师开课的课程信息)- 3.老师查询开课的评教分(通过查询语句从选课信息表里查询评教分(取平均分)- 4.老师进行课程简介(老师在开设课程表里填写课程简介)- 5.查看个人资料(查看自己的个人资料,姓名,性别等)- 6.修改密码(修改登录密码)-平均成绩视图drop view 平均成绩create view 平均成绩(课程编号,教师编号,平均成绩)asselect 课程编号,教师编号,avg(成绩)from 选课信息表group by 课程编号,教师编号select *from 平均成绩-教师查看学生信息视图drop view 学生信息create view 学生信息(学号,姓名,性别,课程编号,课程名称,课程专业,成绩,教师编号)asselect 选课信息表.学号,学生.姓名,学生.性别,选课信息表.课程编号,课程信息.课程名称,专业.专业名,选课信息表.成绩,选课信息表.教师编号from 选课信息表,学生,课程信息,专业,开设课程表where 选课信息表.学号=学生.学号and 专业.专业号=开设课程表.专业号and 课程信息.课程编号=开设课程表.课程编号and 课程信息.课程编号=选课信息表.课程编号select *from 学生信息-(1)老师查看学生信息drop view 学生信息create view 学生信息(学号,姓名,性别,课程名称,课程专业,教师编号)asselect 选课信息表.学号,学生.姓名,学生.性别,课程信息.课程名称,专业.专业名,选课信息表.教师编号from 选课信息表,学生,课程信息,专业,开设课程表where 选课信息表.学号=学生.学号and 专业.专业号=开设课程表.专业号and 课程信息.课程编号=开设课程表.课程编号and 课程信息.课程编号=选课信息表.课程编号select *from 学生信息-(2)老师查看自己开课的课程信息select a.* ,b.学分from 开设课程表as ainner join 课程信息as bon (a.教师编号=3001 and a.课程编号=b.课程编号)-(3)老师查看平均分select avg(评教分) from 选课信息表where 教师编号=3001-(4)老师给成绩update 选课信息表set 成绩=78 where 学号=(select 学号from 选课信息表where 课程编号=2001)-(5)查看个人资料select * from 教师信息where 教师编号=3001-(6)修改密码(运用存储过程)create proc gaimizh varchar(50), mm varchar(50), -原密码nmm varchar(50) -新密码asif(mm=(select 密码from 登录信息where 账号=zh)beginupdate 登录信息set 密码=nmm where 账号=zhprint 改密成功!新密码是+nmmendelsebeginprint 你提供的信息有误,改密失败endexec gaimi 123456,qwerty,6543216.2.3管理员功能-作者:-角色:管理员-功能:主要是管理账号信息- 1.添加用户表信息(添加用户类型、用户名和密码(密码可设置初始值)- 2.删除用户表信息(删除某个用户)- 3.修改用户表信息(修改某个用户的用户类型、用户名和密码)- 4.搜寻用户表信息(搜索用户的用户类型、用户名和密码)- 5.查看个人资料(查看自己的个人资料,姓名,性别等)- 6.修改密码(修改登录密码)-添加用户表信息(添加用户类型、用户名和密码(密码可设置初始值)insert into 登录信息values(学生,201209,123456);select *from 登录信息-删除用户表信息(删除某个用户)delete from 登录信息where 账号=201209-修改用户表信息(修改某个用户的用户类型、用户名和密码)update 登录信息set 用户类别=教师,密码=234567where 账号=201209-搜寻用户表信息(搜索用户的用户类型、用户名和密码)select *from 登录信息where 账号=201209-查看个人资料 -查看学生资料select c.学号,c.姓名,c.性别,c.出生日期,x.系名,z.专业名,c.第二专业,c.原专业from 学生c,专业z,系x where c.所在系=x.系编号and c.第一专业=z.专业号and 学号=201201 -查看老师资料select j.教师编号,j.姓名,j.性别,j.出生日期,x.系名,j.职称,j.学历from 教师信息j,系x where j.所在系=x.系编号 and 教师编号=3001-修改密码update 登录信息set 密码=123456789where 账号=2012096.2.4教学办-作者:-角色:教学办-功能:- 1.向教师信息表、学生表、课程表、专业表和系表添加信息(添加基本信息)- 2.向教师信息表、学生表、课程表、专业表和系表删除信息(删除基本信息)- 3.向教师信息表、学生表、课程表、专业表和系表修改信息(修改表中的某一项或几项信息)- 4.查询教师信息表、学生表、课程表、专业表和系表信息(通过查询语句查询基本信息)- 5.查看个人资料(查看自己的个人资料,姓名,性别等)- 6.查询所有学生的选课信息(用视图,多表连接查询)- 7.查询所有教师的授课信息(用视图,多表连接查询)- 8.修改密码(修改登录密码)-create view passwd_jxb(账号,密码)asselect 账号,密码from 登录信息where 账号=jxb001-2.学生选课信息视图(用了表连接查询)create view 学生选课信息(学号,姓名,课程名称,学分,课程专业,任课老师,限选人数,上课时间,上课地点)asselect 选课信息表.学号,学生.姓名,课程信息.课程名称,课程信息.学分,专业.专业名,教师信息.姓名,开设课程表.限选人数,开设课程表.上课时间,开设课程表.上课地点from 学生,教师信息,专业,开设课程表,课程信息,选课信息表where 学生.学号=选课信息表.学号and 开设课程表.课程编号=课程信息.课程编号and 开设课程表.课程编号=选课信息

温馨提示

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

评论

0/150

提交评论