学生管理系统数据库课设.docx
- 文档编号:9698441
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:32
- 大小:505.79KB
学生管理系统数据库课设.docx
《学生管理系统数据库课设.docx》由会员分享,可在线阅读,更多相关《学生管理系统数据库课设.docx(32页珍藏版)》请在冰豆网上搜索。
学生管理系统数据库课设
一.课程设计目的
数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
通过本实验达到以下目的:
(1)培养学生具有C/S和B/S/S模式的数据库应用软件系统的设计和开发能力。
(2)熟练掌握一种数据库系统(如SQLSERVER)的使用。
(3)熟练掌握一种数据库应用软件开发工具(如POWERBUILDER、ASP、VB.NET)的使用。
(4)通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。
二.课程设计任务与要求:
1、任务:
学生管理系统
问题描述:
1)某大学有学生若干万名,每个学生每学期必须学习若干门课程。
2)每个学生有学号、姓名、性别、班级、出生日期等基本信息。
3)每门课程有课程号,课程名称、学期、学时等信息。
4)学校需要对每个学生的基本信息进行统一管理,以便于对信息进行查询、浏览和修改。
2、设计要求:
学生管理系统需要完成功能主要有:
1)登录用户的基本信息,包括登录ID及密码、权限。
2)学生的基本信息,学生的姓名、性别、年龄、出生时间等。
3)课程基本信息,课程号,课程名,学期,学时等。
4)学生课程成绩,学号,课程号,成绩等。
5)学生信息的查询、修改、删除、添加等。
6)超级管理员管理:
包括创建用户,修改用户的权限级别,添加、修改、删除学生、课程、成绩基本信息等。
7)设计一完整的数据库。
要求掌握数据库的设计的每个步骤;掌握数据设计各阶段的输入、输出、设计环境、目标和方法;熟练的使用SQL语言实现数据库以及数据库重要对象的建立、应用和维护。
三.课程设计说明书
1需求分析
(1)数据需求
学生管理系统需要完成功能主要有:
1)登录用户的基本信息,包括登录ID及密码、权限。
2)学生的基本信息,学生的姓名、性别、年龄、出生时间等。
3)课程基本信息,课程号,课程名,学期,学时等。
4)学生课程成绩,学号,课程号,成绩等。
5)学生信息的查询、修改、删除、添加等。
6)超级管理员管理:
包括创建用户,修改用户的权限级别,添加、修改、删除学生、课程、成绩基本信息等。
(2)事物需求
此系统实现如下系统功能:
1使得学生的管理工作更加清晰、条理化、自动化。
2学生可以通过用户名和密码登录系统,查询自己基本资料,所选课程成绩,修改用户密码等功能,容易地完成学生信息的查询操作。
而学校中拥有权限的部门可以通过用户名和密码登录系统,根据权限等级对学生信息进行查询、修改、删除、更新等操作。
⑶设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。
(3)关系模式
1)登录用户(ID,密码,权限级别)
2)学生基本信息(学号,姓名,性别,出生时间,专业,总学分,备注)
3)课程基本信息(课程号,课程名,学期,学时,学分)
4)学生课程成绩(学号,课程号,成绩,学分)
5)超级管理员(ID,密码,权限级别)
(4)数据流程图(DFD)
通过对系统需求的调查分析,细化软件功能,把系统划分几个子系统,明确每个子系统所要完的主要逻辑功能,采用以图形的方式描绘数据在系统中流动和处理。
数据流图是用来表示系统的逻辑模型。
注:
D1:
用户登录信息表
D:
学生基本信息表、学生课程表、成绩表
F1:
用户登录信息
F2:
查询信息
F3:
更新信息
F4:
管理信息
F5:
用户登录信息(包括权限)
F6、F7、F8:
学生基本信息、课程信息、成绩信息
注:
D2:
学生基本信息表
D3:
课程基本信息表
D4:
学生课程成绩表
(5)数据字典
为了使各数据流,数据处理过程,存储过程不能反映其中的数据成,数据项目,数据特性,所以用数据字典来对数据流图中的各成份进行具体的定义,为系统的分析,设计及以后的实现提供供有关元素一致性定义和详细的描述:
数据流名称:
用户登录标志符:
F1
别名:
无
来源:
用户
去向:
查询处理(P2)、更新信息(P3)、管理(P4)
数据组成:
用户ID+密码
数据流名称:
信息查询标志符:
F2
别名:
无
来源:
登录用户
去向:
查询信息处理过程(P2)
数据组成:
学号|专业|课程号|总学分
数据流名称:
信息更新标志符:
F3
别名:
无
来源:
用户
去向:
更新信息处理过程(P3)
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注|课程号|课程名|学期|学时|学分|成绩
数据流名称:
系统管理标志符:
F4
别名:
无
来源:
超级管理员
去向:
管理处理过程(P4)
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注|课程号|课程名|学期|学时|学分|成绩|登录名|口令|权限级别
数据流名称:
用户登录基本信息标志符:
F5
别名:
无
来源:
D1(用户登录信息表)
去向:
管理处理过程(P4)
数据组成:
|登录名|口令|权限级别
数据流名称:
学生基本信息、课程信息、成绩信息标志符:
F6
别名:
无
来源:
学生基本信息表、课程信息表、成绩信息表
去向:
查询处理过程(P2)
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注|课程号|课程名|学期|学时|学分|成绩
数据流名称:
学生基本信息、课程信息、成绩信息标志符:
F7
别名:
无
来源:
学生基本信息表、课程信息表、成绩信息表
去向:
更新处理过程(P3)
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注|课程号|课程名|学期|学时|学分|成绩
数据流名称:
学生基本信息、课程信息、成绩信息标志符:
F8
别名:
无
来源:
学生基本信息表、课程信息表、成绩信息表
去向:
管理处理过程(P4)
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注|课程号|课程名|学期|学时|学分|成绩
数据流名称:
用户登录基本信息标志符:
F9
别名:
无
来源:
管理处理过程(P4)
去向:
D1(用户登录信息表)
数据组成:
|登录名|口令|权限级别
数据流名称:
学生基本信息、课程信息、成绩信息标志符:
F10
别名:
无
来源:
管理处理过程(P4)
去向:
学生基本信息表、课程信息表、成绩信息表
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注|课程号|课程名|学期|学时|学分|成绩
数据流名称:
直接查询信息标志符:
F2.1
别名:
无
来源:
用户
去向:
直接查询处理过程(P2.2)
数据组成:
学号|专业|总学分|课程号
数据流名称:
多条件查询信息标志符:
F2.2
别名:
无
来源:
用户
去向:
多条件查询处理过程(P2.3)
数据组成:
学号+课程号|总学分+专业
数据流名称:
信息查询标志符:
F5.2
别名:
无
来源:
超级管理员
去向:
查询信息处理过程(P2)
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注|课程号|课程名|学期|学时|学分|成绩|登录名|口令|权限级别
数据流名称:
信息更新标志符:
F5.3
别名:
无
来源:
超级管理员
去向:
更新信息处理过程(P3)
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注|课程号|课程名|学期|学时|学分|成绩|登录名|口令|权限级别
数据流名称:
删除信息标志符:
F5.5
别名:
无
来源:
超级管理员
去向:
删除信息处理过程(P5)
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注|课程号|课程名|学期|学时|学分|成绩|登录名|口令|权限级别
数据流名称:
学生基本信息标志符:
F6.1
别名:
无
来源:
学生基本信息表
去向:
直接查询处理过程(P2.2)
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注
数据流名称:
学生基本信息标志符:
F6.2
别名:
无
来源:
学生基本信息表
去向:
多条件查询处理过程(P2.3)
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注
数据流名称:
课程基本信息标志符:
F6.3
别名:
无
来源:
课程基本信息表
去向:
直接查询处理过程(P2.2)
数据组成:
课程号|课程名|学期|学时|学分
数据流名称:
课程基本信息标志符:
F6.4
别名:
无
来源:
课程基本信息表
去向:
多条件查询处理过程(P2.3)
数据组成:
课程号|课程名|学期|学时|学分
数据流名称:
学生课程成绩信息标志符:
F6.5
别名:
无
来源:
学生课程成绩信息表
去向:
直接查询处理过程(P2.2)
数据组成:
学号|课程号|成绩|学分
数据流名称:
学生课程成绩信息标志符:
F6.6
别名:
无
来源:
学生课程成绩信息表
去向:
多条件查询处理过程(P2.3)
数据组成:
学号|课程号|成绩|学分
数据流名称:
学生基本信息标志符:
F7.2
别名:
无
来源:
学生基本信息表
去向:
更新处理过程(P3)
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注
数据流名称:
课程基本信息标志符:
F7.3
别名:
无
来源:
课程基本信息表
去向:
更新处理过程(P3)
数据组成:
课程号|课程名|学期|学时|学分
数据流名称:
学生课程成绩信息标志符:
F7.4
别名:
无
来源:
学生课程成绩信息表
去向:
更新处理过程(P3)
数据组成:
学号|课程号|成绩|学分
数据流名称:
学生基本信息标志符:
F10.2
别名:
无
来源:
更新处理过程(P3)
去向:
学生基本信息表
数据组成:
学号|姓名|性别|出生时间|专业|总学分|备注
数据流名称:
课程基本信息标志符:
F10.3
别名:
无
来源:
更新处理过程(P3)
去向:
课程基本信息表
数据组成:
课程号|课程名|学期|学时|学分
数据流名称:
学生课程成绩信息标志符:
F10.4
别名:
无
来源:
更新处理过程(P3)
去向:
学生课程成绩信息表
数据组成:
学号|课程号|成绩|学分
②数据存储字典:
数据存储名称:
用户登录基本信息表标志符:
D1
描述:
登录用户的基本信息
流入数据流:
F9
涉及处理:
P1,P2,P3,P4,P5
数据组成:
登录名+口令+权限级别
数据存储名称:
学生基本信息表标志符:
D2
描述:
学生的基本信息
流入数据流:
F10.2
涉及处理:
P2,P2.2,P2.3,P3,P4,P5
数据组成:
学号+姓名+性别+出生时间+专业+总学分+备注
数据存储名称:
课程基本信息表标志符:
D3
描述:
课程基本信息
流入数据流:
F10.3
涉及处理:
P2,P2.2,P2.3,P3,P4,P5
数据组成:
课程号+课程名+学期+学时+学分
数据存储名称:
学生课程成绩表标志符:
D4
描述:
学生课程成绩
流入数据流:
F10.4
涉及处理:
P2,P2.2,P2.3,P3,P4,P5
数据组成:
学号+课程号+成绩+学分
③数据处理字典:
数据处理名称:
用户登录标志符:
P1
处理定义:
登录系统
激发条件:
所输入的ID和密码正确
输入:
F1
输出:
F2,F3,F4
数据处理名称:
用户查询标志符:
P2
处理定义:
查询学生信息
激发条件:
所输入查询信息找到
输入:
F2
输出:
D
数据处理名称:
直接查询标志符:
P2.2
处理定义:
查询学生信息
激发条件:
所输入学生信息找到
输入:
F2.1
输出:
D
数据处理名称:
多条件查询标志符:
P2.3
处理定义:
查询学生信息
激发条件:
所输入学生信息找到
输入:
F2.2
输出:
D
数据处理名称:
更新信息标志符:
P3
处理定义:
更新学生信息
激发条件:
所输入学生信息找到
输入:
F2
输出:
D
数据处理名称:
管理标志符:
P4
处理定义:
管理各种信息
激发条件:
选择管理功能
输入:
F6
输出:
F9,F10,D,D1
数据处理名称:
删除信息标志符:
P5
处理定义:
删除各种信息
激发条件:
选择删除功能
输入:
F5.5
输出:
D
2概要设计
概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成独立于具体DBMS的概念模型
(1)实体图及E-R图
对于学生信息的管理,我们可以将学生实体抽象出来,根据所要实现的功能设计,可建立它们之间的关系,进而实现逻辑结构功能。
学生管理信息系统可以划分的实体有:
用户登录信息实体、学生基本信息实体、课程基本信息实体、学生课程成绩信息实体。
用E-R图一一描述这些实体。
1.用户登录信息实体
2.学生基本信息实体
3.课程基本信息实体
4.学生课程成绩信息实体
超级管理员
管理员姓名
管理员编号
管理员密码
管理员权限
5超级管理员实体图
图2-5超级管理员实体及其属性图
用户名
密码
6.用户信息实体图
用户
权限
图2.6用户信息实体图
7.学生课程成绩三者实体间的联系图
性别
课程
学生基本
专业
学号
出生日期
姓名
查询成绩
学期
课程号
课程名称
学时
成绩
图2.6三者实体间的联系图
用户
8.总的信息实体E-R图:
1
学生成绩
查询
11
学生
m1
1
对应
选修
课程
nn
n
n
管理
nn
创建
1
1
超级用户
3逻辑设计
表3.1XS学生基本信息表
表中列名
数据类型
可否为空
说明
XH
char
notnull(主键)
学号
XM
char
notnull
姓名
XB
bit
notnull
性别
CSSJ
smalldatetime
notnull
出生时间
ZY
char
null
专业
ZXF
tinyint
null
总学分
BZ
text
null
备注
表3.2KC课程信息表
表中列名
数据类型
可否为空
说明
KCH
char
notnull(主键)
课程号
KCM
char
notnull
课程名
XQ
tinyint
null
学期
XS
tinyint
null
学时
XF
tinyint
null
学分
表3.3XSKC学生课程成绩信息表
表中列名
数据类型
可否为空
说明
XH
char
notnull(主键)
学号
KCH
char
notnull(主键)
课程名
CJ
tinyint
null
成绩
XF
tinyint
null
学分
表3.4YH用户登录信息结构表
表中列名
数据类型
可否为空
说明
DLM
char
notnull(主键)
登录名
KL
char
notnull
口令
QXJB
tinyint
notnull
权限级别
4关系图:
5物理设计
数据库的物理设计就是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。
物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。
因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数
数据库的物理设计通常分为两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存取结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
而主要体现在后者
(1)建立索引:
1对xs表在xh属性列上建立非聚集索引。
2对kc表在kch上建立非聚集索引。
3对xshc表在cj上建立聚集索引,在xh,kch上建立非聚集索引
4对yh表在dlm列上建立非聚集索引
(2)存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。
所以系统将日志文件和数据文件存放在不同磁盘上。
6数据库建立
(1)创建数据库
createdatabaseobject
on
(name='课程设计_data',
filename='F:
\学习\sql\数据库课程设计\课程设计\课程设计.mdf',
size=10,
maxsize=50,
filegrowth=5
)
logon
(name='课程设计_log',
filename='F:
\学习\sql\数据库课程设计\课程设计\课程设计.ldf',
size=5,
maxsize=25,
filegrowth=5
)go
(2)学生信息表建立
useobject
go
createtableXS
(XHchar(6)primarykey,
XMchar(16)notnull,
XBbitnotnull,
CSSJsmalldatetimenotnull,
ZYchar(16),
ZXFtinyint,
BZtext)go
(3)创建课程信息表
createtableKC
(KCNchar(3)primarykey,
KCMchar(16)notnull,
XQtinyint,
XStinyint,
XFtinyint
)
go
(4)学生课程成绩表建立
createtableXSKC
(XHchar(6)notnull,
KCHchar(3)notnull,
CJtinyint,
XFtinyint,
primarykey(XH,KCH)
)
go
(5)系统登录表建立
createtableYH
(DLMchar(8)primarykey,
KLchar(10)notnull,
QXJBtinyintnotnull
)go
(6)超级管理员表建立
createtablesystem_super_Administrator
(superadministratoridvarchar(9)primarykey,
superadministratornamevarchar(9)notnull,
superadministratorpasswordvarchar
(2)notnull,
superadministratorpermissionvarchar(10)
)
go
7数据初始化
(1)将学生信息加入表XS中
insertintoXS
values('071101','宋大方','0',1988-2-10,'计算机',60,null)
insertintoXS
values('071102','李王','0',1987-5-16,'信息工程系',50,null)
insertintoXS
values('071103','张彬','0',1986-6-1,'数学系',52,null)
insertintoXS
values('071104','王蕾','1',1986-5-22,'计算机',48,'有一门不及格,待补考')
insertintoXS
values('071105','张建国','0',1986-3-11,'英语系',49,null)
insertintoXS
values('071106','李平方','0',1988-11-21,'英语系',52,'三好生')
insertintoXS
values('071107','陈东辉','0',1990-7-1,'计算机',55,null)
insertintoXS
values('071108','葛鹏','0',1987-12-11,'数学系',47,'有一门不及格,待补考')
insertintoXS
values('071109','潘桃芝','1',1989-2-25,'数学系',51,'已提前修完一门课')
insertintoXS
values('071110','姚一峰','0',1989-8-12,'计算机',54,'提前修完《数据库》,并获学分')
insertintoXS
values('071111','许辉','1',1988-7-26,'数学系',56,null)
insertintoXS
values('071112','王一山','0',1990-8-4,'通信工程',52,'已提前修完一门课,并获得学分')
insertintoXS
values('071113','牛莉','1',1989-3-3,'计算机',53,null)
insertintoXS
values('071114','李丽丽','1',1988-2-21,'信息工程系',46,'转专业学习')
go
(2)将课程信息加入KC表中
insertintoKC
values('101','计算机基础',1,60,3)
insertintoKC
values('102','程序设计',2,64,5)
insertintoKC
values('103','数据结构',3,60,6)
insertintoKC
values('104','数据库',3,80,6)
insertintoKC
values('105','计算机网络',4,68,6)
insertintoKC
values('106','微机原理',4,112,8)
insertintoKC
values('107','操作系统',3,96,6)
insertintoKC
values('108','软件工程',5,32,3)
insertintoKC
values('109','大型数据库',5,48,2)
insertintoKC
values('110','图像处理',6,48,2)
go
(3)将学生课程成绩信息加入XSKC表中
insertintoXSKC
values('071101','101',80,3)
insertintoXSKC
values('071102','102',78,5)
insertintoXSKC
values('071103','101',65,3)
insertintoXSKC
values('071104','102',73,5)
insertintoXSKC
values('071105','102',68,5)
insertintoXSKC
values('071106','101',81,3)
insertintoXSKC
values('071107','101',75,3)
insertintoXSKC
values('071108',
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 管理 系统 数据库