语句解压程序

解压程序  时间:2021-02-18  阅读:()

版权所有IBM公司2008,2011商标Informix侦探游戏第1页,共19Informix侦探游戏PatMoffatt信息管理程序经理,IBMAcademicInitiativeIBM2011年7月25日(最初于2008年4月17日)以有趣的方式学习IBMInformix!
通过交互式游戏InformixDetectiveGame学习或讲授Informix和关系数据库的基本知识(这个游戏的主题是犯罪调查).
这个游戏讲解关系数据库概念,演示如何使用技术解决现实的问题.
InformixDetectiveGame基于由JoannaKubasta和JoanneMoore创建的DB2DetectiveGame.
本教程已经针对Informix的近期版本更新了.
开始之前关于本教程本教程通过一个有趣的交互式游戏InformixDetectiveGame向IBMInformix11新用户介绍关系数据库概念.
目标读者是小型企业的老板、学生、教师和教授以及希望了解数据管理的任何人.

目标本教程假设您不了解关系数据库或SQL.
学完本教程之后,您将:了解表、行(记录)、列(字段)和值等数据库概念.
了解关系数据库、数据模型、惟一键、主键、外键和表联结.
了解主要的SQL语句:select、update、insert和delete.
能够使用Informix命令窗口导入数据库.
能够使用dbaccess创建并执行SQL代码.
我们把解决方案放在一个PDF中,可以从本教程下载.
系统需求本教程假设您使用在MSWindows上运行的InformixDevelopersEdition.
要想玩这个游戏,应该安装IBMInformix、装载InformixGame数据库并运行线索文件.
下载Informix1.
如果您还没有在PC上安装Informix11,就从产品下载网站下载Informix.
developerWorksibm.
com/developerWorks/cn/Informix侦探游戏第2页,共192.
用您的IBMID登录.
选择InformixDeveloperEditionWindows32Version11.
70xxxDE并单击Continue.
3.
提供要求的信息并接受许可协议.
单击Iconfirm继续.
4.
确认选择的是InformixDeveloperEditionWindows32而且文件版本号是11.
70.
单击DownloadNow.
注意:如果已经安装了Informix,就不需要安装软件的另一个拷贝.
跳到本教程的"安装InformixDetectiveGame数据库"小节.
安装Informix1.
完成下载之后,进入包含下载文件的文件夹.
2.
解压文件.
选择解压并安装文件的选项.
3.
如果解压程序没有提供安装选项,那么在解压生成的文件夹中找到并单击ids_install.
exe.
4.
安装向导会带领您完成软件安装过程.
5.
为了成功地完成安装,对于每个许可协议都单击Accept.
另外,对于每个安装类型都选择Typical,要记住要求您创建的所有Informix用户和密码.
安装InformixDetectiveGame数据库1.
确认已经安装了Informix.
2.
从本教程的下载小节下载InformixDetectiveGame数据库文件.
3.
在C驱动器中创建目录informixgame.
4.
把InformixDetectiveFile.
zip文件解压到此目录中.
5.
在WindowsStart菜单中,选择AllPrograms>IBMInformix11.
70>ol_informix1170.
会出现一个命令提示窗口.
6.
在命令提示中,输入cd\informixgame进入informixgame目录.
为了创建数据库,需要输入dbaccesssysmastercreatetables.
sql.
应该会看到消息DatabasecreatedandDatabaseclosed.
7.
在下一行上,输入SETDBDATE=y4md-以设置日期格式.
8.
然后,输入dbaccessinformixgameloadtables.
sql在游戏数据库中创建表.
如果看到指出装载的行数的四个消息,就说明成功地创建了表.
消息应该分别指出装载了151、140、10和140行.
9.
关闭命令提示窗口.
运行InformixDetectiveGame要想运行游戏的线索文件(INFORMIXGAME.
JAR),必须把它设置为用JavaVirtualMachine(JVM)软件(比如JAVAW.
EXE)打开.
设置步骤如下:1.
右键单击INFORMIXGAME.
JAR文件.
2.
单击Properties.
3.
单击General选项卡.
4.
把Typeoffile指定为ExecutableJarFile.
5.
Openwith窗口应该会显示已经在计算机上本地安装的JVM.
如果不是这样,单击Change.
6.
在OpenWith弹出窗口中,找到并选择JVM软件,比如JAVAW.
EXE.
7.
单击OK.
8.
单击Apply.
ibm.
com/developerWorks/cn/developerWorksInformix侦探游戏第3页,共199.
再次单击OK.
现在可以启动INFORMIXGAME.
JAR文件.
可以双击图标,也可以为文件创建快捷方式以方便访问.
执行SQL命令1.
在Windowsstart菜单中,选择AllPrograms>IBMInformix11.
70>ol_informix1170.
2.
在命令提示窗口中,输入dbaccess.
DBAccess窗口打开.
3.
在界面顶部的主菜单中,选择Query-language.
4.
在数据库列表中选择informixgame@ol_informix1170.
5.
在Query-language菜单中选择New.
6.
输入一个SQL语句.
7.
按Esc键退出编辑器.
8.
选择Run运行SQL语句.
为InformixDetectiveGame创建快捷方式按以下步骤在桌面上为INFORMIXGAME.
JAR文件创建快捷方式:1.
右键单击桌面上的任何地方.
2.
选择New>Shortcut.
3.
在Typethelocationoftheitem框中,输入C:\informixgame\informixgame.
jar.
4.
单击Next.
5.
在Typeanameforthisshortcut框中,输入informixgame(在默认情况下它应该已经出现了).
6.
单击Finish.
关于使用Informix的提示1.
使用dbaccess执行SQL语句:在Windowsstart菜单中,选择AllPrograms>IBMInformix11.
70>ol_informix1170.
会弹出命令提示窗口.
在命令提示窗口中,输入dbaccess.
在dbaccess主菜单中,选择Query-language.
在数据库列表中选择informixgame@ol_informix1170.
在Query-language菜单中单击New.
输入一个SQL语句.
按Esc键退出编辑器.
选择Run运行SQL语句.
2.
修改以前的SQL语句:在Display菜单中,单击Exit.
在SQL菜单中,单击Modify.
编辑以前的SQL语句.
完成编辑之后,按Esc键.
单击Run.
3.
如果显示的字段的宽度小于80个字符,会按表格格式显示结果.
4.
如果显示的字段的宽度大于80个字符,每个记录的结果按表中的字段定义跨多行显示.
5.
要想看到SQL语句的记录数,可以单击Next直到显示获取的记录数.
developerWorksibm.
com/developerWorks/cn/Informix侦探游戏第4页,共19现在可以开始玩游戏了!
游戏场景您是在一个大型企业的保安部门工作的实习生.
在培训期间,您要参加一次犯罪调查模拟训练,目标是找到丢失的ThinkPad计算机.
通过玩InformixDetectiveGame学习Informix和关系数据库管理的基本知识.
了解如何在业务场景中应用数据库技术以帮助管理公司的信息.
这个入门级教程教授基本的SQL技能,让您能够更好地玩InformixDetectiveGame.
祝好运,玩得开心!
Informix和关系数据库简介什么是关系数据库数据库是存储在表中的数据的集合,每个表由行和列组成.
可以把数据库看作替代文件柜的自动系统,数据库就相当于文件柜,表相当于文件柜中的文件夹,文件夹中的数据相当于由行(记录)和列(字段)组成的电子表格,表格的每个单元格包含一个值.
但是,因为数据库是自动的,可以使用它们方便地管理和组织数据,可以快速地获取数据、分析数据并使用数据做出重要的业务决策.

