2023年6月21日发(作者:)

. . . .

辽 宁 工 业 大 学

SQL数据库设计课 程 设 计 说 明

题目: 学生信息管理系统

院(系): 软件学院

专业班级: 软件工程

学 号: .lianshanqu.

学生: 盾

指导教师: 佟 玉 军

教师职称: 副 教 授

起止时间: 2013.12.30-2014.01.10

. . . . .

书 . . . .

目 录

第1章 设计目的与要求 ........................................... 1

1.1设计目的 ............................................................ 1

1.2设计环境 ............................................................ 1

1.3主要参考资料 ........................................................ 1

1.4设计容及要求 ........................................................ 1

第2章 设计容 ................................................... 2

2.1数据库设计 .......................................................... 2

2.1.1需求分析 ...................................................... 2

2.1.2概念设计 .................................................... 2

2.1.3逻辑设计 .................................................... 2

2.1.4物理设计 .................................................... 4

2.1.5 数据库实现 .................................................... 5

2.2程序设计 ........................................................... 8

2.2.1概要设计 .................................................... 8

2.2.2程序实现 .................................................... 8

第3章 设计总结 ................................................. 14

参考文献 ........................................................ 15

. . . . . . . . .

第1章 设计目的与要求

1.1设计目的

本设计专题是软件工程类专业的有关管理信息系统设计开发的一个重要环节,是本专业学生必须学习和掌握的综合实践课程。

本实践课的主要目的是:(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;(2)掌握关系数据库的设计方法;(3)掌握SQL Server 2000技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。

1.2设计环境

硬件:cpu,存,硬盘

软件:操作系统,SQL版本

1.3主要参考资料

1.《管理信息系统》 黄梯云

高等教育

2.《数据库系统概论》 萨师煊 高等教育

3.《SQL Server 2000 数据库应用系统开发技术》朱如龙编,机械工业。

4.《SQL Server 2000 数据库应用系统开发技术实验指导》朱如龙编,机械工业

1. 4设计容及要求

一、容

1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规,完成各阶段的设计容。

2.需求分析具体实际,数据流图、数据字典、关系模型要正确规

3.在sql server2000 上实现设计的数据库模型。

4.对应用程序进行概要设计。

5.用VB实现简单的应用程序编写。

二、要求

设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。正确地完成上述容,规完整地撰写出课程设计报告。

. . . . . . . . .

第2章 设计容

2.1数据库设计

本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统等多种功能。本系统主要用到的技术包括:SQL和VB结合的开发模式, 这种设计模式把应用逻辑、处理过程和显示逻辑分成不同的组件来实现,这些组建可以进行交互和重用。封装了数据操作类,以便调用数据库的操作函数因而具有较强的实用性和先进性。

2.1.1需求分析

学生信息管理系统就是对学生信息的管理,所以首先我们需要知道的是学生有那些信息,并且是怎样进行分类的。

计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能有了长足的进步。它已经被应用于许多领域,学生的信息包含1:基本信息;2:课程及成绩;3:课程表。基本信息根据要求应该包括学生的基本情况、获得奖励情况、受到处分情况、学生的家庭信息等;课程及成绩应该包含对应课程对应学生的成绩;

为了解决传统学生信息的管理正面临着的这些问题,我们为信息管理系统分四个表:

学生基本信息(学号, ,性别,出生日期,学生所在系,班号 ,入校成绩,入学时间,,父亲,母亲,获得奖励情况,受到处分情况),

学生成绩表(学号,课程号,成绩),课程表(课程号,课程名,教师,先导课程)。

我所设计的学生信息管理系统就由此而产生了。

2.1.2概念设计

实体间的联系:

1:学生个人信息表stunents:学号s_number、s_name、性别sex、出生日期birthday、籍贯native、所在院系编号dep_number、所在班级 class_number、tel、联系地址address、相片photo、个人信息备注note

2:学籍变更信息表schoolregister:记录号t_number、学号s_number、变更情况change、记录对象t_object、记录时间t_time、详细描述t_memo

. . . . . . . . .

3:学生奖励记录表reward:记录号r_number、学号s_number、级别r_rank、奖励对象r_object 、记录时间r_time 、详细描述r_memo

4:学生处罚记录表 punish:记录号p_number、学号s_number、级别p_rank、处罚对象p_object、记录时间p_time、详细描述p_memo、是否生效effect

5:班级信息表 class:班级编号c_number、班级名称c_name、所属院系dep_number

6:院系信息表department:院系编号dep_number、院系名称dep_name

7:E-R图:

1)、用户(普通用户、管理员)实体图如图2-1所示:

