西电计算机数据库上机报告-学生管理系统Word格式.docx
- 文档编号:7271878
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:11
- 大小:101.54KB
西电计算机数据库上机报告-学生管理系统Word格式.docx
《西电计算机数据库上机报告-学生管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《西电计算机数据库上机报告-学生管理系统Word格式.docx(11页珍藏版)》请在冰点文库上搜索。
年龄
Sbirth
出生年月
班级表
Cno
班级号
Cyear
入学年份
Cnum
班级人数
Cname
专业名
系表
Dno
系号
Dname
系名
Doffice
系办公室地点
Dnum
系人数
Dzone
住宿区
学生学会表
SUno
学会号
SUname
学会名
SUyear
成立时间
SUzone
地点
2.任务需求:
(1)实现学生基本情况的录入,修改,删除等基本操作。
(2)对学生基本信息提供灵活的查询方式。
(3)建立学生学会名和学会人数的视图
(4)触发器可以在增加或者删除学生时自动增加或者删除系人数和班级人数
(5)存储过程,可以更改班级号并返回人数
(6)建立一个游标,可以对系的人数统计,如果与人数不相同可以更新系的人数
二、数据库设计
1.概念结构设计
局部ER图
学生
学号
姓名
出生年份
班级
班级号
系号
系
学会
学会号
整体的ER图
属于
系号号
期
加入
学号
属于
班级号号
名
入会年份
2.逻辑结构设计
(1)ER图转换为关系模型
由ER图可见:
图中有四个实体:
学生,班级,系和学会;
四个关系:
学生学会加入关系,学生与班级之间的属于关系,学生与系之间的属于关系,班级与系之间的属于关系。
由于每个实体必须构造表,所以可以先得到四个实体的信息表,实体的码就是关系的码,实体的属性即关系模型的属性:
Student(Sno,Sname,Ssex,Sage,Sbirth,Dno,Cno)
Dept(Dno,Dname,Doffice,Dnum,Dzone)
Class(Cno,Cyear,Cnum,Cname,Dno)
StuUnion(SUno,SUname,SUyear,SUzone)
对于多对多的关系来说,与该联系相连的实体的码以及本身的属性均转换为关系的属性,各实体之间的码组成关系的码或者关系的码的一部分。
以上ER图的联系为多对多,所以转换为关系模式为:
Join(Sno,SUno,Jyear)
3.物理结构设计
(1)基本表
学生表Student
列名
主码
候选码
外码
被参照表
允许空
数据类型
约束条件
是
否
无
Char(9)
Char(20)
Char
(2)
只可取男或女
smallint
20-30
Dept
Char(3)
Class
Char(6)
班级表Class
Char(5)
Int
系表Dept
Char(10)
学会表StuUnion
参加学会表JoinSU
Student
StuUnion
Jyear
(2)视图,索引
a.索引:
本数据库中的表除了主键本身生成的主索引外,没有定义其他的索引。
在查询时即引用主索引即可。
表Student的主索引列为:
表Class的主索引列为:
表Dept的主索引列为:
表StuUnion的主索引列为:
表Join的主索引列为:
Sno,SUno
b.视图:
虽然关系数据模型分析的结果表示该数据库需要定义不同的用户视图,但考虑到数据库与前台开发程序的连接比较复杂,所以该数据库中没有单独定义用户视图,不同的用户视图被有选择性的的select语句的结果集取.
三、系统实现
1.表的建立
1)系表
CREATETABLEDept
( DnoCHAR(3)NOTNULL,
DnameCHAR(20)NOTNULL,
DofficeCHAR(20)NOTNULL,
DnumINT,
DzoneCHAR(10),
PRIMARYKEY(Dno)
);
2)班级表
CREATETABLEClass
( CnoCHAR(6)NOTNULL,
CyearCHAR(5),
CnumINT,
CnameCHAR(6),
DnoCHAR(3),
PRIMARYKEY(Cno),
FOREIGNKEY(Dno)REFERENCESDept(Dno)
ONDELETECASCADE
ONUPDATECASCADE
3)学生表
CREATETABLEStudent
( SnoCHAR(9)NOTNULL,
SnameCHAR(20)NOTNULL,
SbirthCHAR(20),
SsexCHAR
(2)CHECK(SsexIN(’男’,’女’)),
SageSMALLINTCHECK(Sage>
10ANDSage<
30),
DnoCHAR(3)NOTNULL,
CnoCHAR(6)NOTNULL,
PRIMARYKEY(Sno),
ONUPDATECASCADE,
FOREIGNKEY(Cno)REFERENCESClass(Cno)
4)学会表
CREATETABLEStuUnion
( SUnoCHAR(5)NOTNULL,
SUnameCHAR(20),
SUyearCHAR(5),
SUzoneCHAR(20),
PRIMARYKEY(SUno)
5)参加学会表
CREATETABLEJoinSU
SUnoCHAR(5)NOTNULL,
JyearCHAR(5),
PRIMARYKEY(Sno,SUno),
FOREIGNKEY(Sno)REFERENCESStudent(Sno)
FOREIGNKEY(SUno)REFERENCESStuUnion(SUno)
2.创建学会的视图
CREATEVIEWClub(SUNAME,SNUM)
AS
SELECTMAX(SUname),COUNT(DISTINCTSno)
FROMJoinSU,StuUnion
WHEREStuUnion.SUno=JoinSU.SUno
GROUPBYStuUnion.SUno
3.建立在学生表上的触发器(能根据每个班的学生变动情况自动增减班级表和系表的人数字段的值)
CREATETRIGGERUpdate_people
ONStudent
FORINSERT,DELETE
UPDATEDept
SETDept.Dnum=Dept.Dnum+1
WHEREDept.Dno=(
SELECTINSERTED.Dno
FROMINSERTED)
SETDept.Dnum=Dept.Dnum-1
SELECTDELETED.Dno
FROMDELETED)
UPDATEClass
SETClass.Cnum=Class.Cnum+1
WHEREClass.Cno=(
SELECTINSERTED.Cno
SETClass.Cnum=Class.Cnum-1
SELECTDELETED.Cno
4.建立存储过程(给定一个班的旧班号和新班号,把所有相关表中此班的旧班号改为新班号,并返回此班的人数(使用输出参数))
CREATEPROCEDURECHANGE
@oldnumCHAR(6),@newnumCHAR(6),@CnumINTOUTPUT
SETClass.Cno=@newnum,@Cnum=Cnum
WHEREClass.Cno=@oldnum
UPDATEStudent
SETStudent.Cno=@newnum
WHEREStudent.Cno=@oldnum
DECLARE@CnumINT
EXECCHANGE'
1403'
'
1421'
@CnumOUTPUT
PRINTSTR(@Cnum)
5.建立游标(确定系表中人数字段的值与实际学生数是否相符。
如果不相符,把人数字段的值改为实际数,并在窗口打印此系的系号、系名、原人数、实际人数)
DECLAREMycursorCURSORFOR
SELECTDnum,Dno
FROMDept
FORUPDATE
DECLARE@local_sumINT,@local_noCHAR(3),@sumINT
OPENMycursor
FETCHNEXTFROMMycursorINTO@local_sum,@local_no
WHILE@@FETCH_STATUS=0
BEGIN
SELECT@sum=COUNT(Sno)
FROMStudent
WHEREDno=@local_no
GROUPBYDno
IF@local_sum!
=@sum
SETDnum=@sum
WHERECURRENTOFMycursor
END
CLOSEMycursor
DEALLOCATEMycursor;
四、设计总结
通过这次的实验,我对数据库在生活中的广泛应用有了更深的体会,同时也加深了对SQL2008的认识,尤其对数据库与开发程序的链接有了进一步的认识。
这次课程设计我最大的收获并不是对书本知识的巩固,而是通过实验我的自学能力得到了很好的锻炼,实践能力也提高了不少。
由于之前对很多知识都不了解,在实验的开始阶段进展很慢。
但是通过网上查资料,与同学讨论,互相学习渐渐的掌握了一定的知识。
后来的实验也就没有那么摸不着门路了。
当然,在这次课程设计中我还有很多没有解决的问题:
功能不是很完善,有些地方做的也不够完善。
对于这一点我有很大的遗憾,如果可以实现的话,相信我可以实现更加完善的功能。
总结以上,这次课程设计,我收获很多,遗憾更大。
不管怎样,今后我会更加努力学习这门课程,不断提高自己!
五、小组成员及任务分配
:
负责数据库ER图到关系模式的转换,表的建立,视图,触发器,存储过程部分。
负责游标的部分及系统的整体完善。
负责所有数据的设置及插入,测试系统的缺陷。
负责实验报告的整体。
负责关系模式表和ER图的设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 数据库 上机 报告 学生 管理 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)