Archive for 一月, 2014

新生手册——带领你更好的走向大学生活

一月 31st, 2014 by admin

军训篇

引言:同学们,提到军训,你们是听而生畏,还是期待已久呢?军训是一个大而化之的概念,是步入大学生活得“门槛”。在军训期间有许多丰富多彩的活动和事项,除了军事训练以外,还有军事理论的学习,军训间的练歌、拉歌,军训间的一系列的游戏等。一定很想知道吧?

1 做好准备工作。出门前认真检查军训服装,如军徽、帽徽、臂章、腰带、水壶等。

2 装束一定要合适。腰带要适当紧一点,走起路来会更有精神劲儿;袜子最好穿棉制运动袜,鞋子里面再垫一块软鞋垫,这样脚后跟会舒服一点。
3 注意补充水分。以运动饮料和茶水,盐水最佳,不要拼命喝白开水或矿泉水。 以运动饮料和茶水,盐水最佳,不要拼命喝白开水或矿泉水。
4 致意补充营养 。军训后体力消耗极大,这个时候不要亏待自己,多吃一些肉类、蛋类,最好还多喝点汤菜类,同时注意补充各种维生素。
5 注意防病。大雨或大汗淋漓后不要急于喝水,稍微休息片刻再补充水分,以免对肠胃突然加重负担造成伤害。
6 不要硬撑。军训中要讲“坚持再坚持”,但如果实在支持不下去,一定要休息,不要硬撑,防止出意外,特别是体质较差的同学。
7 按时作息。军训期间按时作息,养精蓄锐,为军训打下良好的硬基础。
8 注意沟通。军训生活中要学会与同学沟通,有困难要学会虚心向同学和老师请教。如:着军装、走军步、站军姿、等。

Continue reading ‘新生手册——带领你更好的走向大学生活’

2013中山大学珠海自考辅导班现正热招

一月 31st, 2014 by admin

【中山大学珠海自考班简介】

为了帮助珠海考生顺利通过自学考试,海源教育开办中山大学珠海自考辅导班,设置法律(本科)、行政管理(专、本科)等专业。学员每年可参加由广东省考试中心组织的两次独立班小考和两次国家统考,全部课程考试合格,即可获得中山大学的自考本科或专科毕业证书,国家承认学历,符合条件的本科毕业生将由中山大学授予学士学位(证书国家统一编号,电子注册,可在网上查询)。由于各科名师辅导授课,采取正规系统教学,学员通过课程考试的机会将大大增加。

中山大学专业设置:

a、法律(法律)

1、中国近现代史纲要2、马克思主义基本原理概论3、英语(二)4、中国法律思想史5、法律文书写作6、外国法制史7、国际私法8、国际经济法概论9、知识产权法10、婚姻家庭法11、合同法12、公司法13、劳动法14、环境与资源保护法学15、毕业论文

注:不考英语(二)可选考1、金融法2、公证与律师制度3、房地产法4、证据法学

Continue reading ‘2013中山大学珠海自考辅导班现正热招’

中山大学在职经理MBA(工商管理硕士)高级研修班

一月 31st, 2014 by admin

招生简章

享有“华南第一学府”美誉的中山大学是由世纪伟人孙中山先生于1924年亲手创办的一所名校,具有深厚的学术传统和良好的学术风气,培养出了大批蜚声海内外的著名专家学者。中山大学一直是国家教育部直属的全国重点大学,中山大学的mba教育在中国享有盛誉,国内排名前五。

中山大学高等继续教育学院,是成人学历教育、网络教育和继续教育的办学实体,它整合校内外资源为社会提供继续教育服务。中山大学是较早开展成人教育的高校之一,积累了丰富的教学经验。近年来,中山大学高等继续教育学院已连续多次在广州、东莞、中山、佛山、惠州等地成功举办面向企业中、高层管理人员的mba高级研修班,在广东省培养了10000多名mba高研班学员,深受广东省各地商界精英的好评。

在职经理mba课程高级研修班致力于培养具有战略眼光、开拓决策能力和能适应国际竞争环境的中高层管理人员。学员通过系统课程的学习,将全面掌握现代化工商管理知识,快速提升个人管理、决策能力与企业竞争力。

Continue reading ‘中山大学在职经理MBA(工商管理硕士)高级研修班’

绕过南昌航空大学教务管理系统屏蔽&成绩查询方法

一月 30th, 2014 by admin

学校由于便于任课教师顺利登入成绩,预防学生登陆教务管理系统而造成服务器拥挤,故采取在用户登录界面屏蔽“学生”一选项,即使顺利登录后也会屏蔽“成绩查询”一项。

如果出于学校管理的角度,这种屏蔽无可厚非,只是暂时限制了学生查询分数的知情权,但是许多情况下,当在任课教师已经完全登入部分或者全部学生成绩,还迟迟不开放成绩查询,针对学校教务管理员存在没能及时开放权限让学生查询成绩的情况,所以下面分享一种可以无视校方屏蔽,进入南昌航空大学教务管理系统查询成绩的方法。

第一步:进入该网站http://www.izhaosha.com,该网页右方有南昌航空大学教务管理系统的绿色查询通道。此登陆入口相当于一马甲,用户数据会自动提交到学校教务管理系统的服务器中。

输入自己的学号和密码后,按“登陆”就可以顺利进入教务管理系统。这样就绕过了在用户登录界面屏蔽“学生”一选项,这种屏蔽方法。

第二步:当同学们顺利登入教务管理系统后,一般情况下会发现没有“成绩查询”一项,然后点击下面的链接,即可跳转到原先被屏蔽的“成绩查询”页面。

http://jwc.nchu.edu.cn/teachweb/cjcx/studentgrade.aspx

Continue reading ‘绕过南昌航空大学教务管理系统屏蔽&成绩查询方法’

管理信息系统

一月 30th, 2014 by admin