用户名 密码 注册时间 用户类型

用户(普通用户、管理员)

图2-1

2)、学生实体图如图2-2所示:

性别

姓名

学号

学生

图2-2

3)、学生选课关系图如图2-3所示:

性别

姓名

学号

学生

图2-3

班级

政治面貌

出生年月

班级

政治面貌

出生年月

. . . . . . . . .

2.1.3逻辑设计

逻辑设计就是把概念设计得到的概念数据库模式变为逻辑数据模式,它依赖于DBMS。数据库的逻辑设计(包括各种表和表间关系)是优化关系数据库的核心。设计好逻辑数据库,可以为优化数据库和应用程序性能打下基础。逻辑数据库设计不好,会损害整个系统的性能。

数据库逻辑设计所要完成的任务是:概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则,数据的语义约束,规化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。

根据上述学生管理系统的多个实体用,画出学生管理系统管理关系E-R图,如图2-4所示。

属于

1 N

1 1

属于

学生

属于

院系

班级

N N

学籍变更

N 1 N

学籍更改

图2-4

. . . . . . . . .

2.1.4物理设计

物理结构设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。

输入:

系统关系数据结构

输出:

系统数据库物理结构

1.物理结构设计的主要容:

2.物理存储介质类型的选择

为了提高系统的安全性,防止系统因介质的损坏而导致数据丢失的危险,学生信息管理系统最好采用基于Windows 2000 RAID-5卷实现的RAID-5级的磁盘阵列,因此需要四块物理磁盘。

3.数据库物理位置的选择

学生信息管理系统数据库的数据文件安排如下:一个主数据文件,存放在C:下;两个次数据文件,分别存放在D:和E:下;日志文件,存放在F:下。应用系统可以对四块磁盘进行并行访问,从而提高对磁盘数据的读写效率。

4.索引类型的选择

教学信息管理系统的核心任务是对学生的学籍信息和考试信息进行有效的管理。其中,数据量最大且访问频率较高的是学生选课信息表。为了提高系统的查询效率,降低系统的查询成本,需要为学生信息表和学生选课信息表建立聚簇索引。

5.数据库服务器性能参数配置

数据库服务器的存配置参数、I/O配置参数和操作系统性能配置参数使用系统安装时缺省参数。

数据库物理设计阶段的任务是根据具体计算机系统的特点,为给定的数据库模型确定合理的存储结构和存取方法。物理结构设计阶段实现的是数据库系统的模式,因此它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事物要进行仔细的分析,获得优化数据库物理设计的参数。物理结 . . . . . . . . .

构设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。

若出现数据冗余情况,是因为有某些数据记录不正确,去除了数据文件中的碎片,以保证数据传输的正确性和完整性。循环冗余检查(CRE)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似算法,以保证数据传输的正确性和完整性。若CRC校验不通过,系统重复向硬盘复制数据,陷入死循环,导致复制过程无法完成。

2.1.5 数据库实现

在进行概念结构设计和物理结构设计之后,对学生信息管理系统系统结构,功能已经分析得比较清楚了,但是还只是停留在文档阶段。数据系统设计的根本目的,是为用户提供一个能够实际运行的系统,并保证系统的稳定和高效。要做到这点,还有两项工作,就是数据库的实施,运行和维护。学生信息管理系统中的表关系图2-5所示。

图2-5

数据库实施是根据应用系统数据库的关系结构模型和物理结构设计结果,形成基于SQL Server平台应用系统数据库的脚本和数据库设计报告,并进行数据库的具体构建与管理。

1.学生个人信息表stunents(学号s_number、s_name、性别sex、出生日期birthday、 . . . . . . . . .

籍贯native)

字段名 字段类长度 主键或外字段值约对应中文属性型

s_number

s_name

sex

birthday

char

char

char

datetime

native

2.学籍变更信息表schoolregister(记录号t_number、学号s_number、变更情况change、记录对象t_object、记录时间t_time、详细描述t_memo)

字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名

t_number

s_number

change

t_object

t_time

t_memo

int

char

char

char

datetime

varchar

4

10

