Java经典基础项目——《学生教务系统》立项需求说明书

(2)标签功能示意图

(3)标签功能详情
  1. 添加标签: 添加标签注意添加标签名称,标签类型(标签类型包含:学生/班级两种类型 )

  2. 删除标签: 删除标签名字字段之前之前,我们得把对应的学生表,班级表中选中相关标签的班级和班级信息进行修改或者删除

(使用Ajax判断是否删除)

4、班级管理板块

(1)班级数据库表(t_clazz)

| 字段 | 类型 | 主键 | 约束 | 序号 |

| — | — | — | — | — |

| c_id | int | 是 | 自增 | 班级ID |

| c_name | Varchar(20) | | | 班级名 |

| c_logoPath | Varchar(300) | | | 班级LOGO |

| c_mark_id | Varchar(20) | | 外键 | 标签序号 |

注:其中班级标签id是标签表的外键,建表后添加数据时, 一定要保证标签中有数据

–班级表

create table t_clazz(

c_id int primary key auto_increment,

c_name varchar(20) not null,

c_logoPath varchar(50),

c_mark_id int

)

(2)班级页面图

(3)班级功能详情
  1. 添加班级:班级的id,班级的标签(依赖于标签表),班级名,班级Logo(其中班级的Logo 通过存储路径的形式进行存储 )

  2. 删除班级: 删除标签时,需要先删除,学生,和小组里面包含的该班级信息

(使用Ajax判断是否删除)

5、小组管理模块

(1)小组数据库设计(t_group)

| 字段 | 类型 | 主键 | 约束 | 序号 |

| — | — | — | — | — |

| g_id | int | 是 | 自增 | 小组编号 |

| g_name | Varchar(20) | | 非空 | 小组名 |

| g_createdate | date | | | 小组的创建时间 |

| g_clazz_id | int | | | 班级id |

注意:其中班级id依赖于班级表,添加小组数据之前我们需要先添加班级的数据

–小组表

create table t_group(

g_id int primary key auto_increment,

g_name varchar(20) not null,

g_createdate date,

g_clazz_id int

)

(2)小组功能示意图

(3)小组功能详情
  1. 添加小组功能:会添加组名称,然后选择班级(小组是班级的外键,需要先建班级表才能创建小组表 )

(其中包含student外键:添加组名称时:本组学生的标签会自动增加到小组标签上,并且统计本组学生人数 )

  1. 删除小组功能: 删除小组之前需要将本小组的studnet删除或者修改带其他组,否则无法删除

(使用Ajax判断是否删除)

3.页面展示功能中的学生标签和学生人数,将从外键Student中获取,班级名称名班级表中获取

6、学生管理板块

(1)学生表数据库设计(t_student)

| 字段 | 类型 | 主键 | 约束 | 备注 |

| — | — | — | — | — |

| s_id | int | 是 | 自增 | 学号 |

| s_name | Varchar(20) | | 非空 | 姓名 |

| s_phone | Varchar(20) | | 非空 | 电话 |

| s_qq | Varchar(20) | | 非空 | QQ |

| s_age | int | | 非空 | 年龄 |

| s_birthday | date | | 非空 | 生日 |

| s_starts | Varchar(20) | | | 星座,可以为空,如果不填,默认为空 |

| s_attr | Varchar(20) | | | 生肖,可以为空,如果不填,默认为空 |

| s_clazz_id | int | | 非空,外键 | 班级id(外键),关联班级表 |

| s_group_id | int | | 非空,外键 | 小组id(外键),关联小组表 |

| s_city_id | int | | 非空,外键 | 就业城市id(外键),关联城市表 |

注意:学生表一定要 最后建学生表依赖于 城市表,班级表,标签表,小组表 ,并且需要这四个表有数据之后,我们才能添加数据

  • 学生标签关系表 t_sm_relation( 因为学生和标签为多对多关系,产生中间表 )

| 字段 | 类型 | 主键 | 约束 | 备注 |

| — | — | — | — | — |

| r_id | int | 是 | 自增 | 关系id |

| s_id | int | | 外键,非空 | 学生id |

| mark_id | int | | 外键,非空 | 标签id |

  • t_studnet学生表

– 学生表

create table t_student(

– 学生 id 主键 自增

id int primary key auto_increment,

– 学生姓名

name varchar(20) not null,

–电话

phone varchar(20),

–QQ

qq varchar(20),

–年龄

age int,

– 生日

s_birthday date,

–星座

s_starts varchar(20),

–生肖

s_attr varchar(20),

–班级id

s_clazz_id int,

–小组id

s_group_id int,

–城市id

s_city_id int,

–学生标签关系表id

r_id int

)

–t_sm_relation 学生标签关系表

create table t_sm_relation(

r_id int primary key auto_increment,

m_id int not null,

s_id int not null

)

(2)学生管理操作图

