数据库课程设计总结报告

时间:2024.4.29

漳州师范学院 数据库课程设计

个人日程管理系统

姓 名: 某某

学 号:

系 别: 计算机科学与工程

专 业: 计算机科学技术专业

年 级: 08级

指导教师: 陈志翔、王桃发

20xx年 05 月

数据库课程设计总结报告

2

3

数据库课程设计总结报告

数据库课程设计总结报告

4

数据库课程设计总结报告


第二篇:Java_数据库课程设计报告


 

 数据库程序设计 课程设计报告

    :         学生成绩管理系统         

    :               * * *                 

    :                 * * *                 

同组姓名:           *****                  

专业班级:            网工09102             

指导教师:                                   

设计时间:            20119            

 

 

1、开发背景........................................................................................................ 2

2、系统描述........................................................................................................ 2

3、数据分析........................................................................................................ 2

3.1、数据流图................................................................................................ 2

3.2、数据字典................................................................................................ 2

4、概念模型设计................................................................................................. 2

4.1E-R图........................................................................................................ 2

5. 逻辑模型设计及优化...................................................................................... 2

5.1数据库表:............................................................................................... 2

6、应用程序设计................................................................................................. 2

7、课程设计心得体会......................................................................................... 2


1、开发背景

90年代中期,由于Internet 的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。企业信息管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。

2、系统描述

经过调研及分析讨论,学生成绩管理系统主要完成以下功能:

(1)学生个人信息维护:主要是完成学生个人信息的检索、修改,学生用户只能对自己的信息操作。

(2)学生成绩检索:主要是完成学生个人成绩的查询,学生用户只能对自己的成绩进行检索。

(3)老师个人信息维护:主要是完成老师个人信息的检索、修改,老师用户只能对自己的信息操作。

(4)学生成绩维护: 主要是完成老师对任课课程的学生成绩进行检索、添加、修改,老师用户只能对自己任课课程的成绩进行操作。

(5)学生信息维护:主要是完成管理员对所有学生信息的维护,包括条件检索、添加、修改、删除,该功能只能由管理员完成。

(6)老师信息维护:主要是完成管理员对所有老师信息的维护,包括条件检索、添加、修改、删除,该功能只能由管理员完成。

(7)课程信息维护:主要是完成管理员对课程的管理,包括检索课程,添加课程以及该课程任课老师和学习的学生。

3、数据分析

3.1、数据流图

通过需求分析,得出学生成绩管理系统的教师业务处理数据流如图1所示。

图1 教师业务数据流图

3.2、数据字典

(1)数据流的描述

数据流编号: D01

数据流名称: 用户名和密码

      简述:教师输入用户名和密码验证

数据流来源:教师

数据流去向:P01教师信息判断

数据流组成:用户名和密码

数据流量:50/天

高峰流量:50/天

 

(2)处理逻辑的描述

处理逻辑编号:P01

处理逻辑名称:教师登录权限判断

        简述:判断教师登录权限的合法性

输入的数据流:教师的用户名和密码

处理描述: 根据教师提供的同户名和密码,验证教师信息,验证通过则进入主页面,验证不通过则返回给教师信息指明为非法用户。

处理频率: 50次/天

处理逻辑编号:P02

处理逻辑名称:教师个人信息查询

        简述:查询并显示教师个人基本信息

处理描述:根据session传出的教师ID在数据库中查找出该教师的个人基本信息,打印到该页面。

处理频率: 50次/天

处理逻辑编号:P03

处理逻辑名称:教师任课课程学生成绩查询

        简述:查询并显示教师任课课程的学生成绩

处理描述:根据session传出的教师ID,然后再在数据库中跨表查询出该教师的任课科目的所有学生成绩,打印到该页面。

处理频率: 50次/天

处理逻辑编号:P04

处理逻辑名称:验证用户当前密码,提供修改密码权限

        简述:教师可以通过该页面修改自己的账号的登录密码。

处理描述:从数据库中查询出该教师的当前密码并比较输入的当前密码,比较两次输入的新密码。

