数据库课程设计vc

2025-03-08 版权声明 我要投稿

数据库课程设计vc(精选8篇)

数据库课程设计vc 篇1

(2012-04-23 – 2012-05-19)

前言:本课程设计分成自测题和综合题两部分。两部分都列入验收。

练习题:

共11道。内容覆盖主要基本技术:基本的开发环境(调试技术),文件操作,动态链接库,图形图像编程,多线程编程,控件开发等。

每个学生选择5个完成,要求如下:

必做:1;

2,3选择其一;

4,5选择其一;

6-11选择其二;

1. 基本环境调试

将例程1用VC++打开,修改错误使程序能够运行。理解编译错误,运行错误等。

2. 数据库操作

通过ODBC数据源访问数据库(ACCESS),数据库中保存以下内容:

学生姓名,性别,年龄,家庭住址,电话,电子邮件,爱好等。

再以上基础上进行该记录的读出并可编辑浏览显示。

3. 文件操作

写一个档案文件保存以下内容:

学生姓名,性别,年龄,家庭住址,电话,电子邮件,爱好等。

再以上基础上进行该文件的读出并可编辑浏览显示。

4. 图形编程

提供一个图形工具界面,让用户能够画出直线,椭圆,多边形等几何元素,结果可以保存并可读出。

5. 图像显示

编程加载显示位图文件(bmp)。实现多个位图的叠加显示效果。在此基础上,实现动画效果。

6. 字符串操作

能够从磁盘上选择打开文本文档,读入所有内容并显示,统计所有的字符数目,单词数目,中文字符串的数目。

7. 多线程技术

目的:掌握多线程编程的基本概念,掌握用户线程的编程方法和调试方法。

建立一个工程,主线程负责用户交互,界面上提供一个按钮,通过它用户建立一个新的线程处理复杂的计算。多个线程可以共享内存中的某些变量。线程可以中止,挂起。线程间需要同步。

8. 通信技术

利用套接字编写双机通信程序,从服务器接收GPS数据。协议内容如下:

0xDB,纬度(4字节浮点),经度(4字节浮点),时间(4字节CTime),速度(2字节整型),校验(1字节异或),0xDB

在此基础上,能够在屏幕上显示其位置和速度等信息。

把接收到的内容进行解析并且显示。

9. 动态链接库

目的:了解MFC 支持的三种动态链接库:Win32DLL,MFC 常规DLL, MFC扩展库。掌握封装DLL的基本方法。

步骤:

新建三个不同的DLL工程;

分别封装一些类和函数;

新建一个测试工程对上述库里的函数或类进行调用;

封装一个对话框类到DLL,并新建一个工程调用之。

10. 控件编程

利用ATL编写一个控件,并写一个测试程序进行调用。

目的:掌握ATL控件的编写方法,测试方法和调用方法。

步骤:

新建一个ATL工程;

添加ATL控件;

往接口里添加属性和事件;

修改绘制代码;

写测试程序;

11. 多媒体数据采集

利用微软的视频,音频采集API函数,编写一个能够进行图像,音频,视频采集的程序。

综合题:

1. 硬盘录像机的制作

要求:

对外接USB接口的摄像头的数据进行采集,结果保存在硬盘上。能够根据要求对文件进行检索,播放,备份,上传。

*能够架构一个视频流服务器,提供多人的基于IE的在线视频浏览。

2. 数字存贮示波器的制作

要求:编程实现一个数字存贮示波器。示波器的踪数1-10可变,示波器的数据采样点可达1024。

示波器可以实现图形以不同的形式显示(如波形图,柱图等)。

示波器的横向,纵向均可以用鼠标进行分辨率调整。

示波器提供文件接口,可以文件读写。

结果以DLL形式封装。

创建一个客户程序对示波器进行测试。

参考:SIMULINK的示波器。

3. 大地面积测量

要求:在文本文件中保存了一条封闭路径的顶点的经纬度数据,计算由这条路封闭出的区域面积。

步骤:

(1)自行编辑三个不同大小区域的文本文件(区域范围50KM,500KM,5000KM);

(2)生成一个单独的对话框工程(项目);

(3)导入区域文件;

(4)函数说明 float Area(int nNum/*顶点数目:>=3*/, float* vX/*经度*/, float* vY/*纬度

*/, char Coord=1/*坐标系: 1 经纬度 2平面坐标*/);

(5)对于结果进行误差分析。

参考资料:地理坐标变换算法(上网搜索)

测试方法:用MATLAB工具包函数可以进行对比测试。

4. 文件编辑

创建一个多文档工程,实现对于磁盘文件的浏览,编辑等功能。

能够以文本文件,二进制文件方式打开文件;

支持剪贴板功能;

支持搜索,查找,替换功能;

支持文件定位;

功能可参考:磁盘文件工具程序UltraEdit。

5. 个人简历

创建一个个人简历程序,能够编辑自己的个人资料,添加自己的相片集进行浏览,具有保存,打印等功能。

6.文字聊天室

做一个基于点对点的聊天程序。同时具有客户端和服务器功能。

字体颜色可设置;

具有丰富的表情;

聊天记录可以保存,浏览。

7. 卡拉OK点歌管理系统

在本地硬盘库里存放歌曲文件(暂定WAV文件格式)。按照歌手,歌名(字数),类别进行检索播放。

对歌曲库可以进行管理,如添加,删除等。

计时计费功能。

8. 酒店管理系统

实现酒店客房的预定,登记,分配,计费等功能。

基本步骤:

(1)数据库后台设计,数据准备;

(2)界面设计;

(3)功能实现;

(4)测试;

9. 数字图像格式转换

能够进行BMP,GIF,TIF,JPG等图像的显示,保存,转换;

能够对图像进行处理:平滑,滤波,增强等。(算法可自行查找)

10. 简易电子地图编辑

用MapX实现地图的编辑功能:打开地图(Tab格式), 添加/删除点,线,面元素,通过属性查询并高亮显示。

请大家发挥想象,独立完成。

课程设计安排

时间与进度安排

课程设计共40学时,分在四周内完成。参考的时间分配如下(以每天4学时为例): 第1天: 基本环境熟悉;

第2-4 天: 基础练习题;

第5-9 天: 综合题;

第10天: 验收;

注:基础练习题11道中完成5道(如前所述),可在完成后请老师验收。综合课题任选一道。为避免重复,原则上每个题目只允许一定数目的同学选择。

实验报告要求

实验报告包括两部分的题目(基础练习题和综合题)。内容包括:

1. 实验目的2. 算法流程框图;

3. 数据结构说明;

4. 程序说明;

5. 测试结果;

6. 附件:程序代码。

成绩评定

成绩评定遵循过程与结果并重的原则,给出考查课成绩等级(不及格,及格,中等,良好,优秀)。依据下列因素进行学生的成绩评定:

1. 出勤率;

出勤率低于30%者将被成绩降级,低于50%将被要求重修。

2. 认真程度;

有如下行为者视情节轻重成绩将被降级直至重修:打游戏,看电影或其他无关事项。

3. 完成质量;

相同的课题,如果出现雷同的结果,将被降级。

4. 回答问题的水平;

对于完成的课题,如果不能解释,视同抄袭,成绩降级。

5. 实验报告

对于没有完成指定内容,或者雷同报告的,成绩降级。

特别的,对于完成内容超过题目要求或者有独特成果,给与成绩奖励。

2012-4-20

验收提示:

(根据最新的上级要求,做如下的通知)

5月18日: 验收日。在此之前,请大家完成准备工作(代码,必要的说明文档等)。验收时采用教师学生一对一方式进行,同学需要进行预约,并主动出示有效证件。为了提供良好的验收环境,非验收同学应在别处等候,不要围观,评论。验收老师会提问一些相关问题,请同学独立回答。学生也可能被要求进行现场的一些简单的功能改进。

对于上机时间没有达到最低要求的,取消验收资格。此数据来自计算机系统,请大家平时注意查询。