20

20

8

100

主键

外键

不为空

不为空

不为空

不为空

记录号

学号

变更情况

记录对象

记录时间

详细描述

char 20 不为空 籍贯

10

8

2

8

主键

不为空

不为空

不为空

不为空

学号

性别

出生日期

3.学生成绩表(grade):表结构如下表所示:

名称

学号

课程名

成绩

学期

字段名称

sno

cname

grade

semester

类型

int

char

char

char

长度

2

10

2

8

存储过程:

在本程序中,为了方便提高程序的运行效率,程序使用了存储过程来实现数据的删除,在查询分析器的定义如下:

删除Student表中的学生信息:

create procedure DeleteStudentData(DeleteSno char(10))

. . . . . . . . .

as

delete from Student where Sno=DeleteSno;

删除Dept中的系信息:

create procedure DeleteDeptData(DeleteDno char(10))

as

delete from Dept where Dno=DeleteDno

触发器:

判断是否该学生已经选了20学分的课程,和成绩的判断触发器,定义如下:

实现20学分的判断:

create trigger CcreditsJudge

on CourseSelectionTable

for insert as

declare SumCcredits int,Sno char(10)

select Sno=Sno

from inserted

select SumCcredits=sum(Ccredits)

from CourseSelectionTable

where Sno=Sno

if SumCcredits>20

begin

rollback transaction

end

2.2程序设计

2.2.1概要设计

系统开发的总体任务是实现商品进销存管理信息的系统化、规化和自动化,系统功能分析是在系统开发的总体任务的基础上完成的。通过对信息更改、维护、查询等活动的调查、分析与总结,结合企业的实际,我们可以将系统分为以下五大功能:学生基本情况更新、学生基本情况维护、学生成绩维护、数据维护、密码修改。

学生基本情况更新模块

该模块主要是对学生信息,包括、学号、班级、政治面貌等信息进行添加、修改、删除和查询操作。

学生基本情况维护模块

该模块主要是对学生的信息进行维护,学生日常生活中的所有信息基本上都可以通过此模块进行维护。这样做可以加强学生信息的安全程度。

学生成绩维护模块

该模块主要是对学生的成绩进行查询,添加,和打印,在此模块中,可以通过学生 . . . . . . . . .

的学号和专业来查询学生的成绩。方便快捷

数据维护模块

该模块主要实现数据的备份和还原,管理员可以通过此模块来管理数据资源,保证数据资源的可靠性和安全行。

密码修改模块

该模块用于对密码的修改。其中普通的用户只能更改自己的密码,而管理员可以更改所有的密码。

本系统主要包括学生基本情况更新,学生基本情况维护、学生成绩维护、密码修改和数据维护5个大的模块,各个模块的具体功能如图2-6所示:

. . . . . . . . .

添加

删除

修改

查询

查询

添加

管理员 学生登陆

信息管普通用户 理系统

学生成绩维护

查询

添加成绩

打印

备份

数据维护

还原

修改自己密码

密码修改

修改所有密码 管理员

普通用户

按专业

打印

按学号

学生基本情况维护

删除

修改

按学号

按专业

学生基本情况更新

图2-6

2.2.2程序实现

登录模块:

登录界面用户验证登录用户的身份信息,只有合法的用户才能进入系统,从而保证系统的安全性。登录界面的运行结果如下图2-7所示:

. . . . . . . . .

图2-7

学籍信息查询模块:

学生信息查询界面。主要实现通过学号查询学生的基本信息,包括其、性别、出生日期等信息;方便用户的查找,学籍信息查询界面的运行结果如下图2-8所示:

图2-8

学籍信息“查找”按钮的代码如下:

房管局

Private Sub CmdQuery_Click()

If Val() <> 0 Then

If Not IsDate() Then

. . . . . . . . .

MsgBox "出生日期不是有效日期,请重新输入!", vbInformation, "提示"

us

= "____-__-__"

Exit Sub

End If

End If

If Val() <> 0 Then

If Not IsDate() Then

MsgBox "入校时间不是有效日期,请重新输入!", vbInformation, "提示"

us

= "____-__-__"

Exit Sub

End If

End If

sql = "select

student_id,student_name,student_gender,birth_date,_no,tele_number,in_date,grade_no,user_id,address,comment from student_info s inner join class_info

c on _no=_no where 1=1"

If <> "" Then