处理频率: 10次/天

              处理逻辑编号:P05

处理逻辑名称:教师修改个人信息

        简述:教师修改个人的基本信息

处理描述:根据session传出的教师ID在数据库中查找出该教师的个人基本信息,打印到该页面,同时提供了几项可以修改的选项,教师可以并保持,正确提交后,将修改的信息提交到数据库中。

处理频率: 10次/天

处理逻辑编号:P06

处理逻辑名称:录入学生成绩

        简述:录入该教师任课课程的学生成绩

处理描述:从数据库中查出该教师任课课程的所有学生,并录入学生的平时成绩和考试成绩,根据一定的算法得出学生的最后成绩,并保存到数据库中。

处理频率: 10次/天

处理逻辑编号:P07

处理逻辑名称:修改该教师任课课程的学生成绩

        简述:查询并显示学生的成绩,提供修改权限

处理描述:查询出已经录入成绩的学生的成绩,允许教师修改学生的成绩,提交后保存到数据库。

处理频率: 10次/天

处理逻辑编号:P08

处理逻辑名称:修改教师用户登录密码

        简述:验证教师用户当前密码,提供修改密码的权限

处理描述:验证当前密码和新密码的合法性,合法则提交到数据库,非法则跳到p04。

处理频率: 10次/天

              处理逻辑编号:P09

处理逻辑名称:推出系统

        简述:教师用户退出系统

处理描述:教师用户安全退出系统,跳转到登录页面。

处理频率: 50次/天

(3)数据存储的描述

数据存储编号:F01

数据存储名称:教师用户验证信息

        简述:教师用户的用户名和密码

              数据存储组成:用户名+用户类型+密码+用户ID

关键字:用户ID

相关联的处理:P01、P04

数据存储编号:F02

数据存储名称:教师个人基本信息

        简述:查询出教师用户的基本个人信息

数据存储组成:教师姓名+年龄+教师ID+教师密码+教师籍贯+教师电话号码+教师地址+教师性别+教师照片

关键字:教师ID

相关联的处理:P02、P05

                    

数据存储编号:F03

数据存储名称:读取学生成绩

        简述:查询该教师任课课程的学生成绩

数据存储组成: 学生姓名+课程名称+学生成绩

关键字:教师ID+学生ID

相关联的处理:P03

             

数据存储编号:F04

数据存储名称:存储修改的信息

        简述:存储修改的信息

数据存储组成: 包括学生成绩块+用户密码块+用户个人信息块

关键字:教师ID+学生ID

相关联的处理:P04、P05、P06、P07、P08

(4)外部实体的描述

外部实体编号:S01

外部实体名称:教师用户

简        述:登录系统的教师用户

输入的数据流:D002

输出的数据流:D001

4、概念模型设计

4.1E-R图

图2 系统E-R图

 

 

5. 逻辑模型设计及优化

5.1数据库表:

表1 学生个人信息表(student_info表)

表2学生成绩表(student_score表)

表3课程表(course表)

表4教师个人信息表(teacher_info表)

6、应用程序设计

图3系统登录界面

图4教师用户主页面

图5教师个人信息页面

图6修改学生成绩页面

7、课程设计心得体会

本次数据库课程设计收获很大,当然也花了好多的心思和时间,首先,我们为团队合作,共同开发这个项目,团队意识真的很重要,我们就在团队合作上出了些小问题,经过交流得到了解决,问题导致了我们的项目完成时间的推迟,这让我们意识到团队的合作是很不容易的,首先是对项目的认识必须统一,当我们对项目的需求没有统一理解时,这将为失败埋下伏笔,这样注定失败,至少是在代码组合时无法兼容,更严重可能会要全部返工。团队合作的第二个重点是:合理分工,合理的分工能让项目完成的更快更好,合作更加的愉快,不合理的分工会导致大家的心态不一,出现分歧,出现问题,出了问题就无法继续项目的开发了。我们本次分工上也出现了一些问题,主要原因是团队每个人技术特长不一,最后还是进行了合理的安排。完成了项目的基本功能。