平时有问题,欢迎在教师值班时候来咨询。(见附表)

数据库课程设计vc 篇2

作为Windows平台上最为优秀的C语言编程环境的VC,有其自身特有的特征,虽然在对VC学习的时候还要对Windows平台的诸多性能进行了解,掌握COM、ALT等相关的知识,掌握难度比较大,但是具有良好的底层支持,是不可或缺的优秀编程环境。在数据库的开发建设中,VC作为一个强大的编程工具,发挥着重要的作用,本文也着重对VC基础上的数据库编程进行分析,以期能起到一定的借鉴意义。

1 VC数据库编程特点

对于完全以数据库管理为中心的产品,如Access、Oracle、Fox Pro及d BASE IV等,这些产品在创建数据库管理器方面都具有较大的优势,进行商业数据库应用时,使用Delphi及Visual Basic等环境可以实现这种管理器的构建,其实采用这些软件编写用户界面良好的、成熟的、搜索能力强的数据库系统是比较简单的,可以说在Delphi和Visual Basic环境下,程序设计更为简单,更利于数据库的开发,而对于多数数据库而言,VC环境其实并不适合。但是,数据库有其独有的功能特点,而容易编写数据库的软件对这些扩展功能方面的处理功能相对缺乏[1]。为了使数据库具有更多的复杂功能,就需要一种编程软件来实现,VC正好提供了这样的编程环境。因为VC的底层支持能力比较强大,在对数据库编写的时候会提供底层访问及实时访问的功能。例如在对数据库驱动程序及实用程序的编写时,VC环境下的编程就更加的有价值[2]。

2 VC数据库编程设计

2.1 ADO设计方式

要对ADO设计方式进行了解,首先要对OLE-DB的含义进行了解。从其名称可以看出,OLE是一种为数据库提供接口的方式,与COM有相同的特点,可以任意的进行创建、查询及撤销某一对象。OLE-DB的对象来源,被称为提供者。不同的提供者构成VC软件包的一个部分,当然,厂商一般在对其产品进行升级的时候,一般会提供。OLE-DB有其自身的优势,即一个提供者可以与所有的Visual Studio产品进行匹配[3]。与COM相同,OLE-DB依赖于事件,可以对数据库表进行定时的更新,这样就可以随时更新数据库新用户资料,能及时的对信息进行更新与查看,以及通过发送相关信号通知数据库马上要进行的操作或者数据库错误。ADO方式并非解决解决数据库访问的底层方案,作为ADO使用基础的OLE-DB而言,是数据库通信的基础,而ADO可以说是OLE-DB的包装,因此,在实际使用中,基本可以绕过ADO,直接对OLE-DB进行使用,当然使用ADO的优势在于可以提高程序开发应用的速度。

2.2 ODBC设计分析

微软在最开始是以开放数据库互连为目标的,即ODBC,该技术是微软早期的一种数据库接口技术,当然,也是ADO技术的前身。微软之所以要引进这样一种技术,主要原因在于用一种非语言专用方式,为程序管理员提供一种简单的方位数据库的方法。这样,就可以使编程人员在访问Access Basic或者DBF文件的时候,得到MDB文件中的数据,不需要去了解Xbase程序设计语言。与Windows工作状态相同,ODBC也是采用包含在DLL下的驱动程序对任务进行操作并完成的。该设计方式提供了两个驱动程序:数据管理器语言及程序设计语言公用接口,这样可以使VC在对数据库内容进行访问的时候经过公用接口对函数进行调用,当然,也是这两个程序的交叉点。除此之外,还有与ODBC相关的其它类型的实用程序,如对ODBC数据源的管理[4]。

3 VC基础上数据库编程的实现

对VC强大功能的应用,本文主要以ADO设计方式进行数据库的访问为例,对VC基础上的数据库编程进行说明。

3.1 数据库开发流程

(1)首先对COM库进行初始化,然后将ADO库定义文件引入;(2)连接数据库,采用Connection对象的方法;(3)在连接建立好之后,通过Command、Connection对象,对SQL命令进行执行,或者采用Recordset对象的方法,取得结果记录集,并进行查询和处理;(4)结束后关闭连接,释放对象。

3.2 数据库编程实现

在数据库的实际开发过程中,往往要对数量巨大的二进制数据对象进行存储,例如音频、图像文件或者二进制数据等,这些需要存储的数据总称为二进制大对象,即BLOB,与普通数据的存取方式截然不同,本文主要是利用ADO来实现在数据库中对BLOB数据进行存取的实现过程,BLOB数据是不能用普通方式进行数据的存取的,这就需要Append Chunk函数的协助,该函数属于Field对象,其原型为HRESULT Append Chunk[5]。下面是具体的代码分析过程:

///假设m-p BMPBuffer的指针指向某一二进制数据,假设该二进制数据为一长度为m-n File Len,且已经将记录集对象m-p Recordset///成功的打开。

4 结束语

VC基础上的数据库编程采用ADO的设计方法,不但保证了数据库的基本功能的实现,而且也使得VC的优良性能得到发挥,操作简单,是一种理想的数据库编程方法。

参考文献

[1]谢厚亮,刘伟跃.VC的数据库应用[J].电脑知识与技术.2009(26).

[2]陆倩,程玉凯.基于VC的学生教务信息管理系统的设计[J].软件,2011(5).

[3]刘文涛.OLE DB技术及其在VC数据库开发中的应用[J].计算机工程与设计.2008(2).

[4]吕青松.应用VC进行数据库编程与分析[J].计算机光盘软件与应用.2010(1).

《数据库开发》课程的设计 篇3

关键词:企业调研 课程标准 方案设计

0 引言

《数据库开发》是计算机专业的一门核心课程,通过本课程的学习,学生将能够进行初步的需求分析,根据分析结果设计数据库的概念结构模型和逻辑结构模型,并能够根据物理结构模型进行数据库实施和简单数据库应用系统的开发。本课程实践性非常强,注重培养学生的动手能力。所以,设计课程过程中,应该更加注重课程本身的实用性,更加注重课程内容本身与企业岗位的相结合。

《数据库开发》课程设计主要经历了企业调研、课程标准开发、课程方案设计等几个阶段。下面就分别说明一下课程设计的每个阶段。

1 《数据库开发》课程企业调研

进行企业调研是课程建设要进行的第一步,只有进行了充分的企业调研才能培养出满足社会和企业需求的合格人才。才能根据需求进行课程的设计,这样才能使学校的课程更加适合企业,更加适合社会。为此,我们的项目团队到企业进行了实地调研,我们获取到了企业对于学生的需求和对于课程设置方面的建议。

本门课程在进行企业调研之前已经根据之前的教学经验设置了本门课程的任务,具体任务设置如下:

任务1 数据库分析与设计

任务2 系统前台页面设计

任务3 数据库实现

任务4 系统后台实现

任务5 数据库维护

通过与企业专家进行研讨,最终获取来自企业关于《数据库开发》课程设计的建议。具体建议如下:

任务1 教学要求及建议:

①数据库基本概念和知识简单带过,达到了解的程度即可。

②需求分析难度较高,不建议让学生进行整个系统的需求分析,可以编写需求规格说明书的部分内容。

③进行数据库概念结构设计时,可以先画出系统的各个部分的E_R图,最后在将整个系统的E_R图画出来。

④可以使用PowerDesigner软件进行数据库的概念结构设计和物理结构设计。

⑤这部分内容比较难,需要多练习,可以适当多加一些课时。

任务2 教学要求及建议:

①本部分内容是对于之前所学网页设计和JSP的内容进行熟悉,可以以学生做为主。

②进行分小组教学,小组内进行角色划分,充分发挥团队的力量。

③因为是之前的知识可以适当减少课时。

任务3教学要求及建议:

①对于数据库管理软件可以选择相对比较容易上手的,如SQL Server、MySQL等。

