数据库课程设计报告.docx
- 文档编号:26315920
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:19
- 大小:75.19KB
数据库课程设计报告.docx
《数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
数据库课程设计报告
重庆科技学院
课程设计报告
院(系):
_电气与信息工程学院_专业班级:
计科01班
学生姓名:
学号:
设计地点(单位)______第一实验楼I306___________
设计题目:
___学籍管理系统设计__________________
完成日期:
2012年07月06日
指导教师评语:
_______________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________
成绩(五级记分制):
________________
指导教师(签字):
________________
课程设计任务书
设计题目:
学籍管理系统设计
学生姓名
课程名称
数据库原理课程设计
专业班级
计科2012-01,2,3,4,5
地点
I301、I302、I305、I308等
起止时间
2014.06.16-2014.06.20
设计内容及要求
内容:
学生根据本课程设计指导书中的题目,进行设计。
(1)学生基本信息系统
能够完成新、老生信息的输入、修改、插入、删除等工作。
可以按照特定的信息进行查找,并按照特定的要求进行排序。
可以对老生的信息进行备份,以便日后查询。
可以对学生的信息进行打印输出。
提供详细的帮助文件和系统维护功能。
(2)学生成绩管理系统
此部分的功能如下:
学生成绩的输入、修改、删除等基本操作。
成绩的综合统计功能,包括学生成绩按照不同条件进行排名。
管理人员可以选择不同的排序条件,并可以将排序结果进行打印输出。
计算各班的总分和平均分,并按照平均分将各班成绩进行排序。
统计不及格考生的信息,根据条件确定是重修还是补考。
学生奖励统计,自动生成每班获得奖学金的同学的信息,并可以将奖学金分成不同的等级,以及所得奖学金的数目。
本系统可以在单机上运行,也可以应用在网络上供在线查询成绩和其他一些学生的信息(此功能选做人提供给学生进行查询的系统和提供给教务处使用的系统,在不同用户使用时,应该会有不同的使用权限。
提供详细的帮助文件。
要求:
按照数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、物理结构设计,使学生掌握数据库应用软件的开发流程,SQL语句的使用和存储过程的使用。
设计
参数
至少5个表结构;3个存储过程;2个触发器;3个视图。
进度
要求
19.1讲课阅读分析任务书制订设计计划
19.2-3需求分析概念结构设计
19.4-5概念结构设计准备文挡
20.1-3逻辑结构设计物理结构设计
20.4-5写文挡答辩交设计报告书
参考资料
1.雷亮等《数据库原理课程设计》指导书
2.王珊、萨师煊.《数据库系统概述》(第四版).北京:
高等教育出版社.2006。
3.C.J.Date著.孟小峰、王珊等译.《数据库系统导论》(第8版).北京:
机械工业出版社.2007。
4.陈根才等.数据库课程设计.浙江.浙江大学出版社.2007
其它
说明
1.本表应在每次实施前一周由负责教师填写二份,学院审批后交学院教务办备案,一份由负责教师留用。
2.若填写内容较多可另纸附后。
3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
系主任:
指导教师:
黄永文,游明英,雷亮,张亚军2014年06月06日
摘要
在现在大学生管理中,学籍管理是提高学校管理效率的重要手段。
学籍管理是学校管理的重要部分,在学校起着越来越重要作用。
本课程设计主要是对学生学籍进行管理和统计。
学籍管理分为2个模块,学生基本信息模块和学生成绩管理模块。
本系统采用SQLServer2008作为数据库,在实现数据库部分功能时要求写出触发器和存储过程。
关键词:
SQLServer2008触发器存储过程视图
目录
1需求分析5
1.1系统目标设计5
1.2系统功能分析5
1.3功能模块分析6
1.4系统全局数据流图6
1.5数据字典6
2概念结构设计9
2.1构成系统的实体型9
2.2学生学籍管理E-R图9
3逻辑结构设计10
3.1逻辑结构简介10
3.2关系模型10
4物理模型设计11
4.1定义数据库11
4.2创建表11
4.2.1创建学生基本信息表:
11
4.2.2创建用户信息表:
11
4.2.3创建密码表:
12
4.2.4创建权限表:
12
4.2.5创建成绩表:
12
4.2.6创建专业表:
12
4.2.7创建院系表:
12
4.2.8创建奖学金表:
12
4.2.9创建获取奖学金信息表:
13
4.2.10创建班级表:
13
4.3创建存储过程13
4.3.1在学生基本信息表中创建插入的存储过程:
13
4.3.2在学生基本信息表中创建删除的存储过程:
13
4.3.3在成绩信息表中创建修改的存储过程:
14
4.4创建触发器14
END14
4.4.2修改学生信息的触发器:
14
总结15
致谢16
参考文献17
1需求分析
1.1系统目标设计
1)使学生的学籍管理工作更加清晰,条理化,自动化。
2)很容易的完成新生信息的输入,老生信息的备份。
3)当学生需要查询成绩的时候,可以很简单的将其需要的信息从数据库中查找出来。
1.2系统功能分析
(1)学生基本信息系统
能够完成新、老生信息的输人、修改、插人、删除等工作。
可以按照特定的信息进行查找,并按照特定的要求进行排序。
可以对老生的信息进行备份,以便日后查询。
可以对学生的信息进行打印输出。
提供详细的帮助文件和系统维护功能。
(2)学生成绩管理系统
此部分的功能如下:
学生成绩的输入、修改、删除等基本操作。
成绩的综合统计功能,包括学生成绩按照不同条件进行排名。
管理人员可以选择不同的排序条件,并可以将排序结果进行打印输出。
计算各班的总分和平均分,并按照平均分将各班成绩进行排序。
统计不及格考生的信息,根据条件确定是重修还是补考。
学生奖励统计,自动生成每班获得奖学金的同学的信息,并可以将奖学金分成不同的等级,以及所得奖学金的数目。
本系统可以在单机上运行,也可以应用在网络上供在线查询成绩和其他一些学生的信息(此功能选做人提供给学生进行查询的系统和提供给教务处使用的系统,在不同用户使用时,应该会有不同的使用权限。
提供详细的帮助文件。
1.3功能模块分析
根据系统的基本要求,系统的功能模块设计图如下图所示:
图1.1功能模块图
1.4系统全局数据流图
系统的全局数据流图,也称为第一层数据流图,是从整体上描述系统的数据流,反映系统数据的整体流向,给设计者和用户一个总体描述。
图1.2数据流图
1.5数据字典
1.5.1学生基本信息表(stu_info)
名称
数据类型
说明
Sno
int
学号(主键)
Sname
nvarchar(25)
学生姓名
Sex
bit
True男False女
Birth
datatime
出生年月
Major_ID
int
专业编号(外键-->专业表major中ID)
Sdept
int
院系编号(外键-->院系表sdept中ID)
SchoolStartTime
datatime
入学年份
Year
int
学制时间(本科4年)
Class
int
班级(外键—>班级表class中ID)
1.5.2用户信息表(user)
名称
数据类型
说明
Use_ID
int
用户名
Password
int
密码(对应密码表中编号)
Power
int
权限(对应权限表中编号)
1.5.3密码表(password)
名称
数据类型
说明
ID
int
编号(自增)
Password
nvarchar(16)
密码(16位字符串)
1.5.4权限表(power)
名称
数据类型
说明
ID
int
编号(自增)
Power
int
(1代表管理员,2,代表学生)
1.5.5成绩表(Grade)
名称
数据类型
说明
Sno
int
学号(外键-->学生表stu_info)
Grade1
int
成绩1(正考成绩)
Grade2
int
成绩2(补考成绩)
Course_id
int
课程信息编号(相同的课程在不同的学期选修该编号不同)
1.5.6专业表(major)
名称
数据类型
说明
ID
int
编号(自增)
major
nvarchar(25)
专业名称
Sdept_ID
int
院系编号(外键-->院系表sdept中ID)
1.5.7院系表(sdept)
名称
数据类型
说明
ID
int
编号(自增)
Sdept
nvarchar(25)
院系名称
1.5.8奖学金信息表(prize)
名称
数据类型
说明
ID
int
编号(自增)
Prize
nvarchar(25)
奖学金名称
Level
int
奖学金等级
1.5.9奖学金获奖信息表(Stu_Prize)
名称
数据类型
说明
Sno
int
学号(外键-->学生表stu_info)
Prize_ID
int
奖学金编号(外键-->奖学金表prize)
1.5.10班级表(class)
名称
数据类型
说明
ID
int
编号(自增)
Clname
nvarchar(25)
班级名称
Major_ID
int
班级编号(外键-->专业表中ID)
2概念结构设计
2.1构成系统的实体型
由学生学籍系统的数据流图和数据字典,抽取系统的10个主要实体,包括学生、成绩、用户、密码、权限、课程、学院、专业、班级、奖学金
学生(学号,姓名,性别,出生年月,专业,院系,班级,入学时间,)
成绩(学号,成绩1,成绩2(补考),课程信息编号)
用户(用户名,密码,权限)
密码(编号,密码)
权限(编号,1代表管理员2代表学生)
院系(编号,院系名称)
专业(编号,专业名称,院系编号)
班级(编号,班级名称,专业编号)
奖学金信息(编号,奖学金名称,奖学金等级)
获奖奖学金信息(学号,奖学金编号)
2.2学生学籍管理E-R图
图2.1学生学籍管理E-R图
3逻辑结构设计
3.1逻辑结构简介
逻辑结构设计就是把概念结构阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结结构。
设计逻辑结构一般分为3步进行:
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
(3)对数据模型进行优化。
3.2关系模型
将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:
一个实体型转换为一个关系模式,一个多对多的关系可以转化为一个关系模式,而一对多的关系可以融合在其他的相关的关系模式中。
将E-R图转换为关系模型,如下所示(以下为主要实体的关系模型):
学生(学号,姓名,性别,出生年月,专业,院系,班级,入学时间,学年学制)此为学生实体对应的关系模型
成绩(学号,成绩1,成绩2(补考),课程信息编号)此为成绩实体对应的关系模型
专业(编号,专业名称,院系编号)此为专业实体对应的关系模型
班级(编号,班级名称,专业编号)此为班级实体对应的关系模型
奖学金信息(编号,奖学金名称,奖学金等级)此为奖学金实体对应的关系模型
4物理模型设计
数据库物理设计是将逻辑设计影射到存储介质上,利用可用的硬件和软件功能尽可能快地对数据进行物理访问和维护。
4.1定义数据库
SQLServer2000数据库文件分为3中类型:
主数据文件、次数据文件和日志文件。
通过SQL语言进行数据库创建,创建数据库的语句如下:
Createdatabase学生学籍管理系统
4.2创建表
4.2.1创建学生基本信息表:
createtablestudent(
Snointnotnull,
Major_IDintnull,
SdeptIDintnull,
ClIDintnull,
Snamevarchar(20)null,
Sexchar
(2)null,
Birthdatetimenull,
SchoolStartTimedatetimenull,
yearintnull,
constraintPK_STUDENTprimarykeynonclustered(Sno)
)
go
4.2.2创建用户信息表:
createtableuer(
User_IDintnotnull,
pwIDintnull,
paIDintnull,
constraintPK_UERprimarykeynonclustered(User_ID)
)
go
4.2.3创建密码表:
createtablepassword(
paIDintnotnull,
Passwordintnotnull,
constraintPK_PASSWORDprimarykeynonclustered(paID)
)
go
4.2.4创建权限表:
createtablepower(
pwIDintnotnull,
Powerintnotnull,
constraintPK_POWERprimarykeynonclustered(pwID)
)
go
4.2.5创建成绩表:
createtablegrade(
CIDintnotnull,
Snointnotnull,
Grade1intnull,
Grade2intnull,
constraintPK_GRADEprimarykeynonclustered(CID,Sno)
)
go
4.2.6创建专业表:
createtablemajor(
Majorvarchar(25)notnull,
Sdept_IDintnull,
Major_IDintnotnull,
constraintPK_MAJORprimarykeynonclustered(Major_ID)
)
go
4.2.7创建院系表:
createtablesdept(
SdeptIDintnotnull,
Sdeptvarchar(25)null,
constraintPK_SDEPTprimarykeynonclustered(SdeptID)
)
g
4.2.8创建奖学金表:
createtableprize(
Prize_IDintnotnull,
Prizevarchar(25)null,
Levelintnull,
constraintPK_PRIZEprimarykeynonclustered(Prize_ID)
)
go
4.2.9创建获取奖学金信息表:
createtableStu_Prize(
Snointnotnull,
Prize_IDintnotnull,
constraintPK_STU_PRIZEprimarykeynonclustered(Sno,Prize_ID)
)
go
4.2.10创建班级表:
createtableclass(
ClIDintnotnull,
Clnamevarchar(10)null,
constraintPK_CLASSprimarykeynonclustered(ClID)
)
go
4.3创建存储过程
4.3.1在学生基本信息表中创建插入的存储过程:
ALTERprocedure[dbo].[插入信息]
@Snoint,
@majorint,
@Sdept_IDint,
@clIDint,
@Snamevarchar(20),
@Sexchar
(2),
@birthdatetime,
@startSchoolTimedatetime,
@yearint
as
insertintostudentvalues(@Sno,@major,@Sdept_ID,@clID,@Sname,@Sex,@birth,@startSchoolTime,@year)
4.3.2在学生基本信息表中创建删除的存储过程:
ALTERprocedure[dbo].[del]
@dele1int
as
deletestudent
where(Sno=@dele1)
4.3.3在成绩信息表中创建修改的存储过程:
ALTERprocedure[dbo].[inu]
@inu1int,--use_id
@inu2int,--pwid
@inu3int,--paid
@inu4int,--power
@inu5char(15)--password
as
insertintouervalues(@inu1,@inu2,@inu3)
insertintopowervalues(@inu2,@inu4)
insertintopasswordvalues(@inu3,@inu5)
4.4创建触发器
4.4.1删除学生信息的触发器:
ALTERTRIGGER[dbo].[Delete_student]
ON[dbo].[student]
insteadofDELETE
AS
BEGIN
SETNOCOUNTON;
DECLARE@NoINT;
select@No=Snofromdeleted;
deletefromgradewhereSno=@No;
deletefromstu_PrizewhereSno=@No;
deletefromstudentwhereSno=@No;
END
4.4.2修改学生信息的触发器:
ALTERTRIGGER[dbo].[Update_grade]
ON[dbo].[grade]
AFTERUPDATE
AS
BEGIN
DECLARE@NoINT;
select@No=CIDfromdeleted;
insertinto修改分数记录表(Cid,time)values(@No,getdate());
总结
在这周的课程设计中我学到了许多数据库的知识,平时学的东西杂乱无章,这次让我整理了这学期以来学习的数据库知识,对数据库的建立、修改、运行、有了清晰的思路,让我对数据库的运用更加的得心应手。
致谢
在这周的数据库课程设计中,让我对团队协作有了更加清楚的认识,在与同学的合作中让我更清楚怎样去与其他人交流,怎样更加清楚的表达自己的心中的想法,当然,这其中少不了同学和老师的帮助,在我绞尽脑汁的时候给我提醒和帮助。
在此真心的说一声谢谢。
参考文献
[1]孙建伶,林怀忠.数据库原理与应用.北京:
高等教育出版社2006.5
[2]梁方明.SQLServer2000.北京:
希望电子出版社2002.7
[3]王珊,萨师煊.数据库系统概论(第四版).北京:
高等教育出版社2006.5
[4]李树有.数据库应用系统开发与实例.北京:
人民邮电出版社2005.9
[5]孟彩霞.数据库系统原理与应用(本科).北京:
人民邮电出版社2008.3
[6]陶宏才.数据库原理及设计.北京:
清华大学出版社2004.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 报告