(1)c/s模式
c/s软件体系结构,即client/server(客户机/服务器)结构,是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,c/s结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。早期的c/s结构大都是两层结构,随着软件技术的发展,目前也有很多三层的c/s结构,即在传统的两层之间增加中间层。
(2)b/s模式
b/s软件体系结构,即browser/server(浏览器/服务器)结构,是随着internet技术的兴起,对c/s体系结构的一种变化或者改进的结构。在b/s体系结构下,各客户端通过internet对web服务器进行远程访问,而基于browser/server结构的系统不需安装专用的前端应用程序,各种平台上的用户只需通过浏览器使用便可访问并处理相应信息,操作更加简单。基于b/s体系结构的软件,系统安装、修改和维护全在服务器端解决。
(3)b/s与c/s混合模式
通过分析我们可以看出分别应用c/s体系结构或b/s体系结构都存在着一定的缺陷。毕业论文范文,电大。我们可以针对该系统的特 Continue reading ‘管理信息系统’

教学站教学教务管理系统(esTEAMS)项目开题报告

一月 30th, 2014 by admin

项目名称:教学站教学教务管理系统(esteams)项目

研究的背景及意义

教学站教学教务管理系统(esteams) (以下简称esteams)以某某大学远程教育平台为基础,根据教学站(教育部文件中称为校外教学点)。某某大学的现代远程教育平台系统是国家863重点项目,目前已经投入使用,并在使用过程中不断完善、改进。某某大学远程教育平台为中心服务器模式,整个系统平台只设一个数据中心,其中用户主要分为系统管理员、继续教育学院管理员、教学站管理员、教师、学生等五大类角色。所有角色均通过登录某某大学远程教育平台完成工作。这种模式有集中管理、集中控制,部署成本最低,易于管理控制,易于维护更新等优点。

Continue reading ‘教学站教学教务管理系统(esTEAMS)项目开题报告’

高校教务管理系统

一月 29th, 2014 by admin

摘 要
本文结合高校教务管理系统,对数据库管理系统、sql语言原理、delphi应用程序设计,delphi数据库技术进行了较深入的学习和应用,主要完成对教务管理系统的需求分析、功能模块划分、数据库模式分析,并具此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的教务管理信息系统可以满足学生、教员和教务三方面的需要。
第二章对数据库的设计和sql语言的使用进行了系统分析,为深入理解数据库应用打下了基础。
第三章学习了具体的开发工具delphi 6.0,对其数据库组件,sql语言在delphi中的应用等数据库编程关键技术进行了系统的介绍。
第四章分析了教务管理信息系统的应用需求,按照数据库设计理论一步一步地给出了系统需求说明书、局部er图、全局er图、系统关系模式,子模式,利用access2000建立了数据库表格和表间关系。
第五章进行了具体的程序设计,具体划分了三类用户的操作权限,设计了了三个操作界面。实现了数据库表的浏览,记录的添加、删除和修改,实现了多数据库表的连接操作,实现了多条件查询和模糊查询,并灵活实现了对不可更新查询结果集的更新操作,实现了主从表操作,实现了密码维护功能,最后,设计了一个验证性质的打印报表。
设计充分利用delphi 6数据库技术的强大力量,灵活运用了数据库组件、数据表组件、查询组件、数据导航组件、数据感知组件等,提高了编程效率。
关键词:数据库,sql语言,delph 6,数据库组件,教务管理

目录
摘要 ………………………………………………………………………………… i
第一章绪论 ……………………………………………………………………… 1
1.1 数据库应用系统开发简介 ………………………………………………… 1
1.2 教务管理信息系统 ………………………………………………………… 4
1.3 所做的主要工作 …………………………………………………………… 4
第二章数据库理论基础 …………………………………………………………… 6
2.1 数据库系统设计及范式分析 ……………………………………………… 6
2.2 sql语言介绍 ……………………………………………………………… 10
2.2.1 sql基础 ……………………………………………………………… 10
2.2.2 sql语句 ……………………………………………………………… 11
第三章delphi 6.0数据库编程……………………………………………………… 15
3.1 vcl体系结构 ……………………………………………………………… 15
3.2 数据库组件介绍 …………………………………………………………… 16
3.3 sql语言在delphi中的应用 ……………………………………………… 19
第四章教务管理信息系统设计分析 ……………………………………………… 23
4.1 应用需求分析 ……………………………………………………………… 23
4.2 系统功能模块划分 ………………………………………………………… 25
4.3 系统数据库设计 …………………………………………………………… 25
第五章教务管理信息系统应用程序设计 ………………………………………… 31
5.1 系统窗体模块组成 ………………………………………………………… 31
5.2 数据模块窗体的设置 ……………………………………………………… 31
5.3 登陆模块的实现 …………………………………………………………… 32
5.4 学生模块的实现 …………………………………………………………… 34
5.5 教员模块的实现 …………………………………………………………… 35
5.6 教务管理模块的实现 ……………………………………………………… 42
5.6.1 学生信息管理模块 ………………………………………………… 42
5.6.2 教员信息管理模块 ………………………………………………… 47
5.6.3 课程信息管理模块 ………………………………………………… 47
第六章结束语 ……………………………………………………………………… 50
致谢 ………………………………………………………………………………… 51
参考书目 ……………………………………………………………………………… 51

第一章绪论
1.1数据库应用系统开发简介
数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着world wide web(www)的猛增及internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使internet应用超越具有早期应用特点的简单的发布。同时,internet技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。
数据库的设计和开发及包括艺术有包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。
数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密起关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。
1.1.1数据库
图1.1显示了数据库系统的主要组件。数据库由dbms(数据库管理系统)处理,dbms则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。