sql1 = "and student_name='" & & "'"

Else

sql1 = " "

End If

If <> "" Then

sql2 = "and student_id='" & & "'"

Else

sql2 = " "

End If

If <> "" Then

sql3 = "and tele_number='" & & "'"

. . . . . . . . .

Else

sql3 = " "

End If

If <> "" Then

sql4 = "and student_gender='" & & "'"

Else

sql4 = " "

End If

If Val() <> 0 Then

sql5 = "and birth_date='" & & "'"

Else

sql5 = " "

End If

If Val() <> 0 Then

sql6 = "and in_date='" & & "'"

Else

sql6 = " "

End If

If <> "" Then

sql7 = "and _no='" & & "'"

Else

sql7 = " "

End If

If <> "" Then

sql8 = "and grade_no='" & & "'".

Else

sql8 = " "

End If

If <> "" Then

sql9 = "and user_id='" & & "'"

. . . . . . . . .

Else

sql9 = " "

End If

sql = sql & sql1 & sql2 & sql3 & sql4 & sql5 & sql6 & sql7 & sql8 & sql9

1 sql

If Then

String = " | 学 号| 姓 名|性别| 出生日期|班号| 联系| 入校时间| 年级编号|班主任编号| 家庭住址| 注释"

MsgBox "没有找到符合条件的记录!", vbOKOnly + vbInformation, "提示"

Else

Set urce = 1

String = " | 学 号| 姓 名|性别| 出生日期|班号| 联系| 入校时间| 年级编号|班主任编号| 家庭住址| 注释"

End If

End Sub

第3章 设计总结

有关于数据库实验的心得体会,总的来说,受益匪浅。在这次的试验中,我们学到了很多东西,包括建表,导入数据,查询,插入。最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言,尽管自己对C语言非常感兴趣,但还是有些心理上的陌生感。学习数据库就和我们平时的其它科目学习 . . . . . . . . .

一样感觉它有永无止境的知识,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的中国字典里的名词。我认识它是从我接触实验运作开始的,刚开始就是建立数据库,两种验证模式,没什么东西但还觉得不错。进而就是操作语言了,紧接着就是触发器的使用,进而对数据库高级的使用,等等。

开始知道数据库的时候想学,不知道从何而起,不懂的话怎么问,从什么地方学起。后来到大二开学后有数据库原理必修课,非常高兴。当时感觉SQL Sever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的容。学了这门课以后发现和我想的基本是一样的,老师对学生也比较和蔼可亲,对我们要求也不是很紧。让每个人都觉得轻轻松松就能把这门课程学完,没有多么紧的作业,也没有太苛刻的要求。

以前没接触过它,现在认识了它才知道SQL Server的体系很庞大,要学习它,首先要了解的SQL Server框架。它有物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成),逻辑结构(表空间、段、区、块),存分配(SGA和PGA)算机的实际存中得以分配,如果实际存不够再往虚拟存中写,后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程),SCN(System Change Number)。这些东西感觉都比较专业,我对它们也就是个知道,想要真真去认识我还得努力去做。虽然懂得还不是很多,起码会了基本的软件操作,老师说我们用的都是客户端,服务端看不到,也不知道服务端是什么样的,只知道客户端就挺多东西的,没有真正的去学习利用是很难掌握的。

参考文献

1. 黄梯云.《管理信息系统》.高等教育

2. 萨师煊.《数据库系统概论》.高等教育

3. 朱如龙.《SQL Server 2000 数据库应用系统开发技术》.机械工业

4. 清.《SQL Server 2000 数据库应用系统开发技术实验指导》.机械工业

5. 罗骏 《SQL实用简明教程》 清华大学

6. 龚沛曾 《面向对象程序设计系列教材》 中国金融

. . . . . . . . .

7. 吴晓琪 《程序设计与技术大全》 清华大学

8. 明 《数据库原理与应用》 高等教育

9. 罗运红 《Microsoft SQL Server 2000中文版完全实战》科学

10. 章立民 《SQL Server数据库系统基础》高等教育

11. 军超 《MySQL网络数据库开发》 人民邮电。

12. 朝 《VB页面程序设计》 中国铁道

13. 耿祥义 《数据库与JAVA的连接》 清华大学

14. 印昊 《数据库的原理与设计》 高等教育

. . . . .

2023年6月21日发(作者:)

