探究实验室教学管理系统开发之数据库设计.docx

上传人:b****8 文档编号:10972775 上传时间:2023-02-24 格式:DOCX 页数:16 大小:23.64KB
下载 相关 举报
探究实验室教学管理系统开发之数据库设计.docx_第1页
第1页 / 共16页
探究实验室教学管理系统开发之数据库设计.docx_第2页
第2页 / 共16页
探究实验室教学管理系统开发之数据库设计.docx_第3页
第3页 / 共16页
探究实验室教学管理系统开发之数据库设计.docx_第4页
第4页 / 共16页
探究实验室教学管理系统开发之数据库设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

探究实验室教学管理系统开发之数据库设计.docx

《探究实验室教学管理系统开发之数据库设计.docx》由会员分享,可在线阅读,更多相关《探究实验室教学管理系统开发之数据库设计.docx(16页珍藏版)》请在冰豆网上搜索。

探究实验室教学管理系统开发之数据库设计.docx

探究实验室教学管理系统开发之数据库设计

探究实验室教学管理系统开发之数据库设计

孟金洲

摘要:

随着高校管理变革的逐步推进,实验室建设进一步规范化、复杂化,高校实验室管理工作也变得更加繁重和复杂。

为了便利管理工作的展开,提高工作效率,利用计算机来进行辅助管理,以简化我们的工作,成为需要。

本系统正是基于此而进行开发设计。

系统采用.NET框架和三层结构,完全B/S模式,纯面向对象思想(OOP);本系统运用了MicrosoftSQLServer2005为后台数据库,以Visual为前端开发工具,通过对数据库技术进行了较深入的学习和应用,主要完成管理员管理、教师教学安排管理、学生预约实验、做实验、用户维护、系统维护等系统功能。

系统运行结果证明,其操作简单,界面友好,运行比较稳定,适用于大学院校实验教学管理使用。

关键词:

实验室教学管理;OOP;B/S;Visual;SQLServer2005

TheDevelopmentOfExperimentManagementSystem

MengJinZhou

ComputerScience&TechnologyDirector:

PanWei

Abstract:

Asuniversitymanagementtopromotethegradualchange,thelaboratorybuildingfurtherstandardization,complicated,collegelaboratorymanagementworkisalsobecomingmoreheavyandcomplicated.Thissystemwasbasedonthisanddevelopmentdesign.Systemadoptsframeworkandthreelayerstructure,completelyB/Smodel,puretheobject-orientedidea(OOP);ThissystemusingMicrosoftSQLServer2005forbackenddatabase,withVisualstudio.NET2008forfront-enddevelopmenttools,throughtothedatabasetechnologywerefurtherstudyandapplication,mainlycompletesadministratormanagement,teachers'teachingarrangementmanagement,Systemoperationresultsshowthattheoperationsimple,friendlyinterface,operationisstableandtheexperimentteachingmanagementapplycollegesuse.

Keywords:

laboratoryteachingmanagement;B/S;NET2008;SQLServer2005

1、引言

、实验室教学管理系统开发背景

在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。

信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。

人类社会就处在一个对信息进行有效合理的加工中。

它将促进整个社会的发展,在当今信息时代,人们的生活方式随着Internet的不断发展发生了不同寻常的改变。

、实验室教学管理系统功能

本系统可以为学生提供做实验的网上平台,学生只要在实验室的计算机上就可以浏览所要了解的实验信息,并通过用户验证登录后,找到自己要做的实验进行操作、查询等;本系统为教师提供在线查看学生的实验报告、批改实验报告、查看学生做实验的记录等。

、开发的目的、意义

实验室信息化管理是在传统实验室的基础上,利用先进的计算机技术、网络通信技术、多媒体技术等相关的信息,加工处理传播技术,将现实实验室中的各种实验资源进行处理,并通过计算机进行开放型管理,其重要意义是使得实验室在时间和空间上得以延伸。

、开发思想

基于.NET框架,系统架构采用三层结构(用户表示层、业务逻辑层、数据访问层),B/S模式,完全面向对象。

可以使用.NET平台快速方便的部署三层架构。

显示层放在页面中,数据库操作和逻辑层用组件来实现,这样就很方便的实现了三层架构。

、系统开发运行环境

系统开发环境:

MicrosoftVisualStudio2008

系统开发语言:

+C#

运行平台:

WindowsXP

数据库:

SQLServer2005

2、实验室教学管理系统开发相关技术的介绍

