数据库基础------大作业题目:学生信息管理系统教学系:数学与统计学院专业班级: 071121学生姓名: 8888一、系统设计在进行系统的详细设计之前,首先应该设计好系统的模式并确定好系统的功能目标和具体页面,下面就是学生信息管理的系统设计。
从系统的设计目标上来看,学生信息管理系统的主要功能如下:(1)登录验证功能。
(2)学生信息查看功能。
(3)信息编辑删除和添加功能。
(4)成绩查看和搜索功能。
(5)课程浏览搜索功能。
(6)密码修改功能。
从系统的实现上来看,共有十七个页面,每个页面的功能实现和说明如下所示。
页面说明下面介绍在系统设计之前数据库的需求分析和设计。
二、数据库设计1.需求分析学生信息管理系统是各大高校所不可缺少的一部分,随着计算机水平的快速提高,学生信息管理系统也在不断地发展和完善。
管理信息系统主要包括了学生的信息管理以及课程和成绩管理,基本上实现了管理系统所必须的功能,下面介绍学生信息管理系统数据库的设计。
2.概念设计2.1数字词典数据词典如下表所示:数据词典2.2E-R图根据以上的需求分析,E-R图如图下图所示:E-R图如下2.3关系模式E-R图转换成关系模式如下:学生(学号、姓名、性别、民族、出生年月、入学时间、班级、生源地、备注)课程(课程号、课程名称、学时、学分、课程类型、授课老师)成绩(ID、学号、课程号、考试成绩)选修(学号、课程号、选修时间)查询(学号、课程号、查询时间)3.逻辑设计根据前面的E-R图转换的关系模式一共有以下几个表:Student(学生表)Course(课程表)Score(成绩表)Elective(选修表)Select(查询表)4.数据库关系图根据以上几个表的关系建立如下所示的关系图:5.数据的添加、修改、删除语句的实现数据的添加语句举例如下:(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 studentset comefrom='湖北监利'where stuid='200004'(2)修改课程号为‘20003’的学时为64个学时update courseset coursetime='64'where courseid='20003'数据的删除语句举例如下:(1)删除学号为‘200005’学生的信息delete studentwhere stuid='200005'(2)删除课程名称为‘毛慨’的信息delete coursewhere coursename='毛慨'6.查询语句简单查询、连接查询、子查询、复合条件查询语句的实现简单查询语句的举例:(1)查询课程表中前三条的信息select top 3* from course(2)查询班级为‘经管2091’班的学生学号、姓名、性别和班级名称selectstudent.stuid,student.stuname,student.sex,student.classfrom studentwhere class='经管2091'(3)查询学生姓名以‘陈’开头的学生学号和班级select student.stuid,student.classfrom studentwhere stuname like'陈%'(4)查询课程表的所有信息,查询结果先按课程号降序排列,再按学分升序排列select*from courseorder by courseid desc,coursexuefen asc(5)查询学生人数总数,查询结果以学生总数为别名select COUNT(*)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)查询学号为‘200001’学生的学号、姓名和选修的课程号及选修时间select student.stuid,student.stuname,elective.courseid,elective.electivetimefrom student,electivewhere student.stuid=elective.stuidand student.stuid='200001'(3)查询学生查询了课程的姓名、班级、课程号、课程名、课程学分及查询时间select student.stuname,student.class,course.courseid,course.coursename,course.coursexuefen,sel.seltimefrom student,course,selwhere student.stuid=sel.stuid andsel.courseid=course.courseid子查询语句的实现:(1)查询学号为‘100001’学生所修的课程号和成绩select score.courseid,score.score from scorewhere stuid in(select stuid from student where stuid='100001')(2)查询选修了课程名为‘大学英语’的学生学号和姓名select stuid,stunamefrom student where stuid in(select stuid from scorewhere courseid in(select courseid from coursewhere coursename='大学英语'))(3)列出高于平均分的学生学号、姓名及班级select stuid,stuname,classfrom student where stuid in(select stuid from scorewhere score>(select AVG(score)from score))(4)查询比‘经管2091’班中某一学生年龄小的其他班的学生学号和姓名select stuid,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.stuidand score.courseid=course.courseidand score>'90'7.视图和索引的应用(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 index stu_indexon student(stuid,stuname,class)(4)查询索引信息exec sp_helpindex student8.数据库备份和还原由于学生信息管理系统只需要一个小型数据库管理,那么我们只需要每个星期一进行一次完整备份,每天进行一个差异备份,每二个小时进行一次日志备份即可。
数据库还原根据我们遇到的紧急情况进行相应的还原,这里就不再阐述。
三、系统实施1.在Dreamweaver 8中建立一个动态站点,其目录在F盘下的学生信息管理系统。
2.动态站点建立好后,我们就需要为动态网页连接后台的SQL SERVER 2008数据库。
其步骤如下:(1)在ODBC数据源里的系统DSN里建立一个数据源,选择SQL Server 数据源,其截图如下:(2)给新的数据源命名,并选择想要连接的数据库服务器,其截图如下图:(3)(3)选择你想要连接的数据库名称,即系统后台需要的数据库,其截图如下:(4)后台数据库选择好后,点击下一步开始测试数据源,其测试的相关截图如下:(5)建立好后的SQL Server数据源如下图:(6)单击确定后,即建立好了数据源,然后回到Dreamweaver 8,在Dreamweaver 8点击数据库+,单击数据源名称,将连接名称也命名为qq,其相关截图如下:(7)单击确定,即Dreamweaver 8与后台数据库建立好了连接。