通过使用数据库,可以轻松地添加、更新、删除和搜索(即查询)数据.
所有行业都使用数据库管理各方面的数据,比如信用卡使用情况、银行账户、保险、税务和消费等等.

在Informix这样的关系数据库中,按照在各个表中的数据项之间定义的关系组织并访问数据.
可以使用StructuredQueryLanguage(SQL)管理这些表中的数据,SQL是用于在关系数据库中定义和操纵数据的标准语言.
本教程会介绍关系数据库概念和主要的SQL语句.
表、记录、字段和值在Informix这样的关系数据库中,数据表示为表的集合:数据库由表的集合组成.
表由按列和行组织的数据组成.
表中的数据在逻辑上是相关的,可以在数据库中的表之间定义关系.
使用数学原理和关系操作查看和管理数据,使用SQL(StructuredQueryLanguage)访问表数据.
一个常规的表可以包含最多500列、任意数量的行和最多64GB数据(不包括大对象).
表中的每个单元格存储一个数据项(即值).
表中的每个列(即字段)由相同类型的值组成.
表中的每个行(即记录)由一系列值组成,每个列一个值.
InformixDetectiveGame数据库包含四个表:employee、hardware、lobby和security.
下图显示InformixDetectiveGame的数据模型.
数据模型是数据库中各个表和它们之间的关系的图形化表述.
ibm.
com/developerWorks/cn/developerWorksInformix侦探游戏第5页,共19图1.
InformixDetectiveGame数据模型前面的数据模型说明InformixDetectiveGame数据库由四个表组成:employee、hardware、lobby和security.
它还显示每个表中存储的信息的类型:employee表存储每个职员的相关信息,比如职员号、姓名、经理、办公室号、电话号码和证件编号.
security表存储每个职员或访问者进入和离开建筑的日期和时间.
lobby表按姓名存储分配给每个访问者的证件编号.
hardware表存储每台计算机的序列号和类型编号,以及它的位置和其主要用户的职员ID.
图2中的示例显示employee表中存储的数据的一部分.
注意,这个输出屏幕是以下SQL语句的结果:SELECTemployee_id,first_name,last_name,location,manager_idFROMemployee.
developerWorksibm.
com/developerWorks/cn/Informix侦探游戏第6页,共19图2.
Employee表中存储的数据的一部分在前面显示的employee表中,包含以下列(即字段):employee_idfirst_namelast_namelocationmanager_idextensiongenderhair_colourbadge_numberrestricted_access注意,这个表中有许多记录,但是这里只显示数据的一部分.
单击Next可以看到更多记录.
表的每个单元格包含一个值.
在创建表时设置每个字段可接受的值(即数据类型),包括数字、字符串、二进制串及日期和时间数据类型:数字—整数、小数或浮点数字符串—字符、数字和/或符号或图形的序列二进制串—音频或视频文件等二进制对象日期时间—专门用来表示日期和时间的数据类型例如,在employee表中最后一个记录的first_name字段的值是William(一个字符串).
SQL语句SQL语句关系数据库技术使用的语言是StructuredQueryLanguage(SQL).
SQL语言是由IBM在上世纪70年代发明的,之后发展成为访问关系数据库数据的惟一方法.
ibm.
com/developerWorks/cn/developerWorksInformix侦探游戏第7页,共19用于获取或更新数据的主要SQL语句是:SELECT—查询一个或多个表中的数据INSERT—在表中添加新的行UPDATE—修改表中现有的行DELETE—从表中删除行本教程依次讲解这些SQL语句.
SELECT语句使用SELECT语句从一个或多个表获取数据.
SELECT语句的语法如下:SELECTcolumn[,n]FROMtablename{,n};例如,如果希望选择lobby表中的所有行和列,不指定任何条件,那么执行以下语句:SELECT*FROMlobby这个语句生成图3所示的结果.
图3.
不带条件的SELECT语句的结果如果希望选择lobby表中访问者的证件编号大于62的所有行和列,那么执行以下语句:SELECT*FROMlobbyWHEREbadge_number>'V0062'这个语句生成图4所示的结果.
developerWorksibm.
com/developerWorks/cn/Informix侦探游戏第8页,共19图4.
带条件的SELECT语句的结果如果希望只选择lobby表中访问者的证件编号大于62的所有行的某些列(例如first_name和last_name),那么执行以下查询:SELECTfirst_name,last_nameFROMlobbyWHEREbadge_number>'V0062'(注意,需要用逗号分隔在SELECT语句中指定的每个列.
还要注意,可以使用WHERE子句指定需要满足的条件.
)前面的语句生成图5所示的结果.
图5.
指定条件和列子集的SELECT语句的结果还可以使用ORDERBY子句对行进行排序.
例如,如果希望按访问者的姓氏以字母表次序显示证件编号大于62的所有记录,那么执行以下语句:SELECT*FROMlobbyWHEREbadge_number>'V0062'ORDERBYlast_nameASC(注意,可以按升序(ASC)或降序(DESC)排序.
)ibm.
com/developerWorks/cn/developerWorksInformix侦探游戏第9页,共19这个语句生成图6所示的结果.
图6.
带条件的SELECT语句的排序结果SELECT语句可以接受任意数量的关系操作符,包括即不等于),以及许多谓词,包括LIKE、NOTLIKE、ISNULL、ISNOTNULL、BETWEEN、NOTBETWEEN、IN和NOTIN.
尽管本教程并不讨论所有操作符,但是会介绍可能会在InformixDetectiveGame中用到的一些操作符.
在前面的一些SELECT语句示例中,看到了如何使用>(大于)操作符根据证件编号筛选出某些访问者.
可以以相同的方式使用和操作符.
下面介绍BETWEEN谓词,在玩InformixDetectiveGame时使用它可能很方便.
BETWEEN谓词对单一值和一个包含边界的值范围进行比较(换句话说,选择在指定的最大值和最小值之间的所有值).
例如,要想寻找证件编号在59和66之间的所有访问者的相关数据,那么执行以下语句:SELECT*FROMlobbyWHEREbadge_numberBETWEEN'V0059'AND'V0066'这个语句生成图7所示的结果.
developerWorksibm.
com/developerWorks/cn/Informix侦探游戏第10页,共19图7.
使用BETWEEN谓词的SELECT语句的结果INSERT语句使用INSERT语句在表中添加数据.
这个语句的语法如下:INSERTINTOtablename[(column_name1,column_name2,.
.
.
)]VALUES(value1,value2,.
.
.
);例如,要想在lobby表中添加名为InformixDetective的访问者,那么执行以下语句:INSERTINTOlobby(first_name,last_name,badge_number)VALUES('Informix','Detective','V0062')这个语句在表中生成图8所示的结果.
图8.
INSERT语句的结果UPDATE语句使用UPDATE语句修改表中的数据.
可以使用这个语句修改满足WHERE子句中指定的搜索条件的每一行的一列或多列的值.
这个语句的语法如下:UPDATEtablenameSETcolumn_name1=expression1,column_name2=expression2,.
.
.
[WHEREconditions_for_rows_to_meet_if_any];ibm.
com/developerWorks/cn/developerWorksInformix侦探游戏第11页,共19注意:如果不使用WHERE子句,就会更新所有行.
例如,要想把证件编号为58的访问者的名字改为Joan,那么执行以下语句:UPDATElobbySETfirst_name='Joan'WHEREbadge_number='V0058'现在,在查询lobby表时,会看到图9所示的结果.
图9.
带条件的UPDATE语句的结果如果省略WHERE子句并执行以下命令:UPDATElobbySETfirst_name='Joan'就会把所有访问者的名字更新为Joan,见图10.
图10.
不带条件的UPDATE语句的结果DELETE语句使用DELETE语句删除表中的记录.
这个语句的语法如下:developerWorksibm.
com/developerWorks/cn/Informix侦探游戏第12页,共19DELETEFROMtablename[WHEREconditions_for_rows_to_meet_if_any];例如,我们来看一下lobby表中的所有数据,见图11.
图11.
Lobby表中存储的数据要想删除lobby表中证件编号为62的访问者的记录,那么执行以下语句:DELETEFROMlobbyWHEREbadge_number='V0062'这个语句生成图12所示的结果.
图12.
带条件的DELETE语句的结果badge_numberV0062的记录已经成功地删除了.
联结表惟一键、主键和外键根据定义,关系数据库的各个表中的数据是相关的,所以称为关系数据库.
在关系数据库表中,总是有一列或多列可以惟一地标识每一行.
这些惟一标识符被称为惟一键.
看一下图13所示的employee表.
ibm.
com/developerWorks/cn/developerWorksInformix侦探游戏第13页,共19图13.
Employee表中存储的数据的一部分看一下employee表,first_name、last_name、manager_id、gender、hair_colour和restricted_access列都不能作为惟一键,因为它们不是行的惟一标识符.
注意:第三和第四个记录的first_name值都是Oleg.
第三和第四个记录的last_name值都是Glembotsky.
第一和第二个记录的manager_id值都是278354.
第一和第二个记录的gender值都是M.
第二和第三个记录的hair_colour值都是black.
第一和第二个记录的restricted_access值都是N.
注意:这里没有显示gender、hair_colour和restricted_access字段.
关系数据库中的表还可能有主键.
主键用于把一个表中的记录与另一个表中的相关记录联结起来.