(3)学生信息功能详情
  1. 添加学生信息(城市表,班级表,标签表,小组表有数据之后才能添加

  2. 功能是修改学生,删除学生

  3. 展示内容(分页实现)

  4. 以Json形式下载信息

  5. 以QQ或者姓名或者手机号查询学生信息

六、数据库表

=========================================================================

1、教务管理系统数据库表

/==============================================================/

/* DBMS name: MySQL 5.0 */

/* Created on: 2021/10/31 11:47:31 */

/==============================================================/

drop table if exists m_s_fk;

drop table if exists t_city;

drop table if exists t_group;

drop table if exists t_mark;

drop table if exists t_studnet;

drop table if exists user;

/==============================================================/

/* Table: m_s_fk */

/==============================================================/

create table m_s_fk

(

m_id int not null auto_increment,

s_id int not null,

primary key (m_id, s_id)

);

alter table m_s_fk comment ‘一个标签可以被多个学生选择,一个学生可以选择多个标签’;

/==============================================================/

/* Table: t_city */

/==============================================================/

create table t_city

(

c_id int not null auto_increment,

c_name varchar(20) not null,

primary key (c_id)

);

alter table t_city comment ‘用于存储城市信息的实体’;

/==============================================================/

/* Table: t_group */

/==============================================================/

create table t_group

(

g_id int not null auto_increment,

clazz_id int,

g_name varchar(20) not null,

g_createdate date not null,

primary key (g_id)

);

alter table t_group comment ‘用于存储小组信息的实体’;

/==============================================================/

/* Table: t_mark */

/==============================================================/

create table t_mark

(

m_id int not null auto_increment,

m_name varchar(20) not null,

m_time date not null,

m_type varchar(20) not null,

primary key (m_id)

);

alter table t_mark comment ‘用于存储标签的实体’;

/==============================================================/

/* Table: t_clazz */

/==============================================================/

create table t_clazz

(

clazz_id int not null auto_increment,

m_id int not null,

c_name varchar(20) not null,

c_logo_path varchar(300) not null,

primary key (clazz_id)

);

alter table t_clazz comment ‘用于存储班级信息的实体’;

/==============================================================/

/* Table: t_studnet */

/==============================================================/

create table t_studnet

(

s_id int not null auto_increment,

clazz_id int ,

g_id int ,

c_id int ,

s_phone varchar(20) not null,

s_name varchar(20) not null,

s_qq varchar(20) not null,

s_age varchar(20) not null,

s_birthday date not null,

s_starts varchar(20) not null,

s_attr varchar(20) not null,

primary key (s_id)

);

alter table t_studnet comment ‘用于存储学生信息的实体’;

/==============================================================/

/* Table: user */

/==============================================================/

create table user

(

id int not null auto_increment,

username varchar(20) not null,

password varchar(20) not null,

role int,

code varchar(100),

email varchar(50) not null,

status int,

primary key (id)

);

alter table user comment ‘用于用户登录注册’;

alter table m_s_fk add constraint FK_m_s_fk foreign key (m_id)

references t_mark (m_id) on delete restrict on update restrict;

alter table m_s_fk add constraint FK_m_s_fk2 foreign key (s_id)

references t_studnet (s_id) on delete restrict on update restrict;

alter table t_group add constraint FK_g_c_fk foreign key (clazz_id)

references t_clazz (clazz_id) on delete restrict on update restrict;

alter table t_clazz add constraint FK_m_c_fk foreign key (m_id)

references t_mark(m_id) on delete restrict on update restrict;

alter table t_studnet add constraint FK_c_s_fk foreign key (c_id)

references t_city (c_id) on delete restrict on update restrict;

alter table t_studnet add constraint FK_s_c_fk foreign key (clazz_id)

references t_clazz (clazz_id) on delete restrict on update restrict;

alter table t_studnet add constraint FK_s_m_fk foreign key (g_id)

references t_group (g_id) on delete restrict on update restrict;

2、导入数据库表的步骤:

(1)打开命令窗口输入: mysql -uroot -proot

(2)创建数据库表

  1. 展示数据库中目前拥有的数据库表:show databases;

  2. 创建数据库表:create database status_sys

(3)先退出数据库:exit,

(4)导入“status_sys”文件:

先将“status_sys”文件放入E盘下,方便导入:

命令:mysql -uroot -proot status_sys<e:\status_sys.sql

分享

1、算法大厂——字节跳动面试题

2、2000页互联网Java面试题大全

3、高阶必备,算法学习

  1. 展示数据库中目前拥有的数据库表:show databases;

  2. 创建数据库表:create database status_sys

(3)先退出数据库:exit,

(4)导入“status_sys”文件:

先将“status_sys”文件放入E盘下,方便导入:

命令:mysql -uroot -proot status_sys<e:\status_sys.sql

分享

1、算法大厂——字节跳动面试题

[外链图片转存中…(img-wSgq6Vfj-1719274110955)]

2、2000页互联网Java面试题大全

[外链图片转存中…(img-hp2Fke11-1719274110956)]

3、高阶必备,算法学习

[外链图片转存中…(img-fW0hnGIe-1719274110956)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值