高校学籍管理系统
**
一、课程设计的教学目的
**
1、使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容;
2、使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现
3、把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力。
基本功能要求:
实现学生信息、班级、院系、专业等的管理;
实现课程、学生成绩信息管理;
实现学生的奖惩信息管理;
创建规则用于限制性别项只能输入“男”或“女”;
创建视图查询各个学生的学号、姓名、班级、专业、院系;
创建存储过程查询指定学生的成绩单;
创建触发器当增加、删除学生和修改学生班级信息时自动修改相应班级学生人数;
建立数据库相关表之间的参照完整性约束。
1.1:需求分析
随着信息化时代的到来,人们的生活发生了巨大的变化,信息化时代带给了人们更多的处理数据的方式。学生学籍管理是一个非常繁琐且复杂的工作,其中的原因就是涉及到大量的学生学籍数据信息,这样庞大的一个数据群管理起来就想当麻烦,在传统的数据信息管理模式下,工作效率不仅低下,而且数据在存储、更新、删改等操作上会出现错误。基于以上出现的问题,开发一个学籍管理系统就显得很重要。
1.2:功能要求
该高校学籍管理系统主要是实现对大学在校生的学籍信息的系统化管理,具体的功能涉及实现对学生的基本信息、班级、专业、院系等的查询、修改和删除等功能,同时也会实现课程、学生成绩信息管理、实现学生的奖惩信息管理。
同时该高校学籍管理系统要创建学生信息视图,具体实现如下:
1.2.1创建学生基本信息视图,实现查询各个学生的学号、姓名、班级、专业、院系。
1.2.2该高校学籍管理系统要创建触发器当增加、删除学生和修改学生班级信息时自动修改相应班级学生人数。
1.2.3该高校学籍管理系统要创建存储过程查询指定学生的成绩单
1.2.4创建存储过程查询指定学生的成绩单;
该学籍管理系统会对学生信息进行系统化管理,在数据和数据之间实现关联性,较大程度的满足用户需求。
1.3:系统功能解决的问题
1.3.1提高管理人员的工作效率。
1.3.2对大量的数据信息进行统筹规划
1.3.3降低处理数据信息时出现的错误率。
1.3.4方便系统的后期维护。
**
二:数据库概念结构设计(E-R图)
**
根据需求分析结果,学生、教师、课程、题目、班级、专业、课程成绩、奖惩可建模为基本实体集。
2.1:关系数据模式
各基本实体集的属性定义如下:
(1)学生实体集。其属性有:(学号,姓名,性别,班级编号,院系编号,民族,年龄,出生日期,家庭地址,入学时间)
(2)班级实体集。其属性有:(班级编号,专业编号,班级名称,人数)
(3)专业实体集。其属性有:(专业编号,院系编号,专业名称)
(4)院系实体集。其属性有:(院系编号,院系名称)
(5)课程实体集。其属性有:(课程号,课程名,学分,学时)
(6)课程成绩实体集。其属性有:(课程号,学号,成绩)
(7)奖惩实体集。其属性有:(奖惩号,学号,奖惩名称,奖惩方案)
2.2:定义联系集及属性:
- 选课联系集:它是学生实体集与课程实体集的多对多联系集,其描述属性有:成绩,课程编号,学生编号
- 获得联系集:它是学生实体集与奖惩实体集的一对多联系集,没有联系属性。
- 共有联系集:它是院系实体集与学生实体集的一对多联系集,没有联系属性。
- 隶属联系集:它是班级实体集与学生实体集的一对多联系集,没有联系属性。
- 含有联系集:它是专业实体集和班级实体集的一对多联系集,没有联系属性。
- 包含联系集:它是院系实体集与专业实体集的一对多联系集,没有联系属性。
2.3:E-R图
**
三:数据库逻辑结构设计
**
(下划线加粗代表主码,斜体加粗代表外码 )
(1)学生Student表:由学生关系实体集转化而来。
学生(学号,姓名,性别,班级编号,院系编号,民族,年龄,出生日期,家庭地址,入学时间;)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Sno | char(16) | 学号 | primary key |
Sname | varchar(16) | 姓名 | not null |
Ssex | char(2) | 性别 | not null |
Sage | int | 年龄 | not null |
Sbirth | Datet | 出生日期 | not null |
Slocation | varchar(50) | 籍贯 | not null |
Snation | varchar(10) | 民族 | not null |
Sadmission | Date | 入学日期 | not null |
Cno | char(8) | 班级编号 | foreign key |
Dno | char(8) | 院系编号 | foreign key |
(2)院系(Depart)表:由院系实体集转化而来。
院系(院系编号,院系名称)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Dno | char(8) | 院系编号 | not null |
Dname | varchar(30) | 院系名称 | not null |
(3)班级Class表:由班级实体集转化而来。
班级(班级编号,院系编号,班级名称,人数)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Cno | char(8) | 班级编号 | primary key |
Cname | varchar(50) | 班级名称 | not null |
Cnumber | Int | 班级人数 | not null |
Mno | char(8) | 专业编号 | foreign key |
(4)专业Major表:由专业实体集转化而来。
专业(专业编号,院系编号,专业名称);
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Mno | char(8) | 专业编号 | primary key |
Mname | varchar(30) | 专业名称 | not null |
Dno | char(8) | 院系编号 | foreign key |
(5)课程Course表:由课程实体集转化而来。
课程(课程号,课程名,学分,学时)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Kno | char(8) | 课程编号 | primary key |
Kname | char(20) 课程名称 | not null | |
Kperiod | smallint 学时 | not null | |
Kcredit | smallint 学分 | not null |
(6)成绩Grade表:由成绩实体集转化而来。
课程成绩(课程号,学号,成绩)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Kno | char(8) | 课程编号 | primary key(foreign key) |
Sno | char(16) | 学号 | primary key(foreign key) |
Ggrade | int | 成绩 |
(7)奖惩(Award_punish) 表: 奖惩实体集转化的关系模式。
奖惩(奖惩号,学号,等级,奖惩名称,奖惩方案)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
APno | char(16) | 学号 | foreign key |
APlevel | varchar(30) | 等级 | not null |
APname | varchar(30) | 奖惩名 | not null |
APproject | varchar(100) | 奖惩方案 | not null |
四:模式求解
(1)学生(学号,姓名,性别,班级编号,专业编号,院系编号,民族,年龄,出生日期,家庭地址,入学时间)
分析Student关系模式得函数依赖关系为:
学号–>{姓名,性别,班级编号,专业编号,院系编号,民族,年龄,出生日期,家庭地址,入学时间}
满足BCNF范式。
(2)班级(班级编号,专业编号,院系编号,班级名称,人数)
分析班级关系模式得函数依赖关系为:
班级编号–>{专业编号,院系编号,班级名称,人数}
满足BCNF范式。
(3)课程(课程号,课程名,学分,学时)
分析课程关系模式得函数依赖关系为:
课程号–>{课程名,学分,学时}
满足BCNF范式。
(4)专业(专业编号,院系编号,专业名称)
分析专业关系模式得函数依赖关系为:
专业编号–>{院系编号,专业名称}
满足BCNF范式。
(5)院系(院系编号,院系名称)
分析院系关系模式得函数依赖关系为:
院系编号–>{院系名称}
满足BCNF范式。
(6) 课程成绩(课程号,学号,成绩)
分析课程成绩关系模式得函数依赖关系为:
(课程号,学号)–>{ 成绩}
高校学籍管理系统
**
一、课程设计的教学目的
**
1、使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容;
2、使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现
3、把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力。
基本功能要求:
实现学生信息、班级、院系、专业等的管理;
实现课程、学生成绩信息管理;
实现学生的奖惩信息管理;
创建规则用于限制性别项只能输入“男”或“女”;
创建视图查询各个学生的学号、姓名、班级、专业、院系;
创建存储过程查询指定学生的成绩单;
创建触发器当增加、删除学生和修改学生班级信息时自动修改相应班级学生人数;
建立数据库相关表之间的参照完整性约束。
1.1:需求分析
随着信息化时代的到来,人们的生活发生了巨大的变化,信息化时代带给了人们更多的处理数据的方式。学生学籍管理是一个非常繁琐且复杂的工作,其中的原因就是涉及到大量的学生学籍数据信息,这样庞大的一个数据群管理起来就想当麻烦,在传统的数据信息管理模式下,工作效率不仅低下,而且数据在存储、更新、删改等操作上会出现错误。基于以上出现的问题,开发一个学籍管理系统就显得很重要。
1.2:功能要求
该高校学籍管理系统主要是实现对大学在校生的学籍信息的系统化管理,具体的功能涉及实现对学生的基本信息、班级、专业、院系等的查询、修改和删除等功能,同时也会实现课程、学生成绩信息管理、实现学生的奖惩信息管理。
同时该高校学籍管理系统要创建学生信息视图,具体实现如下:
1.2.1创建学生基本信息视图,实现查询各个学生的学号、姓名、班级、专业、院系。
1.2.2该高校学籍管理系统要创建触发器当增加、删除学生和修改学生班级信息时自动修改相应班级学生人数。
1.2.3该高校学籍管理系统要创建存储过程查询指定学生的成绩单
1.2.4创建存储过程查询指定学生的成绩单;
该学籍管理系统会对学生信息进行系统化管理,在数据和数据之间实现关联性,较大程度的满足用户需求。
1.3:系统功能解决的问题
1.3.1提高管理人员的工作效率。
1.3.2对大量的数据信息进行统筹规划
1.3.3降低处理数据信息时出现的错误率。
1.3.4方便系统的后期维护。
**
二:数据库概念结构设计(E-R图)
**
根据需求分析结果,学生、教师、课程、题目、班级、专业、课程成绩、奖惩可建模为基本实体集。
2.1:关系数据模式
各基本实体集的属性定义如下:
(1)学生实体集。其属性有:(学号,姓名,性别,班级编号,院系编号,民族,年龄,出生日期,家庭地址,入学时间)
(2)班级实体集。其属性有:(班级编号,专业编号,班级名称,人数)
(3)专业实体集。其属性有:(专业编号,院系编号,专业名称)
(4)院系实体集。其属性有:(院系编号,院系名称)
(5)课程实体集。其属性有:(课程号,课程名,学分,学时)
(6)课程成绩实体集。其属性有:(课程号,学号,成绩)
(7)奖惩实体集。其属性有:(奖惩号,学号,奖惩名称,奖惩方案)
2.2:定义联系集及属性:
- 选课联系集:它是学生实体集与课程实体集的多对多联系集,其描述属性有:成绩,课程编号,学生编号
- 获得联系集:它是学生实体集与奖惩实体集的一对多联系集,没有联系属性。
- 共有联系集:它是院系实体集与学生实体集的一对多联系集,没有联系属性。
- 隶属联系集:它是班级实体集与学生实体集的一对多联系集,没有联系属性。
- 含有联系集:它是专业实体集和班级实体集的一对多联系集,没有联系属性。
- 包含联系集:它是院系实体集与专业实体集的一对多联系集,没有联系属性。
2.3:E-R图
**
三:数据库逻辑结构设计
**
(下划线加粗代表主码,斜体加粗代表外码 )
(1)学生Student表:由学生关系实体集转化而来。
学生(学号,姓名,性别,班级编号,院系编号,民族,年龄,出生日期,家庭地址,入学时间;)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Sno | char(16) | 学号 | primary key |
Sname | varchar(16) | 姓名 | not null |
Ssex | char(2) | 性别 | not null |
Sage | int | 年龄 | not null |
Sbirth | Datet | 出生日期 | not null |
Slocation | varchar(50) | 籍贯 | not null |
Snation | varchar(10) | 民族 | not null |
Sadmission | Date | 入学日期 | not null |
Cno | char(8) | 班级编号 | foreign key |
Dno | char(8) | 院系编号 | foreign key |
(2)院系(Depart)表:由院系实体集转化而来。
院系(院系编号,院系名称)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Dno | char(8) | 院系编号 | not null |
Dname | varchar(30) | 院系名称 | not null |
(3)班级Class表:由班级实体集转化而来。
班级(班级编号,院系编号,班级名称,人数)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Cno | char(8) | 班级编号 | primary key |
Cname | varchar(50) | 班级名称 | not null |
Cnumber | Int | 班级人数 | not null |
Mno | char(8) | 专业编号 | foreign key |
(4)专业Major表:由专业实体集转化而来。
专业(专业编号,院系编号,专业名称);
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Mno | char(8) | 专业编号 | primary key |
Mname | varchar(30) | 专业名称 | not null |
Dno | char(8) | 院系编号 | foreign key |
(5)课程Course表:由课程实体集转化而来。
课程(课程号,课程名,学分,学时)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Kno | char(8) | 课程编号 | primary key |
Kname | char(20) 课程名称 | not null | |
Kperiod | smallint 学时 | not null | |
Kcredit | smallint 学分 | not null |
(6)成绩Grade表:由成绩实体集转化而来。
课程成绩(课程号,学号,成绩)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
Kno | char(8) | 课程编号 | primary key(foreign key) |
Sno | char(16) | 学号 | primary key(foreign key) |
Ggrade | int | 成绩 |
(7)奖惩(Award_punish) 表: 奖惩实体集转化的关系模式。
奖惩(奖惩号,学号,等级,奖惩名称,奖惩方案)
属性名称 | 数据类型 | 属性描述 | 约束条件 |
---|---|---|---|
APno | char(16) | 学号 | foreign key |
APlevel | varchar(30) | 等级 | not null |
APname | varchar(30) | 奖惩名 | not null |
APproject | varchar(100) | 奖惩方案 | not null |
四:模式求解
(1)学生(学号,姓名,性别,班级编号,专业编号,院系编号,民族,年龄,出生日期,家庭地址,入学时间)
分析Student关系模式得函数依赖关系为:
学号–>{姓名,性别,班级编号,专业编号,院系编号,民族,年龄,出生日期,家庭地址,入学时间}
满足BCNF范式。
(2)班级(班级编号,专业编号,院系编号,班级名称,人数)
分析班级关系模式得函数依赖关系为:
班级编号–>{专业编号,院系编号,班级名称,人数}
满足BCNF范式。
(3)课程(课程号,课程名,学分,学时)
分析课程关系模式得函数依赖关系为:
课程号–>{课程名,学分,学时}
满足BCNF范式。
(4)专业(专业编号,院系编号,专业名称)
分析专业关系模式得函数依赖关系为:
专业编号–>{院系编号,专业名称}
满足BCNF范式。
(5)院系(院系编号,院系名称)
分析院系关系模式得函数依赖关系为:
院系编号–>{院系名称}
满足BCNF范式。
(6) 课程成绩(课程号,学号,成绩)
分析课程成绩关系模式得函数依赖关系为:
(课程号,学号)–>{ 成绩}