数据库学生成绩管理系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库课程设计报告
1.功能需求
本报告主要介绍学生成绩管理系统的数据库设计,从需求分析到数据库的运行与维护都进行详细的叙述。该系统是利用SQL开发出来的。通过SQL建立学生成绩管理系统,大大方便和简化了数据的查询和处理,管理员可以通过SQL语言对表内数据进行添加,删除,修改,查询等操作,还可以建立多用户,对其使用权限进行分配和回收。
报告分为4部分,第一部分是课题简介及设计的内容与目的,需求分析,此阶段是数据库设计的起点。第二部分是概念设计,逻辑结构设计,它是将需求分析的用户需求抽象为信息结构,并将概念模型转换为某个DBMS所支持的数据模型。第三部分是数据库的实施与运行,它包括数据的载入及数据困的运行和数据库和数据表的创建(代码)。第四部分是课程设计的总结。
1.1开发环境及开发语言
本次课程设计是以学生信息管理系统为模拟模型,运用C++编程语言结合SQL 数据库所开发系统。开发平台为VC6.0和SQL2008。
1.2 设计目的
随着学生数量的日益增多,学校对学生的管理要求也越来越高,为了使学生成绩的管理更加系统化,数字化,因此我们设计了该学生信息管理系统。
1.3 设计内容
运用基于E-R模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发学生成绩管理系统,完成学生成绩管理系统
的全部功能。首先做好需求分析,并完成数据流图,其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R图,然后就是逻辑结构设计,将E-R图转换为计算机系统所支持的逻辑模型。最后利用SQL完成具体的实例。
1.4.需求分析
1、问题的提出:为了高效率的完成学生成绩的管理,决定开发学生成绩管理系统。
2、需完成的功能:
(1)能提供管理员及普通用户(除删除和修改)录入、注销、显示当前用户、修改、删除、查询、输出,学生的档案信息,这些信息包括学生的成绩、课程、个人信息等。
(2)触发器,索引,存储过程的建立及使用。
2. 概念设计
(1)(E-R图)
(2)物理结构设计Student
Cource
User
(3)分析关系模式
对于关系模式Student
(Sno|Sname|Sex|Age|Address|Grade|class|Tel|Politic|Cuture )假定姓名也具有唯一性,那么Student
就有两个码,这两个码都由单个属性组成,彼此不相交。其它属性不存在对码的传递依赖与部分依赖,又因为Student中除学号、姓名外没有其它的因素,所以Student属于BCNF。对于关系模式Cource(|Sno|Cno|Score|)有两个码,这两个码都由单个属性组成,彼此不相交,其它属性不存在对码的传递依赖与部分依赖,又因为成绩中除学号、课程号外没有其它的决定因素,所以成绩属于BCNF。对于关系模式User(|UserName|UserType|UserPswd|)中,它只有一个码,这里没有任何属性对课程号部分依赖或传递依赖,同时用户名是唯一的决定因素,所以课程属于BCNF。它和学生信息和成绩没有直接的联系,因此它是一张单独的表。
3.SQL语句
3.1 创建表
学生表
create table Student
(
Sno nchar(10) primary key,
Sname nchar(10) not null
Sex nchar(10) not null
Age numeric(10)
Address nchar(10)
Class nchar(10) not null
Grade nchar(10) not null
Tel nchar(10) not null
Politic nchar(10) not null
Cuture nchar(10) not null
)
成绩表
create table Exam
(
Sno nchar(10) primary key //主键约束
Cno nchar(10) Not null
Score nchar(10)
foreign key (Cno) references Course //外键约束check(Score>=0) //完整性约束
)
用户表
create table Teacher
(
Username nchar(10) not null
UserPswd nchar(10) not null
UserType nchar(10) not null
)
3.2数据初始化
将学生类别加入表Student中
insert into Student
values ('000’,’张明’,’M’,’’,’哈尔滨’,’计科一班’,’大一’,’15880000’,
’无’,’群众’)
insert into Student
va lues('001’,’李三’,’M’,’’,’长春’,’计科二班’,’大三’ ’15233000’.’无’,
’群众’)
insert into Student
values('002’,’王强’,’M’,’’,’哈尔滨’,’软件二班’,’大二’ ’15850040’.’无’,
’群众’)
insert into Student
values('003’,’张雪’,’F’,’’,’哈尔滨’,’软件一班’,’大一’ ’156809802’.’无’,
’群众’)
insert into Student
values('004’,’李力’,’M’,’’,’大连’,’软件一班’,’大三’ ’15980000’.’无’,
’群众’)
insert into Student
values('005’,’张小’,’M’,’’,’哈尔滨’,’软件三班’,’大一’ ’15884444’.’无’,
’群众’)