学分管理系统
实验要求:要求每位学生必须完成基础课50学分,专业课50学分,选修课24学分,人文课程8学分和实验性课程20学分才能毕业。完成系列功能: 1. 录入某位学生的学分信息 2. 给定学号,显示某位学生的学分完成情况 3. 给定班号,显示该班所有学生的学分完成情况 4. 给定学号,修改该学生的学分情况 5. 按照某类课程的学分高低进行排序 6. 给定学号,对该学生能否毕业进行确定。 ### 学分管理系统知识点解析 #### 一、项目背景与目标 学分管理系统是一个用于管理学生学分信息的软件系统,旨在帮助教育机构更高效地跟踪和管理学生的学业进度。根据给定文件中的描述,本项目的目的是为了让学生们能够综合运用所学的关系数据库原理知识来解决实际问题,并通过设计一个学分管理系统来进一步掌握数据库原理的相关理论和数据库的设计实现过程,以此提升学生的分析问题和解决问题的能力以及实际操作技能。 #### 二、系统功能概述 学分管理系统需实现以下核心功能: 1. **录入某位学生的学分信息**:支持录入学生的学分详情,包括不同类型的课程及其对应的学分数。 2. **给定学号,显示某位学生的学分完成情况**:根据输入的学号查询并展示该学生当前已完成的所有学分情况。 3. **给定班号,显示该班所有学生的学分完成情况**:提供一个班级所有学生的学分完成情况概览。 4. **给定学号,修改该学生的学分情况**:允许对特定学生的学分记录进行更新或调整。 5. **按照某类课程的学分高低进行排序**:支持按课程类型(例如基础课、专业课等)进行学分排序。 6. **给定学号,对该学生能否毕业进行确定**:基于设定的学分要求判断学生是否满足毕业条件。 #### 三、需求分析 在项目开始前,需要进行详细的需求分析。此部分涉及到的数据主要包括学生基本信息、课程信息和成绩信息。具体而言: - **学生基本信息**:包括学生姓名、学号、性别、所属院系及班级。 - **课程信息**:包括课程编号、课程名称、学分数和课程类别。 - **成绩信息**:包括学生学号、所选课程编号及成绩与学分数。 #### 四、概念设计 概念设计阶段主要涉及实体关系图(E-R图)的绘制。本系统包含的主要实体为学生、课程和成绩。E-R图中各实体的属性如下: - **学生**(Student):学号(S_no)、姓名(S_name)、班级(S_class)、院系(S_dept)。 - **课程**(Course):课程编号(C_no)、课程名称(C_name)、学分数(C_score)、课程类别(C_type)。 - **成绩**(Grade):学生学号(SC_Sno)、课程编号(SC_Cno)、成绩(GRADE)、学分数(SC_Score)。 #### 五、逻辑设计 逻辑设计阶段主要是将实体关系图转化为具体的数据库表结构。本系统设计了三个主要的表: 1. **学生信息表**(Student):包含字段学号(S_no)、姓名(S_name)、班级(S_class)、院系(S_dept)。 2. **课程信息表**(Course):包含字段课程编号(C_no)、课程名称(C_name)、学分数(C_score)、课程类别(C_type)。 3. **学生选课情况表**(SC):包含字段学生学号(SC_Sno)、课程编号(SC_Cno)、成绩(GRADE)、学分数(SC_Score)。 #### 六、数据库实施 数据库实施阶段涉及到数据库的具体创建和维护。具体步骤如下: 1. **创建视图**:视图用于简化数据查询的过程。例如,可以通过创建视图`show`来方便地展示学生的学分信息。 ```sql CREATE VIEW show AS SELECT SC_Sno, S_name, C_name, S_class, SC_Score, C_type FROM SC, Student, Course WHERE SC.SC_Sno = Student.S_no AND SC.SC_Cno = Course.C_no; ``` 2. **查询**:支持按班级和学号对学生学分信息进行排序查询。 ```sql SELECT SC_Sno, S_name, C_name, S_class, SC_Score, C_type FROM show ORDER BY S_class, SC_Sno; ``` 3. **录入信息**:触发器用于在插入新数据时自动执行某些操作。例如,在SC表中插入新数据后,可以通过触发器`change`来查看最新的学生学分信息。 ```sql CREATE TRIGGER change ON SC FOR INSERT AS SELECT * FROM show ORDER BY SC_Sno; INSERT INTO SC (SC_Sno, SC_Cno, GRADE, SC_Score) VALUES ('1021112201', '007', '80', '25'); ``` 4. **查询学生信息**:支持按学号查询学生的详细学分信息。 通过以上步骤,我们可以构建一个完整的学分管理系统,有效地管理和跟踪学生的学分完成情况,从而提高学校管理工作的效率和质量。
- 遺誓的槑恏2014-04-29要做一个类似的系统,。但是一直找不到资源。谢谢分享。
- 抬头看你尹哥2017-04-13当时做的一个课设 找过来参考的
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助