数据库课程设计-学生信息管理系统_第1页
数据库课程设计-学生信息管理系统_第2页
数据库课程设计-学生信息管理系统_第3页
数据库课程设计-学生信息管理系统_第4页
数据库课程设计-学生信息管理系统_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库程序设计说明书引言本程序是一个学生信息数据库系统的程序,随着 效率和质量提出 了越来越高的要求。 学生管理信息系统广泛地应用于各大中院校的学生管理工 作过程中,几乎每个进行了信息化建设的学校都建设了学生管理信息系统。对于大型和结构复杂、内容繁多的学生数据库, 都要实现方便的管理。 数据管理离不开数据库系统的支持。 由于数据库系统一般用户难以熟悉和 正确操作, 所以开发数据库连接程序提供友好的界面, 方便用户提高效率 和操作的准确性。二 编写目的本说明数据库程序设计需要解决的问题以及问题的性质、 程序目 标、程序规模等。并且为了用户对系统的要求,使编程人员可以及时发 现软件的缺点和不足,进

2、一步认识问题所在。该说明书可供设计人员和 开发人员参考,也可供用户阅读,对系统的需求提出意见。开发本软件的目的是给学生数据库提供一个操作控制系统,可以对数据库进行查询、添加、删除、修改、 SQL语言高级操作。三 背景学校部门中有着相当庞大的数据内容,而这些数据只是作为单纯数据摆放 在电脑里,并没有真正使这些数据起到更大的作用。 大量数据的手工操作 也会是数据操作错误增加, 而且还使得相关的工作更加冗长、繁锁,为 了使这些数据为使用者起到更多的作用,为管理人员提供依据与分析,建立起 了自己的数据库系统,由计算机管理代替手工操作,进行收集、管理业务数据, 从而提高操作人员的工作效率。数据库技术是当

3、今信息管理的最新技术,其核心就是数据库管理系统(简称 DBMS )。DBMS是各类管理信息系统的支撑平台,也是信息化建设中需求量最大、应用最广泛的基础性软件四、系统需求分析1 要求系统可以准确地记录和查询学生信息,包括学生的姓名、单位、年 龄、性别等。2 要求系统可以准确地记录学生地每一次奖惩情况以及每次的缺勤情况。3系统可以对课程情况进行管理,包括设置课程名称、修改课程的名称等。4系统应该可以对基础数据进行维护。5系统应该有很好的可扩展性。学生成绩管理工作是学校学生管理工作的重要组成部分,现在相当一部分学校的学生成绩管理工作仍沿用手工方式。随着学校规模的扩大、学生人数的增加, 效率低按照软件

4、工程原理和数据本实验实现的学生成绩下、容易出错的手工方式越来越不适应实际管理工作的需要,库技术开发学生成绩管理系统已成为学生管理部门的迫切需要。管理系统主要包括以下功能:1. 完成数据的录入和修改,并提交数据库保存。其中的数据包括:学生信 息、课程设置、学生成绩以及操作员信息等;2. 实现信息查询。主要包括:学生信息查询、课程信息查询和成绩查询等;3. 具备一定的安全性管理功能。包括操作员的权限设置、密码设置、重新登 录等功能。分析需求就是描述系统的需求, 通过定义系统中的关键域类来建立模型学生管理信息系统的需求分析也应该是开发人员和用户或者客户一起完成的。分析需求的第一步描述学生管理信息系统

5、的功能,即定义用例,以此确 定系统的功能需求。 学生管理信息系统的用例分析主要涉及规格说明的阅读 和分析,需要和学生管理信息系统的潜在用户进行讨论。学生管理系统的角色是管理者和系统管理员。 管理者是管理学生的人员, 如教务处或者学生处的员工,他也是系统的用户,而系统管理员是系统管理 者,虽然系统管理员也是一个员工,但这并不影响本系统的功能。同样,管 理者也可能是一个学生,但这也不影响系统的功能。学生管理信息系统的用例主要包括如下内容。 记录学生情况 修改学生信息 查询学生情况 记录学生奖惩情况 设置选修情况情况 设计选修课程五系统设计1系统总体设计本程序客户端负责提供表达逻辑、显示用户界面信息