. . . .

辽 宁 工 业 大 学

SQL数据库设计课 程 设 计 说 明

题目: 学生信息管理系统

院(系): 软件学院

专业班级: 软件工程

学 号: .lianshanqu.

学生: 盾

指导教师: 佟 玉 军

教师职称: 副 教 授

起止时间: 2013.12.30-2014.01.10

. . . . .

书 . . . .

目 录

第1章 设计目的与要求 ........................................... 1

1.1设计目的 ............................................................ 1

1.2设计环境 ............................................................ 1

1.3主要参考资料 ........................................................ 1

1.4设计容及要求 ........................................................ 1

第2章 设计容 ................................................... 2

2.1数据库设计 .......................................................... 2

2.1.1需求分析 ...................................................... 2

2.1.2概念设计 .................................................... 2

2.1.3逻辑设计 .................................................... 2

2.1.4物理设计 .................................................... 4

2.1.5 数据库实现 .................................................... 5

2.2程序设计 ........................................................... 8

2.2.1概要设计 .................................................... 8

2.2.2程序实现 .................................................... 8

第3章 设计总结 ................................................. 14

参考文献 ........................................................ 15

. . . . . . . . .

第1章 设计目的与要求

1.1设计目的

本设计专题是软件工程类专业的有关管理信息系统设计开发的一个重要环节,是本专业学生必须学习和掌握的综合实践课程。

本实践课的主要目的是:(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;(2)掌握关系数据库的设计方法;(3)掌握SQL Server 2000技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。

1.2设计环境

硬件:cpu,存,硬盘

软件:操作系统,SQL版本

1.3主要参考资料

1.《管理信息系统》 黄梯云

高等教育

2.《数据库系统概论》 萨师煊 高等教育

3.《SQL Server 2000 数据库应用系统开发技术》朱如龙编,机械工业。

4.《SQL Server 2000 数据库应用系统开发技术实验指导》朱如龙编,机械工业

1. 4设计容及要求

一、容

1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规,完成各阶段的设计容。

2.需求分析具体实际,数据流图、数据字典、关系模型要正确规

3.在sql server2000 上实现设计的数据库模型。

4.对应用程序进行概要设计。

5.用VB实现简单的应用程序编写。

二、要求

设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。正确地完成上述容,规完整地撰写出课程设计报告。

. . . . . . . . .

第2章 设计容

2.1数据库设计

本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统等多种功能。本系统主要用到的技术包括:SQL和VB结合的开发模式, 这种设计模式把应用逻辑、处理过程和显示逻辑分成不同的组件来实现,这些组建可以进行交互和重用。封装了数据操作类,以便调用数据库的操作函数因而具有较强的实用性和先进性。

2.1.1需求分析

学生信息管理系统就是对学生信息的管理,所以首先我们需要知道的是学生有那些信息,并且是怎样进行分类的。

计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能有了长足的进步。它已经被应用于许多领域,学生的信息包含1:基本信息;2:课程及成绩;3:课程表。基本信息根据要求应该包括学生的基本情况、获得奖励情况、受到处分情况、学生的家庭信息等;课程及成绩应该包含对应课程对应学生的成绩;

为了解决传统学生信息的管理正面临着的这些问题,我们为信息管理系统分四个表:

学生基本信息(学号, ,性别,出生日期,学生所在系,班号 ,入校成绩,入学时间,,父亲,母亲,获得奖励情况,受到处分情况),

学生成绩表(学号,课程号,成绩),课程表(课程号,课程名,教师,先导课程)。

我所设计的学生信息管理系统就由此而产生了。

2.1.2概念设计

实体间的联系:

1:学生个人信息表stunents:学号s_number、s_name、性别sex、出生日期birthday、籍贯native、所在院系编号dep_number、所在班级 class_number、tel、联系地址address、相片photo、个人信息备注note

2:学籍变更信息表schoolregister:记录号t_number、学号s_number、变更情况change、记录对象t_object、记录时间t_time、详细描述t_memo

. . . . . . . . .

3:学生奖励记录表reward:记录号r_number、学号s_number、级别r_rank、奖励对象r_object 、记录时间r_time 、详细描述r_memo

4:学生处罚记录表 punish:记录号p_number、学号s_number、级别p_rank、处罚对象p_object、记录时间p_time、详细描述p_memo、是否生效effect

5:班级信息表 class:班级编号c_number、班级名称c_name、所属院系dep_number

6:院系信息表department:院系编号dep_number、院系名称dep_name

7:E-R图:

1)、用户(普通用户、管理员)实体图如图2-1所示:

用户名 密码 注册时间 用户类型

用户(普通用户、管理员)

图2-1

2)、学生实体图如图2-2所示:

性别

姓名

学号

学生

图2-2

3)、学生选课关系图如图2-3所示:

性别

姓名

学号

学生

图2-3

班级

政治面貌

出生年月

班级

政治面貌

出生年月

. . . . . . . . .

2.1.3逻辑设计

逻辑设计就是把概念设计得到的概念数据库模式变为逻辑数据模式,它依赖于DBMS。数据库的逻辑设计(包括各种表和表间关系)是优化关系数据库的核心。设计好逻辑数据库,可以为优化数据库和应用程序性能打下基础。逻辑数据库设计不好,会损害整个系统的性能。

数据库逻辑设计所要完成的任务是:概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则,数据的语义约束,规化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。

根据上述学生管理系统的多个实体用,画出学生管理系统管理关系E-R图,如图2-4所示。

属于

1 N

1 1

属于

学生

属于

院系

班级

N N

学籍变更

N 1 N

学籍更改

图2-4

. . . . . . . . .

2.1.4物理设计

物理结构设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。

输入:

系统关系数据结构

输出:

系统数据库物理结构

1.物理结构设计的主要容:

2.物理存储介质类型的选择

为了提高系统的安全性,防止系统因介质的损坏而导致数据丢失的危险,学生信息管理系统最好采用基于Windows 2000 RAID-5卷实现的RAID-5级的磁盘阵列,因此需要四块物理磁盘。

3.数据库物理位置的选择

学生信息管理系统数据库的数据文件安排如下:一个主数据文件,存放在C:下;两个次数据文件,分别存放在D:和E:下;日志文件,存放在F:下。应用系统可以对四块磁盘进行并行访问,从而提高对磁盘数据的读写效率。

4.索引类型的选择

教学信息管理系统的核心任务是对学生的学籍信息和考试信息进行有效的管理。其中,数据量最大且访问频率较高的是学生选课信息表。为了提高系统的查询效率,降低系统的查询成本,需要为学生信息表和学生选课信息表建立聚簇索引。

5.数据库服务器性能参数配置

数据库服务器的存配置参数、I/O配置参数和操作系统性能配置参数使用系统安装时缺省参数。

数据库物理设计阶段的任务是根据具体计算机系统的特点,为给定的数据库模型确定合理的存储结构和存取方法。物理结构设计阶段实现的是数据库系统的模式,因此它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事物要进行仔细的分析,获得优化数据库物理设计的参数。物理结 . . . . . . . . .

构设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。

若出现数据冗余情况,是因为有某些数据记录不正确,去除了数据文件中的碎片,以保证数据传输的正确性和完整性。循环冗余检查(CRE)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似算法,以保证数据传输的正确性和完整性。若CRC校验不通过,系统重复向硬盘复制数据,陷入死循环,导致复制过程无法完成。

2.1.5 数据库实现

在进行概念结构设计和物理结构设计之后,对学生信息管理系统系统结构,功能已经分析得比较清楚了,但是还只是停留在文档阶段。数据系统设计的根本目的,是为用户提供一个能够实际运行的系统,并保证系统的稳定和高效。要做到这点,还有两项工作,就是数据库的实施,运行和维护。学生信息管理系统中的表关系图2-5所示。

图2-5

数据库实施是根据应用系统数据库的关系结构模型和物理结构设计结果,形成基于SQL Server平台应用系统数据库的脚本和数据库设计报告,并进行数据库的具体构建与管理。

1.学生个人信息表stunents(学号s_number、s_name、性别sex、出生日期birthday、 . . . . . . . . .

籍贯native)

字段名 字段类长度 主键或外字段值约对应中文属性型

s_number

s_name

sex

birthday

char

char

char

datetime

native

2.学籍变更信息表schoolregister(记录号t_number、学号s_number、变更情况change、记录对象t_object、记录时间t_time、详细描述t_memo)

字段名 字段类型 长度 主键或外键 字段值约束 对应中文属性名

t_number

s_number

change

t_object

t_time

t_memo

int

char

char

