炫酷的网站设计,wordpress读取文章样式,c 网站开发怎么弹出输入框,谷歌网站统计#x1f525;博客主页#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞#x1f44d;收藏⭐评论✍ 1.0 项目介绍 开发工具#xff1a;IDEA、VScode 服务器#xff1a;Tomcat#xff0c; JDK 17 项目构建#xff1a;maven 数据库#xff1a;mysql 8.0
系统用户前台和管理… 博客主页 【小扳_-CSDN博客】 ❤感谢大家点赞收藏⭐评论✍ 1.0 项目介绍 开发工具IDEA、VScode 服务器Tomcat JDK 17 项目构建maven 数据库mysql 8.0
系统用户前台和管理后台两部分项目采用前后端分离 前端技术vue3 elementUI 服务端技术springboot mybatis redis mysql 1.1 项目功能
后台功能 1登录、退出系统、首页 2教室管理 (1) 教室管理添加、修改、删除、查询等功能。 3教师管理 (1) 教师管理添加、修改、删除、查询等功能。 4课程管理 (1) 课程管理添加、修改、删除、查询等功能。 5设施管理 (1) 设施管理添加、修改、删除、查询等功能。 6教室设施信息 (1) 教室设施信息添加、修改、删除、查询等功能。 7课程安排 (1) 课程安排添加、修改、删除、查询等功能。 8教室使用记录 1教室使用记录添加、修改、删除、查询等功能。 9系统管理 用户信息管理 1用户信息管理添加、修改、删除、查询等功能。 角色管理 2角色信息管理添加、修改、删除、查询等功能。 菜单管理 3菜单信息管理添加、修改、删除、查询等功能。 日志管理 4日志信息管理添加、修改、删除、查询等功能。 10系统监控 查看在先用户、设置定时任务、数据监控、缓存监控、查看缓存列表等。 11权限管理 (1) 角色信息管理添加、修改、删除、分配权限等功能。 (2) 资源信息管理添加、修改、删除等功能。
注意不一定非要完全符合开发环境有稍微的差别也是可以开发的。 若需要项目完整源码可以在 CSDN 私信给我我每天都有查看消息的感谢大家支持希
望可以帮助到大家 2.0 用户登录 用户根据正确的用户名、密码且通过正确的校验码进行登录。使用了高质量的背景图片希
望你喜欢。 整体的主题颜色为猛男粉 实现了登录校验还有用户注册功能 用到了 Spring Security 框架来实现登录、校验、验证等功能。 相关的部分源码 RestController
public class SysLoginController
{Autowiredprivate SysLoginService loginService;Autowiredprivate ISysMenuService menuService;Autowiredprivate SysPermissionService permissionService;/*** 登录方法* * param loginBody 登录信息* return 结果*/PostMapping(/login)public AjaxResult login(RequestBody LoginBody loginBody){AjaxResult ajax AjaxResult.success();// 生成令牌String token loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),loginBody.getUuid());ajax.put(Constants.TOKEN, token);return ajax;}/*** 获取用户信息* * return 用户信息*/GetMapping(getInfo)public AjaxResult getInfo(){SysUser user SecurityUtils.getLoginUser().getUser();// 角色集合SetString roles permissionService.getRolePermission(user);// 权限集合SetString permissions permissionService.getMenuPermission(user);AjaxResult ajax AjaxResult.success();ajax.put(user, user);ajax.put(roles, roles);ajax.put(permissions, permissions);return ajax;}/*** 获取路由信息* * return 路由信息*/GetMapping(getRouters)public AjaxResult getRouters(){Long userId SecurityUtils.getUserId();ListSysMenu menus menuService.selectMenuTreeByUserId(userId);return AjaxResult.success(menuService.buildMenus(menus));}
} public String login(String username, String password, String code, String uuid){// 验证码校验validateCaptcha(username, code, uuid);// 登录前置校验loginPreCheck(username, password);// 用户验证Authentication authentication null;try{UsernamePasswordAuthenticationToken authenticationToken new UsernamePasswordAuthenticationToken(username, password);AuthenticationContextHolder.setContext(authenticationToken);// 该方法会去调用UserDetailsServiceImpl.loadUserByUsernameauthentication authenticationManager.authenticate(authenticationToken);}catch (Exception e){if (e instanceof BadCredentialsException){AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message(user.password.not.match)));throw new UserPasswordNotMatchException();}else{AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage()));throw new ServiceException(e.getMessage());}}finally{AuthenticationContextHolder.clearContext();}AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message(user.login.success)));LoginUser loginUser (LoginUser) authentication.getPrincipal();recordLoginInfo(loginUser.getUserId());// 生成tokenreturn tokenService.createToken(loginUser);} 3.0 首页界面 使用了各种各样的统计图表来直观展示数据。 相关的前端源码 templatediv classdashboard-containerdiv classchart-containerdiv classchart-headerh2教室使用情况统计/h2/divdiv classchartsdiv idbarChart classchart/divdiv idpieChart classchart/divdiv idlineChart classchart/divdiv idgaugeChart classchart/div/div/div/div
/templatescript
import * as echarts from echarts;export default {name: Dashboard,mounted() {this.initBarChart();this.initPieChart();this.initLineChart();this.initGaugeChart();},methods: {initBarChart() {const barChart echarts.init(document.getElementById(barChart));const option {title: {text: 各教室使用次数,left: center,textStyle: {color: #fff}},tooltip: {trigger: axis,axisPointer: {type: shadow}},xAxis: {type: category,data: [教室3B-413, 教室3B-414, 教室3B-415, 教室3B-416, 教室3B-417],axisLabel: {color: #fff}},yAxis: {type: value,axisLabel: {color: #fff}},series: [{data: [120, 200, 150, 80, 70],type: bar,itemStyle: {color: #FF69B4}}]};barChart.setOption(option);},initPieChart() {const pieChart echarts.init(document.getElementById(pieChart));const option {title: {text: 教室使用比例,left: center,textStyle: {color: #fff}},tooltip: {trigger: item},legend: {orient: vertical,left: left,textStyle: {color: #fff}},series: [{name: 教室,type: pie,radius: 50%,data: [{ value: 335, name: 教室3B-413 },{ value: 310, name: 教室3B-414 },{ value: 234, name: 教室3B-415 },{ value: 135, name: 教室3B-416 },{ value: 1548, name: 教室3B-417 }],emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: rgba(0, 0, 0, 0.5)}},itemStyle: {color: function(params) {const colorList [#FF69B4, #FF1493, #DB7093, #C71585, #DA70D6];return colorList[params.dataIndex];}}}]};pieChart.setOption(option);},initLineChart() {const lineChart echarts.init(document.getElementById(lineChart));const option {title: {text: 教室使用时间趋势,left: center,textStyle: {color: #fff}},tooltip: {trigger: axis},xAxis: {type: category,data: [周一, 周二, 周三, 周四, 周五, 周六, 周日],axisLabel: {color: #fff}},yAxis: {type: value,axisLabel: {color: #fff}},series: [{data: [120, 200, 150, 80, 70, 110, 130],type: line,itemStyle: {color: #FF69B4}}]};lineChart.setOption(option);},initGaugeChart() {const gaugeChart echarts.init(document.getElementById(gaugeChart));const option {title: {text: 总使用次数,left: center,textStyle: {color: #fff}},tooltip: {formatter: {a} br/{b} : {c}},series: [{name: 使用次数,type: gauge,detail: {formatter: {value},color: #fff},data: [{ value: 2500, name: 总次数 }],axisLabel: {color: #fff},axisLine: {lineStyle: {color: [[0.2, #FF69B4], [0.8, #FF1493], [1, #DB7093]],width: 12}},pointer: {width: 5},axisTick: {length: 10,lineStyle: {color: auto}},splitLine: {length: 15,lineStyle: {color: auto}}}]};gaugeChart.setOption(option);}}
};
/scriptstyle langscss
$theme_color: #FF69B4;.dashboard-container {min-height: 100vh;width: 100%;background-image: url(../../assets/images/6.jpg); /* 使用占位图片你可以替换为实际图片 */background-size: cover;background-position: center;display: flex;justify-content: center;align-items: center;.chart-container {background-color: rgba(0, 0, 0, 0.7); /* 半透明背景 */border-radius: 20px;box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);width: 80%;max-width: 1200px;padding: 40px;color: #fff;.chart-header {text-align: center;margin-bottom: 30px;h2 {color: $theme_color;font-weight: bold;}}.charts {display: flex;flex-wrap: wrap;justify-content: space-between;.chart {width: 48%;height: 400px;margin-bottom: 20px;}}}
}
/style4.0 教室管理功能 上传图片使用了第三方接口x-File-Storage 框架。 相关源码 RestController
RequestMapping(/manage/Classrooms)
public class ClassroomsController extends BaseController
{Autowiredprivate IClassroomsService classroomsService;/*** 查询教室信息列表*/PreAuthorize(ss.hasPermi(manage:Classrooms:list))GetMapping(/list)public TableDataInfo list(Classrooms classrooms){startPage();ListClassrooms list classroomsService.selectClassroomsList(classrooms);return getDataTable(list);}/*** 导出教室信息列表*/PreAuthorize(ss.hasPermi(manage:Classrooms:export))Log(title 教室信息, businessType BusinessType.EXPORT)PostMapping(/export)public void export(HttpServletResponse response, Classrooms classrooms){ListClassrooms list classroomsService.selectClassroomsList(classrooms);ExcelUtilClassrooms util new ExcelUtilClassrooms(Classrooms.class);util.exportExcel(response, list, 教室信息数据);}/*** 获取教室信息详细信息*/PreAuthorize(ss.hasPermi(manage:Classrooms:query))GetMapping(value /{classroomId})public AjaxResult getInfo(PathVariable(classroomId) Long classroomId){return success(classroomsService.selectClassroomsByClassroomId(classroomId));}/*** 新增教室信息*/PreAuthorize(ss.hasPermi(manage:Classrooms:add))Log(title 教室信息, businessType BusinessType.INSERT)PostMappingpublic AjaxResult add(RequestBody Classrooms classrooms){return toAjax(classroomsService.insertClassrooms(classrooms));}/*** 修改教室信息*/PreAuthorize(ss.hasPermi(manage:Classrooms:edit))Log(title 教室信息, businessType BusinessType.UPDATE)PutMappingpublic AjaxResult edit(RequestBody Classrooms classrooms){return toAjax(classroomsService.updateClassrooms(classrooms));}/*** 删除教室信息*/PreAuthorize(ss.hasPermi(manage:Classrooms:remove))Log(title 教室信息, businessType BusinessType.DELETE)DeleteMapping(/{classroomIds})public AjaxResult remove(PathVariable Long[] classroomIds){return toAjax(classroomsService.deleteClassroomsByClassroomIds(classroomIds));}
}5.0 教师管理功能 相关源码 RestController
RequestMapping(/manage/Teachers)
public class TeachersController extends BaseController
{Autowiredprivate ITeachersService teachersService;/*** 查询教师信息列表*/PreAuthorize(ss.hasPermi(manage:Teachers:list))GetMapping(/list)public TableDataInfo list(Teachers teachers){startPage();ListTeachers list teachersService.selectTeachersList(teachers);return getDataTable(list);}/*** 导出教师信息列表*/PreAuthorize(ss.hasPermi(manage:Teachers:export))Log(title 教师信息, businessType BusinessType.EXPORT)PostMapping(/export)public void export(HttpServletResponse response, Teachers teachers){ListTeachers list teachersService.selectTeachersList(teachers);ExcelUtilTeachers util new ExcelUtilTeachers(Teachers.class);util.exportExcel(response, list, 教师信息数据);}/*** 获取教师信息详细信息*/PreAuthorize(ss.hasPermi(manage:Teachers:query))GetMapping(value /{teacherId})public AjaxResult getInfo(PathVariable(teacherId) Long teacherId){return success(teachersService.selectTeachersByTeacherId(teacherId));}/*** 新增教师信息*/PreAuthorize(ss.hasPermi(manage:Teachers:add))Log(title 教师信息, businessType BusinessType.INSERT)PostMappingpublic AjaxResult add(RequestBody Teachers teachers){return toAjax(teachersService.insertTeachers(teachers));}/*** 修改教师信息*/PreAuthorize(ss.hasPermi(manage:Teachers:edit))Log(title 教师信息, businessType BusinessType.UPDATE)PutMappingpublic AjaxResult edit(RequestBody Teachers teachers){return toAjax(teachersService.updateTeachers(teachers));}/*** 删除教师信息*/PreAuthorize(ss.hasPermi(manage:Teachers:remove))Log(title 教师信息, businessType BusinessType.DELETE)DeleteMapping(/{teacherIds})public AjaxResult remove(PathVariable Long[] teacherIds){return toAjax(teachersService.deleteTeachersByTeacherIds(teacherIds));}
} 6.0 课程管理功能 相关源码 RestController
RequestMapping(/manage/Courses)
public class CoursesController extends BaseController
{Autowiredprivate ICoursesService coursesService;/*** 查询课程信息列表*/PreAuthorize(ss.hasPermi(manage:Courses:list))GetMapping(/list)public TableDataInfo list(Courses courses){startPage();ListCourses list coursesService.selectCoursesList(courses);return getDataTable(list);}/*** 导出课程信息列表*/PreAuthorize(ss.hasPermi(manage:Courses:export))Log(title 课程信息, businessType BusinessType.EXPORT)PostMapping(/export)public void export(HttpServletResponse response, Courses courses){ListCourses list coursesService.selectCoursesList(courses);ExcelUtilCourses util new ExcelUtilCourses(Courses.class);util.exportExcel(response, list, 课程信息数据);}/*** 获取课程信息详细信息*/PreAuthorize(ss.hasPermi(manage:Courses:query))GetMapping(value /{courseId})public AjaxResult getInfo(PathVariable(courseId) Long courseId){return success(coursesService.selectCoursesByCourseId(courseId));}/*** 新增课程信息*/PreAuthorize(ss.hasPermi(manage:Courses:add))Log(title 课程信息, businessType BusinessType.INSERT)PostMappingpublic AjaxResult add(RequestBody Courses courses){return toAjax(coursesService.insertCourses(courses));}/*** 修改课程信息*/PreAuthorize(ss.hasPermi(manage:Courses:edit))Log(title 课程信息, businessType BusinessType.UPDATE)PutMappingpublic AjaxResult edit(RequestBody Courses courses){return toAjax(coursesService.updateCourses(courses));}/*** 删除课程信息*/PreAuthorize(ss.hasPermi(manage:Courses:remove))Log(title 课程信息, businessType BusinessType.DELETE)DeleteMapping(/{courseIds})public AjaxResult remove(PathVariable Long[] courseIds){return toAjax(coursesService.deleteCoursesByCourseIds(courseIds));}
}7.0 设施管理功能 相关源码 RestController
RequestMapping(/manage/Facilities)
public class FacilitiesController extends BaseController
{Autowiredprivate IFacilitiesService facilitiesService;/*** 查询教室设施列表*/PreAuthorize(ss.hasPermi(manage:Facilities:list))GetMapping(/list)public TableDataInfo list(Facilities facilities){startPage();ListFacilities list facilitiesService.selectFacilitiesList(facilities);return getDataTable(list);}/*** 导出教室设施列表*/PreAuthorize(ss.hasPermi(manage:Facilities:export))Log(title 教室设施, businessType BusinessType.EXPORT)PostMapping(/export)public void export(HttpServletResponse response, Facilities facilities){ListFacilities list facilitiesService.selectFacilitiesList(facilities);ExcelUtilFacilities util new ExcelUtilFacilities(Facilities.class);util.exportExcel(response, list, 教室设施数据);}/*** 获取教室设施详细信息*/PreAuthorize(ss.hasPermi(manage:Facilities:query))GetMapping(value /{facilityId})public AjaxResult getInfo(PathVariable(facilityId) Long facilityId){return success(facilitiesService.selectFacilitiesByFacilityId(facilityId));}/*** 新增教室设施*/PreAuthorize(ss.hasPermi(manage:Facilities:add))Log(title 教室设施, businessType BusinessType.INSERT)PostMappingpublic AjaxResult add(RequestBody Facilities facilities){return toAjax(facilitiesService.insertFacilities(facilities));}/*** 修改教室设施*/PreAuthorize(ss.hasPermi(manage:Facilities:edit))Log(title 教室设施, businessType BusinessType.UPDATE)PutMappingpublic AjaxResult edit(RequestBody Facilities facilities){return toAjax(facilitiesService.updateFacilities(facilities));}/*** 删除教室设施*/PreAuthorize(ss.hasPermi(manage:Facilities:remove))Log(title 教室设施, businessType BusinessType.DELETE)DeleteMapping(/{facilityIds})public AjaxResult remove(PathVariable Long[] facilityIds){return toAjax(facilitiesService.deleteFacilitiesByFacilityIds(facilityIds));}
}8.0 教师与设施信息功能 相关源码 RestController
RequestMapping(/manage/ClassroomFacilities)
public class ClassroomFacilitiesController extends BaseController
{Autowiredprivate IClassroomFacilitiesService classroomFacilitiesService;/*** 查询教室与设施的多对多关系列表*/PreAuthorize(ss.hasPermi(manage:ClassroomFacilities:list))GetMapping(/list)public TableDataInfo list(ClassroomFacilities classroomFacilities){startPage();ListClassroomFacilities list classroomFacilitiesService.selectClassroomFacilitiesList(classroomFacilities);return getDataTable(list);}/*** 导出教室与设施的多对多关系列表*/PreAuthorize(ss.hasPermi(manage:ClassroomFacilities:export))Log(title 教室与设施的多对多关系, businessType BusinessType.EXPORT)PostMapping(/export)public void export(HttpServletResponse response, ClassroomFacilities classroomFacilities){ListClassroomFacilities list classroomFacilitiesService.selectClassroomFacilitiesList(classroomFacilities);ExcelUtilClassroomFacilities util new ExcelUtilClassroomFacilities(ClassroomFacilities.class);util.exportExcel(response, list, 教室与设施的多对多关系数据);}/*** 获取教室与设施的多对多关系详细信息*/PreAuthorize(ss.hasPermi(manage:ClassroomFacilities:query))GetMapping(value /{classroomFacilitiesId})public AjaxResult getInfo(PathVariable(classroomFacilitiesId) Long classroomFacilitiesId){return success(classroomFacilitiesService.selectClassroomFacilitiesByClassroomFacilitiesId(classroomFacilitiesId));}/*** 新增教室与设施的多对多关系*/PreAuthorize(ss.hasPermi(manage:ClassroomFacilities:add))Log(title 教室与设施的多对多关系, businessType BusinessType.INSERT)PostMappingpublic AjaxResult add(RequestBody ClassroomFacilities classroomFacilities){return toAjax(classroomFacilitiesService.insertClassroomFacilities(classroomFacilities));}/*** 修改教室与设施的多对多关系*/PreAuthorize(ss.hasPermi(manage:ClassroomFacilities:edit))Log(title 教室与设施的多对多关系, businessType BusinessType.UPDATE)PutMappingpublic AjaxResult edit(RequestBody ClassroomFacilities classroomFacilities){return toAjax(classroomFacilitiesService.updateClassroomFacilities(classroomFacilities));}/*** 删除教室与设施的多对多关系*/PreAuthorize(ss.hasPermi(manage:ClassroomFacilities:remove))Log(title 教室与设施的多对多关系, businessType BusinessType.DELETE)DeleteMapping(/{classroomFacilitiesIds})public AjaxResult remove(PathVariable Long[] classroomFacilitiesIds){return toAjax(classroomFacilitiesService.deleteClassroomFacilitiesByClassroomFacilitiesIds(classroomFacilitiesIds));}
}9.0 课程安排功能 相关源码 RestController
RequestMapping(/manage/Schedules)
public class SchedulesController extends BaseController
{Autowiredprivate ISchedulesService schedulesService;/*** 查询课程安排列表*/PreAuthorize(ss.hasPermi(manage:Schedules:list))GetMapping(/list)public TableDataInfo list(Schedules schedules){startPage();ListSchedules list schedulesService.selectSchedulesList(schedules);return getDataTable(list);}/*** 导出课程安排列表*/PreAuthorize(ss.hasPermi(manage:Schedules:export))Log(title 课程安排, businessType BusinessType.EXPORT)PostMapping(/export)public void export(HttpServletResponse response, Schedules schedules){ListSchedules list schedulesService.selectSchedulesList(schedules);ExcelUtilSchedules util new ExcelUtilSchedules(Schedules.class);util.exportExcel(response, list, 课程安排数据);}/*** 获取课程安排详细信息*/PreAuthorize(ss.hasPermi(manage:Schedules:query))GetMapping(value /{scheduleId})public AjaxResult getInfo(PathVariable(scheduleId) Long scheduleId){return success(schedulesService.selectSchedulesByScheduleId(scheduleId));}/*** 新增课程安排*/PreAuthorize(ss.hasPermi(manage:Schedules:add))Log(title 课程安排, businessType BusinessType.INSERT)PostMappingpublic AjaxResult add(RequestBody Schedules schedules){return toAjax(schedulesService.insertSchedules(schedules));}/*** 修改课程安排*/PreAuthorize(ss.hasPermi(manage:Schedules:edit))Log(title 课程安排, businessType BusinessType.UPDATE)PutMappingpublic AjaxResult edit(RequestBody Schedules schedules){return toAjax(schedulesService.updateSchedules(schedules));}/*** 删除课程安排*/PreAuthorize(ss.hasPermi(manage:Schedules:remove))Log(title 课程安排, businessType BusinessType.DELETE)DeleteMapping(/{scheduleIds})public AjaxResult remove(PathVariable Long[] scheduleIds){return toAjax(schedulesService.deleteSchedulesByScheduleIds(scheduleIds));}
} 10.0 教室使用记录功能 11.0 SQL 数据库设计 -- 创建教室表 (Classrooms)
CREATE TABLE Classrooms (classroom_id INT AUTO_INCREMENT primary key COMMENT 教室唯一标识,building_name VARCHAR(100) NOT NULL COMMENT 所在建筑物名称,img VARCHAR(100) NOT NULL COMMENT 图片,room_number VARCHAR(20) NOT NULL COMMENT 房间号,capacity INT NOT NULL COMMENT 教室容量即最大容纳人数,status INT NOT NULL COMMENT 教室当前状态1.可用、2.维护中
) COMMENT教室信息表;-- 创建教师表 (Teachers)
CREATE TABLE Teachers (teacher_id INT AUTO_INCREMENT primary key COMMENT 教师唯一标识,img VARCHAR(100) NOT NULL COMMENT 图片,name VARCHAR(100) NOT NULL COMMENT 教师姓名,degree VARCHAR(100) NOT NULL COMMENT 学历,specialty VARCHAR(30) COMMENT 专业,honor VARCHAR(30) COMMENT 荣誉,email VARCHAR(100) COMMENT 教师的电子邮件地址
) COMMENT教师信息表;-- 创建课程表 (Courses)
CREATE TABLE Courses (course_id INT AUTO_INCREMENT primary key COMMENT 课程唯一标识,course_name VARCHAR(100) NOT NULL COMMENT 课程名称,credits INT NOT NULL COMMENT 课程学分,semester VARCHAR(20) COMMENT 开设学期,status INT NOT NULL COMMENT 课程状态,1.开设中、2.已结束,description TEXT COMMENT 课程描述
) COMMENT课程信息表;INSERT INTO Courses (course_name, credits, semester, status, description) VALUES
(分子生物学, 3, 2024秋季, 1, 本课程探讨生物分子的结构与功能包括DNA、RNA及蛋白质的生物合成过程。),
(数据结构与算法, 4, 2024春季, 1, 深入理解数据结构与算法的基本概念及其在计算机科学中的应用。),
(医学影像学, 3, 2024秋季, 1, 学习医学影像的基本原理及其在临床中的应用包括CT、MRI等技术。),
(国际经济学, 3, 2024春季, 1, 研究国际经济理论及全球市场动态分析贸易与投资的关键领域。),
(纳米材料科学, 4, 2024秋季, 1, 探讨纳米材料的特性、合成方法及其在各个领域的应用。);-- 创建设施表 (Facilities)
CREATE TABLE Facilities (facility_id INT AUTO_INCREMENT primary key COMMENT 设施唯一标识,facility_name VARCHAR(100) NOT NULL COMMENT 设施名称,facility_type VARCHAR(50) COMMENT 设施类型,description TEXT COMMENT 设施描述
) COMMENT教室设施表;INSERT INTO Facilities (facility_name, facility_type, description) VALUES
(计算机实验室, 实验室, 配备先进计算机和软件的实验室用于计算机科学相关课程的教学和实验。),
(多功能教室, 教室, 可用于讲座、研讨会和小组活动的多功能教室配备音响和投影设备。),
(图书馆, 学习空间, 提供学习和研究资源的图书馆内部有自习区和阅览区域。),
(会议室, 会议室, 适用于小型会议和讨论的会议室配备视频会议设备。),
(体育馆, 体育设施, 提供篮球、排球等各种体育活动的设施适合体育课程和课外活动。);-- 创建教室设施关联表 (ClassroomFacilities)
CREATE TABLE ClassroomFacilities (classroom_facilities_id INT AUTO_INCREMENT primary key COMMENT 教室设施关联唯一标识,classroom_id INT NOT NULL COMMENT 教室ID逻辑上关联到Classrooms表的ClassroomID,facility_id INT NOT NULL COMMENT 设施ID逻辑上关联到Facilities表的FacilityID
) COMMENT教室与设施的多对多关系表;-- 创建授课安排表 (Schedules)
CREATE TABLE Schedules (schedule_id INT AUTO_INCREMENT primary key COMMENT 排课唯一标识,classroom_id INT NOT NULL COMMENT 教室ID逻辑上关联到Classrooms表的ClassroomID,course_id INT NOT NULL COMMENT 课程ID逻辑上关联到Courses表的CourseID,teacher_id INT NOT NULL COMMENT 教师ID逻辑上关联到Teachers表的TeacherID,weekday INT NOT NULL COMMENT 上课星期几1表示星期一2表示星期二...5表示星期五,sections INT NOT NULL COMMENT 上课节次1表示第一节课2表示第二节课等,in_week INT NOT NULL COMMENT 第几周,schedule_type INT NOT NULL COMMENT 课程安排状态,1.进行中2.已结束
) COMMENT课程安排表;-- 创建使用记录表 (UsageRecords)
CREATE TABLE Usage_Records (record_id INT AUTO_INCREMENT primary key COMMENT 使用记录唯一标识,classroom_id INT NOT NULL COMMENT 教室,teacher_id INT NOT NULL COMMENT 预订人,usage_date DATE NOT NULL COMMENT 使用日期,Purpose TEXT COMMENT 使用目的描述
) COMMENT教室使用记录表;若需要项目完整源码可以在 CSDN 私信给我我每天都有查看消息的感谢大家支持希
望可以帮助到大家