、的介绍

[5]是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。

、SQLServer2005概述

Microsoft®SQLServer™2005由一系列相互协作的组件构成,不仅能满足最大的Windows应用程序和企业数据处理系统存储和分析数据的需要,还能为个人或小企业提供易于使用的数据存储服务,是现在通用数据库里面最流行、性能最好的数据库之一。

(1)关系数据库设计

关系型数据库应用数学方法来处理数据库中的数据,是支持关系模型的数据库系统。

关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。

(2)关系数据结构设计

在本系统中通过利用SQLServer服务管理器来控制服务器上MicrosoftSQLServer2005组件的启动、暂停和停止。

这些组件在MicrosoftWindows7上作为服务运行,相对于每一个SQLServer实例都只有一个SQLServer服务实现运行调度的SQLServer管理任务的代理程序和全文本检索引擎以及管理分布式事务。

本系统中设计数据库时,按照关系数据库中的范式规则,将表中的重复字段和不相关字段进行合理划分,设计出来的数据库表格符合第二范式,减少了数据操作时的错误。

(3)关系操作集合设计

本系统根据SQL的语句定义标准,编写合理,实用,功能完善的操作语句,从而实现对数据库进行规范操作。

(4)关系完整性约束设计

本系统通过对外键的控制,在存储过程中编写一些合理,实用,功能完善的操作语句对数据库进行操作。

在数据库报损文件中删除的记录也应该在库存文件中删除,两个表格之间存在约束关系。

3、系统功能模块设计

、系统概述

在本系统中,主要是为了方便实验室的管理、学生上机做实验和选课及教师可以直接利用网络系统收集学生实验结果和批改学生实验报告等。

其中管理员可以管理学生、教师和管理员的基本信息,添加开课计划和所要上机操作的实验项目,并根据教师要求上传相应的实验计划,教师可以收集学生的实验结果并批改学生实验报告,最终返回实验成绩功能等。

、主要功能模块

本系统根据登录权限划分,可以分为管理员、学生和教师三大模块:

实验室学生子系统、实验室教师子系统、实验室管理员子系统,如下图1所示:

 

图1:

系统主要模块

、管理员子系统模块

管理员部分主要实现的功能部分包括:

1)系统维护

此功能模块只是针对管理员,管理员对系统进行必要的维护

2)开课计划

管理员根据学校安排或者有关学院的安排制定不同班级学生的开课计划,并能够进行相关的更新。

1)权限管理

管理员根据学校安排可以增加不同的用户,并可实现增、删、改用户及其用户登录权限设置。

2)设备管理

查看实验室的相关记录,记录下不能使用的实验设备并标注清楚,根据学校安排调整或者添加相关的实验设备。

、学生子系统模块

学生部分主要实现的功能部分包括:

1)修改密码:

当学生登录进入后,可以跟据原密码,验证并修改密码

2)个人信息

在个人信息这部分,学生登录进去后,系统可以从数据库中读取相应的个人信息

3)实验部分

当学生点击实验部分,可以根据老师的安排,进行试验操作、填写报告

4)成绩查询:

该部分可以对自己已作实验成绩进行查看

、教师子系统模块

教师部分主要实现的功能包括:

个人信息

教师在该部分可以查看、修改自己的个人信息

密码修改

可以根据旧密码,修改确定新密码

实验安排

这部分教师可以根据自己的课时计划,制定安排实验

实验报告

教师将根据学生上交的实验报告,查阅、统计打分

4、系统数据库设计

、数据库设计

数据库是管理信息系统的核心,一个良好的数据库结构既具有数据冗余少、操作处理过程简单等特点,同时也应具有信息查找比较容易、系统开销低等特点[2]。

本系统在进行数据库设计时,先根据在需求分析中得到的业务数据流,进行高度抽象得出系统实体,构造E-R图,然后再将E-R图转换生成特定的DBMS支持下的关系模式,再对确定的关系数据模式进行优化,最后确定数据的物理存储。

4.1.1、概念结构设计

概念结构设计的重点在于信息结构的设计,它是整个数据库系统设计的关键。

本系统从数据流中抽象出各个实体:

学生、教师、管理员、实验课程、

实验报告等我们可设计出本系统的E-R图(实体-联系图)如图2和图3所示:

图2:

学生E-R图

图3:

管理员E-R图

4.1.2、逻辑结构设计

设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。

本系统数据库中的表有学生信息表、实验室信息表、教师信息表、管理员权限表、设备表等21张表。