一定要注意,每个表只能有一个主键,这个主键必须也是惟一键.
在选择主键时,最好选择值保持静态的列.
看一下employee表,location、manager_id和extension不能作为主键,因为对于一个职员这些值会随时间变动,因此不是静态的.
根据"主键必须是惟一键和静态字段"这个条件,employee表可以使用的主键是employee_id和badge_number.
在创建InformixDetectiveGame数据库时,指定employee_id作为employee表的主键.
InformixDetectiveGame的数据模型显示InformixDetectiveGame数据库中每个表的主键以及在各个表之间定义的关系,见图14.
developerWorksibm.
com/developerWorks/cn/Informix侦探游戏第14页,共19图14.
InformixDetectiveGame数据模型正如前面提到的,employee_id是employee表的主键.
employee_id也是hardware表中的字段.
在数据模型中可以看到,使用employee_id在employee表和hardware表之间定义了关系(由箭头表示).
employee_id是hardware表的外键,因为它被定义为与employee表的主键相关联.
注意,hardware和employee表也都包含location字段,但它既不是主键,也不是外键.
因为职员的位置(即办公室号)会变动,所以位置不是静态字段,不能定义为主键或外键.

数据模型还表明,badge_number是security表的主键,它还是employee表和lobby表的外键(在图14中由箭头表示).
主键和外键定义数据库中表之间的关系,可以用它们把表链接在一起.
把来自关系数据库中两个或更多表的数据组合起来的过程称为"表联结".
例如,假设需要知道使用序列号为78-23672的硬件资产的职员的姓名.
查询hardware表的所有字段只能查明使用每台计算机的人的employee_id(见图15,与employee表一样,只显示第一组记录).
ibm.
com/developerWorks/cn/developerWorksInformix侦探游戏第15页,共19图15.
Hardware表中存储的数据的一部分为了看到拥有硬件的职员的姓名,hardware表必须与employee表联结.
能够联结这两个表是因为在它们之间定义了关系.
employee_id是employee表的主键,也是hardware表的外键.
使用以下语句执行联结:SELECT*FROMemployee,hardwareWHEREemployee.
employee_id=hardware.
employee_id注意:要想看到图16所示的采用表格布局的结果,应该执行以下语句:SELECTemployee.
employee_id,employee.
last_name,employee.
first_name,hardware.
hardware_snFROMemployee,hardwareWHEREemployee.
employee_id=hardware.
employee_id图16.
联结Employee和Hardware表的结果现在报告了每台计算机的所有者姓名.
再看一下图17所示的InformixDetectiveGame数据模型.
developerWorksibm.
com/developerWorks/cn/Informix侦探游戏第16页,共19图17.
InformixDetectiveGame数据模型注意,可以执行下面的表联结:security(主键是badge_number)到lobby(外键是badge_number)security(主键是badge_number)到employee(外键是badge_number)employee(主键是employee_id)到hardware(外键是employeee_id)还要注意,不能联结下面的表,因为在它们之间没有定义关系:employee到lobbyhardware到lobbyhardware到security结束语在本教程中,您使用InformixDetectiveGame和游戏数据库以有趣的方式学习了数据库概念.
下载并安装了Informix,然后学习了关系数据库、数据模型、惟一键、主键、外键和表联结的知识.
了解了主要的SQL语句,还使用Informix命令窗口导入了数据库,使用dbaccess创建并执行了SQL代码.
ibm.
com/developerWorks/cn/developerWorksInformix侦探游戏第17页,共19下载描述名字大小游戏文件InformixDetectivefile.
zip14KB教师手册(带解决方案)Informix_Detective_Instructor.
pdf507KB学生手册(不带解决方案)Informix_Detective_Student.
pdf400KB解决方案Informix_Detective_Solution.
pdf45KBdeveloperWorksibm.
com/developerWorks/cn/Informix侦探游戏第18页,共19参考资料学习您可以参阅本文在developerWorks全球网站上的英文原文.
InformixDynamicServer11系统管理(918考试)认证指南系列教程:这个系列包含8个免费教程,可以帮助您准备IBMCertifiedSystemAdministrator:IBMInformix11认证考试(918考试).
这些教程为考试的每个部分提供坚实的知识基础.
IBMCertifiedSystemAdministrator-InformixDynamicServerV11:如果您掌握丰富的InformixV11知识,具有Informix数据库日常管理所需的中高级技能,就可能受益于这个认证.
Informix培训:寻找进一步进行Informix培训所需的所有东西.
developerWorksIBMInformix产品专题:关于Informix的更多信息.
寻找技术文档、how-to文章、培训、下载、产品信息以及其他资源.
InformationManagementTraining:这个网站的"Informix"部分提供Informix培训路径,帮助您高效、有效地培养技能.
Informix信息中心:寻找使用Informix产品系列和特性所需的信息.
Informix:针对管理员的信息路线图:寻找在所有方面需要的Informix文档—计划、设计、迁移、安装、配置、管理、开发、安全性、调优、排除故障和培训.