1.1.1.1 用户数据
目前,大多数数据库把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。第二章描述了一个用以产生良好结构关系的过程,称作规范化。为了对比结构差的关系和结构好的关系之间的差别,以本文所设计的教务管理系统中的课程和任课教员关系为例来说明,假若设计关系r1(coursecode,course,hours,credits,teachername,teacherphone);这个关系的问题出在它有关于两个不同主题的数据,就是课程和教员。用这种方式构成的关系在进行修改时,会出现问题。因为一个教员可能教授多门课程,如果某个教员的电话号码出现变更,它所教授的课程记录(可能多个)也就必须变化,这是不好的。因此数据用两个关系表示更好。现在如果某一个教员改变了它的电话号码,只有关系r3的对应行需要改变。当然,要想产生一个,显示课程名及其任课教员电话号码的报表,就需要将这两个表的行结合起来。结果表明,将关系分别存储,在生成报表的时候将它们结合起来,比把它们存储在一个合成的表中更好。
r2(coursecode,course,hours,credits,teachercode)
r3(teachercode,teachername,teacherphone)
1.1.1.2元数据
数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为dbms产品是用来存储和操纵表的,所以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述,它也存储索引、关键字、规则和数据库结构的其他部分。
在表中存储元数据不仅对dbms是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。本文第二章所介绍的sql语言可以同时用于元数据和用户数据。
1.1.1.3索引
第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要包括索引。索引可以用来排序和快速访问数据。下面以教务管理信息系统中的学生表为例来说明。
假定数据在磁盘上是按studentcode的递增顺序排列的,用户想打印一个按studentname排序的学生数据报表。为此,所有的数据都需要从源表中提取出来并排序,除非表很小,否则这是一个很费时的过程。或者,可以在studentname字段上创建一个索引,该索引的条目按照studentname排序,这样,该索引的条目可以读出来,并用来按顺序访问学生数据。
索引用于快速访问数据。例如,一个用户只想访问专业major值为应用数学的那些学生。如果没有索引,则必须搜索整个源表;但有了索引之后,可以找到索引条目,并使用它来挑选所有合适的行。
索引对排序和查找是有帮助的,但要付出代价。student表中的行每次改变是,索引也必须改变,这意味着索引并非随意的,应该在真正需要时保存。
1.1.1.4应用元数据
存储在数据库中的第四种数据是应用元数据,它用来存储用户窗体、报表、查询和其他形式的查询组件。并非所有的dbms都支持应用组件,支持组件的dbms也不一定把全部组件的结构作为应用元数据存储在数据库中。然而,大多数现代的dbms产品存储这种数据作为数据库的一部分。一般来说,数据库开发人员和用户都不直接访问应用元数据,想反,他们通过dbms中的工具来处理这些数据。
1.1.2数据库管理系统
如图1.1所示,dbms的特点和功能可以分为三个子系统:设计工具子系统、运行子系统和dbms引擎。
设计子系统有一个方便数据库及其应用创建的工具集。它典型地包含产生表、窗体、查询和报表的工具。dbms产品还提供编程语言和对编程语言的接口。
运行子系统处理用设计攻击开发的应用组件。它所包含的运行处理器用来处理窗体和数据库的数据交互,以及回答查询和打印报表等。
dbms引擎从其他两个组件接受请求,并把它们翻译成对操作系统的命令,以便读写物理介质上的数据。dbms引擎还涉及事务管理、锁、备份和恢复。
1.1.3创建数据库
1.1.3.1数据库模式
数据库模式定义了数据库的结构、表、关系、域和业务规则。数据库模式是一种设计,数据库和应用正是建立在此基础上的。
域是一列可能拥有的值的集合。必须为每一个表的每一列确定域。除了数据的物理格式外,还需要确定是否有些域对表来说是唯一的。
数据库模式的最后一个要素是业务规则,它是对需要反映在数据库和数据库应用程序中的业务活动的约束。业务规则是模式的一个重要部分,因为他们指定了无论什么数据变化到达dbms引擎,允许的数据值必须满足的约束。不管无效的数据变化请求是来自窗体的用户、查询/修改请求还是应用程序,dbms都应该拒绝。
遗憾的是,不同的dbms产品用不同的方法实施业务规则。对于access 2000,某些规则可以定义在模式中,然后自动执行。对于象sql server和oracle这样的产品,附加的规则通过称为存储过程的工具来实施。在某些情况下,dbms产品不具备实施必要业务规则的能力,必须以代码形式把它们编入应用程序。
1.1.3.2创建表
1.1.3.3定义联系
1.1.4应用组件
数据库应用包括窗体、查询、报表、菜单和应用程序。
1.2教务管理信息系统
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好教务信息而设计的。
在学校里,学校教务资料繁多,包含很多的信息数据的管理,现今,有很多的学校都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于学生成绩的统计和核实等往往采用算盘,计算器等工具进行,对学生考试资料,以及成绩管理多用手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。
数据处理手工操作,工作量大,出错率高,出错后不易更改。学校采取手工方式对教务档案进行管理,由于信息比较多,教务信息的管理工作混乱而又复杂;平时档案资料放在档案柜里,教师和教务处的管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的成绩进行更改就更产困难了。
基于这此问题,我认为有必要建立一个教务管理系统,使教务管理工作规范化,系统化,程序化,避免教务管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改教务档案。
1.3本文所作工作
绪论部分对数据库应用系统的结构、开发进行了简要介绍,分析了教务管理信息系统设计的特点和任务。
第二章介绍了数据库的设计和范式分析,并系统介绍了sql语言,为设计和理解应用程序做了铺垫。
第三章对系统介绍了delphi 6.0的数据库编程技术、sql语言在delphi 6.0中的应用。
第四章分析了教务管理信息系统的应用需求,设计了系统的数据库结构,并根据管理需求对系统功能进行了划分和细化。
第五章根据第四章的设计结果利用access 2000和delphi 6.0进行了具体的应用程序设计。
总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向。