②数据库管理软件图形界面操作时,应该注意多做练习培养学生的动手能力,选择是实例可以由浅入深,逐步较大难度和工作量。

③应该重点讲解SQL语句,因为SQL语句的大部分语法都是可以在不同数据库通用的。

④实现所用项目的数据库时,也应该将尽量让学生自己进行SQL语言的编写,这样可以更好的使掌握SQL语句的应用。

任务4教学要求及建议:

①讲解Spring的基本原理和用法时,应通过简单的实例学习Spring的应用。

②学生应该进行分小组不同模块的开发练习,小组规模不要太大,3个人为一组比较适宜。

③不应占用太多课时。

任务5教学要求及建议:

①数据库维护的内容应该以视图和索引为主,进行重点讲解。

②数据库的用户和权限的应该多做实例。

③触发器的使用可以简单讲解。

课程总体建议:

①课程讲解内容较多,且内容难度较高,需要课时较多。

②应重点讲解任务一和任務三的内容,其次是任务四和任务五的内容。

③学生多做练习,注意培养他们的团队合作能力和沟通能力,注意锻炼学生的自学能力。

有了企业调研结果作为课程设计的依据,就可以进行课程标准的制定。

2 《数据库开发》课程标准的设计

课程标准是一门课程进行教学的根本依据,在课程标准中要包含课程的设计思路、能力目标和课程内容框架等内容。制定课程标准一定要详细描述课程各方面的内容,制定完整准确的课程标准是进行课程设计重要环节。

2.1 课程设计思路 本课程主要以企业实际项目为主线,通过五个典型的工作任务,使学生掌握数据库开发的相关知识和技能;学生在学习本课程过程中,主要学习的内容包括:数据库需求分析、数据库模型设计方法、使用数据库管理软件对数据库模型进行实施、使用数据库管理软件管理数据库,对已有的数据库开发数据库应用系统对数据进行增删改查的基本操作。将该课程的整个教学任务按照项目分为5个典型的工作任务,具体描述如下:

①数据库需求分析:对所选用的项目的需求使用需求分析方法进行分析,并编写需求规格说明书。

②数据库模型设计:根据上一个任务中编写的需求规格说明书,进行数据库的概念结构设计、逻辑结构设计和物理结构设计。

③数据库模型实施:选择数据库管理软件对上一个任务中设计的数据库模型进行实施,并介绍SQL语句的基本应用。

④数据库查询操作及视图、索引等数据库对象应用:对于已有数据库使用SQL语句进行查询的操作,并介绍视图、索引等主要数据库对象的应用。

⑤数据库应用系统开发:开发一个基于Web的数据库应用系统,对已有数据库实现数据的增删改查的功能。

以上的典型工作任务,与企业调研之前的工作任务对比情况,如下表所示:

2.2 能力目标

①能够进行初步的需求分析

②能够根据需求分析的结果设计数据库的概念模型

③能够将数据库概念模型转换为逻辑模型,并生成物理模型

④能够使用SQL语句实施数据库模型

⑤能够使用SQL语句进行简单数据查询

⑥能够使用Spring+Hibernate开发基于Web数据库应用系统

在课程标准中,还包含其他的一些内容,比如课程内容、课程的考核方式等内容,这里不再赘述。制定完课程标准后,就要依据课程标准进行课程方案设计。

3 《数据库开发》课程方案设计

根据课程标准,进行课程方案的设计,课程方案设计一般包含课程总体方案设计、课程任务方案设计和课程活动方案设计。

3.1 课程总体方案设计 课程总体方案设计是对于本课程的总体的介绍,其中包含课程的课时、适用专业、学习内容、能力目标、学习成果和考核方案等内容。

3.2 课程任务方案设计 课程任务设计方案是对于课程中涉及的典型工作任务的描述,它具体说明了课程中每个任务的学习内容、能力目标、学习环境、教学方法、学习成果和评价标准等内容。

3.3 课程活动方案设计 课程活动方案设计是对于每个典型工作任务中具体活动的描述,它具体说明了在典型工作任务中每个学习活动,介绍学习活动的内容、目标、活动具体设计、课程用到的参考资料等内容。

在完成课程的方案设计后,就可以根据方案进行数据库的实施了,在实施过程中还会遇到各种问题,实施完成后,要根据实施的情况,对课程的课程标准、课程设计方案等内容进行修订,从而使得课程的设计方案更加完善。

4 结论

由上面的内容不难看出,《数据库开发》课程的设计或者是其他技术类课程的设计,都应该注重实践,减少课程理论知识的讲解,将课程的理论知识融入到学生完成的典型工作任务中,真正要做到“做中学”,要重视课程本身与企业的关联,要做到课程为企业服务,另外,课程本身中的内容还要与时俱进,跟得上社会发展。

参考文献:

[1]马丹.《数据库课程设计》中常见问题及解决措施.2012.5.

数据库课程设计vc 篇4

附带了那个个人记帐系统,运行的界面如下:

VC++下使用ADO编写数据库程序

准备:

(1)、引入ADO类

#import “c:program filescommon filessystemadomsado15.dll” no_namespace rename(“EOF”, “adoEOF”)(2)、初始化COM

在MFC中可以用AfxOleInit();非MFC环境中用: CoInitialize(NULL);CoUnInitialize();(3)#import 包含后就可以用3个智能指针了:_ConnectionPtr、_RecordsetPtr和_CommandPtr

1.连接和关闭数据库(1)连接

例子:连接Access数据库

m_pConnection.CreateInstance(__uuidof(Connection));try

{

// 打开本地Access库Demo.mdb m_pConnection->Open(“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Demo.mdb”,“",”“,adModeUnknown);} catch(_com_error e){ AfxMessageBox(”数据库连接失败,确认数据库Demo.mdb是否在当前路径下!“);return FALSE;}

(2)、关闭

//如果数据库连接有效

if(m_pConnection->State)

m_pConnection->Close();m_pConnection= NULL;

(3)、设置连接时间 //设置连接时间----pConnection->put_ConnectionTimeout(long(5));2.打开一个结果集

(1)打开,首先创建一个_RecordsetPtr实例,然后调用Open()得到一条SQL语句的执行结果

_RecordsetPtr m_pRecordset;m_pRecordset.CreateInstance(__uuidof(Recordset));

// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,// 因为它有时会经常出现一些意想不到的错误。jingzhou xu try { m_pRecordset->Open(”SELECT * FROM DemoTable“,// 查询DemoTable表中所有字段

m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针 adOpenDynamic, adLockOptimistic, adCmdText);} catch(_com_error *e){ AfxMessageBox(e->ErrorMessage());}

(2)关闭结果集

m_pRecordset->Close();3.操作一个结果集

(1)、遍历(读取)a)、用pRecordset->adoEOF来判断数据库指针是否已经移到结果集的末尾了;m_pRecordset->BOF判断是否 在第一条记录前面:

while(!m_pRecordset->adoEOF){ var = m_pRecordset->GetCollect(”Name“);if(var.vt!= VT_NULL)

strName =(LPCSTR)_bstr_t(var);var = m_pRecordset->GetCollect(”Age“);if(var.vt!= VT_NULL)

strAge =(LPCSTR)_bstr_t(var);m_AccessList.AddString(strName + ”--> “+strAge);m_pRecordset->MoveNext();}

b)、取得一个字段的值的办法有两种办法

一是

//表示取得第0个字段的值

m_pRecordset->GetCollect(”Name“);或者

m_pRecordset->GetCollect(_variant_t(long(0));二是

pRecordset->get_Collect(”COLUMN_NAME“);或者

pRecordset->get_Collect(long(index));(2)、添加

a)、调用m_pRecordset->AddNew();b)、调用m_pRecordset->PutCollect();给每个字段赋值 c)、调用m_pRecordset->Update();确认

(3)、修改(4)、删除

