数据库课程设计文档模板.doc
- 文档编号:1295623
- 上传时间:2023-04-30
- 格式:DOC
- 页数:33
- 大小:306KB
数据库课程设计文档模板.doc
《数据库课程设计文档模板.doc》由会员分享,可在线阅读,更多相关《数据库课程设计文档模板.doc(33页珍藏版)》请在冰点文库上搜索。
数据库课程设计
题目:
学生学籍管理系统
院系:
专业:
网络工程专业
班级:
学号:
姓名:
指导老师:
2012年12月20日
33
计算机系课程设计任务书
课程名称:
数据库原理及应用
课程设计题目
学生学籍管理系统
学号:
姓名:
指导老师:
专业班级:
设计时间:
设计
目的
学生学籍管理系统被广泛应用于各类学校的学生学籍管理工作中,要求其具有实用性强、使用方便、效率高和安全可靠等特点。
本管理系统正是围绕以上几个方面进行开发的,在开发过程中充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到了设计的要求,是一个已具备了实际应用能力的软件。
本文主要论述学生学籍管理系统的开发过程,在涉及到C#及SQL中的部分知识以举例的方式进行讲解
实施
阶段
(1)建立学生档案,设计学生入学、管理及查询界面。
(2)设计学生各学期、学年成绩输入及查询界面,并打印各项报表。
(3)根据各年度总成绩,查询、输出学生学籍管理方案(优秀、合格、试读、退学)。
(4)毕业管理。
(5)系统维护。
教师
评语
备注
目录
1.需求分析 4
1.1用户需求 4
1.2系统功能的设计和划分 4
1.3数据字典 5
1.3.1数据项 5
1.3.2数据结构 7
2.概念结构设计 7
2.1数据流图 7
2.2系统E-R图 8
3.逻辑结构设计 9
3.1关系模型 9
4.软件设计 10
4.1物理结构设计 10
4.1.1数据库物理设计的内容和方法:
10
4.1.2关系模式存取方法选择:
10
4.1.3数据的存放位置:
10
4.1.4评价物理结构:
11
4.2功能实现 11
4.3sql 11
5.编码实现(代码和界面) 14
5.1登陆界面 14
5.2主界面 。
5.3查询界面 24
5.4学生入学界面 26
5.5学生信息界面
6.心得体会 33
课程设计报告
1.需求分析
1.1用户需求
本系统是针对高等院校的学生学籍管理,因此学籍管理系统的用户包括系统管理员、教师和学生。
主要涉及系部信息、班级信息、任课教师信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。
实现的具体功能如下:
l学生基本信息管理——系统管理员负责对各种基本信息的录入、修改、删除等操作。
l课程信息管理——学生对所选课程的查询操作。
l教师信息管理——系统管理员负责对教师各种基本信息的录入、修改、删除等操作;教师可以查看自己的基本信息。
l老师教学管理——查询老师所上课程以及上课地点。
l学生选课管理——查询学生所选课程以及所选课程的分数
1.2系统功能的设计和划分
根据系统功能的需求分析和高等院校学籍管理的特点,经过模块化的分析得到如下图1-1所示的系统功能模块结构图。
基本信息录入
学籍管理系统
学生学籍管理
毕业学生管理
成绩管信息理
课程信息管理
基本信息删除
基本信息修改
基本信息录入
基本信息修改
基本信息录入
基本信息删除
基本信息修改
学生学籍删除
基本信息删除
户
图1-1系统功能模块图
1.3数据字典
1.3.1数据项
数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,学籍管理的主要数据见下表。
●Student表如下:
表1-2学生基本信息表
序号
字段
别名
数据类型
数据长度
码
1
SNo
学号
Varchar
50
Y
2
Sname
姓名
Varchar
50
N
3
SAge
年龄
Int
4
N
4
SGender
性别
Nchar
2
N
Adress
地址
NChar
50
N
telephone
电话
Char
20
N
5
SDepartmentId
课程号
Int
8
N
6
SEnterYear
入学时间
Varchar
10
N
●Course表如下:
表1-3课程表
序号
字段
别名
数据类型
数据长度
码
1
Cno
课程号
Varchar
50
Y
2
Cname
课程名
nVarchar
50
N
3
CTime
学分
Varchar
50
N
4
CXQ
教师号
Varchar
50
N
●Department表如下:
表1-4教师信息表
序号
字段
别名
数据类型
数据长度
码
1
DepartmentId
专业号
Int
4
Y
2
Department
专业名
nvarchar
50
N
●Student_course表如下:
表1-6学生选课表
序号
字段
别名
数据类型
数据长度
码
1
Sno
学号
Varchar
20
Y/W
2
Cno
课程号
Varchar
20
3
Score
成绩
Varchar
20
N
●user教课:
表1-7用户表
序号
字段
别名
数据类型
数据长度
码
1
UserName
用户名
Varchar
20
Y
2
PassWord
密码
Varchar
20
N
1.3.2数据结构
数据结构反映了数据之间的组合关系。
一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成。
经过数据项和用户需求的分析,对本系统一共分了5个组,具体如下表所示:
表1-9数据结构表
数据结构名
含义说明
组成部分
学生信息管理
描述学生基本信息
学号+姓名+性别+出生日期+入学时间
课程信息管理
描述课程基本信息
课程号+课程名+教师号
成绩信息管理
描述学生成绩信息
课程号+课程名+姓名+成绩+学分
毕业学生管理
描述毕业学生基本信息
学号+姓名+性别
2.概念结构设计
概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成独立于具体DBMS的概念模型。
2.1数据流图
数据流图表达了数据和处理的关系,根据用户的需求分析和高校学籍管理系统的需求,得出如下图2-1所示的学籍管理数据流图。
图2-1学籍管理系统数据流图
2.2系统E-R图
1.对于学生信息管理,我们可以将学生实体抽象出来,如图2-2所示:
学生
性别
姓名
:
课程号
年龄
地址
入学时间
电话
学号
2.课程实体E-R图
课程
课程名
课程号
课程学期
课程学年
3.专业E-R图
专业
专业号
专业名
4课程成绩E-R图:
课程成绩
课程号
学号
成绩
3.逻辑结构设计
逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
设计逻辑结构一般分为3步进行:
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
(3)对数据模型进行优化。
3.1关系模型
将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:
1.学生(学号,姓名,性别,出生年月,系别,入学年份,课程号)
2.课程(课程号,课程名,课程学期,课程学年)
3.专业(专业号,专业名)
4.成绩(课程号,学生号,成绩)
4.软件设计
4.1物理结构设计
4.1.1数据库物理设计的内容和方法:
不同的数据库产品所提供的物理环境、存取方法和存储结构有很大差别,能供设计人员使用的设计变量、参数范围也很不相同,因此没有通用的物理设计方法可遵循,只能给出一般的设计内容和原则。
希望设计优化的物理数据库结构,使得在数据库上运行的各种事务响应时间小、存储空间利用率高、事务吞吐率大。
为此,首先对要运行的事务进行的各种事务获得选择物理数据库设计所需要的参数。
其次,要充分了解所用RDBMS的内部特征,特别是系统提供的存取方法和存储结构。
4.1.2关系模式存取方法选择:
该设计选用了唯一索引跟非唯一索引。
由于考虑到要经常对学生信息表、选课表、教师表和课程表进行查询,而学生信息表的学号必须唯一,因此为它建立唯一索引,其它表就建立非唯一索引以提高查询效率。
脚本如下:
createuniqueindexsnoonstudent(Sno)
createindexsnoonstudent_course(Sno)
createindexcnooncourse(cno)
4.1.3数据的存放位置:
为了提高系统性能,数据库设计可根据用户需求将数据的易变部分与稳定部分、经常存取部分和存取频率低部分分开存放,以加快存取速度,这在多用户环境下特别有效;还可以将日志文件与数据库对象(表、索引等)放在不同的磁盘上,以改进系统的性能。
4.1.4评价物理结构:
根据对数据库的权衡,对经常查询的表创建索引能大大提高时间效率;对基本表进行规范化,减少数据冗余以及存储空间的占用;对数据库创建触发器,数据的增删改都能自动地进行同步,减少维护的负担;根据不同用户的需求,数据库还可以更改数据存放位置,实现更合理的方案。
4.2功能实现
完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。
然后就可以组织数据入库,最后就在此基础上编写各个表相关的触发器和存储过程。
4.3SQL界面
4.3.1abo.course表
4.3.2abo.Department表
4.3.dbo.student
4.4.dbo.student-course
4.5.SysUser
5.编码实现(代码和界面)
5.1登陆界面
代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
usingSystem.IO;
usingSystem.Xml;
usingSystem.Collections;
usingStudentManager.DbLayer;
namespaceStudentManager
{
publicpartialclassFormLogin:
Form
{
publicFormLogin()
{
InitializeComponent();
}
publicstaticboolisValidate=false;
///
///“登录”按钮单击事件
///
///
///
privatevoidbuttonLogin_Click(objectsender,EventArgse)
{
//1构造查询语句,形如:
"select*from[SysUser]whereUserName='张三'and[Password]='123456'"
stringsql="";
sql+="select*from[SysUser]where[UserName]=";
sql+=SqlStringConstructor.GetQuotedString(this.textBoxUserName.Text);
sql+="and[Password]=";
sql+=SqlStringConstructor.GetQuotedString(this.textBoxPwd.Text);
//2查询数据
Databasedb=newDatabase();
DataRowrow=db.GetDataRow(sql);
//3根据查询结果,判断用户是否合法
if(row!
=null)
{
FormLogin.isValidate=true;
((FormMain)this.MdiParent).ChangeMenuStatus();
this.Close();
}
else
{
MessageBox.Show("对不起,您输入的用户名或者密码错误!
");
}
}
///
///“窗口加载”事件
///
///
///
privatevoidFormLogin_Load(objectsender,EventArgse)
{
this.Height=380;
//从文件“Database.config”中,读取数据库配置参数
XmlDocumentxdc=newXmlDocument();
try
{
//读取XML文档格式的Database.config文件中,连接字符串数据
xdc.Load("Database.config");
stringconString=xdc.ChildNodes[1].ChildNodes[0].Attributes["value"].Value;
ArrayListarr=newArrayList();
arr.AddRange(conString.Split(';','='));
}
catch{}
}
///
///“退出”按钮单击事件
///
///
///
privatevoidbuttonExit_Click(objectsender,EventArgse)
{
this.Close();
}
///
///“配置”按钮单击事件
///
///
///
privatevoidbuttonConfig_Click(objectsender,EventArgse)
{
/*if(this.buttonConfig.Text=="服务器配置△")
{
this.textBoxUserName.Focus();
this.buttonConfig.Text="服务器配置▽";
this.Height=380;
}
else
{
this.textBoxServer.Focus();
this.buttonConfig.Text="服务器配置△";
this.Height=544;
}*/
}
///
///“配置确定”单击按钮
///
///
///
privatevoidbuttonConfigOk_Click(objectsender,EventArgse)
{
//将用户输入的配置参数,保存到当前目录下“Database.config”文件中
StreamWriterwriter=newStreamWriter("Database.config",false,System.Text.Encoding.Default);
writer.WriteLine("
xmlversion=\"1.0\"encoding=\"utf-8\"?
>");
writer.WriteLine("
stringconStr=" /*conStr+="server="+textBoxServer.Text+";"; conStr+="database="+this.textBoxDbName.Text+";"; conStr+="userid="+this.textBoxDbUser.Text+";"; conStr+="pwd="+this.textBoxDbPwd.Text; conStr+="\"/>";*/ writer.WriteLine(conStr); writer.WriteLine(""); writer.Close(); Databasedb=newDatabase(); db.Open(); /*this.buttonConfig.Text="服务器配置▽"; this.Height=380;*/ } /// ///“配置重置”单击按钮 /// /// /// privatevoidbuttonConfigReset_Click(objectsender,EventArgse) { //把各项内容清空 /*this.textBoxServer.Text=""; this.textBoxDbName.Text=""; this.textBoxDbUser.Text=""; this.textBoxDbPwd.Text=""; this.textBoxServer.Focus();*/ } } } 5.2主界面 代码: usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Text; usingSystem.Windows.Forms; namespaceStudentManager { publicpartialclassFormMain: Form { publicFormMain() { InitializeComponent(); } /// ///窗体加载事件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 文档 模板