char

datetime

varchar

4

10

20

20

8

100

主键

外键

不为空

不为空

不为空

不为空

记录号

学号

变更情况

记录对象

记录时间

详细描述

char 20 不为空 籍贯

10

8

2

8

主键

不为空

不为空

不为空

不为空

学号

性别

出生日期

3.学生成绩表(grade):表结构如下表所示:

名称

学号

课程名

成绩

学期

字段名称

sno

cname

grade

semester

类型

int

char

char

char

长度

2

10

2

8

存储过程:

在本程序中,为了方便提高程序的运行效率,程序使用了存储过程来实现数据的删除,在查询分析器的定义如下:

删除Student表中的学生信息:

create procedure DeleteStudentData(DeleteSno char(10))

. . . . . . . . .

as

delete from Student where Sno=DeleteSno;

删除Dept中的系信息:

create procedure DeleteDeptData(DeleteDno char(10))

as

delete from Dept where Dno=DeleteDno

触发器:

判断是否该学生已经选了20学分的课程,和成绩的判断触发器,定义如下:

实现20学分的判断:

create trigger CcreditsJudge

on CourseSelectionTable

for insert as

declare SumCcredits int,Sno char(10)

select Sno=Sno

from inserted

select SumCcredits=sum(Ccredits)

from CourseSelectionTable

where Sno=Sno

if SumCcredits>20

begin

rollback transaction

end

2.2程序设计

2.2.1概要设计

系统开发的总体任务是实现商品进销存管理信息的系统化、规化和自动化,系统功能分析是在系统开发的总体任务的基础上完成的。通过对信息更改、维护、查询等活动的调查、分析与总结,结合企业的实际,我们可以将系统分为以下五大功能:学生基本情况更新、学生基本情况维护、学生成绩维护、数据维护、密码修改。

学生基本情况更新模块

该模块主要是对学生信息,包括、学号、班级、政治面貌等信息进行添加、修改、删除和查询操作。

学生基本情况维护模块

该模块主要是对学生的信息进行维护,学生日常生活中的所有信息基本上都可以通过此模块进行维护。这样做可以加强学生信息的安全程度。

学生成绩维护模块

该模块主要是对学生的成绩进行查询,添加,和打印,在此模块中,可以通过学生 . . . . . . . . .

的学号和专业来查询学生的成绩。方便快捷

数据维护模块

该模块主要实现数据的备份和还原,管理员可以通过此模块来管理数据资源,保证数据资源的可靠性和安全行。

密码修改模块

该模块用于对密码的修改。其中普通的用户只能更改自己的密码,而管理员可以更改所有的密码。

本系统主要包括学生基本情况更新,学生基本情况维护、学生成绩维护、密码修改和数据维护5个大的模块,各个模块的具体功能如图2-6所示:

. . . . . . . . .

添加

删除

修改

查询

查询

添加

管理员 学生登陆

信息管普通用户 理系统

学生成绩维护

查询

添加成绩

打印

备份

数据维护

还原

修改自己密码

密码修改

修改所有密码 管理员

普通用户

按专业

打印

按学号

学生基本情况维护

删除

修改

按学号

按专业

学生基本情况更新

图2-6

2.2.2程序实现

登录模块:

登录界面用户验证登录用户的身份信息,只有合法的用户才能进入系统,从而保证系统的安全性。登录界面的运行结果如下图2-7所示:

. . . . . . . . .

图2-7

学籍信息查询模块:

学生信息查询界面。主要实现通过学号查询学生的基本信息,包括其、性别、出生日期等信息;方便用户的查找,学籍信息查询界面的运行结果如下图2-8所示:

图2-8

学籍信息“查找”按钮的代码如下:

房管局

Private Sub CmdQuery_Click()

If Val() <> 0 Then

If Not IsDate() Then

. . . . . . . . .

MsgBox "出生日期不是有效日期,请重新输入!", vbInformation, "提示"

us

= "____-__-__"

Exit Sub

End If

End If

If Val() <> 0 Then

If Not IsDate() Then

MsgBox "入校时间不是有效日期,请重新输入!", vbInformation, "提示"

us

= "____-__-__"

Exit Sub

End If

End If

sql = "select

student_id,student_name,student_gender,birth_date,_no,tele_number,in_date,grade_no,user_id,address,comment from student_info s inner join class_info