a)、把记录指针移动到要删除的记录上,然后调用Delete(adAffectCurrent)try { // 假设删除第二条记录

m_pRecordset->MoveFirst();m_pRecordset->Move(1);

// 从0开始

m_pRecordset->Delete(adAffectCurrent);

// 参数adAffectCurrent为删除当前记录

m_pRecordset->Update();} catch(_com_error *e){ AfxMessageBox(e->ErrorMessage());} 4.直接执行SQL语句,除了要用到结果集其余的大部分功能都可以直接用SQL语言实现

(1)、用_CommandPtr和_RecordsetPtr配合 _CommandPtr m_pCommand;m_pCommand.CreateInstance(__uuidof(Command));// 将库连接赋于它

m_pCommand->ActiveConnection = m_pConnection;// SQL语句

m_pCommand->CommandText = ”SELECT * FROM DemoTable“;

// 执行SQL语句,返回记录集

m_pRecordset = m_pCommand->Execute(NULL, NULL,adCmdText);

(2)、直接用_ConnectionPtr执行SQL语句

_RecordsetPtr Connection15::Execute(_bstr_t CommandText,VARIANT * RecordsAffected,long Options)

其中CommandText是命令字串,通常是SQL命令。

参数RecordsAffected是操作完成后所影响的行数,参数Options表示CommandText中内容的类型,Options可以取如下值之一:

adCmdText:表明CommandText是文本命令

adCmdTable:表明CommandText是一个表名 adCmdProc:表明CommandText是一个存储过程

adCmdUnknown:未知

例子: _variant_t RecordsAffected;m_pConnection->Execute(”UPDATE users SET old = old+1“,&RecordsAffected,adCmdText);

5.调用存储过程

(1)、利用_CommandPtr _CommandPtr m_pCommand;m_pCommand.CreateInstance(__uuidof(Command));

m_pCommand->ActiveConnection = m_pConnection;// 将库连接赋于它

m_pCommand->CommandText = ”Demo“;

m_pCommand->Execute(NULL,NULL, adCmdStoredProc);

(2)、直接用_ConnectionPtr直接调用(见4.(2))

6.遍历数据库中的所有表名

_ConnectionPtr m_pConnect;_RecordsetPtr pSet;HRESULT hr;try {

hr = m_pConnect.CreateInstance(”ADODB.Connection“);

if(SUCCEEDED(hr))

{

CString dd;

dd.Format(”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s“,file);

hr = m_pConnect->Open((_bstr_t)dd,”“,”“,adModeUnknown);

pSet = m_pConnect->OpenSchema(adSchemaTables);

while(!(pSet->adoEOF))

{

//获取表格

_bstr_t table_name = pSet->Fields->GetItem(”TABLE_NAME“)->Value;

//获取表格类型

_bstr_t table_type = pSet->Fields->GetItem(”TABLE_TYPE“)->Value;

//过滤一下,只输出表格名称,其他的省略

if(strcmp(((LPCSTR)table_type),”TABLE“)==0){

CString tt;

tt.Format(”%s“,(LPCSTR)table_name);

AfxMessageBox(tt);

}

pSet->MoveNext();

}

pSet->Close();

}

m_pConnect->Close();

}catch(_com_error e)///捕捉异常

