数据库课程设计学生成绩管理系统SQL_第1页
数据库课程设计学生成绩管理系统SQL_第2页
数据库课程设计学生成绩管理系统SQL_第3页
数据库课程设计学生成绩管理系统SQL_第4页
数据库课程设计学生成绩管理系统SQL_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上数学与计算机学院课程设计说明书课 程 名 称: 大型数据库-课程设计 课 程 代 码: 题 目: 学生成绩管理系统 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2012 年 6 月 12 日完 成 时 间: 2012 年 6 月 30 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书撰写质量(45)总 分(100) 指导教师签名: 年 月 日专心-专注-专业目录引言在我国,各大中小学校的各类信息管理系统并非一个新的课题。大多数学校信息管理系统不完善,甚至有的学校根本就没有任何信息管理系统,所有的管理工作几乎都是靠

2、手工完成。特别是在西部贫困地区,学校的信息管理都依然靠手工操作,这十分落后,效率极低,成本很大,而且极易出错。随着计算机技术不断地日新月异地发展,信息化是社会进程的必然趋势,学校的信息管理只有快,精,准,才能发挥其作用。从人工操作改为计算机的自动化系统,人工操作必将被计算机代替。有些学校虽使用计算机管理系统,但是仍然存在很多问题。有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的。问题一日不解决,效率就一日提不上去。为此,我动手设计了一个简单的学生成绩管理系统,学习管理系统的设计,争取早日解决这些问题。本文档是关于用户对于学生成绩管理系统的功能和性能的要

3、求,重点描述了学生成绩管理系统的设计过程。本文档的预期读者是:设计人员;开发人员;项目管理人员;测试人员;用户。1 开发环境我使用的系统是Windows7,而SQL Server 2005在此系统下很难成功安装,所以我在Windows7下安装虚拟机Virtualbox,然后虚拟系统安装Windows XP SP2。在Windows XP里面装上了SQL Server 2005、Delphi7用于本系统的开发。1.1 硬件环境电脑:X86 兼容台式电脑操作系统:Windows 7 旗舰版(32bit)处理器:Pentium(R) Dual-Core CPU E5400 2.70GHz主板:梅捷

4、SY-I5G41-L V2.0内存 :4GB (威刚 PC3-10700 DDR3 SDRAM 1334MHz)硬盘:Western Digital WDC WD5000AAKS-00V1A0 (500GB)显卡:NVIDIA GeForce GTS 250网络适配器:Realtek PCIe FE Family Controller声卡:Realtek High Definition audio1.2 软件环境1.2.1 SQL Server 2005、Delphi7简单介绍 (1)SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-T

5、ate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应SQL Server安装界面用。以下表格介绍了SQL Server 2005的几个主要特性增强,重点关注企业数据管理、开发人员生产力和商务智能。企业管理特点如下: 高可用性SQL Server 2005的失

6、败转移集群和数据库镜像技术确保企业向员工、客户和合作伙伴提交高度可靠和可用的应用系统。管理工具SQL Server 2005引进了一套集成的管理工具和管理应用编程接口(APIs),以提供易用性、可管理性、及对大型SQL Server配置的支持。安全性增强SQL Server 2005旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。可伸缩性SQL Server 2005可伸缩性的先进性包括表格分区、复制能力的增强和64位支持。 (2)Delphi,是Windows平台下著名的快速应用程序开发工具(Rapid Appli

7、cation Development,简称RAD)。它的前身,即是DOS时代盛行一时的“BorlandTurbo Pascal”,最早的版本由美国Borland(宝兰)公司于1995年开发。主创者为Anders Hejlsberg。经过数年的发展,此产品也转移至Embarcadero公司旗下。Delphi是一个集成开发环境(IDE),使用的核心是由传统Pascal语言发展而来的Object Pascal,以图形用户界面为开发环境,透过IDE、VCL工具与编译器,配合连结数据库的功能,构成一个以面向对象程序设计为中心的应用程序开发工具。它的特点如下:直接编译生成可执行代码,编译速度快。由于Del