CloudServer:$4/月KVM-2GB/50GB/5TB/三个数据中心

CloudServer是一家新的VPS主机商,成立了差不多9个月吧,提供基于KVM架构的VPS主机,支持Linux或者Windows操作系统,数据中心在美国纽约、洛杉矶和芝加哥机房,都是ColoCrossing的机器。目前商家在LEB提供了几款特价套餐,最低月付4美元(或者$23.88/年),购买更高级别套餐还能三个月费用使用6个月,等于前半年五折了。下面列出几款特别套餐配置信息。CPU:1cor...

数脉科技香港物理机 E3 16G 10M 华为线路165元 阿里云线路 188元 Cera线路 157元

2021年9月中秋特惠优惠促销来源:数脉科技 编辑:数脉科技编辑部 发布时间:2021-09-11 03:31尊敬的新老客户:9月优惠促销信息如下,10Mbps、 30Mbps、 50Mbps、100Mbps香港优质或BGPN2、阿里云线路、华为云线路,满足多种项目需求!支持测试。全部线路首月五折起。数脉官网 https://my.shuhost.com/香港特价数脉阿里云华为云 10MbpsCN...

华为云(69元)828促销活动 2G1M云服务器

华为云818上云活动活动截止到8月31日。1、秒杀限时区优惠仅限一单!云服务器秒杀价低至0.59折,每日9点开抢秒杀抢购活动仅限早上9点开始,有限量库存的。2G1M云服务器低至首年69元。2、新用户折扣区优惠仅限一单!购云服务器享3折起加购主机安全及数据库。企业和个人的优惠力度和方案是不同的。比如还有.CN域名首年8元。华为云服务器CPU资源正常没有扣量。3、抽奖活动在8.4-8.31日期间注册并...

解压程序为你推荐
邮箱群发如何用邮箱群发广告邮件?96155北京公积金96155客户服务电话,怎么一步一步进到修改还款额度的地方?简体翻译成繁体帮忙把繁体翻译成简体雅虎社区雅虎是中国的吗邮箱打不开怎么办我的邮箱打不开怎么办bluestacksBlueStacks是什么?在PC上畅玩Android 45万款应用童之磊湖北中文在线数字出版有限公司怎么样?iphone越狱后怎么恢复已经越狱的iphone怎么恢复到原来的系统godaddyGodaddy域名怎么接受ejb开发EJB是什么?
域名解析服务器 便宜建站 好玩的桌面 国外在线代理 卡巴斯基永久免费版 台湾谷歌地址 阿里云浏览器 web服务器架设 百兆独享 789电视网 卡巴斯基试用版 息壤代理 吉林铁通 空间购买 域名与空间 lamp什么意思 lamp兄弟连 攻击服务器 阿里云邮箱个人版 腾讯云平台 更多