最新数据库课程设计学生信息管理系统Word格式.docx
《最新数据库课程设计学生信息管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《最新数据库课程设计学生信息管理系统Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
具备一定的安全性管理功能。
包括操作员的权限设置、密码设置、重新登录等功能。
分析需求就是描述系统的需求,通过定义系统中的关键域类来建立模型。
学生管理信息系统的需求分析也应该是开发人员和用户或者客户一起完成的。
分析需求的第一步描述学生管理信息系统的功能,即定义用例,以此确定系统的功能需求。
学生管理信息系统的用例分析主要涉及规格说明的阅读和分析,需要和学生管理信息系统的潜在用户进行讨论。
学生管理系统的角色是管理者和系统管理员。
管理者是管理学生的人员,如教务处或者学生处的员工,他也是系统的用户,而系统管理员是系统管理者,虽然系统管理员也是一个员工,但这并不影响本系统的功能。
同样,管理者也可能是一个学生,但这也不影响系统的功能。
学生管理信息系统的用例主要包括如下内容。
●
记录学生情况
修改学生信息
查询学生情况
记录学生奖惩情况
设置选修情况情况
设计选修课程
五.系统设计
1.系统总体设计
本程序客户端负责提供表达逻辑、显示用户界面信息、访问数据库服务器,采用
C++Builder6作为开发工具;
服务器端则用于提供数据服务,采用SQLServer2000作为数据库管理系统。
本系统按照功能划分为以下四个模块:
学生管理(包括学生信息录入和学生信息查询)、课程管理(包括课程设置和课程查询)、成绩管理(包括成绩录入和成绩查询)和系统管理(包括重新登录和操作员管理等)。
系统的功能模块图如图1所示:
六.数据定义
1.数据表说明
1.Student表:
学号(Sno),姓名(Sname),性别(Ssex),年龄(Sage),专业(Sdept)
2.Course表
课程号(Cno),课程名(Cname),先行课号(Cpno),学分(Ccredit)
3.SC表
学号(Sno),课程号(Cno),学分(Grade)
七.结构设计
1.概念结构设计
说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,建立本数据库的每一幅用户视图。
本系统主要有学生和课程两个实体集,一个学生可以选修若干门课程,一门课程也可以被多个学生选修,两个实体集之间是多对多联系,联系上有选课成绩。
本系统的E-R图如下图:
由于数据要求简单,没有什么冗余过多的数据,所以数据库没有为程序建立视图,直接在表中操作,提高效率。
2.逻辑结构设计
数据库逻辑结构设计
根据关系模型的转换原则,上面的E—R图可转换为如下所示的关系模型:
Student(Sno,Sname,Sex,Sdept)
其中各项含义分别为:
学生(学号,姓名,性别,所在系)
Course(Cno,Cname,Cpno,Credit)
课程(课程号,课程名称,先行课号,学分)
SC(Sno,Cno,Grade)
选修(学号,课程号,成绩)
说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构和文卷结构、所建立的各个文卷之间的相互关系。
ER图
3.物理结构设计
4.数据字典设计
1学生信息表Student的表结构
主码
列名
数据类型
宽度
小数位
空否
备注
Pk
Sno
Char
10
N
学号
Sname
20
Y
姓名
Sex
2
性别
Sage
Int
4
年龄
Sdept
所在系
2课程信息表Course的表结构
Cno
5
课程代码
Cname
课程名称
Cpno
先行课号
Credit
Smallint
学分
3选课成绩表SC的表结构
Grade
Decimal
1
成绩
系统的功能模块图
6.系统设计
一.结合C++Builder进行数据库,设计过程可按如下步骤进行:
创建应用库及应用对象;
●
创建全局变量;
创建菜单;
创建数据窗口;
创建窗口并在窗口中放置所需控件。
●创建应用库及应用对象
1.创建登陆窗体
2.创建主窗体
●加入连接数据库控件,DBGrid,ADODataSet,ADODataCommand,DataSource。
●设置数据库连接,设置控件属性。
●设计窗体界面
3.创建查询窗体
●连接主窗体控件
●设置查询条件
●对查询条件优化
●多表查询设置
4.修改窗体设置
●连接数据库属性
●设置修改项
●确认修改
5.高级查询功能
●高级查询功能提示
●查询窗体设计
八.程序流程图
1.以下是程序功能的主要流程:
3.数据查询流程图
查询
查询Button1Click(TObject*Sender)
{
读取查询条件;
转化为String形式语句;
读取查询显示列;
判断查询语句关系,确定查询要连接的表;
功能性手工艺品。
不同的玉石具有不同的功效,比如石榴石可以促进血液循环,改善风湿和关节炎;
白水晶则可以增强记忆力;
茶晶能够帮助镇定情绪,缓解失眠、头昏等症状。
顾客可以根据自己的需要和喜好自行搭配,每一件都独一无二、与众不同。
语句连接――>
优化----→生成SQL;
输入ADODataSet->
CommandText=SQL;
执行成功;
10、如果学校开设一家DIY手工艺制品店,你希望_____输出结果;
}
修改
附件
(二):
调查问卷设计修改ButtonClick(TObject*Sender)
1、现代文化对大学生饰品消费的影响{
(2)物品的独一无二读取要修改的数据;
1、购买“女性化”显示数据了;
1、DIY手工艺市场状况分析直接修改;
木质、石质、骨质、琉璃、藏银……一颗颗、一粒粒、一片片,都浓缩了自然之美,展现着千种风情、万种诱惑,与中国结艺的朴实形成了鲜明的对比,代表着欧洲贵族风格的饰品成了他们最大的主题。
修改确认;
if(确定)修改数据库else放弃修改;
退出
}
1、你一个月的零用钱大约是多少?
查询实现代码如下:
6、你购买DIY手工艺制品的目的有那些?
void__fastcallTForm6:
:
Button1Click(TObject*Sender)
Stringsno,sname,ssex,sage,sdept,cno,cname,cgrade,ccredit,cpno;
//sno
if(Edit1->
Text!
="
"
)sno="
andstudent.sno='
+Edit1->
Text+"
'
;
elsesno="
//sname
if(Edit2->
)sname="
andstudent.sname='
+Edit2->
elsesname="
//ssex
if(Edit3->
)ssex="
andstudent.ssex='
+Edit3->
elsessex="
//sage
StringageSel;
ageSel=ComboBox1->
Text;
if(ageSel!
){
if(Edit4->
)sage="
andstudent.sage"
+ageSel+Edit4->
}elsesage="
//sdept
if(Edit5->
)sdept="
andstudent.sdept='
+Edit5->
elsesdept="
//cno
if(Edit6->
)cno="
ando='
+Edit6->
elsecno="
//cname,
if(Edit7->
)cname="
andcname='
elsecname="
//cgrade,
StringgradeSel;
gradeSel=ComboBox2->
if(gradeSel!
)
if(Edit8->
)cgrade="
andsc.grade"
+gradeSel+Edit8->
}elsecgrade="
//ccredit
StringcreditSel;
creditSel=ComboBox3->
if(creditSel!
if(Edit9->
)ccredit="
andccredit"
+creditSel+Edit9->
}elseccredit="
//,cpno;
if(Edit10->
)cpno="
andcourse.cpno='
+Edit10->
elsecpno="
//getChecked
StringSnoShow,snameShow,ssexShow,sageShow,sdeptShow;
StringcnoShow,cnameShow,cgradeShow,ccreditShow,cpnoShow,allShow;
if(CheckBox1->
Checked)SnoShow="
student.Sno学号,"
elseSnoShow="
if(CheckBox2->
Checked)snameShow="
student.sname姓名,"
elsesnameShow="
if(CheckBox3->
Checked)ssexShow="
student.ssex性别,"
elsessexShow="
if(CheckBox4->
Checked)sageShow="
student.sage年龄,"
elsesageShow="
if(CheckBox5->
Checked)sdeptShow="
student.sdept专业,"
elsesdeptShow="
if(CheckBox6->
Checked)cnoShow="
o课程号,"
elsecnoShow="
if(CheckBox7->
Checked)cnameShow="
ame课程名,"
elsecnameShow="
if(CheckBox8->
Checked)cgradeShow="
sc.grade分数,"
elsecgradeShow="
if(CheckBox9->
Checked)ccreditShow="
course.Ccredit学分,"
elseccreditShow="
if(CheckBox10->
Checked)cpnoShow="
course.cpno先行课号,"
elsecpnoShow="
if(sno.Length()||sname.Length()||ssex.Length()||sage.Length()||sdept.Length()||SnoShow.Length()||snameShow.Length()||sageShow.Length()||sdeptShow.Length())CheckBox14->
Checked=true;
elseCheckBox14->
Checked=false;
if(cno.Length()||cgrade.Length()||cnoShow.Length()||cgradeShow.Length())CheckBox16->
elseCheckBox16->
if(cname.Length()||cpno.Length()||ccredit.Length()||cnameShow.Length()||cpnoShow.Length()||ccreditShow.Length())CheckBox15->
elseCheckBox15->
Stringcb1,cb2,cb3;
if(CheckBox14->
Checked==true&
&
CheckBox16->
Checked==true){cb1="
andstudent.sno=sc.sno"
}elsecb1="
if(CheckBox15->
Checked==true){cb2="
ando=o"
}elsecb2="
Checked&
CheckBox15->
Checked==true){cb3="
ando=oandstudent.sno=sc.sno"
elsecb3="
allShow=SnoShow+snameShow+ssexShow+sageShow+sdeptShow+cnoShow+cnameShow+cgradeShow+ccreditShow+cpnoShow;
allShow.SetLength(allShow.Length()-1);
Form2->
ADODataSet1->
Close();
CommandText="
selectdistinct"
+allShow+"
FROMStudent,SC,CourseWherestudent.sno!
='
zzzzzzzz'
+cb1+cb2+cb3+sno+sname+ssex+sage+sdept+cno+cname+cgrade+ccredit+cpno;
//ShowMessage(Form2->
CommandText);
Open();
Active=true;
十.安全保密设计
用户登陆软件系统需要分级权限,只有管理员可以对数据库文件进行修改,删除,插入;
普通用户只能对数据库信息进行查询;
用户通过输入密码进入系统。
提供操作系统级的保护。
用户还可以通过设计数据库进行数据库操作权限的控制。
本程序只是简单的划分了两个等级用户:
管理员,普通用户。
十一.使用过程:
1.选择用户,输入密码:
2.进行插入、修改、删除操作
3.查询界面如下:
十二.心得体会:
这次课程设计运用了C++Builder和SQLserver2000编译工具,使用了DBGrid,ADODateSet,ADODateCommand,DataSourcede等控件,熟悉了两个系统的使用。
使用过程中,碰到了许多的问题。
如:
SQL语句的提交到数据库,然后执行SQL语句经常会有一点小错误,直接读取程序差错困难大。
数据库连接出现错误等问题。
想到放弃但最终还是坚持下来,完成了整个设计过程。
设计尽量以方便用户为最先考虑,所以操作界面友好,简单易用,而且有体贴周到的操作提示。
即使你是第一次打开它,只要点击启动程序中的”按钮(如图),根据提示很快就可以建立你的管理系统。
可以方便的进行查询,修改,删除等操作。