8、phi编译器采用了条件编译和选择链接技术,使用 Delphi界面它生成的执行文件更加精炼,运行速度更快。在处理速度和存取服务器方面,Delphi的性能远远高于其他同类产品。支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。利用项目模板和专家生成器可以很快建立项目的构架,然后根据用户的实际需要逐步完善。具有可重用性和可

9、扩展性。开发人员不必再对诸如标签、按钮及对话框等Windows的常见部件进行编程。Delphi包含许多可以重复使用的部件,允许用户控制Windows的开发效果。具有强大的数据存取功能。它的数据处理工具BDE(BorlandDatabaseEngine)是一个标准的中介软件层,可以用来处理当前流行的数据格式,如xBase、Paradox等,也可以通过BDE的SQLLink直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。 Delphi既可用于开发系统软件,也适合于应用软件的开发。拥有强大的网络开发能力,能够快速的开发B/S应用,它内置的IntraWeb和Ex

10、pressWeb使得对于网络的开发效率超过了其他任何的开发工具。Delphi使用独特的VCL类库,使得编写出的程序显得条理清晰,VCL是现在最优秀的类库,它使得Delphi在软件开发行业处于一个绝对领先的地位。用户可以按自己的需要,任意的构建、扩充、甚至是删减VCL,以满足不同的需要。从Delphi8开始Delphi也支持.Net框架下程序开发。当前DELPHI 已经成为一个品牌,而不仅仅是一个开发平台或开发语言的名称。 当前DELPHI产品已经由CodeGear公司继续发展,该公司是BORLAND公司的全资子公司。当前,CodeGear为广大开发者提供了DELPHI FOR PHP,以高度可

11、视化的方式全面支持面向对象的PHP 网站开发,大大提高了PHP开发网站的代码复用程度,成为WEB应用开发的新利器。2 需求分析2.1 信息需求 高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。2.2 功能需求能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进

12、行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。3概念结构设计概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。设计教室管理数据库包括管理员、学生、教师、课程四个关系。4逻辑结构设计逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式

13、,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表(课号,课程名称,学分,主讲教师,学时)学生信息表 (学号,姓名,性别,年龄,所在院系,专业)学生成绩表(学号,课号,成绩)教师信息表(教工编号,姓名,性别,年龄,所在院系)用户权限表(UserName,Password,权限)学生选课表(学号,课号)5 数据库实现5.1 创建数据库 打开SQL Sever 2005,选择默认数据库连接。接下来右键单击数据新建数据库,命名为:学生成绩管理系统。或者:(1)打开SQL工具“查询分析器”(2)在查询窗口中键