6、、访问数据库服务器,采用C Builder6 作为开发工具;服务器端则用于提供数据服务,采用 SQL Server2000 作为数据库管理系统。本系统按照功能划分为以下四个模块:学生管理(包括学生信息录入和学生信息查询)、课程 管理(包括课程设置和课程查询)、成绩管理(包括成绩录入和成绩查询)和系统管理(包括 重新登录和操作员管理等)。系统的功能模块图如图1所示:学生成绩管理系统系統管理六.数据疋义1 数据表说明1. Student 表:学号(Sno),姓名(Sname ,性别(Ssex),年龄(Sage ,专业(Sdept)列名数据类型长度允许空char10Snamechar20Ssexch

7、ar2i *Sageint4Sdeptchar2072. Course表课程号(Cnc),课程名(Cname,先行课号(Cpnc),学分(Ccredit )列名|数据类型|长度|允许空|Cnochar5Cnamechar20Cpnochar5Ccredi tsmallini23. SC 表学号(Sno),课程号(Cno),学分(Grade)列名数捋类型长度允许空char10Cnochar5Gradeint47七.结构设计1. 概念结构设计说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形 式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,建立本 数据库

8、的每一幅用户视图。本系统主要有学生和课程两个实体集,一个学生可以选修若干门课程,一门课程也可以被多个学生选修,两个实体集之间是多对多联系,联系上有选课成绩。本系统的E-R图如下图:由于数据要求简单, 没有什么冗余过多的数据, 所以数据库没有为程序建立视图,直接在表中操作,提高效率。2逻辑结构设计数据库逻辑结构设计根据关系模型的转换原则,上面的E R图可转换为如下所示的关系模型:Stude nt(Sno,S name,Sex ,Sdept)其中各项含义分别为:学生(学号,姓名,性别,所在系)Course(Cno,C name,Cp no Credit)其中各项含义分别为:课程(课程号,课程名称,

9、先行课号,学分)SC(Sno,Cno,Grade)其中各项含义分别为:选修(学号,课程号,成绩)说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构和文卷结构、所建立的各个文卷之间的相互关系。ER图学生3.物理结构设计4数据字典设计1学生信息表Student的表结构主码列名数据类型宽度小数位空否备注PkSnoChar10N学号Sn ameChar20Y姓名SexChar2Y性别SageInt4Y年龄SdeptChar20Y所在系2课程信息表Course的表结构主码列名数据类型宽度空否备注PkCnoChar5N课程代码:Cn ameCh

10、ar20Y课程名称CpnoChar5Y先行课号 :CreditSmalli nt2Y学分3选课成绩表SC的表结构主码列名数据类型宽度小数位空否备注|PkSnoChar10N学号CnoChar5N课程代码GradeDecimal41Y成绩系统的功能模块图6 系统设计一.结合C+ Builder进行数据库,设计过程可按如下步骤进行: 创建应用库及应用对象;创建全局变量;创建菜单;创建数据窗口;创建窗口并在窗口中放置所需控件。创建应用库及应用对象1. 创建登陆窗体2. 创建主窗体加入连接数据库控件,DBGrid, ADODataSet, ADODataCommandDataSource。设置数据库连

11、接,设置控件属性。设计窗体界面3. 创建查询窗体连接主窗体控件设置查询条件对查询条件优化多表查询设置4. 修改窗体设置连接数据库属性设置修改项确认修改5. 高级查询功能高级查询功能提示查询窗体设计八.程序流程图1.以下是程序功能的主要流程:选择登陆类型,输入密码登陆系统,权限设置选择操作查询添加修改连接数据库,数据 库操作3.数据查询流程图查询查询 Butt on 1Click(TObject *Se nder)读取查询条件;转化为String形式语句;读取查询显示列;转化为String形式语句;判断 查询语句关系,确定查询要连接的表;语句连接一一 优化-生成SQL ;输入 ADODataSe

12、t->CommandText=SQL ; 执行成功; 输出结果;修改修改 ButtonClick(TObject *Sender)读取要修改的数据;显示数据了;直接修改;修改确认;if (确定)修改数据库 else 放弃修改; 退出 查询实现代码如下: void _fastcall TForm6:Button1Click(TObject *Sender)String sno,sname,ssex,sage,sdept,cno,cname,cgrade,ccredit,cpno; /snoif(Edit1->Text!="")sno=" and stud

13、ent.sno='"+Edit1->Text+"'" else sno=""/snameif(Edit2->Text!="")sname=" and student.sname='"+Edit2->Text+"'" else sname=""/ssexif(Edit3->Text!="")ssex=" and student.ssex='"+Edit3->T

14、ext+"'"else ssex=""/sageString ageSel; ageSel=ComboBox1->Text; if(ageSel!="") if(Edit4->Text!="")sage=" and student.sage"+ageSel+Edit4->Text; else sage=""/sdeptif(Edit5->Text!="")sdept=" and student.sdept='

15、;"+Edit5->Text+"'" else sdept=""/cnoif(Edit6->Text!="")cno=" and o='"+Edit6->Text+"'" else cno=""/cname,if(Edit7->Text!="")cname=" and cname='"+Edit1->Text+"'" else cname

16、=""/cgrade, String gradeSel; gradeSel=ComboBox2->Text; if(gradeSel!="")if(Edit8->Text!="")cgrade=" and sc.grade"+gradeSel+Edit8->Text;else cgrade=""/ccreditString creditSel;creditSel=ComboBox3->Text;if(creditSel!="") if(Edit9-&g

17、t;Text!="")ccredit=" and ccredit"+creditSel+Edit9->Text;else ccredit=""/,cpno;if(Edit10->Text!="")cpno=" and course.cpno='"+Edit10->Text+"'"else cpno=""/getCheckedString SnoShow,snameShow,ssexShow,sageShow,sdeptSh

18、ow;String cnoShow,cnameShow,cgradeShow,ccreditShow,cpnoShow,allShow; if(CheckBox1->Checked)SnoShow="student.Sno 学号 ,"else SnoShow="" if(CheckBox2->Checked)snameShow="student.sname 姓名 ,"else snameShow="" if(CheckBox3->Checked)ssexShow="student.sse

19、x 性别 ,"else ssexShow="" if(CheckBox4->Checked)sageShow="student.sage 年龄 ,"else sageShow="" if(CheckBox5->Checked)sdeptShow="student.sdept 专业 ,"else sdeptShow="" if(CheckBox6->Checked)cnoShow="o 课程号 ,"else cnoShow=""

20、if(CheckBox7->Checked)cnameShow="ame 课程名 ,"else cnameShow="" if(CheckBox8->Checked)cgradeShow="sc.grade 分数 ,"else cgradeShow="" if(CheckBox9->Checked)ccreditShow="course.Ccredit 学分 ,"else ccreditShow="" if(CheckBox10->Checked)cp

21、noShow="course.cpno 先行课号 ,"else cpnoShow="" if(sno.Length()|sname.Length()|ssex.Length()|sage.Length()|sdept.Length()|SnoShow.Length()|s nameShow.Length()|sageShow.Length()|sdeptShow.Length()CheckBox14->Checked=true;else CheckBox14->Checked=false;if(cno.Length()|cgrade.Leng

22、th()|cnoShow.Length()|cgradeShow.Length()CheckBox16->Checke d=true; else CheckBox16->Checked=false;if(cname.Length()|cpno.Length()|ccredit.Length()|cnameShow.Length()|cpnoShow.Length()|ccr editShow.Length()CheckBox15->Checked=true; else CheckBox15->Checked=false;String cb1,cb2,cb3 ; if(C

23、heckBox14->Checked=true&&CheckBox16->Checked=true)cb1="andstudent.sno=sc.sno "else cb1=""if(CheckBox15->Checked=true&&CheckBox16->Checked=true)cb2="ando=o "else cb2=""if(CheckBox14->Checked && CheckBox15->Checked=true)

24、cb3=" and o=o and student.sno=sc.sno "else cb3="" allShow=SnoShow+snameShow+ssexShow+sageShow+sdeptShow+cnoShow+cnameShow+cgra deShow+ccreditShow+cpnoShow;allShow.SetLength(allShow.Length()-1);Form2->ADODataSet1->Close();Form2->ADODataSet1->CommandText="select di

25、stinet "+allShow+" FROM Student, SC , CourseWherestude nt.s no!='zzzzzzzz"'+cb1+cb2+cb3+s no+s name+ssex+sage+sdept+c no+cn ame+cgrade+ccred it+cp no;ShowMessage(Form2->ADODataSet1->Comma ndText);Form2->ADODataSet1->Ope n();Form2->ADODataSet1->Active=true;十安全保密设计用户登陆软件系统需要分级权限,只有管理员可以对数据库文件进行修改,删除,插入;普通用户只能对数据库信息进行查询;用户通过输入密码进入系统。 提供操作系统级的保护。用户还可以通过设计数据库进行数据库操作权限的控制。本程序只是简单的划分了两个等级用户:管理员,普通用户。卜一.使用过程:1.选择用户,输入密码:2.进行插入、修改、删除操作心生数据库查询系统Author :张祎国系统逻)查看信息址)操作Q0查询高级操作広学号姓名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论