Java Swing GUI+JDBC+Oracle数据库实现校园信息管理系统

本文档详述了一项使用Java Swing GUI、JDBC和Oracle数据库实现的校园信息管理系统。系统涵盖了教师、学生和课程实体,具备管理员、学生和教师各自的功能模块,如信息管理、选课和成绩录入等。开发工具包括IntelliJ IDEA、Navicat等,实现了数据库设计、E-R图、UML图和JDBC连接。
摘要由CSDN通过智能技术生成

前言

  • 此文章是本人的一份数据库实验报告,写本文章的目的是记录本次实验的开发历程,分享出来一起学习改进不足,欢迎指教。

项目名称

  • 数据库系统设计综合实验

题目

假设有“教师”、“学生”、“课程”三个实体,教师的基本信息包括:工号、姓名、职 称、工资,课程的基本信息包括:课程号、课程名、学分数,学生的基本信息包括:学 号、姓名、性别、年龄。系统必须满足以下要求:

(1) 一门课程只能有一个教师任课,一个教师可以上多门课程

(2) 一个学生可以选修多门课程,一门课程可以由多个学生来选修,记录不同学生选修不同课程的成绩;

(3) 设置一个管理员,用于维护(添加、删除和修改等基本任务)学生基本信息、教师基本信息和教师所授课程等工作,此外,管理员添加学生时,为其设置初始密码;当学生选修了某门课程,课程成绩由管理员录入;

(4) 学生可以利用学号和密码登录系统,登陆系统后,可以进行选课、修改密码和个人基本信息、查询自己的选课及总学分等操作;

(5) 能够统计不同职称的教师的数量、不同职称的教师的平均工资,可以统计每门课程的平均成绩、最高分、最低分,统计每个学生选修课程的总学分;

项目实现

开发工具

  • 数据库:Oracle19.3
  • 数据库管理工具:Navicat、sqlPlus、sql Developer
  • 开发语言:Java(版本为1.8)
  • GUI工具包:Java Swing
  • 数据库连接:JDBC
  • IDE: IntelliJ IDEA Ultimate Edition 2019.2

数据库设计

E-R图

在这里插入图片描述

UML图

在这里插入图片描述

关系模型

Teacher(Tno,Tname,Tposition,Tsalary,Tpwd),其中,Tno为teacher表的主码
Course(Cno,Cname,Ccredit,Tno),其中,Cno为course表的主码,Tno为外码,Tno参照Teacher(Tno)
Student(Sno,Sname,Ssex,Sage,Spwd),其中,Sno为Student表的主码
SC(Sno,Con,Grade),其中,(Sno,Cno)为SC表的主码,Sno为外码,参照Student(Sno),Cno为外码,参照Course(Cno) 

创建数据库

  • 创建一个用户
create user cyf identified by admin;  --创建新用户
grant resource,connect,DBA to cyf;  --授权 
  • 建表

teacher表

Create table teacher
(
    Tno varchar2(10) primary key,  --教师职工号
    Tname varchar2(20) Not Null Unique,  --姓名
    Tsex varchar2(4) CHECK(Tsex IN ('男','女') ),  --性别(E-R图中没有)
    Tposition varchar2(20) Not NULL, --教师职称
    Tsalary number Not NULL,  --薪水
    Tpwd varchar2(16)  --登录密码
); 

course表

Create table course
(
    Cno varchar2(10) primary key, --课程号
    Cname varchar2(20) ,  --课程名
    Ccredit number,  --学分
    Tno varchar2(10),  --教师职工号
    FOREIGN key(Tno) references teacher(Tno)  --Tno参考teacher表的Tno
); 

student表

Create table student
(
    Sno varchar2(10) primary key, --学号
    Sname varchar2(20) Not NULL Unique,  --姓名
    Ssex varchar2(4) CHECK(Ssex IN
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值