数据库报告

更新时间:2023-10-01 23:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学生自习和教室上课管理系统

——总体与详细设计

学院:信息技术工程学院 班级:网络1001 姓名:李齐

学号:02230100112

组员:李齐、刘运皇、彭程 指导老师:吕志

一、系统概述

1、教室上课管理信息化是学校教务系统应用信息技术及其产品的过程,是信息技术应用于教室管理的过程。教育信息化的实施,自上而下而言,必须与学校的制度创新、组织创新和管理创新结合;自下而上而言,必须以作为学校主体的工作人员使用信息技术水平的逐步提高为基础。

学校信息系统是现存信息系统中较为复杂的一类,这是由学校本身的目标、任务和性质决定的;它应用于学校的学生管理、教师管理、教室管理以及招生就业管理等各个方面,牵涉的信息种类十分庞杂。它融合了学校的管理思想和各职能部门的工作经验,是学校当前运作方式和业务流程的具体体现,同时又在一定程度上反作用于学校当前的运作方式和业务流程。而教室管理信息系统正是这样庞大的系统中的一个系统。教室之于教师、学生、教学,都有极其重要的作用。

因此,学校信息化建设工作具有长期性、复杂性和内容的多变性;正因为如此,教室管理信息系统也不是一个简单的、封闭的、静止的系统,而是一个复杂的、开放的、在应用的深度和广度上,随着时间的推移会逐步变化和发展的系统。

2、此系统前台是用java实现,后台使用SQL server2012实现。

二、设计阶段

引言

概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键,包括概念设计和新系统流程两个阶段。它的主要特点是:1.能真实、充分地反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求。需求分析的基础上,抽象出实体,实体的属性,以及实体之间的联系。通过分析,学生和课程之间存在多对多的关系。具体表现为一个学生选多门课,一门课被多个学生修,其联系的属性为学生的某门课的出勤次数。学生与教室之间存在一个学生使用多个教室,一个教室被多个学生使用,因此两者间为多对多关系,他们之间联系属性为学生进入教室时间,学生报告教室损坏信息等。单位与教室之间关系描述为一个单位可借多个教室,一个教室可被多个单位借用。因此两者之间为多对多的关系,其联系的属性有借用时间,借用原因等。

逻辑结构设计

逻辑结构设计就是把独立于任何一种数据模型的信息结构转化为与选用DBMS所支持的数据模型的过程。具体来说就是设计优化的,不存在不合理函数依赖的关系模式,以及完成子模式和存储过程的设计。 逻辑结构设计阶段的目标和任务

目标:根据概念设计的ER图,转化为优化的关系模式。

任务:将ER图转化为关系模式,并利用范式理论对模式进行优化,设计数据处

理的,功能模块图,用户子模式与存储过程和触发器,完成事务处理的功能。 将E-R图转换为关系模型

实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:

一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身

的属性均转换为关系的属性,而关系的码为各实体码的组合。

一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合,具有相同码的关系模式可合并。

由ER图可以转化出以下的关系模式:

(1)学生(SNo,Sname,Sex,BirthYear,Pname,ClassNo,AttendSum,Photo ,Dept)

(2)课程信息(CNo,Cname,Time,WeekNo,Weekday,SectionNo,Pname,ClassNo,StuNum) (3)教师信息(TNo,Tname,Dept,Title,Sex,Tel)

(4)单位信息(RentDeptname,Leadername,IDtype,ID,Tel) (5)维修员(RepairerNo,Repairername,Statement,Tel)

(6)维修记录(RoomNo,RepairerNo,RepaireRecordNo,RepaireResult,RepairTime, Supplyname) (7)课程安排(CNo,TNo,RoomNo,WeekNo,Weekday,SectionNo,Pname,ClassNo ,NewWeekday, (8)NewWeekNo,NewSectionNo,NewRoomNo, AdjLessonID) (9)学生出勤记录(SNo,CNo,AttendSum)

(10)学生使用教室 (SNo,RoomNo,DamageTime,DamageInfo,Devicename, LeaveTime,EnterTime)

(11)教室信息(RoomNo,Roomname,Campusname,Buildname,Capacity, IsUusable,Type,RemainCapacity)

三、前台部分功能实现代码如下:

(1)连接数据库类: package Kktt;

import java.sql.*; //创建数据库连接类 public class DBConnect { //静态方法提高数据库的连接效率 public static Connection getConn() throws Exception { //加载JDBC驱动 Class.forName(\ //以系统用户身份,连接数据库StudentManager return DriverManager.getConnection(\ //return DriverManager.getConnection(\ } }

(2)各专业课表查询 package Kktt; import java.awt.*; import java.sql.*;

import javax.swing.*;

import java.awt.event.*; //创建“添加学生面板”类

public class AddStudentPanel extends JPanel implements ActionListener { //声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st; //创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(\请输入待查询的专业编号:\ JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\按专业编号查询\ JScrollPane jScrollPane1=new JScrollPane(); JTextArea jTextArea1=new JTextArea(); //构造方法 public AddStudentPanel() { try{ //调用初始化方法 jbInit(); } catch(Exception exception){

exception.printStackTrace(); } } //面板初始化方法 private void jbInit() throws Exception { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); this.setBackground(new Color(198,203,59)); //设置各组件的大小 //设置各组件的大小 jLabel1.setFont(new java.awt.Font(\宋体\ jLabel1.setBounds(new Rectangle(80,10,200,34)); jTextField1.setBounds(new Rectangle(80,50,200,30)); jButton1.setBounds(new Rectangle(100,90,160,30)); jScrollPane1.setBounds(new Rectangle(29,125,308,130)); //添加按钮动作事件 jButton1.addActionListener(this); //添加组件到面板 this.add(jScrollPane1); jScrollPane1.getViewport().add(jTextArea1); this.add(jLabel1); this.add(jTextField1); this.add(jButton1); } //点击按钮事件 public void actionPerformed(ActionEvent e) { //获取用户输入的姓名 String xingming=jTextField1.getText(); //清空文本区原有的内容 jTextArea1.setText(\ //要求用户确认删除 try{ //利用st对象执行SQL语句,返回结果集对象 ResultSet rs=st.executeQuery(\* from StudentInfo where 学号='\ //处理结果集:逐条显示结果集中的记录 if(rs.next()) {

本文来源:https://www.bwwdw.com/article/extd.html

Top