{

CString errormessage;

errormessage.Format(”连接数据库失败!rn错误信息:%s",e.ErrorMessage());

AfxMessageBox(errormessage);return-1;}

7.遍历一个表中的所有字段 Field * field = NULL;

HRESULT hr;Fields * fields = NULL;hr = m_pRecordset->get_Fields(&fields);//得到记录集的字段集和

if(SUCCEEDED(hr))

fields->get_Count(&ColCount);

//得到记录集的字段集合中的字段的总个数

for(i=0;iItem[i]->get_Name(&bstrColName);//得到记录集//中的字段名

strColName=bstrColName;

nameField = strColName;m_FieldsList.AddString(nameField);} if(SUCCEEDED(hr))fields->Release();//释放指针 附:

1、_variant_t(1)、一般传给这3个指针的值都不是MFC直接支持的数据类型,而要用_variant_t转换一下 _variant_t(XX)可以把大多数类型的变量转换成适合的类型传入:(2)、_variant_t var;_variant_t-> long:(long)var;_variant_t-> CString: CString strValue =(LPCSTR)_bstr_t(var);CString-> _variant_t: _variant_t(strSql);

2、BSTR宽字符串与CString相互转换

BSTR bstr;CString strSql;CString-> BSTR: bstr = strSql.AllocSysString();BSTR-> CString: strSql =(LPCSTR)bstr;

3、_bstr_t与CString相互转换

_bstr_t bstr;CString strSql;CString-> _bstr_t: bstr =(_bstr_t)strSql;_bstr_t-> CString: strSql =(LPCSTR)bstr;

4、关于时间

数据库课程设计总结 篇5

姓名:邢王秀 学号:200924101215 班级:09计本<2>班

一个月的时间非常快就过去了,这一个月我不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。虽说上过数据库相关的课程,但是没有亲身经历过相关的设计工作细节。这次课程设计给我提供了一个很好的机会。

通过这次课程设计发现这其中需要的很多知识我们没有接触过,上网查找资料的时候发现我们以前所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要自己不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。

这次的数据库课程设计,我们组负责的企业信息文档管理系统的设计。这课题是自拟的。我们组实行的分工合作。我主要是负责数据库功能模块设计这部分。

从各种文档的阅读到需求分析、概要设计、数据库总体设计、代码编写与调试,我们都准备了好长时间。组内分工合作的整个过程,我亲身体验了一回系统的设计开发过程,分工合作的好处。很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统的时候才发现其中的难度。经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。

我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的。因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来。所以以后的课程设计要特别注意这一块的设计。

经过组内讨论,我们确定的课题是企业信息文档管理系统。说实话,我对这个系统不是很了解。通过上网查找资料、相关文献的阅读,我对该系统有了大体的了解。

在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和用户的需要,分析现有情况及问题。在一个月的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题,经过组内讨论。最终把它解决了。通过这次课程设计,我对数据库的设计更加熟练了。

通过本次课程设计,对sql语言,数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表,学会了数据库的基本操作。很多事情不是想象中的那么简单的,它涉及到的各种实体、属性、数据流程、数据处理等等。很多时候感觉后面的设计根本无法继续,感觉像是被前面做的各种图限制了。在做关系模型转换的时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。

通过本次课程设计,我觉得不管做什么,始终都要相信自己。不要畏惧,不要怕遇到困难,什么都要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来它并没有你你想象的那么难。如果没有自信,没有目标,没有信心就很难把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标。从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想!

通过这次毕业设计的完成,使我对自己所学知识进一步的了解,同时通过实践发现自己的不足,对知识的掌握及运用存在诸多的不完善。本系统也存在着很多不足,如系统十分简单,实现功能也不够完善,安全性问题也没有很好的解决。所以在今后的学习中我会继续努力,完善自我,同学的帮助、指导老师的用心辅导和学校的精心安排使这个课题能够顺利进行。但是,由于时间仓促以及本人水平有限,本系统还有很多不完善之处,也难免存在错漏,恳请老师谅解。篇二:数据库课程设计总结报告

漳州师范学院 数据库课程设计

个人日程管理系统

姓 名: 某某

学 号:

系 别: 计算机科学与工程

专 业: 计算机科学技术专业

年 级: 08级

指导教师: 陈志翔、王桃发 2011年 05 月 23 4 篇三:数据库课程设计报告

《数据库类课程设计》 系统开发报告

学 号:111007133 姓 名:邢小迪

题 目: 企业员工薪资管理

指导教师: 王红梅

提交时间: 2013年6月01日

计算机科学与应用系 目 录 一 绪论

二 员工薪资管理系统概述·······························1 ? 现状分析········································1 ? 系统目标········································2 ? 系统特点········································3 三 员工薪资管理系统数据库设计·························3 ? 需求分析 ·······································3 ? 数据库物理结构分析 ····························4 ? 数据库概念结构设计 ····························6 ? 数据库逻辑结构设计····························9 四 员工薪资管理系统数据库功能模块的创建···········12 五 总结·············································21 ? 体会·········································21 ? 参考文献·····································22 一 绪论

随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于 sql server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。基本上能满足管理员和公司的要求。此次数据库课程设计的主要设计如下:

原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。

需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。

二 员工薪资管理系统概述

1、现状分析

随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的管理系统对企业和员工的工作都带来许多的不便。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。

2、系统目标

员工薪资管理系统的主要目的是利用计算机对员工的各种工资信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能:

(1)对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。(2)对职工的工资进行计算、修改。可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资及实发金额等。(3)查询统计功能。要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某个部门所有的员工的工资信息。

(4)对用户管理功能。一个系统的应用有管理员和普通用户,他们对系统的权限受到限制。

3、系统特点

(1)本系统使工资管理基本实现了信息化,系统设计的各种查询要求代替了原来了人工查询,即节省了人力,又减轻了员工的工作量,最重要的是由计算机操作,可以提高数据的准确性,避免人为的错误,方便管理。

(2)本系统设置了系统数据备份功能,定期的系统备份可以在数据库受到意外的或有意的破坏的情况下,系统得以恢复,减少损失。(3)本系统的界面设计简洁明了,采用了流行的菜单设计,对于不是计算机专业的管理人员,只需阅读操作说明书,就能方便的使用本系统。

三 员工薪资管理系统数据库设计

1、需求分析

数据库课程设计--学校教学 篇6

学校教学管理系统一总论

1.1系统开发的背景

目前国内学校教学设备自动化管理水平不是很高。大多数学校设备管理办法是设备采购进来以后,将设备的基本情况和相关信息登记存档,然后将档案存档。以后档案基本就没人维护,如设备位置变迁、检修情况、设备当前运行状态等信息根本不会体现在设备台帐上,即设备跟踪信息不能及时体现在设备档案上。某些使用设备管理系统学校,对设备的跟踪信息即使能体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个学校设备管理信息化仍处于较低水平。

本信息系统合理的借鉴国际领先的设备管理思想并结合国内学校设备管理现状,可以完全能满足国内学校设备管理的需要。并通过对各行业设备管理情况的长期研究探索,以灵活、通用为主要设计思想,开发适合于各行业设备管理信息系统。本系统将会提高学校的办公效率和设备可靠性,减少工作人员的劳动强度,减少办公耗材,提高学校的现代化管理水平。实时报警功能对学校的安全生产更是不可忽视。1.2系统开发的意义和目的

在现代化的教育技术模式下,计算机已经广泛应用于学校的教育管理,给传统的教学方式带来了重大的革命。如何有效进行作业管理是摆在我们面前的一个新的课题。本文在研究目前国内外作业管理情况的基础上,从学校的实际需求出发,采用当前较为流行的B/S(浏览器/服务器)结构和ASP动态网页开发技术,基于WindowsXP Professional操作系统和SQL数据库,设计并实现了一个功能较为完善的小型作业管理系统。通过对系统进行一系列的需求分析、设计、编码、测试等工作,使系统实现了管理员发布管理公告、教师管理、设置学院、班级、课程;老师在线发布作业、批改作业、网上答疑;学生无组件上传作业、查看作业信息、提出疑问的功能。重点对系统设计过程作了相应描述,同时也对系统需要改进的地方做了总结。

本系统经过测试,运行效果稳定,操作方便、快捷。不仅适用于普通学校的作业管理,也适用于网络远程教学,能较好地解决作业管理混乱的状况。1.3.1系统的主要功能:

教师管理、学生管理、班级管理、宿舍管理、教材管理、课程管理、活动管理、教师武汉理工大学华夏学院《数据库原理与应用》课程设计说明书

绩效管理、学生考勤管理、工资管理、教学收款管理。

二结构设计

2.1管理系统概述

教学管理系统是专门针对中学教学规范化管理,提高教学质量而设计和编制的功能齐备的应用软件。系统集数据编辑、处理、储存、统计、查阅和专业表册输出于一体,支持局域网内联机操作而无须专门的服务器,从而达到有效运用校园网络平台,充分实现数据共享之目的。其友好的系统界面、纯中文的功能按扭、职责分明的权限管理、善解人意的人机对话以及图文并茂的操作指南,构成了本系统“通俗易懂、操作简单、录入快速、统计精确、查询简便、管理规范”的六大特点,非常适合普通(特别是同时开设高、初中)中学的教学数据和人力资源管理工作,并能较大程度地提高工作效率和降低教学成本。

系统分主程序与客户端,即可在局域网中运行,也可单机使用(单机使用无须安装客户端程序)。系统包括学籍管理、成绩管理、教师管理和统计分析四大模块,各模块均含高、初中部份。其中,学籍管理包括学生相关信息以及评语生成与编改等;成绩管理包括升考成绩、入学成绩、学期成绩和会考成绩,学期成绩等。2.2 技术可行性分析

在高等教育教学改革不断深入的形势下,实行开放式实验教学十分必要。预约式的开放实验教学模式是校园信息化平台基础之上的开放式实验教学管理模式之一,它具有时间安排灵活和具体指导时针对性强等特点。该系统改变了传统的以班为单位的实验教学模式,学生可以根据自己的兴趣和实际情况选修自己感兴趣的实验。这不仅调动了学生的积极性,还培养了学生的创造性,而这正是当前实验教学改革的目的所在。本系统的开发就是要满足全校开放式实验教学管理的需求。

系统采用B/S结构,后台选择SQL Server 2000作为数据库,应用ASP技术来实现的实验教学管理系统,针对系统的应用现状、设计目标、需求以及可行性等方面进行了细致的分析,并着重进行了系统的总体设计、数据库设计,还针对实验项目、预约设置、学生信息、成绩、公告和教师信息等内容,提出了一种管理方法和系统的实现方法。

三系统软件的结构设计

3.1 结构设计

结合教育部本科教学评估指标体系,从系统的设计层次、设计思想、系统的主要结构、武汉理工大学华夏学院《数据库原理与应用》课程设计说明书

功能、开发平台的选择、数据库的设计方法和层次等几个方面进行分析,给出了基于B/S结构的本科教学评估信息管理系统的总体设计方案和实现方法.3.2各部门对教学管理系统的要求: 学生处:管理各院系班级学生的基本情况 教务处:掌握学生各门课程的成绩情况 计财处:管理学生每学期的学费收缴情况 各院系:登录本院系学生各门课程的成绩 3.3E-R模型转换为关系模型

经过转换得到5个关系:

Department(dept_id,deparment,phone,director,no_class)Student(student_id,class_id,name,gender,birthday,address,zip_code,householder)Class(class_id,dept_id,class,abbreviation,monitor,levels,enroll_data,no_student)Course(course_id,course,period,practice_period,credit)Grade(student_id,course_id,grade)3.4专业代码

由五位数字构成:1-2位为院系,3位为本科或专科(本科1,专科2),4-5位为专业,如: 01101汉语言文学专业 02101数学与应用数学专业 03101 旅游管理专业 03201 旅游管理专业 3.4.1公共基础课程

由“ G+5位数字”构成:第1-2位为课程开出院系,第3位为本科或专科(本科1,专科2),第4-5位为课程。(如果该门课程分段,则在第6位表示段序)。公共基础课采取全院统一编码。

3.4.2教育类课程

由“ J+5位数字”构成:1-2位为课程开出院系,3位为本科或专科(本科1,专科2),4-5位为课程。(如果该门课程分段,则在第6位表示段序)。武汉理工大学华夏学院《数据库原理与应用》课程设计说明书

3.4.3专业课程

由7位数字构成:1-2位为院系,3位为本科或专科(本科1,专科2),4-5位为专业,6-7位为课程。

如: 0110101 语言学概论 0310101 旅游学概论 0320101 旅游学概论

注:课程包括本专业的所有课程;由于本学期要对我院的专科教学计划进行修订,在教学计划修订未最后确定前,请各院系教学计划研制人员先确定专科专业的课程名称,以便课程编码。3.4.4公共选修课

由“X+5位数字构成”,1—2位代表课程类别,3—5位为课程。公选课的课程类别共分7类,01为人文社会科学类,02为理工类、03为艺术类、04为体育类、05为教育心理类、06为经济与管理类、07为语言类。

如:X01001 中国历史与文化 X02001 数学建模 3.4.5班级编码

由7位数字构成,1-2位为院系,3位为本科或专科,4-5位为专业,6-7位为级别(入学年份的后两位)8-9位为班级编号。

如:汉语言文学专业本科2004级一班的编码为:011010401 旅游管理专业本科2004级二班的编码为: 032010402 3.4.6教室编码

教室编码,主要对本院系管理的所有教室、实验室、语音室、机房、多媒体教室、学生创作室、学生画室、学生练琴房、形体室、体育场地区划进行编码。

教室编码由7位数字构成:1-2位为院系,第3-7位为目前的教室门牌号(其中第3位为教室所在地的拼音缩写:J-教学楼;S-实验楼;T-为体育系操场区划或场地)

如:文学院的某一教室编码为:01J2033 化学系的某一实验教室编码为:09S4022 体育系的某一操场区域编码为:15T0001 3.4.7界面设计 武汉理工大学华夏学院《数据库原理与应用》课程设计说明书

三系统实施

4.1系统设计

根据本系统的需求,并结合实际教师管理的情况,本系 统应具有如下功能模块:

4.1.1 用户类型

本系统的用户分为两类:教师类用户和管理员 类用户。教师类用户作为系统的普通用户,它包括当前系统中所有的教师信息,其用户名为教师的姓名,密码 为教师的编号,该类用户只能对自己的信息进行浏览,而不能浏览和查找其他教师的信息,也不能对自己和他 人的信息进行修改。管理员类用户作为系统的高级用户,在实际中可以为教务人事管理人员,他们有特定的权 限对系统中的所有教师信息进行浏览、查找,并进行管理,而且可以使用相应的报表功能。

4.1.2信息查看和浏览模块

对于教师用户而言,只能浏览自身的基本信息、授课信息、工资信息和科研信 息,但是不能对这些信息进行修改。对于管理员用户而言,不仅可以查看所有的教师信息,而且 可以武汉理工大学华夏学院《数据库原理与应用》课程设计说明书

按逐条记录浏览。4.1.3查找模块

此部分功能只对管理员开放。如果浏览部分所提 供的浏览方式不能满足管理员的要求,那么管理员可以在现有的信息中进行查找,以便找到满足 条件的教师信息。在该模块中可以对教师基本信息的所有字段进行精确或者模糊查找。4.1.4教师基 本信息管理模块

此部分功能只对管理员开放。如果教师的基本信息改变,那么管理员可以根据具 体的情况,对教师进行管理,可以执行添加、删除、或者修改基本信息的操作。同时,管理员还 可以生成有关该教师的基本信息的报表。4.1.5教师授课信息管理模块

此部分功能只对 管理员开放。如果教师的授课信息改变,那么管理员可以根据情况对当前该教师的授课内容进行 添加、删除、或者修改操作。4.1.6教师工资信息管理模块

此部分功能只对管理员开放。如果教师的工资信息改变,那么管理员可以根据情况对当前该教师的工资信息进行添加、删除、或者修改操作。4.1.7教师科研信息管理模块

此部分功能只对管理员开放。如果教师 的科研信息改变,那么管理员可以根据情况对当前该教师的科研信息进行添加、删除、或者修改 操作。

4.2表结构(图2-4到)

武汉理工大学华夏学院《数据库原理与应用》课程设计说明书

(2-4)Departme

(2-5)Class

武汉理工大学华夏学院《数据库原理与应用》课程设计说明书

(2-6)Student

(2-7)Tuition

(2-8)Course

武汉理工大学华夏学院《数据库原理与应用》课程设计说明书

(2-9)Grade

4.3查询视图(3-1)

(3-1)

(3-2)“显示表”对话匡 武汉理工大学华夏学院《数据库原理与应用》课程设计说明书

(3-3)查询所需的字段

(3-3)

四结论

数据库课程设计vc 篇7

目前脉冲多普勒天气雷达被广泛运用于世界范围内的气象气候科学领域已经很多年了, 现在多普勒天气雷达是各气象部门大气监测的重要手段, 在突发性、灾害性的监测、预报和警报中, 尤其是突发性的中小尺度灾害性天气的监测预警中发挥着重要的作用。目前对多普勒天气雷达获取的径向速度场资料进行分析应用方法可以大致分为两种类型:一种是观测某些典型流场在径向速度场上造成的特征, 构在多普勒雷达测量的径向速度PPI分布中所具有的典型特征。另一种是以其它方法取得的一些环境风矢量作为参考, 从而勾画出雷达回波区内的实际平面风场, 使这风场的径向分量场与多普勒雷达实测的径向速度场不相矛盾。在日常业务工作中, 大多采用第一种方法进行资料分析, 也就是根据多普勒雷达实测径向速度PPI分布特征, 分析和推断真实的风场结构。

1 极化天气雷达简要介绍

1.1 发射方式

双极化多普勒天气雷达的发射方式有同时发射或交替发射方式两种。同时发射方式, 是在一个脉冲周期内, 同时发射水平极化波和垂直极化波, 并同时接收水平和垂直极化回波的工作方式。同时发射方式的特点, 是两种极化波相对探测目标的相关性好, 有利于提高天线转速, 测量精度高, 但结构较复杂, 技术难度较大。

1.2 极化物理量的测量

双极化多普勒天气雷达能测量的极化物理量有:ZDR, ɸDP, KDP, ρHV和LDR。

ZDR是雷达的差分反射率因子, 是双极化雷达发射水平极化波接收其平行分量时的反射率因子与发射垂直极化波接收其平行分量时的反射率因子之差, ZDR=ZHH-ZVV, 若用分贝来表示, 则ZDR=10log (ZHH/ZVV) , 下标分别表示发射和接收的状态。ZHH是发射水平极化波、接收水平极化波时的反射率因子 (下同) ;ZVV是发射垂直极化波、接收垂直极化波时的反射率因子。一般情况下, ZHH与ZVV不相等, 且ZHH>ZVV, 因此ZDR大于零, 说明粒子对水平极化波的散射能力较强。实测过程中, ZDR的值一般为:-0.5-6.0dB, 雨滴的值较大, 一般能达到3dB-5dB。若ZDR的值在零附近, 说明可能有冰雹出现。

ɸDP是雷达获得的水平极化回波与垂直极化回波之间的相位差, 它包含两部分:反射相位差和前向散射相位差δ, 前向散射相位差δɸDP也称为传播相位差。 。其中ɸHH、ɸVV分别是水平极化回波、垂直极化回波的相位。δ是相关系数ρHV的相位, 它可从能流密度关系中估算得出, 当旋转轴偏离垂直或水平方向时, δ值较大, 这也是判断冰雹的一个依据;当满足瑞利散射时, δ较小。

传播常数差KDP是指在介质中水平极化波与垂直极化波传播常数的变化值之差。由于变化量不等, 传播过程中造成传播相位差, 即前面所说的前向散射相位差ɸDP。因为ɸDP是距离的函数, 对于同一粒子是固定值, 根据传播常数与相位之间的关系可以得出:

则ɸDP可写成

显然, ɸDP与距离有关, 也是距离的函数。KDP是相位随距离的变化程度, KDP值越大, 单位距离内相位变化越大, 衰减就越严重。雨区中液态水越多, 对水平、垂直极化波的衰减差异越大, KDP值越大。因此, KDP与液态水的含量密切相关。

LDR是雷达的退极化因子, 它的表达式为: , 其中, ZHV表示发射水平极化波接收其垂直分量时的反射率因子。LDR反映了粒子对入射波的正交分量、平行分量的散射能力的差异, 它主要与非球形粒子的空间取向和入射波的入射方位有关。

2 WS R98D-XD雷达基本数据显示设计

WSR98D-XD雷达是北京敏视达雷达公司生产的X波段双极化多普勒天气雷达, 主要技术特点包括:X波段、全相参双极化多普勒天气雷达;高频率稳定度、高频谱纯度发射机;低噪声、大动态范围、低相位噪声接收机;高频率稳定度、多功能频率综合器;低旁瓣、高增益、窄波束天线, 灵活、多功能的天线扫描方式;移植了WSR-98D/SA雷达的数据处理和产品生成软件和BITE技术。

2.1 WSR98D-XD雷达基数据格式

WSR98D-XD雷达基数据格式与CC雷达的不同点在于, WSR98D-XD雷达基数据没有雷达信息结构的文件头, 也没有仰角层文件头, 只有径向数据文件头。WSR98D-XD雷达基数据存储格式参照北京敏视达公司CINRAD SA/SB雷达基数据格式。

2.2 WSR98D-XD雷达基数据读取

由雷达基数据可知, 产品数据均为1个字节, 所以读取的时候先定义七个unsigned char类型的数组gdrawref[20]400][2000] (存反射率) 等。为了提高数据存储空间的利用率, 原始的基数据进行了数据的转换, 如说把float型乘以10或者100变成int型数据的存储。所以这七组产品数据, 还需要根据特定的转换方式转换成相应的单位, 如反射率数据要根据 (数值-2) /2.-32=DBZ方式转换成DBZ值。

