《SQL2008数据库大作业(27页).doc》由会员分享,可在线阅读,更多相关《SQL2008数据库大作业(27页).doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-数据库基础 -大作业 题 目: 学生信息管理系统 教 学 系: 数学与统计学院 专业班级: 071121 学生姓名: 8888 一、系统设计 在进行系统的详细设计之前,首先应该设计好系统的模式并确定好系统的功能目标和具体页面,下面就是学生信息管理的系统设计。 从系统的设计目标上来看,学生信息管理系统的主要功能如下:(1) 登录验证功能。(2) 学生信息查看功能。(3) 信息编辑删除和添加功能。(4) 成绩查看和搜索功能。(5) 课程浏览搜索功能。(6) 密码修改功能。从系统的实现上来看,共有十七个页面,每个页面的功能实现和说明如下所示。页面说明页面名称说明Login.asp登录页面,用来验证
2、用户Fail.asp登录失败页面Zhuce.asp新用户注册页面Newlog.asp新用户注册成功页面Failzhuce.asp新用户注册失败页面Zhuye.asp系统首页面,说明主要实现功能Student.asp学生相关信息页面,查看学生信息Addstudent.asp学生添加页面,实现学生的添加Addstudentsuccess.asp添加学生成功页面Editstudent.asp学生编辑选择页面,选择需要修改的学生号Editstudent1.asp学生编辑页面,实现学生信息的修改Editstudentsuccess.asp学生信息修改成功的页面Quanxian.asp没有权限时的显示页面
3、Course.asp实现课程信息的浏览和搜索功能页面Score.asp实现学生成绩的浏览和查询功能页面Modify.asp用户修改密码功能页面Modifysuccess.asp用户修改密码成功页面下面介绍在系统设计之前数据库的需求分析和设计。二、数据库设计1.需求分析学生信息管理系统是各大高校所不可缺少的一部分,随着计算机水平的快速提高,学生信息管理系统也在不断地发展和完善。管理信息系统主要包括了学生的信息管理以及课程和成绩管理,基本上实现了管理系统所必须的功能,下面介绍学生信息管理系统数据库的设计。2.概念设计2.1数字词典数据词典如下表所示:数据词典字段名数据名数据的描述Userid用户编
4、号文本,10Username用户名文本,10Userpwd用户密码文本,10Authlevel用户级别文本,10Stuid学生编号文本,10Stuname学生姓名文本,10Sex性别文本,4Minzu民族文本,10Birthday出生年月文本,10Intime入学时间文本,10Class班级文本,10Comefrom生源地文本,20Beizhu备注文本,50Courseid课程号文本,10Couresename课程名称文本,10Couresetime课程学时文本,10Xuefen课程学分文本,10Coursetype课程类型文本,10Teacher授课老师文本,10IdID文本,10Score
5、成绩文本,92.2E-R图根据以上的需求分析,E-R图如图下图所示:E-R图如下2.3关系模式E-R图转换成关系模式如下:学生(学号、姓名、性别、民族、出生年月、入学时间、班级、生源地、备注)课程(课程号、课程名称、学时、学分、课程类型、授课老师)成绩(ID、学号、课程号、考试成绩)选修(学号、课程号、选修时间)查询(学号、课程号、查询时间)3.逻辑设计根据前面的E-R图转换的关系模式一共有以下几个表:Student(学生表)Course(课程表)Score(成绩表)Elective(选修表)Select(查询表)4.数据库关系图根据以上几个表的关系建立如下所示的关系图:5.数据的添加、修改、
6、删除语句的实现数据的添加语句举例如下:(1)向成绩表里添加学号为20001学生选修了四门课的成绩。insert scorevalues (5,200001,00001,95), (6,200001,10001,90), (7,200001,10002,96), (8,200001,20001,85)(2)向课程表里添加一条毛慨的信息insert coursevalues(20003,毛慨,60,5,2,周易)数据的修改语句举例如下:(1)修改学号为200004学生的籍贯为湖北监利update student set comefrom=湖北监利where stuid=200004(2)修改课程号
7、为20003的学时为64个学时update courseset coursetime=64where courseid=20003数据的删除语句举例如下:(1)删除学号为200005学生的信息delete studentwhere stuid=200005(2)删除课程名称为毛慨的信息delete coursewhere coursename=毛慨6查询语句简单查询、连接查询、子查询、复合条件查询语句的实现简单查询语句的举例:(1)查询课程表中前三条的信息select top 3* from course(2)查询班级为经管2091班的学生学号、姓名、性别和班级名称select student
8、.stuid,student.stuname,student.sex,student.classfrom studentwhere class=经管2091(3)查询学生姓名以陈开头的学生学号和班级select student.stuid,student.classfrom student where stuname like 陈%(4)查询课程表的所有信息,查询结果先按课程号降序排列,再按学分升序排列select * from course order by courseid desc,coursexuefen asc (5)查询学生人数总数,查询结果以学生总数为别名select COUNT
9、(*) as 学生总数from student(6)查询所有学生成绩的总平均分,查询结果以平均分为别名select AVG(score) as 平均分from score连接查询语句的实现:(1)查询学号为100001的学生的学号、姓名、性别、班级和选修的课程号和成绩select student.stuid,student.stuname,student.sex,student.class,score.courseid,score.scorefrom student,scorewhere student.stuid=score.stuid and student.stuid=100001(2)
10、查询学号为200001学生的学号、姓名和选修的课程号及选修时间select student.stuid,student.stuname,elective.courseid,elective.electivetimefrom student,electivewhere student.stuid=elective.stuid and student.stuid=200001(3)查询学生查询了课程的姓名、班级、课程号、课程名、课程学分及查询时间select student.stuname,student.class,course.courseid,course.coursename,course
11、.coursexuefen,sel.seltimefrom student,course,selwhere student.stuid=sel.stuid and sel.courseid=course.courseid子查询语句的实现:(1)查询学号为100001学生所修的课程号和成绩select score.courseid ,score.score from scorewhere stuid in(select stuid from student where stuid=100001)(2)查询选修了课程名为大学英语的学生学号和姓名select stuid,stuname from s
12、tudent where stuid in(select stuid from score where courseid in(select courseid from course where coursename=大学英语)(3)列出高于平均分的学生学号、姓名及班级select stuid,stuname,classfrom student where stuid in(select stuid from score where score (select AVG(score) from score)(4)查询比经管2091班中某一学生年龄小的其他班的学生学号和姓名select stuid
13、,stunamefrom student where birthday any(select birthday from studentwhere class=经管2091)and class经管2091复合条件查询语句的实现:select student.stuid,student.stuname,student.class,course.courseid,course.coursename,score.scorefrom student,course,scorewhere student.stuid=score.stuid and score.courseid=course.coursei
14、dand score907.视图和索引的应用(1)视图的创建以学生表为基础,创建一个名称为“v_经管班”学生的视图,其包含学生的学号、姓名和性别这几列,筛选记录条件为“class=经管2091”create view v_经管班as select student.stuid,student.stuname,student.sexfrom studentwhere class=经管2091(2)视图的查看select * from v_经管班(3)索引的创建为了方便查找学生信息,为student创建一个基于stuid、stuname、class组合列的索引stu_indexcreate inde
15、x stu_indexon student(stuid,stuname,class)(4)查询索引信息exec sp_helpindex student8.数据库备份和还原由于学生信息管理系统只需要一个小型数据库管理,那么我们只需要每个星期一进行一次完整备份,每天进行一个差异备份,每二个小时进行一次日志备份即可。数据库还原根据我们遇到的紧急情况进行相应的还原,这里就不再阐述。三、系统实施1.在Dreamweaver 8中建立一个动态站点,其目录在F盘下的学生信息管理系统。2.动态站点建立好后,我们就需要为动态网页连接后台的SQL SERVER 2008数据库。其步骤如下:(1)在ODBC数据源
16、里的系统DSN里建立一个数据源,选择SQL Server数据源,其截图如下:(2)给新的数据源命名,并选择想要连接的数据库服务器,其截图如下图:(3)(3)选择你想要连接的数据库名称,即系统后台需要的数据库,其截图如下:(4)后台数据库选择好后,点击下一步开始测试数据源,其测试的相关截图如下:(5)建立好后的SQL Server数据源如下图:(6)单击确定后,即建立好了数据源,然后回到Dreamweaver 8,在Dreamweaver 8点击数据库+,单击数据源名称,将连接名称也命名为qq,其相关截图如下:(7)单击确定,即Dreamweaver 8与后台数据库建立好了连接。3.系统功能演示如下:(1)进入系统登录页面如下:(2)登录失败的页面如下:新用户注册的页面如下:注册失败的页面如下:注册成功的页面如下:(3)登录成功的页面如下:(4)查看学生信息页面如下:增加学生信息页面如下:选择编辑学生信息页面如下:编辑学生信息页面如下:(5)查询学生课程信息页面如下:(6)查询学生成绩页面如下:(7)密码修改页面如下:密码修改成功页面如下:到此为止,我就该学生信息管理系统的功能全部都演示完了,虽然该系统还是存在不少缺点,但至少基本上实现了管理系统所必须的功能,我一定会在以后的学习中更加努力学习数据库知识,希望将来能够为工作派上用场。 第 27 页-