在实际开发的过程中给了我很多的实践经验,课程设计跟平时的理论课程有很大的区别,就是动手能力要求高,同时也提高我们的动手能力,课堂上的理论,我们通过项目得到了实际的应用。当然也发现了很多自己以前未能发现的知识上的不知,实践是检验真理的唯一标准,也是检验自己知识掌握程度的机会,在动手编码的过程中,我发现了很多数据库知识上的缺陷,也发现了自己编码的不良之处,通过和同学老师的交流得到了改正,并收获了很多的实践经验。

参考文献

[1] 钱雪忠.数据库原理及应用(第二版).北京邮电大学出版社.2004

[2] 钱雪忠.数据库原理及应用实验指导(第二版).北京邮电大学出版社.2004

[3] 李刚.疯狂Java讲义.电子工业出版社.2008

附录:

JDBC数据库连接源代码

package com.hnwl.util;

import java.sql.*;

publicclass DBconn {

   //定义驱动名

   public static String  drivername="oracle.jdbc.OracleDriver";

   //定义 url

   public static String  url="jdbc:oracle:thin:@localhost:1521/oracle10";

   //定义连接数据库的用户名

   public static String user="student";

   //定义连接数据库的用户密码

   public static String password="student";

  

   public static Connection GetDBConnection()

   {

      Connection conn=null;

      try {

        Class.forName(drivername);

        try {

           conn = DriverManager.getConnection(url, user, password);

        } catch (SQLException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

           System.out.println("数据库连接异常!");

        }

      } catch (ClassNotFoundException e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

        System.out.println("驱动加载异常!");

       

      }

     

      return conn;

   }

   public static void CloseAll(ResultSet rs,Statement stat,Connection conn)

   {

      if(rs!=null)

        try {

           rs.close();

        } catch (SQLException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

        }

      if(stat!=null)

        try {

           stat.close();

        } catch (SQLException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

        }

      if(conn!=null)

        try {

           conn.close();

        } catch (SQLException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

        }

       

   }

}

封装成绩类源代码

package com.hnwl.beans;

publicclass ClassScore {

      String stud_id;

      String stud_name;

      String course_name;

      String score;

   public ClassScore(String studId, String studName, String courseName,

        String score) {

      super();

      stud_id = studId;

      stud_name = studName;

      course_name = courseName;

      this.score = score;

   }

   public String getStud_id() {

      return stud_id;

   }

   publicvoid setStud_id(String studId) {

      stud_id = studId;

   }

   public String getStud_name() {

      return stud_name;

   }

   publicvoid setStud_name(String studName) {

      stud_name = studName;

   }

   public String getCourse_name() {

      return course_name;

   }

   publicvoid setCourse_name(String courseName) {

      course_name = courseName;

   }

   public String getScore() {

      return score;

   }

   publicvoid setScore(String score) {

      this.score = score;

   }

}

Servlet逻辑层判断密码

package com.hnwl.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import com.hnwl.biz.login;

public class UserLogin extends HttpServlet {

       public void doPost(HttpServletRequest request, HttpServletResponse response)