此数据只有径向头, 所以读取数据应采用C语言中读取FILE文件的方式, 如:

此方式的读取, 是通过缓冲技术分径向读取, 每循环一次读取一个径向的数据, 然后通过字符串的拷贝函数memcpy把整个径向的数据赋值给特定数组的径向值。

2.3 数据处理

数据处理也是封装在一个公有类里面, 当然也可以是其他类, 在此参见建立的类为CDealwith。以下建立的各个处理函数均为公有成员函数。

2.3.1 方位角

在绘图和鼠标实时显示的时候都会用到这个函数, 它的功能是:判断当前所绘的像素点具体的方位角度, 从而判断当前点所属的径向, 然后获取该径向的数据。具体实现如下:

其中, x和y是像素点坐标 (下同) , X0和Y0是圆心坐标 (下同) , 为固定值。

2.3.2 距离库

此函数的功能是:通过当前点坐标计算并返回当前点到圆心的距离。通过此返回值和单位距离所占的距离库数, 可以得到当前绘制点所处的距离库数, 从而精确得出此点数据, 轻松实现图形绘制。具体实现如下:

2.3.3 色标返回值和色表

绘图是要绘出每个点的不同颜色, 所以就需要有色表提供不同颜色的RGB数值, 在查色表的的时候就需要颜色序号才能找出所需颜色在色表中的RGB数值, 色标返回值的处理函数就是为此而设定的。不同的产品类型色表是不一样的, 序号所在范围的划分也是不一样的, 所以这里需要为反射率、速度、谱宽分别建立各自的色标返回值函数。以反射率色标返回值为例:

速度和谱宽的色标返回值函数类似。

色表的建立是有结构体实现的:

struct Colortab

{int r, g, b;}color[16]={……};//

省略号里面是色表的具体数值, 需要注意的是, 这里需要建立两个色表, 不同的绘图类型查阅不同的色表。

2.3.4 时间的转换

由于WSR98D-XD雷达数据的扫描时间的记录方式为:自1970年1月1日开始记天数, 直到数据扫描结束时间为止。所以此函数的功能就是把数据记录的天数转换成时间, 以便在显示平台上进行显示。

此函数涉及到闰年、月份的判断, 比较麻烦, 但纯粹是数学上的运算, 这里不再详细说明。

2.3.5 坐标系的转换

涉及两次坐标转换:一次是从大地坐标系转换到本项目所定义的坐标系 (将坐标原点置于发射雷达, x轴指向正东方, y轴指向北点方向, z轴与x, y轴构成右手坐标系, 指向上方) , 这一步是目标在接收基地中的定位算法中所不可缺少的;第二次坐标转换是将雷达原始数据所存储的极坐标形式转换为直角坐标形式。根据是x=r•cosθ, y=r•sinθ, r为到雷达站点的距离, θ为径向的方位角。

2.4 WSR98D-XD图像对比

采用的雷达基数据为“2008073122.12A”, 雷达最大探测距离为250公里, 数据采集时间为2008年7月31日早上6点13分21秒, 站点位置为东经103°59′6″, 北纬30°35′2″, 各个图像均取第三层仰角为2.29°的数据。

反射率:该产品标准图像如图1所示, 本设计显示图像如图2所示。

比相差:产品标准图像如图3所示, 本设计显示图像如图4所示。

相关系数:产品标准图像如图5所示, 本设计显示图像如图6所示。

3 结论

软件信号处理平台实现了数据的读取、数据的处理、坐标转换以及部分二次产品的生成和产品显示的功能。该设计操作界面灵活简单、占用资源比较少、容易使用, 但代码效率有进一步提升的空间。

通过图像的严格对比, 发现此平台所产生的图像基本上与标准的回波图是一致的。唯一的区别在于不同的系统采用的是不同的色表, 使得各种图形在显示的颜色上有一点差别, 不过这并不影响回波的识别, 用户可以通过色表的对比, 读出回波图形中各个点或者是区域的反射率强度、速度、谱宽等。

参考文献

[1]叶小岭, 吉微, 李玮等.多普勒雷达显示系统的设计与实现[J].微计算机信息 (测控自动化) , 2007, 23:1-8.

[2]张晰莹, 张礼宝, 贾艳辉, 张桂华.新一代多普勒天气雷达产品及应用[J].黑龙江省气象中心、省人工影响天气中心, 2002.

[3]郭在华.双极化多普勒天气雷达资料处理与应用研究[D].北京:电子科技大学.

[4]刘惊雷.Visual C++实用教程[M].北京:电子工业出版社, 2006.

数据库课程设计vc 篇8

关键词:集中式数据库 关系数据库SQL SERVER Transact-SQL语言 启发式教学

随着社会的发展,计算机的应用越来越广泛,电子商务迅猛发展,管理信息化已成为一大潮流,这一定程度上促进了数据库技术的发展。我校在2005年开始开设了《关系数据库SQL SERVER》课程,开设本课程的目标就是在一定理论的基础上,通过强化学生的动手能力,使学生能适应社会需求,掌握实用性技能。因此本课程主要选择数据库设计、数据库管理、Transact-SQL语言、数据操作、数据库系统维护等作为主要内容。根据本课程自身的特点,在教学方法上,我们采用了多种教学方法结合,以下是笔者在讲授该课程过程中的一些体会。

一、由浅入深,循循善诱(入门→理解→掌握→应用)

教学过程应该体现教学思想和教学过程的统一、教学过程与学生学习过程的统一,既是教师的认识过程,更应该是学生的认知过程。教师必须做到认真研究本课程学习过程的规律和结构,即:入门→理解→掌握→应用四个阶段,做到循循善诱,循序渐进,步步深入。利用SQL Server 2000的企业管理器的功能1,给学生介绍其简单方便的可视化操作。有了直观的认知后,再利用其导出脚本的功能,自动生成SQL脚本,对比Transact-SQL的语法讲解。通过举例,引导学生掌握抽象的语法并应用到具体的例子中,强化知识点。最后再要求学生利用SQL Server 2000的查询分析器做练习实践,独立编写SQL语句解决实际问题。按照上述方法,经过入门→理解→掌握→应用这四个阶段,符合学生的认知规律,学习起来就容易多了,掌握程度也高了。