设由此,我们根据三大功能和模块来设计表。

(—)管理员部分主要用到的表

表1Student(学生)

字段

数据类型

长度

描述

S_id

tinyint

10

学号(主键)

S_name

char

8

姓名

S_Sex

varchar

2

性别

S_Pwd

varchar

20

密码

S_Grade

varchar

50

年级

Major

varchar

50

专业

Class

varchar

50

班级(外键)

表2Teacher(教师)

字段

数据类型

长度

描述

T_ID

tinyint

4

教师编号(主键)

T_name

char

10

教师姓名

T_sex

char

2

教师性别

T_pwd

varchar

50

密码

T_phone

varchar

50

电话

表3Administer(管理员)

字段

数据类型

长度

描述

A_id

tinyint

10

管理员编号(主键)

A_Name

nchar

10

姓名

Pwd

char

10

密码

Limit

char

10

权限

Memo

text

16

备注

表4Exp_Course(开课计划表)

字段

数据类型

长度

描述

Kid

tinyint

10

实验课程编号(主键)

K_Name

nchar

10

课程名称(外键)

C_ID

int

10

班级编号

Memo

text

16

备注

表5Exp_room(实验室表)

字段

数据类型

长度

描述

ExpR_id

tinyint

10

实验室编号(主键)

ExpR_Name

nchar

10

实验室名称

ExpR_dizi

char

10

实验室地址

Memo

text

16

备注

(二)教师部分所用到主要表

表6Teacher(教师)

字段

数据类型

长度

描述

TID

tinyint

4

教师编号(主键)

Tname

char

10

教师姓名

Tsex

char

2

教师性别

Tpwd

varchar

50

密码

Tphone

varchar

50

电话

表7Exp__Public(实验发布)

字段

数据类型

长度

描述

ID

tinyint

4

实验报告编号(主键)

Title

varchar

50

报告题目

Content

text

16

报告内容

Time

datetime

8

添加时间

表8Grade(班级)

字段

数据类型

长度

描述

Mid

tinyint

50

专业编号(主键)

Gid

int

4

班级编号

Grade

varchar

50

班级名称

表9Exp__Info(项目计划)

字段

数据类型

长度

描述

Xid

tinyint

10

项目编号(主键)

X_name

varchar

50

实验项目名称

X_content

text

16

实验项目内容

Teacher

varchar

8

授课教师(外键)

(三)学生部分所用到主要表

表10Student(学生)

字段

数据类型

长度

描述

Sid

tinyint

10

学号(主键)

Sname

char

8

姓名

Sex

varchar

2

性别

Pwd

varchar

20

密码

Grade

varchar

50

年级

Major

varchar

50

专业

Class

varchar

50

班级(外键)

表11Exp_Report(实验报告)

字段

数据类型

长度

描述

Exp_id

tingyint

10

实验编号(主键)

Sid

nchar

10

学号

Tid

char

10

教师名字

Title

char

10

实验题目

Content

char

10

实验内容

Memo

text

16

备注

表12Grade(班级)

字段

数据类型

长度

描述

Mid

tinyint

50

专业编号(主键)

Gid

int

4

班级编号

Grade

varchar

50

班级名称

表13Course(课程表)

字段

数据类型

长度

描述

Cour_id

tinyint

50

课程编号(主键)

Cour_Name

int

10

课程名称

Cour_class

varchar

50

开授班级

、主键、外键设置说明

主键

在每一张表中,一般将表中的第一个字段名设为主键标识符,并让它自增加,设置为identify。

外键

一张表中某一个字段,并且该字段必须为另一个表中的主键。

、系统中部分SQL语句

在SQLServer2005管理界面工具栏上点击图标打开如下窗口:

在其中可以编写,并执行T-SQL语句,举例如系统表的代码。

CREATETABLE[dbo].[SysTable](

[Sys_Caption][varchar](50)COLLATE

Chinese_PRC_CI_ASNOTNULL

CONSTRAINT[DF_SysTable_Sys_Caption]DEFAULT(

(1)),

[Sys_Satus][tinyint]NOTNULL,

[Sys_Memo][varchar](500)

COLLATEChinese_PRC_CI_ASNULL,

5、数据库存储过程、触发器、视图设计

、系统设计过程中部分存储过程

(1)、获取用户信息的存储过程

CREATEprocProc_GetUSRInfo

@typeint,

@idint

as

Selectuserid,name,startendTime,unit,Froming,pwd,limit,

Fromadminister

Wheretype=@typeand=and=@id

(2)、更新信息存储过程

CREATEprocProc_UpdateUserInfo

@idint,@ageint,@classNvarchar(50)

@collegeNvarchar(50),@useridNvarchar(50),

@userpassNvarchar(50),@sexbit,)