                     throws ServletException, IOException {

                     request.getParameter("gbk");

                     String id=request.getParameter("id");

                     String password=request.getParameter("password");

                     String user_type=request.getParameter("user_type");

                     String username="";

                     response.setContentType("text/html;charset=gbk");

                     PrintWriter out = response.getWriter();

                     out

                                   .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

                     out.println("<HTML>");

                     out.println("  <HEAD><TITLE>用户密码错误</TITLE></HEAD>");

                     out.println("  <BODY><center>");

                     if(user_type.equals("student"))

                     {

                            login student=new login();

                            username=student.stud_login(id, password);

                            if(username!=null)

                            {

                                   HttpSession session=request.getSession();

                                   session.setAttribute("stud_name", username);

                                   session.setAttribute("stud_id", id);

                                   response.sendRedirect("StudentMenu.jsp");

                            }

                            else

                            {

                                   out.println("账号或密码有误 !");

                                   response.setHeader("refresh","2;URL=login.html");

                                   out.println("<br>两秒后自动跳转到登陆窗口!!!<br>");

                                   out.println("如果没有跳转,请按<a href=\"login.html\">点击这里</a>!!!<br>");

                            }

                     }

                     else if(user_type.equals("teacher"))

                     {

                            login teacher=new login();

                            username=teacher.teacher_login(id, password);

                            if(username!=null)

                            {

                                   HttpSession session=request.getSession();

                                   session.setAttribute("teacher_name", username);

                                   session.setAttribute("teacher_id", id);

                                   response.sendRedirect("TeacherMenu.jsp");

                            }

                            else

                            {

                                   out.println("账号或密码有误 !");

                                   response.setHeader("refresh","2;URL=login.html");

                                   out.println("<br>两秒后自动跳转到登陆窗口!!!<br>");

                                   out.println("如果没有跳转,请按<a href=\"login.html\">点击这里</a>!!!<br>");

                            }

                     }

                     else

                     {

                            if(id.equals("admin")||password.equals("admin")||user_type.equals("admin"))

                            {

                                   HttpSession session=request.getSession();

                                   session.setAttribute("admin_name", id);

                                   response.sendRedirect("AdminMenu.jsp");

                            }

                            else

                            {

                                   out.println("账号或密码有误 !");

                                   response.setHeader("refresh","2;URL=login.html");

                                   out.println("<br>两秒后自动跳转到登陆窗口!!!<br>");

                                   out.println("如果没有跳转,请按<a href=\"login.html\">点击这里</a>!!!<br>");

                            }

                     }

       }

       public void doGet(HttpServletRequest request, HttpServletResponse response)

       throws ServletException, IOException {

                     doPost(request,response);

}

}

Jsp前台页面源代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@page import="com.hnwl.biz.Research"%>

<%@page import="com.hnwl.beans.Student"%>

<%@page import="com.hnwl.biz.TeacherDBControl"%>

<%@page import="com.hnwl.beans.TeacherInfo"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title>My JSP 'ViewStud.jsp' starting page</title>

  </head>

  <body>

   <%!String teacher_ID; %>

   <%

      teacher_ID=(String)session.getAttribute("teacher_id");

      TeacherDBControl select = new TeacherDBControl(); 

      List<TeacherInfo> list=select.selectByID(teacher_ID);

  %>

  <center>

  <table border="2" height="500" width="450" align="center">

  <tr align="center"><td colspan="2"  rowspan="3"><img src="<%=list.get(0).getTeacher_photo()%>"></td><td>姓名:</td><td><%=list.get(0).getTeacher_name() %></td><td>性别:</td><td><%=list.get(0).getTeacher_sex() %></td></tr>

 <tr align="center"><td>年龄:</td><td><%=list.get(0).getTeacher_age()%></td><td>籍贯:</td><td><%=list.get(0).getTeacher_origin() %></td> </tr>

 <tr align="center"><td>联系电话</td><td colspan="4"><%=list.get(0).getTeacher_tel()%></td> </tr>

 <tr align="center"> <td>任课名称:</td><td colspan="5"><%=list.get(0).getCourse_name()%></td></tr>

 <tr align="center"><td>职称:</td><td><%=list.get(0).getProfessional() %></td><td>现居住地:</td><td><%=list.get(0).getTeacher_add() %></td><td>工号:</td><td><%=list.get(0).getCourse_id()%></td></tr>

  </table>

  </center>

  </body>

</html>

Sql数据库相关源代码

drop user student cascade ;

create user student

identified by student;

grant dba to student;

conn student/student;

drop table student_info;

drop table student_score;

drop table course;

drop table teacher_info;

create table student_info(

                 stud_id varchar2(30) primary key,

                 stud_name varchar2(20),

                 person_id varchar2(30),

                 stud_password varchar2(20),

                 stud_age number,

                 stud_sex varchar2(4),

                 stud_tel varchar2(30),

                 major varchar2(20),

                 grade varchar2(20),

                 classes varchar2(20),

                 stud_photo varchar2(30),

                 stud_origin varchar2(50));

