您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > SQL2008数据库大作业
数据库基础------大作业题目:学生信息管理系统教学系:数学与统计学院专业班级:071121学生姓名:8888一、系统设计在进行系统的详细设计之前,首先应该设计好系统的模式并确定好系统的功能目标和具体页面,下面就是学生信息管理的系统设计。从系统的设计目标上来看,学生信息管理系统的主要功能如下:(1)登录验证功能。(2)学生信息查看功能。(3)信息编辑删除和添加功能。(4)成绩查看和搜索功能。(5)课程浏览搜索功能。(6)密码修改功能。从系统的实现上来看,共有十七个页面,每个页面的功能实现和说明如下所示。页面说明页面名称说明Login.asp登录页面,用来验证用户Fail.asp登录失败页面Zhuce.asp新用户注册页面Newlog.asp新用户注册成功页面Failzhuce.asp新用户注册失败页面Zhuye.asp系统首页面,说明主要实现功能Student.asp学生相关信息页面,查看学生信息Addstudent.asp学生添加页面,实现学生的添加Addstudentsuccess.asp添加学生成功页面Editstudent.asp学生编辑选择页面,选择需要修改的学生号Editstudent1.asp学生编辑页面,实现学生信息的修改Editstudentsuccess.asp学生信息修改成功的页面Quanxian.asp没有权限时的显示页面Course.asp实现课程信息的浏览和搜索功能页面Score.asp实现学生成绩的浏览和查询功能页面Modify.asp用户修改密码功能页面Modifysuccess.asp用户修改密码成功页面下面介绍在系统设计之前数据库的需求分析和设计。二、数据库设计1.需求分析学生信息管理系统是各大高校所不可缺少的一部分,随着计算机水平的快速提高,学生信息管理系统也在不断地发展和完善。管理信息系统主要包括了学生的信息管理以及课程和成绩管理,基本上实现了管理系统所必须的功能,下面介绍学生信息管理系统数据库的设计。2.概念设计2.1数字词典数据词典如下表所示:数据词典字段名数据名数据的描述Userid用户编号文本,10Username用户名文本,10Userpwd用户密码文本,10Authlevel用户级别文本,10Stuid学生编号文本,10Stuname学生姓名文本,10Sex性别文本,4Minzu民族文本,10Birthday出生年月文本,10Intime入学时间文本,10Class班级文本,10Comefrom生源地文本,20Beizhu备注文本,50Courseid课程号文本,10Couresename课程名称文本,10Couresetime课程学时文本,10Xuefen课程学分文本,10Coursetype课程类型文本,10Teacher授课老师文本,10IdID文本,10Score成绩文本,92.2E-R图根据以上的需求分析,E-R图如图下图所示:E-R图如下学生课程成绩选修查询nmnm学号生源地性别出生年月姓名备注班级入学时间民族课程号课程名称学时学分课程类型授课老师ID考试成绩选修时间查询时间学号课程号2.3关系模式E-R图转换成关系模式如下:学生(学号、姓名、性别、民族、出生年月、入学时间、班级、生源地、备注)课程(课程号、课程名称、学时、学分、课程类型、授课老师)成绩(ID、学号、课程号、考试成绩)选修(学号、课程号、选修时间)查询(学号、课程号、查询时间)3.逻辑设计根据前面的E-R图转换的关系模式一共有以下几个表:Student(学生表)Course(课程表)Score(成绩表)Elective(选修表)Select(查询表)4.数据库关系图根据以上几个表的关系建立如下所示的关系图:5.数据的添加、修改、删除语句的实现数据的添加语句举例如下:(1)向成绩表里添加学号为‘20001’学生选修了四门课的成绩。insertscorevalues('5','200001','00001','95'),('6','200001','10001','90'),('7','200001','10002','96'),('8','200001','20001','85')(2)向课程表里添加一条毛慨的信息insertcoursevalues('20003','毛慨','60','5','2','周易')数据的修改语句举例如下:(1)修改学号为‘200004’学生的籍贯为湖北监利updatestudentsetcomefrom='湖北监利'wherestuid='200004'(2)修改课程号为‘20003’的学时为64个学时updatecoursesetcoursetime='64'wherecourseid='20003'数据的删除语句举例如下:(1)删除学号为‘200005’学生的信息deletestudentwherestuid='200005'(2)删除课程名称为‘毛慨’的信息deletecoursewherecoursename='毛慨'6.查询语句简单查询、连接查询、子查询、复合条件查询语句的实现简单查询语句的举例:(1)查询课程表中前三条的信息selecttop3*fromcourse(2)查询班级为‘经管2091’班的学生学号、姓名、性别和班级名称selectstudent.stuid,student.stuname,student.sex,student.classfromstudentwhereclass='经管2091'(3)查询学生姓名以‘陈’开头的学生学号和班级selectstudent.stuid,student.classfromstudentwherestunamelike'陈%'(4)查询课程表的所有信息,查询结果先按课程号降序排列,再按学分升序排列select*fromcourseorderbycourseiddesc,coursexuefenasc(5)查询学生人数总数,查询结果以学生总数为别名selectCOUNT(*)as学生总数fromstudent(6)查询所有学生成绩的总平均分,查询结果以平均分为别名selectAVG(score)as平均分fromscore连接查询语句的实现:(1)查询学号为‘100001’的学生的学号、姓名、性别、班级和选修的课程号和成绩selectstudent.stuid,student.stuname,student.sex,student.class,score.courseid,score.scorefromstudent,scorewherestudent.stuid=score.stuidandstudent.stuid='100001'(2)查询学号为‘200001’学生的学号、姓名和选修的课程号及选修时间selectstudent.stuid,student.stuname,elective.courseid,elective.electivetimefromstudent,electivewherestudent.stuid=elective.stuidandstudent.stuid='200001'(3)查询学生查询了课程的姓名、班级、课程号、课程名、课程学分及查询时间selectstudent.stuname,student.class,course.courseid,course.coursename,course.coursexuefen,sel.seltimefromstudent,course,selwherestudent.stuid=sel.stuidandsel.courseid=course.courseid子查询语句的实现:(1)查询学号为‘100001’学生所修的课程号和成绩selectscore.courseid,score.scorefromscorewherestuidin(selectstuidfromstudentwherestuid='100001')(2)查询选修了课程名为‘大学英语’的学生学号和姓名selectstuid,stunamefromstudentwherestuidin(selectstuidfromscorewherecourseidin(selectcourseidfromcoursewherecoursename='大学英语'))(3)列出高于平均分的学生学号、姓名及班级selectstuid,stuname,classfromstudentwherestuidin(selectstuidfromscorewherescore(selectAVG(score)fromscore))(4)查询比‘经管2091’班中某一学生年龄小的其他班的学生学号和姓名selectstuid,stunamefromstudentwherebirthdayany(selectbirthdayfromstudentwhereclass='经管2091')andclass'经管2091'复合条件查询语句的实现:selectstudent.stuid,student.stuname,student.class,course.courseid,course.coursename,score.scorefromstudent,course,scorewherestudent.stuid=score.stuidandscore.courseid=course.courseidandscore'90'7.视图和索引的应用(1)视图的创建以学生表为基础,创建一个名称为“v_经管班”学生的视图,其包含学生的学号、姓名和性别这几列,筛选记录条件为“class=‘经管2091’”createviewv_经管班asselectstudent.stuid,student.stuname,student.sexfromstudentwhereclass='经管2091'(2)视图的查看select*fromv_经管班(3)索引的创建为了方便查找学生信息,为‘student’创建一个基于‘stuid、stuname、class’组合列的索引stu_indexcreateindexstu_indexonstudent(stuid,stuname,class)(4)查询索引信息execsp_helpindexstudent8.数据库备份和还原由于学生信息管理系统只需要一个小型数据库管理,那么我们只需要每个星期一进行一次完整备份,每天进行一个差异备份,每二个小时进行一次日志备份即可。数据库还原根据我们遇到的紧急情况进行相应的还原,这里就不再阐述。三、系统实施1.在Dreamweaver8中建立一个动态站点,其目录在F盘下的学生信息管理系统。2.动态站点建立好后,我们就需要为动态网页连接后台的SQLSERVER2008数据库。其步骤如下:(1)在ODBC数据源里的系统DSN里建立一个数据源,选择SQLServer数据源,其截图如下:(2)给新的数据源命名,并选择想要连接的数据库服务器,其截图如下图:(3)(3)选择你想要连接的数据库名称,即系统后台需要的数据库,其截图如下:(4)后台数据库选择好后,点击下一步开始测试数据源,其测试的相关截图如下:(5)建立好后的SQLServer数据源如下图:(6)单击确定后,即建立好了数据源,然后回到Dreamweaver8,在Dreamweaver8点击数据库+,单击数据源名称,将连接名称也命名为qq,其相关截图如下:(7)单击确定,即Dreamweaver8与后台数据库建立好了连接。3.系统功能演示如下:(1)进入系统登录页面如下:(2)登录失败的页面如下:新用户注册的页面如下:注册失败的页面如下:注册成功的页面如下:(3)登录成功的页面如下:(4)查看学生信息页面如下:增加学生信息页面如下:选择编辑学生信息页面如下:编辑学生信息页面如下:(5)查询学生课程信息页面如下:(6)查询学生成绩页面如下:(7)密码修改页面如下:密码修改成
本文标题:SQL2008数据库大作业
链接地址:https://www.777doc.com/doc-5821310 .html