if函数说明:
在mysql
中
if()函数的用法类似于java
中
的三目表达式,其用处也比较多,具体语法如下:
IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值
postgresql
自定义if函数兼容:
create or replace function if(bln boolean,inValue1 anyelement,inValue2 anyelement)
returns anyelement as
postgresql
版本是8.2.15。
最近陆续有数据分析师从impala、hive转到查询gpdb,gpdb虽然能够支持在查询语句
中
带多个distinct,但是缺少相应的if、ifnull、group_concat函数,正好年后有空就拓展一些函数给他们用
1. to_array聚集函数
CREATE AGGREGATE pg_catalog.to_array (anyelement)...
IF ... THEN...END IF;
IF ... THEN ... ELSE...END IF;
IF ... THEN ... ELSEIF ... THEN ... END IF;
IF ... THEN ... ELSEIF ... THEN ... ELSE...END IF;
LOOP 循环语句
1、使用 IF 退出循环
IF… THEN
<select id = "select" resultType = "com.test.dto.User">
select username,address,sex
from user
where...
2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》
3、
PostgreSQL
数据库仓库链接,点击前往
4、日本著名
PostgreSQL
数据库专家 铃木启修 网站主页,点击前往
5、参考书籍:《
PostgreSQL
中
文手册》
6、参考书籍:《
PostgreSQL
指南:内幕探索》,点击前往
7、参考书籍:《事务处理 概念与技术》
8、
PostgreSQL
数据库仓库链接,.
Oracle与Postgres之间的不同。很好很详细。从Oracle转Postgres的时候非常需要的一个文档。
If you are starting to use
PostgreSQL
or you will migrate from Oracle database server, I hope this document helps. If you have Java
applications and use JDBC, the “Data types and JDBC” section will be particularly useful.
Oracle and
PostgreSQL
both conform to standard SQL. However, they contain several extensions and implementation details that
differentiate one from the other. The most important differences are listed in this document.
随着计算机技术的普及和提高,计算机等级考试成为热门,等级考试的目的在于适应社会主义市场经济建设的需要,一方面是为了促进计算机知识的普及和计算机应用技术的推广,另一方面是为劳动力市场服务,即为劳动人员提供其计算机应用知识与能力的证实,为用人部门录用和考核工作人员提供一个统一、客观、公正的评价标准.
该系统用于用户登录、参加等级考试以及治理员进行试题录入、修改、删除、成绩查询、治理用户的ASP应用程序。它应该具有开放性、方便性和灵活性。治理员不仅可以轻松地向题库添加、修改和查询试题,而且还可以自动新增考试等级并建立相应的数据;它还答应用户根据自己的需求,选取考试等级。考生进行有效的身份验证登录后,选择考试等级,并要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩,并且其分数将被记入库
中
以供审核和查阅;另外,还可完全由计算机自动灵活、随机的抽取试题库
中
的各类试题组成各种形式的试卷,其内容会随着库
中
试题的改变而改变,而且,不同的考生生成的试题是不同的。
系统选用的开发软件是ASP,后台数据库为ACCESS2000
系统的开发用结构化设计思想。本文介绍了考试系统的开发初衷和背景,系统的开发工具,结构化开发的具体步骤,其
中
包括实体-联系模型,数据流图,功能结构图等
关键字:考试试卷自动系统ASPvbscriptaccessresponserequest,
Summary
Alongwiththefastdevelopmentincomputertechnology,wehavegottenbigprogressinschoolscienceandinformationmanagement.Soitneedsequaldevelopmentineverypart.Theschoolwillbebuildinganinformationmanagementandeducationalplatfromhardwareandsoftwaretwosides.Idevelopedthissystemisinordertoreducetheteacherstesting,enhancethestudentssecrecy.Itcansavemorepeoplemoneyandtimethantraditionmethods.
Thesystemisdedicatedtousersdownload,onlineexaminationandmanagersparticipateintheexaminationincluded,modify,delete,performanceenquiries,managementuserASPapplications.Itshouldbeopen,convenienceandflexibility.Managersnotonlytothedatabankcaneasilyadd,modifyandinquiryquestions,butalsocanautomaticallycreatenewexaminationgradingandthecorrespondingdata;Italsoallowsusersonthebasisoftheirownneeds,selectingexaminationgrades.Candidatesforeffectiveidentificationandrecorded,theselectionexaminationgrading,andrequestsinthetimeallowed,whenaprescribedtime,thesystemwillautomaticallybemade.Oncecandidateswillbeabletocompletehomeworkimmediatelyafterseeingtheirexaminationresultsandtheirscoreswillberecordedandputinstorage,forauditandinspection;Inaddition,thecomputercouldbecompletelyautomatedflexible,randomsamplesofthevarioustypesoftestquestionsfortheformationofvariousformsofpaper,itscontentwillchangewiththechangeintheexamination,but,differentcandidatesgeneratedquestionsaredifferent.
ThesystemchoosesthesoftwareofdevelopmentthatuseisASP,andACCESS2000.
Thesystemdevelopmentsadoptideaofconstructiondesigning.Thesystemmanualintroducedtheoriginalintentionandbackgroundofthisexaminationsystem,thetoolofdevelopmentofthesystem,thedetailsprocessofconstructiondevelopment,itcontenttheentity-model,thedatastreamchart,functionandconfigurationchart,andothernecessarychartexplanations.
Keywords:testpaperautosystemASPvbscriptaccessresponserequest,
计算机技术没有应用到考试上时,组织一次考试至少要经过五步,人工出题、考生考试、人工阅卷、成绩评估和试卷分析。教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常轻易出错的事情,明显的传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,应用不断扩大,如教学和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行等级考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习爱好。例如目前许多国际闻名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
等级考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,
使考试不受地域的局限。一个完备的等级考试系统可以使用户在网上学习过后及时检验自己的学习效果,
已发现自己的不足,使得学习效率得到很大提高。等级考试系统
中
题目的生成、试卷的提交、成绩的批阅等都可以在
上自动完成。只要形成一套成熟的题库就可以
实现
考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,
而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,
我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试
中
发挥高效、
便捷的作用,把老师从繁重的工作
中
解脱出来!
目前,应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、
升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,
客户端是一个标准的浏览器,服务器端是WebServer,而WebServer与数据库和应用服务器的紧密结合,
使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、
企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。
另外,考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。
基于上述考虑,用Browser/Web模式来设计考试系统比较合适,服务器端我们采用Access数据库系统和
ASP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和治理。
利用和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用ActiveServerPage技术,我开发了基于B/S模式多用户等级考试系统这一程序。它运用方便、操作简单,效率很高。现阶段虽只
实现
了试卷的客观题部分,但已具有用户注册、多用户同时等级考试、动态随机出题、时间控制、自动判卷,试题录入、修改题库、用户治理、科目治理、治理员治理、分数治理等重要功能,也就是说
实现
了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。
2.统一的语言
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会,最高级的命令在几天内便可掌握。 SQL为许多任务提供了命令,包括:
☆查询数据
☆在表
中
插入、修改和删除记录
☆建立、修改和删除数据对象
☆控制对数据和数据对象的存取
☆保证数据库一致性和完整性
以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言
中
。
3.是所有关系数据库的公共语言
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是
PostgreSQL
(和大多数其它关系型数据库)用做查询语言的语言。它是可以移植的,并且容易学习使用。但是所有SQL语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。如果使用了 PL/pgSQL,那么可以把一块运算和一系列查询在数据库服务器里面组成一个块,这样就拥有了过程语言的力量并且简化SQL的使用,因而节约了大量的时间,因为用不着付出客户端/服务器通讯的过热。通过使用PL/pgSQL,应用可以获得可观的性能提升。
☆试题模型设置:设置各科目试题的每种题型的数量和分值。
☆试题库管理:分科目,对单选、多选两种题型试题库的管理,使试题的增删、编辑更为简便。
☆试卷生成:可以指定试卷的各题型的数量,从试题库里随机抽取试题生成一份原始试卷。
☆在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。
☆计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。
☆成绩查阅:考生考完以后,管理员应该能对所有纪录进行查询,并应该可以删除指定纪录。
除了
实现
上述功能以外,在线考试系统还应该具有友好、简洁的界面,安全性要高,稳定性要强,能够满足100人以上同时及进行在线考试。
3.3.3 用户、管理员权限
☆管理员:在此系统
中
可以由若干个管理员,即系统管理员。他们具有一般用户所没有的权限,即具有管理用户、试题以及试卷等内容的权力。它不需注册,在数据库有一个表来存放相关信息,可由以存在的管理员添加或删除管理员。
☆一般用户:主要是指学校的学生和企事业单位的培训对象等。
3.3.4 功能模块详细设计
下面,对各个功能模块分别进行详细讨论,具体情况见系统源程序。
3.3.4.1 管理模块
管理员可以向题库
中
添加各种类型且符合要求的试题,也可以对它们进行修改和删除。同时,管理员也能对科目、用户、考试记录等数据进行管理。
1. 试题管理
(1)试题录入
首先,用户选择试题所属科目。若菜单
中
没有该科目,则可以新增一个。返回、刷新一次页面,即可看到新增的科目名称。而且,在本系统
中
其它需要选择科目的地方也会自动更新。其次,每道试题有类型、试题内容与选项和答案等栏目。管理员输入完以后,即可看到预览效果。如果输入不合法,或者该科题库
中
已有该试题编号和内容等,则系统给出相应的提示或警告,以待更正。
(2)试题修改
管理员还可以对试题进行修改。不过,对于各表
中
的主键不用修改,避免了造成系统
中
的数据混乱,或者覆盖其它有用数据的现象。如果用户执行了非法操作,则必须重新操作。
(3)试题删除
管理员可以删除不再需要的试题。
2. 科目管理
(1)添加科目
其基本信息有科目名称、题型、题量和考试总时间等,对于用户输入的不符合系统要求的数据,系统仍旧给出提示或警告。
(2)科目删除
管理员可以删除不再需要的科目。
3.用户管理
管理员可以通过管理界面添加或删除用户。
4.管理管理员
管理员可以通过管理界面添加新管理员或删除原有管理员。
5.考试记录管理
系统
中
的管理员可以查询考试记录,也可以删除考试纪录。
3.3.4.2在线考试模块
进入在线考场是本系统最重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要选择考试科目以后,就可以调出试卷进行在线考试。为了
实现
动态随机不重复的抽取试题,需要在选题过程
中
每选出一题,就要在试题库
中
作相应的标志,以便下次不会重复取出此题。试卷出来后要对试题库
中
的标志位复原。这样就会使每个考生的试卷都不同。考生的其答题信息通过单、复选按钮选择答案来反映。考试结束采取自主交卷和到了规定的时间自动题示有机结合的方式办法予以
实现
。
3.3.4.2用户注册模块
该模块的功能是
实现
用户远程注册。用户输入想要注册的用户名和密码,提交之后由系统判断该用户是否已经存在,如果存在,就给出相应信息,如果不存在,就把用户输入的用户名和密码写到数据库
中
,完成注册。
该文件就是考试界面,
实现
真正的动态随机选题,并对每个考生的考试时间进行监控,到结束时间后自动给出提示。
该文件的总体构架是使用了if else 语句进行了一个选择,刚进入该页面submit1得值肯定不等于“开始考试”,所以先显示出“开始考试”的按钮。按下以后,首先把当前时间以分种为单位存储在session的变量starttime
中
。然后进入随机抽取试题部分,单选题和多选题的抽取很相似,只不过一个是单选按钮,一个是多选按钮罢了。这里只解释单选题的部分。
strid1=""是定义了一个字符串变量,并先赋值为空。
Randomize是产生随机种子,在使用rnd()函数之前一定要先用Randomize产生随机种子才能
实现
其产生0~1之间随机数的功能。
for i=1 to session("singlenumber")直到next是选择singlenumber(代表某科目的单选题数量)个单选题。
下面的代码
实现
了从数据库
中
随机不重复的选题:
set rs=server.createobject("adodb.recordset")
sql="select * from question where subjectname='"&session("selectsubjectname") & "'and type='单选题' and haveselect=0 "
rs.open sql,conn,3,2
count=rs.recordcount
temp=fix(count*rnd(10))
rs.move temp
rs("haveselect")=1
rs.update
strid1=strid1 & rs("ID") & ","
其
中
haveselect标志某题是否已经被选过。
Count变量用来存放所有未被选过的单选题的总数。
temp变量用来存放0~Count之间的随机整数值。
rs.move temp是将当前记录移到第temp条纪录。
rs("haveselect")=1是将当前选出的纪录的标志位设为1,然后用rs.update把数据库
中
的相应标志位改为1。
strid1=strid1 & rs("ID") & ","是将所有选出的试题的id号用逗号分割后存储在strid1一个变量
中
,以方便的把所有选出的试题的id号传到result.Asp文件
中
,这也是本设计的一个独特的地方。需要说明的是strid1变量的最后是一个逗号,在下一个文件
中
会详细说明如何进行处理。
在线考试系统的
实现
摘要:人类已经步入了崭新的21世纪,以Internet技术为代表的信息技术为人类创造了一种新的不受地域、时间和计算机本身的约束的信息交流、共享和协作方式。21世纪是信息化的社会,数据信息应用已进入大规模的服务阶段。考试作为最直接的体现信息化社会
中
人们的知识水平的一种方式,是目前使用最为广泛的形式之一,传统的考试从出题、组卷、印刷,到试卷的分发、答题、收卷、再到判卷、公布成绩,整个过程都需要人工参与,周期长,工作量大,容易出错,还要有适当的保密工作,使的整个考试的成本较大。所以,
实现
无纸化、网络化、自动化的计算机考试系统,具有深远的现实意义和使用价值。
本系统采用B/S模式,采用现在使用广泛的ASP语言和对数据文件安全保护性极好的SQL Server2000设计开发出的一个
实现
在线考试的动态网站—基于Web的考试管理系统,也就是在线考试系统。该系统基本上具备一个网上数据传递的功能,具体分为用户层和管理层两大模块,用户层模块
实现
用户的考试、查询功能;管理
实现
题库的管理、试卷的生成、查询、修改、删除等功能。系统采用三层结构,统一的管理题库,自动组卷,自动判卷,极大的节省了人力、物力,提高了效率。
本文主要介绍了本课题的开发背景,所要完成的功能和开发的过程等,并给出了在开发过程
中
的一些经验体会。
关键词:B/S模式; WEB; 用户层; 管理层
Online Examination System To Achieve
Abstract:We have got into the completely new 21Century, and as the typical of information technology, the internet creates a new way of information exchanged and shared for humans which isn’t restricted by the district, time, and computer itself. The 21-century is an informational society, in which the data information is exerted for a large service scale. The examination, as a way of directly embodying the knowledge of humans in the informational society, is one of the most common forms in present. However, humans have to participate into the whole process of traditional examination, whatever the stages of arranging examination are, such as, collecting the questions, printing, sending, and turning in paper, correcting answers or declaring the results, so that all these stages cause the long cycle, heavy workload, and more mistakes in the course of making an examination. Additionally, we also sometimes should pay attention to the secrecy. The above factors are enabling to raise the examination cost. So, to be the paperless, internalization, and automatic computer examination systems have confounded signification and valuable.
Employing the B/S model, ASP language and the dynamic website developed by the SQL Server2000 and well protecting the data document---- on the basis of Web examination system, actually, the system has a basic foundation of sending internet dates, which is divided into two models, that is, the Consumer and the Administer. The Consumer is to be the foundation of the registration and landing, examination and inquired; the Administer is to be the foundation of the paper management, the paper formation, inquiry, amendment, and delectation. The system has three structures which are separately the unity of the paper management, automatic formation, and automatic correction, so it saves the labour, worthy, and improve the work efficiency.
The paper mainly introduces the developing background, the foundations and the developing process, Meanwhile, we are sharing the experience from the developing.
key words:B/S model ; WEB ; the costume; the domination
PostgreSQL
AUTO INCREMENT(自动增长)
AUTO INCREMENT(自动增长) 会在新记录插入表
中
时生成一个唯一的数字。
PostgreSQL
使用序列来标识字段的自增长,数据类型有 smallserial、serial 和 bigserial 。这些属性类似于 MySQL 数据库支持的 AUTO_INCREMENT 属性。
使用 MySQL 设置自动增长的语句如下:
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_titl
其
中
,condition 是一个布尔表达式,如果条件为真,则执行 THEN 块
中
的语句;否则,执行 ELSE 块
中
的语句。请注意,ELSE 块是可选的。
以下是一个示例,演示了如何在
PostgreSQL
中
使用条件表达式:
```sql
DO $$
DECLARE
num INTEGER := 10;
BEGIN
IF num > 0 THEN
RAISE NOTICE 'Number is positive';
RAISE NOTICE 'Number is zero or negative';
END IF;
END $$;
在上述示例
中
,首先定义了一个名为 num 的变量并初始化为 10。然后使用 IF 语句检查 num 的值是否大于 0。根据条件的结果,分别输出不同的通知。
使用条件表达式可以
实现
更复杂的条件逻辑,包括嵌套的 IF 语句和多个条件的组合。根据具体需求,可以灵活地使用条件表达式来编写
PostgreSQL
查询和存储过程。