create table student_score(

                  stud_id varchar2(30),

                  course_id number,

                  score number(4,1),

                  primary key(stud_id,course_id));           

create table course (

                  course_id number primary key,

                  course_name varchar2(30),

                  teacher_id varchar2(20),

                  course_level number);

create table teacher_info(

                  teacher_id varchar2(20) primary key,

                  teacher_name varchar2(20),

                  teacher_password varchar2(20),

                  course_id number,

                  teacher_add varchar2(50),

                  teacher_origin varchar2(20),

                  teacher_tel varchar2(30),

                  professional varchar2(10),

                  teacher_age number,

                  teacher_sex varchar2(4),

                  teacher_photo varchar2(20));

更多相关推荐:
数据库课程设计个人总结

一个月的时间非常快就过去了,这一个月我不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。虽说上过数据库相关的课程,但是没有亲身经历过相关的设计工作细节。这次课程设计给我提供了一个很好的机…

数据库课程设计总结报告

数据库课程设计总结报告设计题目学生成绩管理系统学生姓名学院信息学院专业班级指导教师20xx年7月日12目录1前言311开发背景312可行性分析313本文概述42需求分析421市场分析422功能描述423业务流程...

数据库课程设计——总结报告

闽南师范大学计算机学院数据库课程设计总结报告

数据库课程设计总结与体会

课程设计总结与体会529940对实验过程中用到的软件、实现技术的评价以及对于实验过程遇到的一些问题做的总结:本次实验我们是在windows操作系统平台下完成的,应用了数据库建表,触发,删除插入。。。。;powe…

数据库课程设计报告范例

数据库课程设计报告课题名称:图书管理统专业:信息与计算科学班级:信计071班小组人员:***一.背景资料在高校中,学生的数量较多,图书的数量也比较多,每天图书的借阅量比较大,采用手工的处理方式已经不能满足这种需…

数据库课程设计报告

20xx级数据库课程设计任务书设计目的数据库课程设计是在学生系统地学习了数据库系统原理课程后按照关系型数据库的基本远离综合运用所学的知识设计开发一个小型的数据库管理信息系统通过对一个实际问题的分析设计与实现将原...

数据库课程设计报告

计算机与控制工程学院数据库原理及应用课程设计报告题目名称选课系统专业计科班级计1211学号20xx58501149姓名李利娟指导教师毕远伟20xx年01月11日1课程设计评语班级计1211学号20xx58501...

数据库课程设计报告

数据库系统原理与应用课程设计报告书管理学院数据库课程设计报告题目关于金鑫利公司网站的构建姓名蒋自永学号060360201指导老师李明星二九年一月2数据库系统原理与应用课程设计报告书第一章提前工作可行性分析1可行...

数据库课程设计报告

课程设计报告学生公寓管理系统数据库设计课程数据库原理及应用班级11级软件一班姓名董成斌11117137104杨旭兵11117137126指导教师时间20xx年12月14日至20xx年12月28日目录第一章第二章...

数据库课程设计报告

数据库课程设计报告名称图书管理系统时间学生姓名邓天顺学系计算机系专业指导教师樊红芳目录1设计目标12数据组织23关系图34详细设计45总结56参考文献51设计目标目前图书馆进行信息管理的主要方式是基于手工处理最...

Oracle数据库课程设计报告

存档资料成绩:华东交通大学理工学院课程设计报告书所属课程名称Oracle11g数据库基础教程题目图书管理系统分院电信分院专业班级电子商务1班学号***学生姓名***指导教师付念20XX年12月20日 …

SQLServer数据库课程设计报告

武汉工业学院数据库系统课程设计说明书设计题目选课管理系统姓名学院专业学号指导教师20xx年6月8日一读书笔记1SQL数据库的实际应用SQL包括了所有对数据库的操作主要是由4个部分组成1数据定义这一部分又称为SQ...

数据库课程设计报告总结(24篇)