# 01 课题背景与建设目标 ## 1.1 课题来源 本课题来源于《数据库原理及应用》课程设计。根据课程设计教学大纲,学生需要围绕一个具有实际意义的小型信息系统开展完整的数据库设计工作,形成较规范的需求分析、概要设计、详细设计及实现验证材料,并能够在答辩中说明设计依据与实现效果。 本项目沿用既有题目“校园生活平台”,但结合课程设计实际要求,不再以扩展全部历史模块为目标,而是围绕最能体现数据库建模能力的若干核心子系统展开迭代与深化。 ## 1.2 现实背景 随着高校信息化建设的发展,校园中的许多业务已从线下登记、分散 Excel 管理逐步转向统一平台管理。尤其在学生校园生活相关业务中,普遍存在以下特点: - 业务参与者多: - 学生、工作人员、专业负责人、管理员等都可能参与同一业务链路 - 数据对象多: - 用户、组织、角色、房间、预约、课程、资源、下载事件、审计记录等共同构成完整业务数据 - 联系关系复杂: - 既有一对多关系,也有多对多关系、层级关系、状态关系和事件关系 - 业务规则明确: - 如预约时间冲突、审核状态流转、角色授权、数据范围控制、资源去重、积分首次发放等 - 追溯要求较强: - 后台管理操作需要可查询、可审计、可追责 因此,校园生活平台并不是单纯的页面展示系统,而是一个典型的数据密集型应用系统,适合作为数据库课程设计对象。 ## 1.3 当前问题分析 如果从数据库课程设计角度看,原有工程化项目基础虽然具备一定的运行能力,但仍面临以下问题: - 历史模块较多,容易导致课程设计范围过大、重点分散 - 业务规则部分停留在应用层,数据库层约束表达仍有加强空间 - 现有工程文档更多偏工程实现,不完全等同于课程报告所需的标准需求分析 - 如果过度强调前端界面和工程框架,容易弱化数据库课程设计的主线价值 因此,需要重新以课程设计视角对需求进行整理,形成更规范、更适合后续数据库建模的分析材料。 ## 1.4 课题定位 本课题在课程设计中的定位是: - 题目保持为“校园生活平台” - 核心目标是展示数据库对复杂校园业务的建模能力 - 重点体现需求分析、概念结构设计、逻辑结构设计、物理设计、完整性约束和典型 SQL 应用 - 页面与工程实现只作为数据库系统演示载体,而不是成绩评价的核心 ## 1.5 建设意义 ### 1.5.1 教学意义 - 能够覆盖数据库设计的完整流程 - 能够体现关系模型、规范化、完整性约束、事务与并发控制等课程知识 - 能够把抽象理论与真实校园业务场景结合起来 ### 1.5.2 业务意义 - 平台基础子系统可为多个业务提供统一的身份、组织、权限和审计能力 - 功能房预约子系统可解决典型的时间资源管理问题 - 课程资源分享子系统可解决教学资料共享、审核与统计问题 ### 1.5.3 数据库设计意义 - 有利于展示多对多联系拆分、层级结构建模、状态流转建模和事件建模 - 有利于讨论主键、外键、唯一约束、检查约束、触发器、事务和索引设计 - 有利于在答辩中说明“数据库为何不仅仅是存数据,还应主动承担约束和一致性控制责任” ## 1.6 总体目标 本课题的总体目标是:设计并实现一个以 PostgreSQL 为核心数据库的校园生活平台数据库系统,使其能够较完整地支持平台基础管理与代表性校园业务,并形成符合课程设计要求的正式文档和可运行成果。 ## 1.7 分目标 ### 1.7.1 业务目标 - 建立统一的用户、组织、角色、权限、数据范围和审计模型 - 支持功能房的查询、预约、审核、取消、封禁和统计 - 支持课程资源的投稿、审核、发布、下架、下载统计和积分统计 ### 1.7.2 数据库目标 - 建立清晰的实体联系模型和关系模式 - 尽量通过数据库层的主键、外键、唯一约束、检查约束和触发器表达业务规则 - 对关键查询和统计场景形成可解释的索引设计依据 - 对关键操作形成事务与一致性控制方案 ### 1.7.3 报告目标 - 形成结构完整、术语规范、可直接进入正式报告的需求分析材料 - 形成能够支撑后续 E-R 图、关系模式、数据字典和 SQL 说明的前置文档 - 为答辩提供“课题为什么这样选、范围为什么这样定、数据库为什么这样设计”的论证基础 ## 1.8 当前课程设计聚焦范围 综合课题规模、课程要求和时间安排,本轮课程设计聚焦以下三条主线: ### 1.8.1 平台基础子系统 - 身份与鉴权 - 组织结构 - RBAC - 数据范围 - 审计日志 ### 1.8.2 功能房预约子系统 - 楼房与房间管理 - 预约申请、审核、取消与封禁 - 时间占用查询与统计排行 ### 1.8.3 课程资源分享子系统 - 专业与课程管理 - 资源投稿、审核、发布、驳回和下架 - 下载统计、最佳推荐与积分统计 ### 1.8.4 可选扩展 - 数字图书馆 该扩展在模型和流程上与课程资源分享具有较强相似性,可在主线模块完成后作为附加成果。 ## 1.9 本阶段产出要求 为满足数据库课程设计的标准过程要求,本阶段应完成以下成果: - 正式需求分析文档 - 可行性分析 - 系统范围与边界说明 - 角色与业务场景说明 - 业务流程分析 - 功能需求规格 - 数据需求分析 - 非功能需求与方案比较 这些成果将直接为后续的概念结构设计、关系模式设计、物理设计和测试设计提供依据。