二、创设问题情境,实施启发式教学,调动学生学习兴趣

传统教学方式难免枯燥乏味,问题情境给学生提供了大胆创新,自由发挥的舞台。学生的创新思维是一项自主性的活动,传统教育中的“填鸭式”灌输教学方法显然不能培养学生的创新思维和能力。只有通过教师启发式教学,才能激发学生的学习动机,锻炼思考和判断能力,提高分析问题和解决问题的能力,使学生由“被动听讲”转换为“主动学习”。启发式教学可以穿插在教学活动的任何阶段,其关键在于设计问题情境。例如在教授SQL的更新语句时,这时学生已经掌握了条件查询语句,可以先介绍更新语句的基本形式是UPDATE表名SET字段=字段新值,然后提出问题:无条件的更新语句会出现什么结果?有条件的更新语句如何实现?学生通过思考可以解决这些问题。这样会调动学生的兴趣。启发式教学也是激发学生学习动机的重要手段,这样学生巩固了旧知识,又在潜移默化中掌握了新知识并得到提高。

三、设计贴近生活有实用价值的例子(通过范例教学)

范例式教学实施的重要环节是选择实用性、针对性、信息量大的范例。范例教学是讲授《关系数据库SQL SERVER》操作性比较强的课程的重要手段。其特点是知识必须是经过精选的,能起范例作用的,有助于学生的学习迁移和应用。范例教学模式侧重于教学内容的优化组合,通过范例性材料,能促进学生对知识的认知,加强理解,强化记忆,奠定好利用基本知识进一步扩展、综合应用的基础。

我们在讲授实例时,选择学生比较熟悉的学校管理、班级管理、QQ账号管理等方面的主题。如学校管理,教学生通过对现实学校管理结构的抽象,再分析其存在问题,最后使用范式理论去检验所设计的关系模式。由于学生对于学校管理结构比较熟悉,以此为例讲授数据库设计的理论,他们理解起来就容易多了,效果比较好。

四、类比教学

类比教学是导入新课的一种有效教学策略,它是通过构建新旧知识桥梁,使教学内容由浅入深,顺理成章地过渡。有的知识点如果直接讲授,学生不太容易接受,在与已有经验的对比中学习新知识,效果会比较好。《教育心理学》也证明了这种利用共同因素促进学习迁移手段在学习中的积极作用。而且类比教学不仅可以帮助学生理解概念、掌握规律,还能培养学生分析问题、解决问题的能力。例如,在讲授“存储过程”这个知识点时,就可以把“过程”与高级语言中的函数、过程对应起来,学生就能用已知的知识理解这里的“存储过程”也是同样是某些功能实现的程序块而已,再结合“存储”两字,即意味着这些操作程序块是原先存储并编译好,在以后调用此过程的时候,就能很好地提高运行效率。这样一来,不但理解了何谓存储过程,更清楚了它的作用。利用类比教学方法,注重思维的培养,提高了应用能力,在教学中应注重面向全体学生,注重知识形成过程,引导学生自己发现规律,多为学生创造产生成就感的机会,从而培养学习兴趣,树立学习信心,取得好的课堂学习效果。

五、精心设计练习,最大程度掌握知识

教师的讲代替不了学生的练,做练习对于学生知识的习得、技能的获得、能力的形成等都是不可缺少的。而学生的练习与教师的辅导又是紧密联系、互相作用的。教学活动中学生的练习必须在教师指导下进行,而教师的教学也要有针对性地根据学生的练习情况而展开,要从学生的练习中获得必要的反馈信息,并据此调整原有的教学思路,展开后续教学活动,两者相辅相承,密不可分。例如在讲授触发器的建立与使用时,触发器是一种特殊类型的存储过程,当在指定表中对数据进行增删改时,SQL SERVER自动执行触发器,可以实现强制复杂的业务规则或要求。对应的练习可以是要求学生在学籍管理数据库中建立触发器,实现当学生表数据发生增删改时,班级表中相应的班级人数的自动更新的功能,保持数据完整性。

六、小组合作,开展课程设计,综合应用

本门课知识点繁多,相辅相成,完成一个项目需要较高的综合技能。所以在这门课中,分阶段地给学生安排几个大作业,让学生分小组合作,共同完成。美国明尼苏达大学“合作学习中心”的约翰逊兄弟指出小组合作能促进学生之间相互学习、取长补短。实践的结果表明,在互相讨论又各自有所负责这样的学习氛围中,对学生知识的提高与巩固有很大的帮助。课程设计的题目应该具有实用性,不宜过于复杂。如假设现在要为公交系统制作线路管理、线路查询软件,要求学生为其设计数据库,并写出主要操作的Transact-SQL语句。让学生从分析题目、数据库设计、数据库优化、数据库实现、模拟主要数据操作写Transact-SQL语句一体化完成。让学生通过此课程设计把各个知识点串联总结,学以致用,融会贯通。甚至对于有能力有兴趣的学生,还可以鼓励其在上述基础上结合其他技术,如结合ASP技术制作动态网站、结合VB技术制作应用软件,学生都能从中享受乐趣与成功感,取得良好的教学效果。

七、善用帮助系统,实现教学向自学的过渡

学生学习经常只是依赖于教师,局限于教师在课堂上所介绍的知识,然而课堂的时间是有限的,任何一门学科,其包含的知识都是无穷无尽的,因此课堂教学只是对学生起到一个引导的作用,教师的教,不仅要向学生传授知识,必须还要教会学生自我拓展、自我学习的能力与方法。这一原则要求正确处理教学过程中教与学的矛盾,充分调动教师与学生两方面的积极性,通过教,最后达到不需要再教,并为学生日后独立获取知识,继续获得发展奠定基础。学生的学习能力是利用已有的知识水平和思维能力学习新知识,在不断的思考中解决各种各样的问题。在《关系数据库SQL SERVER》这门课程中,可以很好地实现上述原则。另外,通过帮助系统,学生便能更深入地掌握其高级技术。学生在平常的实验中,遇到各类的函数,这些函数不可能在书上面面俱到,因此学生可以通过帮助系统或是网上巨大的资源来获取帮助,这就是学生自我学习的过程和科学合理地利用有利资源——帮助系统,使得学生能不断自我深入学习。

八、创设和谐课堂氛围,激发学生的创新的意识

现代教学论认为:“教育是一种旨在引起学习的师生间互感互助的交流活动,教师和学生是其中两个最基本的动态因素。学生不仅是教学过程中知识的载体,更是教学过程中的合作者、参与者。创新教育“在课堂教学中的实施是以民主、和谐的师生人际关系为基础的”。《关系数据库SQL SERVER》这门课的主旨是培养学生的设计能力。作为教师一定要鼓励身边的每一个学生,相信他们通过努力,都能获得成功。因为每个人都蕴藏着巨大的、不同潜力。因此良好的和谐的课堂气氛能激活学生的内在动力,激发他们的学习兴趣,开发他们的思维的潜能,更好地促进他们接受新知识。

九、树立教师的人格的魅力,培养优秀的人才

教师是课堂活动的中心。他的人格魅力直接辐射课堂的每一个角落,是一种巨大的精神力量,它影响学生心理、行为、情感体验的重要因素,也是调节、制约课堂心理气氛的重要因素。在课堂上,学生对教师的人格、态度、专业水平、教学方法等等都会做出不同的评价。因此,讲授《关系数据库SQL SERVER》这课的教师我们都是精心选聘的,都是一些具有多年教学、科研经验的品德高尚的教师,在教学活动中提醒教师重视自身修养,丰富自己的知识,提高教学艺术,教育教师要以自己对教学事业的热爱,为人师表,处处为学生作表率,树立了教师在学生心目中的良好形象。

十、制作出内容精练、生动的教学课件,加深学生对问题的理解

上一篇:保健品销售实习报告下一篇:初中政治大题答题技巧