c on _no=_no where 1=1"

If <> "" Then

sql1 = "and student_name='" & & "'"

Else

sql1 = " "

End If

If <> "" Then

sql2 = "and student_id='" & & "'"

Else

sql2 = " "

End If

If <> "" Then

sql3 = "and tele_number='" & & "'"

. . . . . . . . .

Else

sql3 = " "

End If

If <> "" Then

sql4 = "and student_gender='" & & "'"

Else

sql4 = " "

End If

If Val() <> 0 Then

sql5 = "and birth_date='" & & "'"

Else

sql5 = " "

End If

If Val() <> 0 Then

sql6 = "and in_date='" & & "'"

Else

sql6 = " "

End If

If <> "" Then

sql7 = "and _no='" & & "'"

Else

sql7 = " "

End If

If <> "" Then

sql8 = "and grade_no='" & & "'".

Else

sql8 = " "

End If

If <> "" Then

sql9 = "and user_id='" & & "'"

. . . . . . . . .

Else

sql9 = " "

End If

sql = sql & sql1 & sql2 & sql3 & sql4 & sql5 & sql6 & sql7 & sql8 & sql9

1 sql

If Then

String = " | 学 号| 姓 名|性别| 出生日期|班号| 联系| 入校时间| 年级编号|班主任编号| 家庭住址| 注释"

MsgBox "没有找到符合条件的记录!", vbOKOnly + vbInformation, "提示"

Else

Set urce = 1

String = " | 学 号| 姓 名|性别| 出生日期|班号| 联系| 入校时间| 年级编号|班主任编号| 家庭住址| 注释"

End If

End Sub

第3章 设计总结

有关于数据库实验的心得体会,总的来说,受益匪浅。在这次的试验中,我们学到了很多东西,包括建表,导入数据,查询,插入。最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言,尽管自己对C语言非常感兴趣,但还是有些心理上的陌生感。学习数据库就和我们平时的其它科目学习 . . . . . . . . .

一样感觉它有永无止境的知识,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的中国字典里的名词。我认识它是从我接触实验运作开始的,刚开始就是建立数据库,两种验证模式,没什么东西但还觉得不错。进而就是操作语言了,紧接着就是触发器的使用,进而对数据库高级的使用,等等。

开始知道数据库的时候想学,不知道从何而起,不懂的话怎么问,从什么地方学起。后来到大二开学后有数据库原理必修课,非常高兴。当时感觉SQL Sever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的容。学了这门课以后发现和我想的基本是一样的,老师对学生也比较和蔼可亲,对我们要求也不是很紧。让每个人都觉得轻轻松松就能把这门课程学完,没有多么紧的作业,也没有太苛刻的要求。

以前没接触过它,现在认识了它才知道SQL Server的体系很庞大,要学习它,首先要了解的SQL Server框架。它有物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成),逻辑结构(表空间、段、区、块),存分配(SGA和PGA)算机的实际存中得以分配,如果实际存不够再往虚拟存中写,后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程),SCN(System Change Number)。这些东西感觉都比较专业,我对它们也就是个知道,想要真真去认识我还得努力去做。虽然懂得还不是很多,起码会了基本的软件操作,老师说我们用的都是客户端,服务端看不到,也不知道服务端是什么样的,只知道客户端就挺多东西的,没有真正的去学习利用是很难掌握的。

参考文献

1. 黄梯云.《管理信息系统》.高等教育

2. 萨师煊.《数据库系统概论》.高等教育

3. 朱如龙.《SQL Server 2000 数据库应用系统开发技术》.机械工业

4. 清.《SQL Server 2000 数据库应用系统开发技术实验指导》.机械工业

5. 罗骏 《SQL实用简明教程》 清华大学

6. 龚沛曾 《面向对象程序设计系列教材》 中国金融

. . . . . . . . .

7. 吴晓琪 《程序设计与技术大全》 清华大学

8. 明 《数据库原理与应用》 高等教育

9. 罗运红 《Microsoft SQL Server 2000中文版完全实战》科学

10. 章立民 《SQL Server数据库系统基础》高等教育

11. 军超 《MySQL网络数据库开发》 人民邮电。

12. 朝 《VB页面程序设计》 中国铁道

13. 耿祥义 《数据库与JAVA的连接》 清华大学

14. 印昊 《数据库的原理与设计》 高等教育

. . . . .