第二章数据库理论基础
一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。
信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。
(1)数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出dfd图,并完成相应的数据字典。
(2)概念设计的任务是从dfd出发,绘制出本主题的实体-关系图,并列出各个实体与关系的纲要表。
(3)逻辑设计的任务是从e-r图与对应的纲要表出发,确定各个实体及关系的表名属性。
(4)物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化,实现物理建库,完成数据库物理设计字典。
(5)加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。
要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:
基本表的个数越少越好。
主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。
字段的个数越少越好。
所有基本表的设计均应尽量符合第三范式。
数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。下面我们着重从sql应用、数据库设计范式和查询优化等方面来分析本课题的系统关键技术和实现难点并加以解决。
2.1数据库系统设计及范式分析
信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。
2.1.1 数据库系统设计
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照dbms提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。
数据库设计的步骤是:
(1)数据库结构定义:目前的数据库管理系统(dbms)有的是支持联机事务处理cltp(负责对事务数据进行采集、处理、存储)的操作型dbms,有的可支持数据仓库、有联机分析处理clap(指为支持决策的制定对数据的一种加工操作)功能的大型dbms,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的dbms,进行数据库结构定义。
(2)数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。
(3)存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。
(4)数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。
(5)数据字典设计:用数据字典描述数据库的设计,便于维护和修改。
为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:
规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论。
关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。
建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。
(1)链接关系的确定
在进行了上述数据规范化重组后,已经可以确保每一个基本数据表(我们简称为表)是规范的,但是这些单独的表并不能完整地反映事物,通常需要通过指标体系整体指标数据才能完整全面地反映问题。也就是说在这些基本表的各宇段中,所存储的是同一事物不同侧面的属性。那么计算机系统如何能知道哪些表中的哪些记录应与其它表中的哪些记录相对应,它们表示的是同一个事物呢?这就需要在设计数据结构时将这种各表之间的数据记录关系确定下来。这种表与表之间的数据关系一般都是通过主或辅关键词之间的连接来实现的。因为在每个表中只有主关键词才能唯一地标识表中的这一个记录值(因为根据第三范式的要求,表中其它数据字段函数都依赖于主关键词),所以将表通过关键词连接就能够唯一地标识出某一事物不同属性在不同表中的存放位置。
(2)确定单一的父子关系结构
所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以下用m:n来表示)的现象,即设法使得所有表中记录之间的关系呈树状结构(只能由一个主干发出若干条分支,而不能有若干条主干交错发出若干条分支状况)。所谓的父系就是指表的上一级关系表。消除多对多关系可以借助于e-r图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。
消除这种m:n情况的办法也很简单,只需在二表之间增加一个表,则原来m:n的关系就改成了m:1,1:n的关系了。
确定数据资源的安全保密属性:
一般dbms都提供给我们自己定义数据安全保密性的功能。系统所提供的安全保密功能一般有8个等级(0-7级),4种不同方式(只读、只写、删除、修改),而且允许用户利用这8个等级的4种方式对每一个表自由地进行定义。
定义安全保密性的方法一般有如下几种:
a.原则上所有文件都定义为4级,个别优先级特别高的办公室(终端或微机的入网账号)可定义高于4级的级别,反之则定义为低于4的级别。
b.统计文件(表)和数据录入文件一般只对本工作站定义为只写方式,对其它工作站则定义为只读方式。
c.财务等保密文件一般只对中工作站(如财务科等)定义为可写、可改、可删除方式,对其它工作站则定义为只读方式,而且不是每个人都能读,只有级别相同和高级别者才能读。
2.1.2数据库设计范式分析
建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良好的数据指标体系是建立db的必要条件,但不是充分条件。我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。
a.数据组织的规范化形式
在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论中表是二维的,它有如下四个性质:
在表中的任意一列上,数据项应属于同一个属性(如图中每一列都存放着不同合同记录的同一属性数据)。l
表中所有行都是不相同的,不允许有重复组项出现(如图中每一行都是一个不同的合同记录)。l
在表中,行的顺序无关紧要(如图中每行存的都是合同记录,至于先放哪一个合同都没关系)。l
在表中,列的顺序无关紧要,但不能重复(如图中合同号和合同名谁先谁后都没关系,但二者不可重复或同名)。l
在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是向上兼容的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,……,依此类推。
第一范式(first normal form,简称1st nf)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。这个去掉重复项的过程就称之为规范化处理。在本文所讨论的开发方法里,1st nf实际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有表都满足1st nf。
第二范式(second normal form,简称 2nd nf)是指每个表必须有一个(而且仅一个)数据元素为主关键字(primary key),其它数据元素与主关键字一一对应。例如,在图l9.7中如果我们将合同号定义为主关键字(其它数据元素中的记录数据都有可能重名,故不能作为主关键字),故只要知道了一个合同记录的合同号,就可以唯一地在同一行中找到该合同的任何一项具体信息。通常我们称这种关系为函数依赖(functional dependence)关系。即表中其它数据元素都依赖于主关键字,或称该数据元素唯一地被主关键字所标识。
第三范式(third normal form,简称 3rd nf)就是指表中的所有数据元素不但要能够唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足了 2nd nf的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元素的现象,必须加以消除。
为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量按关系规范化要求进行数据库设计。下面以教务管理信息系统为例来进行分析。
例:学生(学号、姓名、系名、系主任、课程名、成绩)
函数依赖:设r(u)是一个关系模式,u是r的属性集合,x和y是u的子集。对于r(u)的任何一个可能的关系r,如果r中不存在两个元组,它们在x上的属性值相同,而在y上的属性值不同,则称y函数依赖于x ,记作xy。如果xy,并且对于x的任一真子集x ,都有y 不函数依赖于x ,则称y完全函数依赖于x ,记作x f y 。若xy,但y不完全函数依赖于x,则称y部分函数依赖于x ,记作x p y 。如果xy,yz,且y≮ x, x不函数依赖于y,则称z传递函数依赖于x。
如:(学号、课程名) f 成绩, 学号 传递 系主任。
键:设k是关系模式r(u)的属性集,若u完全函数依赖于k,则k称为r的一个候选键。若r有多个候选码,选择其中一个作为主键。若k不是r的码,但它是另一个关系模式的码,则k称为r的一个外键
如:(学号、课程名)
第一范式(1st nf):如果一个关系模式r的所有属性都是不可分的基本数据项,则r1nf。
第二范式(2nd nf):若关系模式r1nf,并且每一个非主属性都完全函数依赖于r的码,则r2nf。
如:r(学号、系名、系主任)
第三范式(3rd nf):如果关系模式r(u)中不存在候选码x、属性集y以及非主属性z(z≮y),使得xy,yz和 yx成立,则r3nf 。(或者说:不存在部分依赖和传递依赖的第一范式是第三范式)
如:g(学号、课程名、成绩),s(学号、姓名、系名),d(系名、系主任)
bc范式(bcnf):设关系模式r(u) 1nf,如果对于r的每个函数依赖xy,若y≮x,则x必包含候选码,那么rbcnf 。
如:r(学号、教师编号、课程名、学期、成绩)是3nf,不是bcnf。
g(学号、课程名、课程成绩名次)是bcnf。
2.2sql语言介绍
2.2.1sql基础
sql(structured query language,结构查询语言)是一个功能强大的数据库语言。sql通常使用于数据库的通讯。ansi(美国国家标准学会)声称,sql是关系数据库管理系统的标准语言。sql语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用sql的常见关系数据库管理系统有:oracle、 sybase、 microsoft sql server、 access、 ingres等等。虽然绝大多数的数据库系统使用sql,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的sql命令,比如”select”、 “insert”、 “update”、 “delete”、 “create”和 “drop”常常被用于完成绝大多数数据库的操作。
sql语言有着非常突出的优点,主要是:
非过程化语言n
统一的语言n
是所有关系数据库的公共语言n
非过程化语言:sql是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。sql允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有sql 语句接受集合作为输入,返回集合作为输出。sql的集合特性允许一条sql语句的结果作为另一条sql语句的输入。
sql不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有sql语句使用查询优化器,它是rdbms的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。
统一的语言:sql可用于所有用户的db活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。
sql为许多任务提供了命令,其中包括:
查询数据n
在表中插入、修改和删除记录n
建立、修改和删除数据对象n
控制对数据和数据对象的存取n
保证数据库一致性和完整性n
以前的数据库管理系统为上述各类操作提供单独的语言,而sql 将全部任务统一在一种语言中。
所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持sql语言,用户可将使用sql的技能从一个rdbms(关系数据库管理系统)转到另一个,所有用sql编写的程序都是可以移植的。
2.2.2sql语句
sql功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:
dml(data manipulation language,数据操作语言):用于检索或者修改数据;
ddl(data definition language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象;
dcl(data control language,数据控制语言):用于定义数据库用户的权限。
dml组可以细分为以下的几个语句:
select:用于检索数据;
insert:用于增加数据到数据库;
update:用于从数据库中修改现存的数据;
delete:用于从数据库中删除数据。
ddl语句可以用于创建用户和重建数据库对象。下面是ddl命令:
create table,alter table,drop table,create index,drop index
下面是一个简单sql语句的例子:
我们使用sql语句来从students中检索department id为es的学生姓名:
select name from students where deptid = “es”
2.2.2.1 ddl与dml
数据定义语言ddl:它是用来创建和修改数据库结构的一种语句,包括 create、alter和drop 语句。
数据操作语言dml:包括数据查询与数据更新。数据查询主要是由select语句完成,这一点不再赘述。而数据更新所造成的风险大大超过数据查询。数据库管理系统必须在更改期内保护所存储的数据的一致性,确保有效的数据进入数据库,数据库必须保持一致性,dbms还必须协调多用户的并行更新,以确保用户和它们的更改不至于影响其它用户的作业。
用于修改数据库内容的 sql 语句主要有以下三个:
(1)insert,向一个表中加入新的数据行
(2)delete,从一个表中删除数据行
(3)update,更改数据库中已经存在的数据
insert标准语法:
insert intotable_name (col1, col2…)values(value1, value2…)
下例要将王强作为一个新的销售员加入表student中
insert into
student (name,id,address,city)
values (王强,001,中南工业大学,长沙)
insert 语句还可以将多行数据添加到目标表中去,在这种形式的 insert 语句中,新行的数据值不是在语句正文中明确地指定的,而是语句中指定的一个数据库查询。添加的值来自数据库自身的行,在某些特定的状态下,这是非常有用的。比如,你想把2001年九月一日之前入学的学生编号、姓名和地址从student表中拷贝到另一个名为oldstudent 的表中去,多行 insert 语句为拷贝数据提供了一种紧凑而高效的方法,如下:
insert into oldstudent (id,name,address)
select id,name,address from student where date”2001-9-1″
这条语句标识了接收新行的表oldstudent和接收数据的列,完全类似于单行 insert 语句。语句的剩余部分是一个查询,它检索student表中的数据。sql 先执行对student表的查询,然后将查询结果逐行插入到oldstudent表中去。
update语句用于更新单表中选定行的一列或多列的值。要更新的目标表在语句中定义,set子句则指定要更新哪些列并计算它们的值。update语句总是包含where语句,而且update语句比较危险,所以您必须明确地认识到where语句的重要性,where语句被用来指定需要更新的行。
标准语法:
update table_name
set columnname1 = value1
[, columname2 = value2]…
where search_condition
delete 语句标准语法:
delete fromtablename wherecondition
2.2.2.2 复杂操作实现
在信息管理系统中,我们往往会遇到归类、汇总、映射、索引、子查询等复杂操作,相应的支持与实现如下:
groupu by方法
group by子句语法为:
select column1, sum(column2)
from “list-of-tables”
group by “column-list”;
这个group by子句将集中所有的行在一起,它包含了指定列的数据以及允许合计函数来计算一个或者多个列。
组合条件和布尔运算符u
以下的sql语句中就含有组合条件:
select column1, sum(column2)
from “list-of-tables”
where “condition1″ and “condition2″;
下面是一个示例:
select employeeid, firstname, lastname, title, salary
from employee_info
where salary = 50000.00 and title = “programmer”;
这条sql语句是从employee_info表中选择salary大于等于50000.00并且title等于”programmer”的列employeeid、 firstname、 lastname、 title和 salary。此时必须and运算符两旁的条件都为真,行才会最为检索结果返回。如果其中有一个条件为假,那么就什么都没有显示。
join子句u
一般我们利用select语句来检索的时候只能从一个表中进行。如果想从两个表或者更多的表中进行检索,可以使用sql和关系数据库系统的一个很有用的特性,即join。为了简单说明,实际上join就是使得关系数据库系统相关。join允许你从两个表或者更多的表连接数据进行数据检索,而只需要利用一个select语句。如果在from关键字之后有多个表的话,join可以在sql select语句中识别它们。
union子句u
有些时候,需要一起浏览多个查询的结果、组合它们的输出,我们可以使用union关键字。例如,为了合并以下两个查询的输出:显示所有买方的id和已经有定货的顾客,可以使用以下语句:
select buyerid
from antiqueowners
union
select ownerid
from orders;

第三章delphi 6.0数据库编程
3.1vcl组件的体系结构
delphi类可以粗略地分成两部分:一部分是组件类,这些组件类通常以某种方式出现在组件面板上,当用户从组件面板上点取一个类的图标后,在程序中就自动生成了该类的对象(非可视组件除外);另一部分是功能类,这此功能类的对象通常出现在程序代码中,起着不可代替的作用,但是这些功能类在组件面板上是找不到的。在delphi中,每一个类的祖先都是tobject类,整个类的层次结构就像一棵倒挂的树,在最顶层的树根即为tobject类。这样,按照面向对象编程的基本思想,就使得用户可用tobject类这个类型代替任何其它类的数据类型。实际上在delphi的类库中,tobject类派生出了为数相当众多的子类,它们形成了一个庞大的体系,通常情况下,如果不自行开发组件,就不必了解整个类的体系结构,只用到类层次树的叶结点就足够了。
这一小节简略介绍一下delphi 6.0中vcl(可视化组件库)组件的体系结构。凡是做过程序开发的人都知道从来没有单纯的数据应用程序,也就是说,数据库应用程序必须和用户界面(可以是图形界面,也可以是命令接口)元素相结合,只讲界面或只讲数据库本身都构不成数据库应用程序,因而用delphi 6.0开发数据库应用程序就隐含着界面开发。delphi6中的vcl组件可用图3-1来说明。

组件在delphi程序的开发中是最显眼的角色。大家知道,在编写程序时一般都开始于在组件面板上选择组件并定义组件间的相互作用。但也有一些组件不在组件面板上,例如tform和tapplication(典型的非可视组件)。组件是tcomponents派生出来的子类,可以流的形式存放在dfm文件中,具有事件和publish属性。
窗口组件类是窗口化的可视化组件类,在delphi的类库中占有最大的份额。在实际编程中,窗口组件类的对象都有句柄,可以接受输入焦点和包含其它组件。
图形组件与窗口组件并列,是另一大类组件。图形组件不是基于窗口的,因而不能有窗口句柄,不能接受输入焦点和包含其它组件。从图8-43中可以看出,图形组件的基类是tgraphiccontrol,在实际编程中,它们必须寄生于它们的宿主窗口组件类的对象,由它们的拥有者负责其显示,而且它们还能触发一些和鼠标活动相关的事件。图形控件最典型的例子是tlabel和tspeedbutton。由此可以看出图形组件的功能很弱,有读者会问图形组件的用处何在呢?其实使用图形组件的最大好处在于节省资源,正是因为它们的功能较弱,所以使用的系统资源就要少。在一个应用程序中,如果能在不影响其功能的前提下合理大量地使用图形组件,将会大减少程序对系统资源的消耗。
非可视组件是与可视组件相并列的另一类组件,非可视组件在程序运行中是不可见的(除各种对话框组件之外,事实上有人认为对话框组件不能归入非可视组件,应该是另一种介于可视与非可视之间的组件)。
最后要说明一下,常说的控件实际上是一种组件。也就是说组件这个概念要大于控件,控件在内涵上包含于组件中。控件由windows系列操作系统提出并使用,而组件是borland和其它厂商在对windows控件做了必要的扩展之后提出来的概念,它们是在不同时期由不同的厂商提出的概念。
3.2数据库组件介绍

用delphi6开发数据库应用,重点是和各种数据库组件打交道,能和数据库挂钩的组件对象有5种,它们是:session(数据库会话)、database(数据库)、dataset(数据集)、datasource(数据源)、data control(数据控制组件,也叫data-controls即数据感知组件)。其中前面4种统称为数据访问(data access)组件。这些组件的相互关系如图3-2所示。对图中的各种名词说明如下:
(1)tsession
tsession所处的类层次:
tobjecttpersistenttcomponenttsession
tsession用于在一个应用程序里在全局上管理一组数据库连接。tsession有三个主要用法。
第一是标准用法。在实际编程的时候,delphi6会自动产生一个全局可访问的tsession对象session。该默认的tsession对象会为数据库应用程序处理所有标准的数据库连接。在程序运行时,应用程序可以通过访问默认的tsession对象的属性、方法、事件来控制它。
第二是用在paradox多重网络文件中。如果要编写paradox的网络数据应用程序,那么数据库表就完全可以位于不同的网络位置上,这便是所谓的paradox多重网络文件,此时便会产生多个向数据库表的连接(每个网络位置一个),这样就要为每一个连接建立一个tsession对象。
第三是用在多线程数据应用程序中。最后一种情况是在多线程并发的访问一个数据库情况下,必须为每一个线程创建一个tsession对象。如果在一个应用程序中有多个tsession对象,我们就可以通过tsessionlist对象来管理它们。同样,delphi6也会为每一个数据库应用程序创建一个默认的tsessionlist对象sessions。
(2)tdatabase
tdatabase所处的类层次:
tobjecttpersistenttpomponenttsessiontcustomconnectiontdatabase
当一个基于bde的数据库应用程序需要一个永久数据库连接时,需要定制向一个数据库服务器的连接时,需要事务控制和特殊的数据库别名时就得用到tdatabase对象。特别是当连接到一个远程的sql数据库服务器时,如果要利用bde进行数据库事务处理,那么,tdatabase对象的威力就体现出来了。在一个应用程序中为每一个数据库连接显示的声明tdatabase对象要根据需要而定,不是必需的。对一个数据库连接,如果没有显示的声明并实例化tdatabase对象,系统就会产生一个带有默认属性的tdatabase对象。
(3)ttable, tquery, tstoredproc的共同基类是tdataset
这4个类所处的类层次:

tdataset封装了一套便于和数据打交道但又独立于数据库引擎的属性、方法和事件tdataset中的绝大多数据属性、方法和事件是抽象的,所谓抽象就是只声明而不实现,此乃面向对象的程序开发方法的一大特色。之所以不实现是因为在tdataset这一层次上还不具备实现的条件,也同时是为了给其子类留好接口。程序员必须使用实现了这些抽象方法的子类。tdataset还有许多方法是作为虚拟方法实现的,但这些方法在它的子类tclientdataset, tbdedataset, tdbdataset, tquery, tstoredproc, ttable中都进行了重新实现。
ttable对象用于使用bde访问单张数据库表,它可以提供对下层数据库表的每一个字段、每一条记录的直接访问,不论odbc兼容的数据库表(如paradox, dbase, access, foxpro等),还是一个远程的sql数据库服务器(如interbase, oracle,sybase, ms-sql server,informix, db2.等)。ttable对象不仅可以访问整张表,我们如果在某张表上选取某些满足一定条件的记录构成一个子表,ttable对象也可以利用这种子表。
tquery对象用sql语句对数据库中的一个或多个表操作。使用tquery对象的最大好处是同时可以访问多个表,并且不用每次访问都要把这些表遍历一边,事实上它只访问我们需要的哪些行和列所构成的子集,这样就提高了效率。
tstoredproc存储过程对象。通常在服务器上以元数据的形式存放着一系列的对数据库操作的语句,这些语句对应着对数据库的一些经常用到的操作,执行此类操作后可对服务器上的数据进行查询和修改,并会把结果返回给客户机,这些语句就是存储过程。许多存储过程在执行时需要参数,tstoredproc提供了一个参数属性,应用程序在执行存储过程前可利用该属性为存储过程指定参数值。tstoredproc还用这个属性的值带回存储过程执行后返回的结果。
(4)tdatasource
tdatasource的类层次:tobjecttpersistenttcomponenttdatasource
tdatasource对象用于在dataset对象(包括tquery,tstoredproc,ttable等)和数据感知组件之间提供一个连接的纽带,以便在窗体上显示数据库中的数据,在数据库中导航定位与编辑数据集中的数据。如果一个dataset对象中的数据想在数据感知组件中显示和修改,它就必须和tdatasource对象相联系。同样,一个数据感知组件如果想和数据源相联系以便显示和操纵数据,就必须以tdatasource对象为中介。
(5)数据感知组件
它们负责数据库数据的显示,并把用户对数据的修改传回。这里面的绝大多数组件,如dbtext, dbedit,dbmemo, dbimage, dblistbox, dbcombobox, dbcheckbox, dbradiogroup, dblookuplistbox, dblookupcombox, dbctrgrid的功能和对应的非数据感知组件相同,如tedit框,tradiogroups单选按钮组等,只不过在显示数据库数据时要用而已。
数据存取组件是指ttable, tquery, tstortedproc。它们负责直接和数据库的数据打交道,它们和其他的数据访问组件都是非可视组件。所谓非可视组件是指在程序运行时不可见的组件。这里的不可见应理解为在程序界面上不可见,而不是在功能上不可见。相反,数据感知组件都是可视组件,在程序运行时的界面上可见,起着一定的功能。
用delphi6作数据库应用开发概括来说如下:先利用数据存取组件和实际的数据库建立连接,并用tsession对象和tdatabase对象管理这些连接。然后以tdatasource对象为中介,用数据感知组件向用户显示数据库的内容并接受用户的查询和修改等操作。
3.3sql语言在delphi中的应用
在delphi中使用sql语言非常方便,一般来说,都是通过tquery组件来使用sql语言的。可以在tquery组件的sql属性中设置sql语句。设计程序时,在该组件的属性对话框中选择sql属性,单击带省略号的按钮,就可以打开string list editor对话框,然后我们就可以在对话框中添加sql语句。还可以使用delphi的sql builder来自动生成sql语句,这样可以避免手工编写sql而可能造成的语法错误。
静态sql语句在程序设计时便已固定下来,它不包含任何参数和变量。
动态sql语句,也被称作参数化的语句,在其中间包含着表示字段名或表名的参数,例如下面的语句是一条动态sql语句:
select*fromstudentswhere studentcode =: studentcode; 
其中的变量studentcode便是一个参数变量,它由一个冒号引导,在程序运行过程中,必须要为该参数赋值,该条sql语句才能正确执行,每次运行应用程序时可以为该参数变量赋予不同的值。为参数赋值有三种方法:
①根据参数在sql语句中出现的顺序,设置tquery部件的params属性值为参数赋值。
②直接根据sql语句中各参数的名字,调用parambyname方法来为各参数赋值。
③将tquery部件的datasource属性设置为另一个数据源,这样将另一个数据源中与当前tquery部件的sql语句中的参数名相匹配的字段值赋给其对应的参数。利用这种方法也能实现所谓的连接查询,创建主要明细型数据库应用。
在使用动态sql语句编程时,常常用到一个很重要的方法prepare,调用prepare 方法之后,delphi会将带参数的sql语句传送给与其对应的数据库引擎,对动态sql语句进行语法分析和优化。虽然在用动态sql语句编程时,调用prepare方法并不是必须的,但是调用prepare方法后,会极大地提高动态sql 语句的执行性能,特别是当要反复多次执行同一条动态sql语句时,其优越性会更加明显。 如果在应用程序中执行一条sql语句之前并没有显式地调用prepare方法,每次在执行sql 语句时,delphi会隐含地调用prepare方法以准备这个查询。
tquery部件还有一个prepare属性,这是一个布尔型属性,当其属性值为true时, 表明该查询已被准备好了( sql 语句已被传送到数据库引擎中 ) , 当我们使用参数编辑器parameters editor来为动态sql语句中的参数赋值时,当设置完相应的参数值并退出参数编辑器时,delphi会隐含地调用prepare方法以准备好查询。
当sql语句执行完之后,要想准备下一个查询,首先必须调用close方法,然后才能调用prepare方法准备下一个查询。一般来说,在一个应用程序中应该调用一次prepare方法,常常在窗体的oncreate事件处理过程中调用prepare方法, 然后用上述介绍的方法为参数赋值,最后调用open方法或execsql方法执行sql语句,以完成查询。
当然在调用prepare方法准备好一个查询时,会消耗一些数据库资源, 因而每当一个查询执行完毕之后,要养成调用unprepare方法以撤消查询的好习惯。在运行程序过程中,通过程序改变tquery部件的sql属性值时,delphi会自动地调用close方法和unprepare 方法,以撤消查询。
在程序运行过程中,要想设置tquery部件的sql属性,必须首先调用close方法,关闭tquery部件,然后再调用clear方法清除sql属性中现存的sql命令语句, 最后再调用add方法为sql属性设置新的sql命令语句。例如: 
query1.close {关闭query1)
query1.sql.clear {清除sql属性中的sql命令语句}

Continue reading ‘高校教务管理系统’

教务管理系统  毕业论文

一月 29th, 2014 by admin

【摘要】教务管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据完全性好的库。而对于后者则要求程序功能完备,易使用等特点。
经过研究分析如下情况,我使用microsoft公司的visual foxpro6.0开发工具,利用其提供的各种面向对象编程的可视化工具来编制出用户满意的数据窗口平台。visual foxpro6.0开发工具不仅提供了更多更好的设计器、向导、生成器及新类,而且使得客户和服务器结构数据库应用程序的设计更加方便简捷。visualfoxpro 6.0以其强大的工具和面向对象的以数据为中心的语言,将客户/服务器和网络功能集成于现代的、多连接的应用程序。visualfoxpro 6.0充分发挥了面向对象编程技术和事件驱动方式的优势,不断修正和改进直到形成用户满意的可行性系统。(→返回上级目录)

关键词:面向对象;信息管理系统;数据库;vf

【abstract】the system of teach manage is thetypical information management system, it mainly develop theestablishment and maintenances and the head application proceduresof include the backstage databases develop two aspects.request tobuild up a data consistency and integrities for the former strong,the database that the data completeness like.but then request theprocedure function to the latter complete, easy usage etc.characteristics.
through analysis as follows circumstance, i use6.0 development tools of the visual foxpro of the company ofmicrosoft, making use of what it provide various face to the objectplait distance and can see the chemical engineering to have to drawup a customer satisfied data window way terrace.the visual foxpro6.0 development tools not only provided more better design machine,guides, born machines and new type, but also make the customer andserver structure database apply more convenient jian3 jie2 of thedesign of the procedure.the visual foxpro 6.0 with its strong tooland face to the object of with data for center of language, linkmuch the customer/ server and the network function gather in modernof, of applied procedure.the visual foxpro 6.0 developped to faceto the advantage that the object plait distance technique andaffairses drive the way well, revise and improve continuously untilbecome the possibility system of the customer satisfaction.

Continue reading ‘教务管理系统  毕业论文’

教务管理系统论文

一月 29th, 2014 by admin

教务管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据完全性好的库。而对于后者则要求程序功能完备,易使用等特点。

经过研究分析如下情况,我使用microsoft公司的visual foxpro6.0开发工具,利用其提供的各种面向对象编程的可视化工具来编制出用户满意的数据窗口平台。visual foxpro6.0开发工具不仅提供了更多更好的设计器、向导、生成器及新类,而且使得客户和服务器结构数据库应用程序的设计更加方便简捷。visualfoxpro 6.0以其强大的工具和面向对象的以数据为中心的语言,将客户/服务器和网络功能集成于现代的、多连接的应用程序。visualfoxpro 6.0充分发挥了面向对象编程技术和事件驱动方式的优势,不断修正和改进直到形成用户满意的可行性系统。

关键字:面向对象;信息管理系统。

前 言

在微机技术逐渐渗入社会生活各个层面的今天,传统的教务管理也面临着变革,而微机化教务管理是一个很重要的方向。基于visualfoxpro6.0技术的教务管理系统,可以借助于遍布全校各处的微机系统进行,因此此系统可以在一个部门,及全校各个部门进行全面的推广,大大拓展了教务管理的自动化。

Continue reading ‘教务管理系统论文’

教务管理系统(SQL)的设计

一月 28th, 2014 by admin

摘?? 要
本文结合高校教务管理系统,对数据库管理系统、sql语言原理、vb应用程序设计,vb数据库技术进行了较深入的学习和应用,主要完成对教务管理系统的需求分析、功能模块划分、数据库模式分析,并具此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的教务管理信息系统可以满足学生、教员和教务三方面的需要。
第二章对数据库的设计和sql语言的使用进行了系统分析,为深入理解数据库应用打下了基础。
第三章学习了具体的开发工具vb 6.0,对其数据库组件,sql语言在vb中的应用等数据库编程关键技术进行了系统的介绍。
第四章分析了教务管理信息系统的应用需求,按照数据库设计理论一步一步地给出了系统需求说明书、局部er图、全局er图、系统关系模式,子模式,利用sql2000建立了数据库表格和表间关系。
第五章进行了具体的程序设计,具体划分了三类用户的操作权限,设计了了三个操作界面。实现了数据库表的浏览,记录的添加、删除和修改,实现了多数据库表的连接操作,实现了多条件查询和模糊查询,并灵活实现了对不可更新查询结果集的更新操作,实现了主从表操作,实现了密码维护功能,设计充分利用vb6数据库技术的强大力量,灵活运用了数据库组件、数据表组件、查询组件、数据导航组件、数据感知组件等,提高了编程效率。
关键词:数据库,sql语言,vb 6,数据库组件,教务管理
?

Continue reading ‘教务管理系统(SQL)的设计’