14、入下列SQL语句create database学生成绩管理系统执行上述SQL语句即可新建一名为 “学生成绩管理系统”的数据库5.2 创建数据表格一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。在此学生成绩管理系统中需要创建六个表,即课学生信息表、学生成绩表、教师信息表、用户权限表、学生选课表、课程信息表。创建数据库后,为学生成绩管理系统数据库添加数据表,步骤如下。(1) 新建查询窗口(2) 在查询窗口中键入下列SQL语句create table课程信息表( /创

15、建课程信息表 课号char(10) primary key, /课号 课程名称char(15) not null, /课程名称 主讲教师char(4) Not null, /主讲教师学时 int Not null, /学时 学分int, Not null /学分)执行上述SQL语句即可创建课程信息表相关表格;create table 学生信息表( /创建学生信息表 学号 char(10) primary key, /学号 姓名 char(4) not null, /姓名 性别 char(1) not null, /性别 年龄 int not null, /年龄 所在院系char(15) not

16、 null, /所在院系专业 char(15) not null /专业)执行上述SQL语句即可创建学生信息表相关表格;create table 教师信息表( /创建教师信息表 教工编号char(10) primary key, /教工编号 姓名char(4) not null, /姓名 性别 char(1) not null, /性别年龄 int not null, /年龄所在院系 char(15) not null /所在院系)执行上述SQL语句即可创建教师信息表相关表格;create table 学生成绩表( /创建学生成绩表 学号 char(10) primary key, /学号 课

17、号 char(10) primary key, /课号成绩 int not null /成绩)执行上述SQL语句即可创建学生成绩表相关表格;create table 用户权限表( /创建用户权限表 UserName char(10) primary key / 用户名Password char(6) not null, /密码 权限 int not null, /权限执行上述SQL语句即可创建用户权限表相关表格;create table 学生选课表( /创建学生选课表 学号 char(10) primary key, /学号 课号 char(10) primary key /课号 执行上述SQ

18、L语句即可创建学生选课表相关表格。6 数据库的运行和维护6.1 数据定义 (1)基本表的创建,建表语句 create table 表名(2)基本表的删除drop table students6.2 数据查询6.2.1 单表查询(1)查询 学号 为学生的 姓名select姓名from 学生信息表where 学号=''(2)查询 性别 为女并且 所在院系 为计算机科学与工程学院的 姓名select姓名from 学生信息表where 性别 ='女' and 所在院系 ='工商'(3)查询所有学生的姓名和系别。 select 学生,所在院系t from

19、学生信息表(4)查询 所在院系 为计算机科学与工程学院 系的 姓名。select 姓名from 学生信息表where 所在院系 ='计算机科学与工程学院'(5)查询所有学生所在院系名称select distinct 所在院系from 学生信息表(6)查询学生信息表中年龄小于21和年龄大于21的学生的姓名和所在院系别select 姓名,院系from 学生信息表where 年龄>21 or年龄<21(7)查询所有学生的平均年龄select avg(年龄) as 平均年龄from 学生信息表 6.2.2 连接查询 (1)学生的学号、姓名,所选课程的课号、课程名称和成绩、主

20、讲教师Select 学生信息表.学号,学生信息表.姓名,课程信息表.课号,课程信息表.课程名称,学生成绩表.成绩,教师信息表.姓名from学生信息表, 课程信息表, 学生成绩表, 教师信息表Where学生信息表.学号=学生成绩表.学号 and 课程信息表.课号=学生成绩表.课号绩and 教师信息表.姓名=课程信息表.主讲教师(2)找出教授数据库原理的老师的教师名教师信息表.姓名from课程信息表, 教师信息表Where课程信息表.课号=教师信息表.教工编号 and课程信息表.课程名称='数据库原理'6.2.3 操作结果集查询查询号同学和号同学共同选修的课程Select 课号Fr

21、om 学生成绩表Where 学号=''IntersectSelect课号From学生成绩表Where 学号=''6.2.4 嵌套查询查询选修了0301这门课的所有学生的学号、姓名、年龄、所在院系Select 学号,姓名,年龄,所在院系From 学生信息表Where 学号 in (select 学号 From 学生成绩表 Where 课号=0301)6.3 数据库的更新6.3.1插入数据向学生信息表中添加一项记录:姓名:刘备,学号:,性别:男,年龄:24,所在院系:计算机科学与工程学院InsertInto 学生信息表(学号,性别,年龄,所在院系)Values (&

22、#39;',' 刘备', '男',' 36','计算机科学与工程学院')6.3.2 修改数据修改关羽的学号为:Update 学生信息表Set 学号=Where 姓名=关羽;6.3.3 删除数据删除所有工商学生的记录Delete from 学生信息表Where(所在院系=计算机科学与工程学院);6.4 数据库索引创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是所以的最主要原因。第三,可以加速表与表之间的连接,特别是实现数据的参考完整性方面特有意义。

23、第四,在使用ORDER BY和GROUP BY子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能。6.4.1 建立索引(1) 在 课程信息表的 课号 列上创建非聚集索引。 Create index 课程名称 ON 课程信息表(课号)(2) 在 学生信息表 的学号 列上创建非聚集索引。 Create unique index学号 ON 学生信息表(学号)(3) 在学生信息表的 学号 列创建一个非聚集索引,要求索引键值按 学号 升序排列。 Create index 学生学号 ON 学生信息表(学号 ASC)6.4.2 删除

24、索引删除学生信息表中的 学号 索引。 Drop index 学号6.4 数据库视图(1)查询所有学生选课的信息,包括学号、姓名、课号、课程名称create view 学生选课查询asselect 学生信息表.学号,姓名,课程信息表.课号,课程名称from 学生信息表,学生选课表,课程信息表where 学生信息表.学号=学生选课表.学号and 课程信息表.课号=学生选课表.课号go (2)查询所有学生成绩的信息,包括学号、姓名、课程名称、成绩create view 学生成绩查询asselect 学生信息表.学号,姓名,课程信息表.课程名称,成绩from 学生信息表,课程信息表,学生成绩表,学生选

25、课表where 学生信息表.学号=学生选课表.学号 and 学生选课表.学号=学生成绩表.学号 and 学生信息表.学号=学生成绩表.学号and 课程信息表.课号=学生选课表.课号 and 学生成绩表.课号=学生选课表.课号 and 学生成绩表.课号=课程信息表.课号go (3)更新视图:(1)修改信息:将陈琦的名字改为陈琪琪Update 学生选课查询set 学生名='关羽'where 学生名='张飞'(2)删除信息:删除视图 学生选课查询 中陈琪琪的记录deletefrom scorewhere 学生名='张飞'(4)删除视图:删除前面的 学生

26、选课查询 视图。drop view学生选课查询6.5 数据库的安全性(1)把对 学生信息表 的insert权限授予用户admin,并允许他再将此权限授予其他用户。 grant insert on table学生信息表 to admin with grant option(2)把查询表 学生选课表 的权限授给用户陈琦。grant selecton table学生信息表to 张飞(3)把用户陈琦查询 学生信息表 权限收回。revoke select on table学生信息表from 张飞 6.6数据库的完整性对于学生成绩表:成绩的值应该在0和100之间:create table 学生成绩表( /

27、创建学生成绩表 课号 char(10) primary key, /课号学号 char(10) primary key, /学号 成绩 int Not null /成绩check (成绩 >0 and 成绩<=100 ) )7软件实现7.1 界面设计我到网上找了一些管理系统的图片,用PS进行了一些加工处理,再将所要用的标题和按钮以及表格添加进去。总共12个界面,第一个是登陆界面,第二个是菜单界面,第十个是关于的界面,其余为功能界面。登录界面一览: 管理界面一览:查询界面一览:7.2 数据库连接 数据库的连接要用到ADOConnection按钮,然后用ADOTable按钮连接数据库的

28、表和DataSource按钮、DBGrid按钮,用以显示表的内容。连接的时候注意要将Active设置为true。做查询表连接数据库用ADOQuery和DataSource、DBGrid三个按钮,在button上键入相应的条件语句就能实现相应的查询操作。7.3 登陆权限7.3.1 用户登陆设计 在用户登录界面的登录按钮上设置了具体的条件,学生只能在登录后进行选课和成绩以及课程的查询操作,或者浏览关于软件的制作团队的信息;教师则可以对学生的成绩进行录入修改等管理,对学生成绩选课进行查看,以及查看统计和报表,浏览关于界面;管理员则可查看任何界面,拥有对教师、学生的信息进行修改的权限,还可以对不同的用

29、户进行授予权限。进入第菜单界面的时候,对于没有权限的操作,菜单上显示为不可操作的灰色。7.3.2 权限管理设计 不同用户的权限信息储存在数据库的用户权限表格里面,管理员的权限代码为0,教师的权限代码为1,学生的权限代码为2。当用户在登录的时候,程序会与用的权限进行核对,赋予相应的权限。而这张用户权限表则由管理员进行管理,可向其中添加、删除、修改用户以及权限。7.4 管理界面管理界面有教师信息管理、学生信息管理、课程信息管理、用户权限管理以及成绩管理,在各个界面有添加、删除、修改、提交、退出几个选项,有相应权限的人可对其进行修改。7.5 查询界面查询界面主要是供学生进行成绩和课程的查询操作。可以输入自己的学号、姓名、课号、课程名称进行成绩与已选课程的查询。7.6 统计界面 统计界面使用了一个GroupBox,里面放了三个RadioButton,分别统计了总学生人数、不及格学生以及优秀学生人数(成绩在85分以上者)。7.7 报表界面 因为报表只用于查

温馨提示

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

评论

0/150

提交评论