as

updatetb_userInfo

Setuserid=@userid,userpass=@userpass,

sex=@sex,age=@age,college=@college,class=@class

whereid=@id

deletefromadministerwhereid=@id

、触发器设计

(1)、为kaike(开课)表创建一个更新触发器,只允许操作表中的课程开设项目设计,当对数据表进行修改时,触发器被激活生效。

程序代码:

createtriggerkaike_up

onkaikeforupdate

as

ifupdate(kaike_Name)

begin

raiserror('cann’tmodify',16,1)

rollbacktransaction

end

ifupdate(kaike_Name)

begin

raiserror('cann’tmodify',16,1)

rollbacktransaction

end

(2)、为课程表(kc)建立一个插入触发器,当用户向表中插入记录时,如果插入的是课程表中没有的课程编号则提示用户不能插入记录,否则提示插入成功。

请进行测试。

createtriggerkc_in

onkcforinsert

as

declare@achar(10)

select@a=cnofrominserted

if

exists(select*fromscwherecno=@a)

、视图创建

(1)、在学生部分,当学生查看实验成绩时创建视图,如下表

SC表:

snocnograde

S1C190

S1C280

S1C377

视图代码:

createviewcs_gradeas

select,,,,,

fromstudents,scsc

where=

(2)、学生与课程项目成绩之间的视图

createviewv1

ASselect,

[网络]=max(casewhenCourse_ID=N'网络'thenC_scoreend),

[数学]=max(casewhenCourse_ID=N'数学'thenC_scoreend),

[英语]=max(casewhenCourse_ID=N'英语'thenC_scoreend),

fromt1leftjoint2on=groupby

Goselect*fromv1

、数据库连接

stringstr="server=MENG;database=Shiyan;uid=sa;pwd=123";

SqlConnectioncon=newSqlConnection(str);();

、数据库在后台运用

5.5.1、界面登录数据库部分

stringstrsql="select*fromAdminister

whereUser_Name='"++"'andPwd='"++"'and

Limit='"++"'";

5.5.2、实验室部分

数据库核心部分:

Tringsqlstr="insertintoEquipment(Equip_Name,Equip_Kind,Equip_Price,Equip_Status,Buy_Datime,Equip_Memo)values('"++"','"++"','"++"','"++"','"++"','"++"')"

6、结论

、数据库中常见问题

、数据库的完善问题

这个问题一直伴随我最终完成系统设计。

由于模块不同,各模块要调用的表不同,因此对每个表的要求也不同,有时候数据库存在的问题并不能马上被发觉,而是随着设计的深入而逐渐暴露出来。

所以数据库从始至终都在进行着不断完善和大大小小的改动,直至最终数据库得以完善。

、页面与数据库连接的问题

由于是自己第一次比较系统的做这类课题,所以没什么经验,在设计中有相当长的时间在处理这一问题。

在尝试了多次失败之后,发现问题所在。

原来页面在先前的编写中没有建Form,这样就不能传递值。

、整个设计过程

此实验教学管理系统历时二个月已基本完成了,完成了实验教学管理的基本功能,对管理员用户添加、修改和删除,以及对学生实验项目、课程等进行添加、修改和删除的功能、对学生的基本信息进行修改,添加新的学生信息以及添加用户名,修改学生密码以及个人资料查看、成绩查看的功能。

参考文献

[1]郑耀东,数据库设计,北京:

清华大学出版社,2010年2月

[2]萨师煊,王珊.数据库系统概论[M].北京:

高等教育出版社.2000

[3]殷泰晖,数据库精通设计,电子工业出版社,2007:

100~120

[4]萨师煊等.数据库系统概论[M].高等教育出版社,2001

[5]严蔚敏等.数据结构[M].清华大学出版社,2001

[6]金雪云、汪文彬,简明教程,北京:

清华大学出版社,2008年12月

致谢

这次毕业设计能成功完成,要特别感谢给予我帮助的同事和爱好编程开发的朋友们,他们在我的整个设计过程中给我提供了大量的技术指导和实践机会。

衷心的感谢你们!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1