Informix数据库培训教程(下).pdf

上传人:赵** 文档编号:21133102 上传时间:2022-06-18 格式:PDF 页数:37 大小:1.27MB
返回 下载 相关 举报
Informix数据库培训教程(下).pdf_第1页
第1页 / 共37页
Informix数据库培训教程(下).pdf_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《Informix数据库培训教程(下).pdf》由会员分享,可在线阅读,更多相关《Informix数据库培训教程(下).pdf(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第十一章第十一章 informix_onlineinformix_online 动态服务器性能调整动态服务器性能调整所谓性能调整就是平衡时间、空间、资金、可靠性等几个因素之间的关系,使设备达到最所谓性能调整就是平衡时间、空间、资金、可靠性等几个因素之间的关系,使设备达到最好的使用效果。其中任何一个因素的改变都会影响到其他因素的变动,要想单纯的改变某一个好的使用效果。其中任何一个因素的改变都会影响到其他因素的变动,要想单纯的改变某一个因素是不可能的。只能尽量地接近而不能超越最优状况下的实际性能。因素是不可能的。只能尽量地接近而不能超越最优状况下的实际性能。一、一、 影响性能的主要因素影响性能的主

2、要因素CPUCPU 要素要素指令执行的时间、处理时间和指令执行的时间、处理时间和 CPUCPU利用率。利用率。磁盘要素磁盘要素访问时间访问时间内存要素内存要素实际内存需求量、换页率、对换和实际内存需求量、换页率、对换和I/OI/O 访问时间。访问时间。二、二、 进行性能评测的工具进行性能评测的工具硬件厂商提供的工具硬件厂商提供的工具1 1、timetime:显示执行一个程序所耗费的时间。:显示执行一个程序所耗费的时间。2 2、vmstat:vmstat:报告有关进程、内存、磁盘和报告有关进程、内存、磁盘和 CPUCPU 的统计信息。的统计信息。3 3、sar:sar:用来查看系统的实时记录。用

3、来查看系统的实时记录。INFORMIXINFORMIX 工具工具1 1、onstat:onstat:列出在命令运行的瞬间列出在命令运行的瞬间 OnlineOnline 共享内存结构中的情况。共享内存结构中的情况。2 2、oncheckoncheck:用于修复磁盘中受到破坏的索引和数据页,还可用于监测:用于修复磁盘中受到破坏的索引和数据页,还可用于监测OnlineOnline 系系统磁盘上的其它数据结构。统磁盘上的其它数据结构。三、三、 性能调整的几个方面性能调整的几个方面合理的磁盘布局合理的磁盘布局1 1磁盘布局的目标是平衡所有设备的磁盘布局的目标是平衡所有设备的I/OI/O 操作!操作!2

4、2确定磁盘布局的步骤确定磁盘布局的步骤检查应用的检查应用的 SQLSQL 以决定以决定 I/OI/O 的频繁程度的频繁程度 1 1、vmstat -g iof (vmstat -g iof (对已使用的数据库对已使用的数据库) ) 2 2、检查应用、检查应用(对未使用的数据库)(对未使用的数据库)找出使用最频繁的表找出使用最频繁的表确定确定 onlineonline系统可使用的磁盘资源系统可使用的磁盘资源决定如何在磁盘间分布决定如何在磁盘间分布 I/OI/O 3 3如何进行磁盘布局如何进行磁盘布局分割的种类分割的种类1 1、表的分割表的分割2 2、索引的分割索引的分割分割的方式分割的方式11

5、1、基于表达式方式分割基于表达式方式分割特点:数据的存取是不均匀分布的、查询的选择性很强、基于列的某个条件的特点:数据的存取是不均匀分布的、查询的选择性很强、基于列的某个条件的查询可以消除某些分片的查询。查询可以消除某些分片的查询。2 2、基于循环方式分割基于循环方式分割特点:数据的均匀分布、最高的数据可用性、没有了对表达式进行求值的过程特点:数据的均匀分布、最高的数据可用性、没有了对表达式进行求值的过程从而可得到最高的数据装载效率。从而可得到最高的数据装载效率。数据分割的原则数据分割的原则1 1、对对 DSSDSS重点是数据的分割重点是数据的分割2 2、对对 OLTPOLTP重点是索引的分割

6、重点是索引的分割3 3、对顺序扫描读的表采用循环方式进行分割对顺序扫描读的表采用循环方式进行分割4 4、分割表达式应尽量简单、分割表达式应尽量简单、5 5、尽量将最可能满足的表达式放在前面尽量将最可能满足的表达式放在前面6 6、避免在表达式中有类型转换操作避免在表达式中有类型转换操作7 7、不要针对经常改变的字段进行分割不要针对经常改变的字段进行分割ChunkChunk 的影响的影响 Chunk Chunk加到系统中的顺序也会影响系统的性能。因为在系统检查点期加到系统中的顺序也会影响系统的性能。因为在系统检查点期间,间,给给 ChunkChunk分配清页线索是根据分配清页线索是根据 Chunk

7、Chunk加到系统中的顺序进行的。加到系统中的顺序进行的。临时空间的建立临时空间的建立如果系统支持如果系统支持 DSSDSS 查询,就需要频繁的创建和使用临时表和排序文件,查询,就需要频繁的创建和使用临时表和排序文件,那么临时数据空间的位置对性能的影响是很大的,此时应考虑建立一个或多个临时那么临时数据空间的位置对性能的影响是很大的,此时应考虑建立一个或多个临时空间,并且不同的临时空间应尽量分布在不同的磁盘上,道理同空间,并且不同的临时空间应尽量分布在不同的磁盘上,道理同ChunkChunk顺序。顺序。4 4。磁盘布局地监控。磁盘布局地监控onstat -g iofonstat -g iof命令

8、监控磁盘活动。命令监控磁盘活动。使用使用 UNIXUNIX 工具工具 sar -d 1 5sar -d 1 5 显示磁盘利用率。显示磁盘利用率。5 5磁盘布局的改变磁盘布局的改变用用 ALTER FRAGMENTALTER FRAGMENT 语句改变现有磁盘布局。该语句可以重新设置新的分割策略,可以语句改变现有磁盘布局。该语句可以重新设置新的分割策略,可以增加、删除、修改一个分片,可以将几个结构相同的表合并或将一个表分成几个结构相同的增加、删除、修改一个分片,可以将几个结构相同的表合并或将一个表分成几个结构相同的表。表。正正确地调整影响确地调整影响 I/OI/O 性能的几个参数性能的几个参数1

9、 1缓缓冲区参数的设置冲区参数的设置OLTPOLTP 环境下,应将共享内存的大部分分配到驻留部分。环境下,应将共享内存的大部分分配到驻留部分。DSSDSS 环境下,应将共享内存的大部分分配到虚拟部分。环境下,应将共享内存的大部分分配到虚拟部分。2 2N NUMAIOVPSUMAIOVPS 参数的设置参数的设置KAIOKAIO (核心异步(核心异步 I/OI/O)和)和 AIOAIO 的概念以及两者的区别。的概念以及两者的区别。Onstat -g athOnstat -g ath 监测系统是否使用监测系统是否使用 SAIOSAIO。配置配置 NUMAIOVPSNUMAIOVPS 参数参数1 1、

10、对对于使用于使用 KAIOKAIO 并且所有并且所有 chunkchunk 都是原始设备的都是原始设备的 OnlineOnline 系统,系统,只需把只需把 NUMIOVPSNUMIOVPS 设为设为 1 1 或或 2 2。2 2、对对于不使用于不使用 KAIOKAIO 的的 OnlineOnline 系统,应把系统,应把 AIO vpAIO vp 的数目设置成存放数据库表的数目设置成存放数据库表的磁盘的数目。的磁盘的数目。3 3、对对于同时使用了核心于同时使用了核心 AIOAIO 和操作系统文件设备的和操作系统文件设备的 OnlineOnline 系系2统,应把统,应把 AIO vpAIO

11、vp 的数目设置成与使用操作系统文件设备来做的数目设置成与使用操作系统文件设备来做chunkchunk 以存以存放数据库表的磁盘的数目。放数据库表的磁盘的数目。监控监控 I/OI/O 队列长度队列长度使用使用 onstat -g ioqonstat -g ioq 命令列出有关命令列出有关 I/OI/O 请求队列长度的信息。请求队列长度的信息。3 3L LRURU 队列参数据的设置队列参数据的设置LRULRU(最少最近使用)队列的作(最少最近使用)队列的作用来管理工共享内存缓冲区。用来管理工共享内存缓冲区。如何配置如何配置 LRULRU 队列的数目(由参数队列的数目(由参数 LRUSLRUS 决

12、定)决定)配置配置 LRULRU 队列的数目的目的是减少队列的数目的目的是减少 LRULRU 队列的长度!队列的长度!1 1、对对大型多处理系统,一般将大型多处理系统,一般将 LRUSLRUS 设成设成 CPU vpCPU vp 的数量。的数量。2 2、对对单处理机系统或小型多处理系统,将单处理机系统或小型多处理系统,将LRUSLRUS 设为设为 4 4。3 3、L LRURU 队列数的取值范围是队列数的取值范围是 4-324-32 个。个。配置配置 LRULRU 百分比的原则百分比的原则1 1、LRU_MAX_DIRTYLRU_MAX_DIRTY 和和 LRU_MIN_DIRTYLRU_MI

13、N_DIRTY 参数。参数。2 2、百分比设得过高时。百分比设得过高时。3 3、百分比设得过低时。百分比设得过低时。监控监控 LRULRU 队列队列onstat -Ronstat -R 命令显示命令显示 LRULRU 队列中队列中 FLRUFLRU 和和 MLRUMLRU 所占的百分比。所占的百分比。4 4有有关检查点活动参数的设置关检查点活动参数的设置检查点的概念检查点的概念检查点持续时间和间隔的概念检查点持续时间和间隔的概念5 10 15 20 255 10 15 20 25检查点持续时间性检查点持续时间性检查点间隔检查点间隔影响检查点持续时间的因素影响检查点持续时间的因素1 1、有多少脏

14、页需要从缓冲写到磁盘上。有多少脏页需要从缓冲写到磁盘上。缓冲池的大小缓冲池的大小LRULRU 参数参数2 2、脏页能够写多快。脏页能够写多快。磁盘的数量和速度磁盘的数量和速度磁盘布局磁盘布局清页线索的数量清页线索的数量影响检查点间隔的因素影响检查点间隔的因素1 1、C CHPTINTVLHPTINTVL参数参数2 2、物物理日志的大小理日志的大小3 3、系系统中的写操作。统中的写操作。4 4、一一些系统的管理操作。些系统的管理操作。5 5、 OnlineOnline系统管理员强制执行。系统管理员强制执行。5 5清清页线索的监控页线索的监控OnlineOnline缓冲区写操作的类型缓冲区写操作的

15、类型31 1、ChunkChunk写写2 2、LRULRU 写写3 3、前台写前台写监控清页线索的活动监控清页线索的活动1 1、清页线索活动的发生。清页线索活动的发生。2 2、清页线索的数目是通过清页线索的数目是通过 CLEANERSCLEANERS参数来确定的。参数来确定的。3 3、使用命令使用命令 onstat -Fonstat -F显示关于清页线索活动的详细信息。显示关于清页线索活动的详细信息。4 4、对于面向批处理的系统应把对于面向批处理的系统应把 LRULRU的百分比定的高一些。的百分比定的高一些。检查点间隔中和检查点期间的页清理活动的区别检查点间隔中和检查点期间的页清理活动的区别1

16、 1、检查点期间是检查点期间是 chunk chunk写,比较有效,而检查点间隔中是写,比较有效,而检查点间隔中是 LRULRU写。写。2 2、检查点间隔中的页清理活动不引起其它用户进程等待,而检查点期间检查点间隔中的页清理活动不引起其它用户进程等待,而检查点期间的页清理活动正好相反。的页清理活动正好相反。6 6合合理调整日志缓冲区理调整日志缓冲区为获得优化的性能,应把物理和逻辑日志缓冲区配置的足够大,以尽量减少把为获得优化的性能,应把物理和逻辑日志缓冲区配置的足够大,以尽量减少把物理日志和逻辑日志写到磁盘上所需的物理物理日志和逻辑日志写到磁盘上所需的物理I/OI/O的数量。的数量。使用命令使

17、用命令 onstat -lonstat -l 的输出信息来判断日志缓冲区的大小是否是优化的。的输出信息来判断日志缓冲区的大小是否是优化的。(bufsizebufsize和和 pgaes/iopgaes/io两个参数。)两个参数。)7 7预预读的配置读的配置预读的概念预读的概念预读参数:预读参数:RA_PAGESRA_PAGES和和 RA_THRESHOLDRA_THRESHOLD监控预读:监控预读:onstat -ponstat -p数据库性能策略数据库性能策略1 1数据库日志模式和性能的关系数据库日志模式和性能的关系缓冲日时局模式:数据库先将事务记录发送到一内存缓冲区内,当缓冲区满时缓冲日时

18、局模式:数据库先将事务记录发送到一内存缓冲区内,当缓冲区满时写到磁盘上。写到磁盘上。非缓冲日志模式:数据库也是先将事务记录发送到一内存缓冲区内,但一旦有非缓冲日志模式:数据库也是先将事务记录发送到一内存缓冲区内,但一旦有一个事务提交,内存缓冲区马上被写到磁盘上。一个事务提交,内存缓冲区马上被写到磁盘上。2 2添加索引对系统性能的影响添加索引对系统性能的影响 B+ B+树的概念树的概念节点节点节点节点节点节点节点内存缓冲区索引的填充度(参数索引的填充度(参数 FILLFACTORFILLFACTOR决定)的概念决定)的概念412 18 24 30节点节点监控索引的填充度监控索引的填充度onche

19、ck -pT database:tableoncheck -pT database:table有效的使用有效的使用 BLOBBLOB大型的大型的 BLOBBLOB 数据应放在数据应放在 blobspaceblobspace 上。由于上。由于 BLOBBLOB 数据占据的空间比较数据占据的空间比较大,可能占据缓存中的几个页,和其它数据一起存放会降低整个大,可能占据缓存中的几个页,和其它数据一起存放会降低整个OnlineOnline 系统的缓系统的缓存命中率。存命中率。 BLOB BLOB 页的大小应设置成在页的大小应设置成在 blobspaceblobspace 中的中的 BLOBBLOB 数据

20、的平均长度。数据的平均长度。合合理配置理配置 CPU vpsCPU vps1.CPU vp1.CPU vp 类将所有密集类将所有密集 CPUCPU 活动的操作放在其中的进程上运行,从而使这些进程总活动的操作放在其中的进程上运行,从而使这些进程总保持工作而较少睡眠。要想提高系统性能,应尽量使该类保持工作而较少睡眠。要想提高系统性能,应尽量使该类VPVP 保持忙碌。保持忙碌。2 2监测监测 CPU vpCPU vp的使用的使用onstat -onstat -g glog glo显示正在运行的显示正在运行的 vpvp的的 CPUCPU使用情况的信息。使用情况的信息。Onstat -g reaOnst

21、at -g rea用来监测就绪队列中的项目情况。用来监测就绪队列中的项目情况。 3 3合理调整合理调整 CPU vpsCPU vps对单或双处理器系统对单或双处理器系统1 1、临临界区的概念。界区的概念。2 2、S SINGINE_CPU_VP=1,INGINE_CPU_VP=1,避免了很多的临界区调用。避免了很多的临界区调用。3 3、M MULTIPROCESSOR=0ULTIPROCESSOR=0对于多处理器系统,调整该参数将对性能产生显著影响,但应遵循以下原则:对于多处理器系统,调整该参数将对性能产生显著影响,但应遵循以下原则:1 1、一一次只增加一个次只增加一个 CPU vp.CPU

22、vp.2 2、C CPU vpPU vp 的数量不要越过硬件处理器的数量。的数量不要越过硬件处理器的数量。3 3、应应随时检查系统处理器的使用率。随时检查系统处理器的使用率。正正确使用内存确使用内存1 1OnlineOnline 系统中共享内存的三个部分系统中共享内存的三个部分驻留部分:包含缓冲区缓存和其它系统信息。驻留部分:包含缓冲区缓存和其它系统信息。虚拟部分:包含会话和线索所使用的各种内存池。虚拟部分:包含会话和线索所使用的各种内存池。消息部分:包含消息缓冲区。消息部分:包含消息缓冲区。2 2OnlineOnline 中使用内存的主要部分中使用内存的主要部分OnlineOnline 系统

23、内存系统内存1 1、缓缓冲池冲池2 2、存存储过程缓冲池储过程缓冲池会话内存会话内存1 1、排排序序2 2、杂杂凑连接凑连接3 3、中中间文件间文件53 3内存管理内存管理OLTPOLTP 和和 DSSDSS 对内存的需要情况对内存的需要情况1 1、对对 OLTPOLTP 纯环境纯环境2 2、对对 DSSDSS 纯环境纯环境3 3、O OLTPLTP 和和 DSSDSS 混合环境(参数混合环境(参数 DS_TOTAL_MEMORYDS_TOTAL_MEMORY) 4. 4.影响内存使用的几个参数影响内存使用的几个参数 SHMMAX SHMMAX:共享内存的最大尺寸。:共享内存的最大尺寸。 SH

24、MSEG SHMSEG:每个进程能访问的共享内存段数。:每个进程能访问的共享内存段数。 SHMTOTAL SHMTOTAL:限制共享内存的总空间。:限制共享内存的总空间。 BUFFERS BUFFERS:调整缓冲区池的大小。:调整缓冲区池的大小。 DS_TOTAL_MEMORY: DS_TOTAL_MEMORY:限制限制 DSSDSS 查询的内存空间。查询的内存空间。5 5。监控共享内存的使用。监控共享内存的使用 onstat -g seg onstat -g seg 命令,确定动态服务器分配到的和使用的内存数量。命令,确定动态服务器分配到的和使用的内存数量。 Onmode -F Onmode

25、 -F 命令,用来释放不再使用的共享内存段。命令,用来释放不再使用的共享内存段。对对 C/SC/S 结构和分布式通讯调整网络配置参数结构和分布式通讯调整网络配置参数1 1数数据库服务器与客户应用位于同一台机器上时据库服务器与客户应用位于同一台机器上时只要只要 CPUCPU 的利用率不接近的利用率不接近 100%100%,并且有足够的内存可用于运行所有的进程,而不,并且有足够的内存可用于运行所有的进程,而不需要额外的换页,则就可以在同一台机器上运行应用进程和数据库服务器。此时需要额外的换页,则就可以在同一台机器上运行应用进程和数据库服务器。此时可使用共享内存或可使用共享内存或 TCP/IPTCP

26、/IP 来通讯。来通讯。2 2数数据库服务器与客户应用不在同一台机器上时据库服务器与客户应用不在同一台机器上时对要多次使用的对要多次使用的 SQLSQL 语句实现做好语句实现做好 Prepare.Prepare.对于把多个对于把多个 SQLSQL 语句作为一组来执行的任务,就使用存储过程。语句作为一组来执行的任务,就使用存储过程。当传送大量的行,特别是一行的数据量很大时,可通过增加环境变量当传送大量的行,特别是一行的数据量很大时,可通过增加环境变量FET_SIZEFET_SIZE的值以减少网络通讯量。的值以减少网络通讯量。3 3对对于有大量客户的系统于有大量客户的系统监测网络负载监测网络负载使

27、用使用 netstat -I 2netstat -I 2 命令来监测网络负载。命令来监测网络负载。pollpoll (探询)线索和(探询)线索和 listenlisten(侦听)线索的作用。(侦听)线索的作用。1 1、应应有足够的有足够的 pollpoll 线索处理接收消息。线索处理接收消息。可通过在参数可通过在参数 NETTYPENETTYPE 的第四个域中指定为的第四个域中指定为 NETNET,pollpoll 线索将在它们自己线索将在它们自己 vpvp的上运行,若指定为的上运行,若指定为 CPUCPU,则,则 pollpoll 线索将在线索将在 CPUCPU vp vp上运行。上运行。2

28、 2、应应有足够的有足够的 listenxlistenx 线索处理同时连接。线索处理同时连接。在文件在文件$INFORMIX/etc/sqlhosts$INFORMIX/etc/sqlhosts 和和$INFORMIX/etc/onconfig$INFORMIX/etc/onconfig中设定。中设定。6第十二章第十二章 informix_sql informix_sql 语言简介语言简介一、一、 重要的数据库术语重要的数据库术语关系模型:描述数据库和数据模型。关系模型:描述数据库和数据模型。表:表:表是数据项的阵列,以行和列组织。所有的数据都是以表的形式存在的,表由表是数据项的阵列,以行和列

29、组织。所有的数据都是以表的形式存在的,表由行和列组成。行和列组成。行:行:表中每一行代表了表的主题的一个实例。表中每一行代表了表的主题的一个实例。列:列:表中一个列代表了一个属性。表中一个列代表了一个属性。表、行、列:表、行、列:表表 = = 实体实体一个表代表了数据库对一个主体或一类事物所知道的信息。一个表代表了数据库对一个主体或一类事物所知道的信息。列列 = = 属性属性一个列代表了对表的主体的为真的一个特性、特征或事实。一个列代表了对表的主体的为真的一个特性、特征或事实。行行 = = 实列实列一个行代表了表的主体的一个单独的实例。一个行代表了表的主体的一个单独的实例。对表的操作:对表的操

30、作:选择:表中满足特定条件的行的水平子集选择:表中满足特定条件的行的水平子集投影:选定某些符合条件的列的垂直子集投影:选定某些符合条件的列的垂直子集连接:通过连接几个相关的表获得更多个实体的信息连接:通过连接几个相关的表获得更多个实体的信息二、二、 INFORMIX INFORMIX 数据库实用程序介绍数据库实用程序介绍1 1、DbaccessDbaccess用来输入、执行用来输入、执行 SQLSQL 查询语句或者将查询结果输出;选择、生成、删除数据库;生查询语句或者将查询结果输出;选择、生成、删除数据库;生成、修改、删除或者查询数据库中表的各种信息等。成、修改、删除或者查询数据库中表的各种信

31、息等。下面详细介绍各个菜单及其功能:下面详细介绍各个菜单及其功能:Query _LanguageQuery _Language使用数据库的结构化查询语言对数据库进行操作使用数据库的结构化查询语言对数据库进行操作 New New允许输入一组新的语句作为当前语句允许输入一组新的语句作为当前语句 Run Run执行当前的语句执行当前的语句 Modify Modify修改当前语句修改当前语句 Use_editor Use_editor允许用户使用系统编辑程序允许用户使用系统编辑程序 vivi 对当前语句进行编辑对当前语句进行编辑 Output Output将执行当前语句的结果进行输出将执行当前语句的结

32、果进行输出 Printer Printer将查询结果输出到打印机将查询结果输出到打印机 New_file New_file将查询结果输出到一个新文件将查询结果输出到一个新文件 Append_file Append_file将查询结果追加的一个存在的文件中将查询结果追加的一个存在的文件中 To_pipe To_pipe将查询结果送到其它程序的标准输入中将查询结果送到其它程序的标准输入中 Exit Exit退出退出 outputoutput 菜单菜单 Choose Choose选择当前目录下以选择当前目录下以 .sql .sql 为后缀的为后缀的 SQLSQL 语句文件语句文件 Save Save

33、存放当前语句到某一存放当前语句到某一 SQLSQL 文件。其后缀为文件。其后缀为 。sqlsql Info Info显示当前数据库中某个表的信息显示当前数据库中某个表的信息 Drop Drop从数据库中删除某个从数据库中删除某个 SQLSQL 文件文件 Exit Exit退出退出 Query_LanguageQuery_Language 菜单菜单7DatabaseDatabase用来选择、生成或删除一个数据库用来选择、生成或删除一个数据库 Select Select设置某数据库为当前工作数据库设置某数据库为当前工作数据库 Create Create创建新数据库并使其成为当前工作数据库创建新数据

34、库并使其成为当前工作数据库 Drop Drop从系统中删除某数据库从系统中删除某数据库 Exit Exit退出数据库退出数据库 DatabaseDatabase 菜单,返回到上级菜单菜单,返回到上级菜单TableTable用来生成、修改或删除一个数据库中的表用来生成、修改或删除一个数据库中的表 Create Create生成一个新表生成一个新表 Alter Alter修改一个已经存在的表的结构修改一个已经存在的表的结构 Info Info查询一个已经存在的表的信息查询一个已经存在的表的信息 Drop Drop删除一个已经存在的表删除一个已经存在的表 Exit Exit退出一个已经存在的表退出一

35、个已经存在的表2 2、IsqlrfIsqlrf(有的系统为:(有的系统为:isqlisql) Form Form可以执行、创建、修改、编译屏幕格式或删除已存在的屏幕格式可以执行、创建、修改、编译屏幕格式或删除已存在的屏幕格式 Run Run执行某一已经存在的屏幕格式执行某一已经存在的屏幕格式 Modify Modify修改指定的已经存在的屏幕格式修改指定的已经存在的屏幕格式 Generate Generate为指定的表创建一个缺省的屏幕格式为指定的表创建一个缺省的屏幕格式 Compile Compile编译一个制定的屏幕格式编译一个制定的屏幕格式 New New创建特定的用户屏幕格式创建特定的

36、用户屏幕格式 Drop Drop删除某已经存在的格式文件删除某已经存在的格式文件 Exit Exit退出退出 FormForm菜单菜单ReportReport可以执行、建立、修改、编译、或删除报表可以执行、建立、修改、编译、或删除报表 Run Run执行某一报表执行某一报表 Modify Modify修改指定的报表修改指定的报表 Generate Generate为某一个表建立一个缺省的报表为某一个表建立一个缺省的报表 New New建立一个用户指定的报表建立一个用户指定的报表 Compile Compile编译指定的报表编译指定的报表 Drop Drop删除一个指定的已经存在的报表删除一个指

37、定的已经存在的报表 Exit Exit退出退出 ReportReport 菜单菜单Query_LanguageQuery_Language详见实用程序说明:详见实用程序说明:dbaccessdbaccessUser_menuUser_menu可以执行、建立或修改用户建立的菜单可以执行、建立或修改用户建立的菜单 Run Run执行当前数据库的用户菜单执行当前数据库的用户菜单 Modify Modify允许用户建立或修改用户菜单允许用户建立或修改用户菜单 Exit Exit退出退出 User_menuUser_menu菜单菜单DatabaseDatabase详见实用程序说明详见实用程序说明: db

38、access: dbaccessTableTable详见实用程序说明:详见实用程序说明:dbaccessdbaccessExitExit通出实用程序通出实用程序 isqlrf (isqlrf (或或 isql) isql)三、三、 简单的简单的 SELECTSELECT 语句语句 SELECT SELECT语句是最重要也是最复杂的语句是最重要也是最复杂的 SQLSQL语句,它和语句,它和 insert updateinsert update和和 delete delete 语句一语句一起用于数据操作,主要用于:起用于数据操作,主要用于:从数据库中检索数据从数据库中检索数据作为作为 INSERT

39、INSERT语句的一部分产生新的行语句的一部分产生新的行8作为作为 UPDATEUPDATE语句的一部分更新信息语句的一部分更新信息1 1S SELETEELETE语句的简要介绍语句的简要介绍构成:构成:SELECTSELECT 子句子句指定要查询的表指定要查询的表FROMFROM 子句子句指定要查询的列指定要查询的列WHEREWHERE子句子句选择特定的列或创建一个新的连接条件选择特定的列或创建一个新的连接条件ORDER BYORDER BY子句子句改变数据产生的次序改变数据产生的次序INTO TEMPINTO TEMP子句子句把结果以表的形式存放起来,供以后使用把结果以表的形式存放起来,供

40、以后使用其中其中 SELECTSELECT、FORMFORM子句是必选的。子句是必选的。权限权限查询数据库必须对该数据库具有查询数据库必须对该数据库具有connectconnect权限以及对表具有权限以及对表具有 SELECTSELECT权限,这些权权限,这些权限通常作为默认值赋给用户。与数据库的操作权限有关的限通常作为默认值赋给用户。与数据库的操作权限有关的grantgrant 和和 revoke revoke语句将在后面语句将在后面讲到。讲到。关系操作关系操作选择:在表中满足特定条件的行的水平子集。这一类型的选择:在表中满足特定条件的行的水平子集。这一类型的SELECTSELECT 子句返

41、回表中的一子句返回表中的一部分行的所有列。选择是通过部分行的所有列。选择是通过 SELECTSELECT语句的语句的 WHEREWHERE子句来实现的。子句来实现的。例:例:SELECT *SELECT * FROM custom FROM custom WHERE WHEREstate=NJstate=NJ显示结果如下:显示结果如下: customer_num 107 customer_num 107 fname Charles fname Charles lname Ream lname Ream company Athletic Supplies company Athletic Sup

42、plies addressl 41 Jordan Avenue addressl 41 Jordan Avenue address2 address2 city Palo Alto city Palo Alto state CA state CA zipcode 94304 zipcode 94304 phone 415-356-9876 phone 415-356-9876投影:在表中一些列的垂直子集,子集包含了表中这些列的所有行。这样的投影:在表中一些列的垂直子集,子集包含了表中这些列的所有行。这样的SELECTSELECT语句返回表中所有行的一些列。投影是通过在语句返回表中所有行的一些列

43、。投影是通过在SELECTSELECT语句中的语句中的 SELECTSELECT子句的选项子句的选项来实现的。来实现的。例:例:SELECT UNIQUE city, state,zipcodeSELECT UNIQUE city, state,zipcode FROM customer FROM customer查询结果包含了与查询结果包含了与 customer customer 表中的相同数目的行,但仅投影了列的一个子集表中的相同数目的行,但仅投影了列的一个子集显示结果如下:显示结果如下: city state zipcode city state zipcode Bartlesville

44、 OK 74006 Bartlesville OK 74006 Blue Island NY 60406 Blue Island NY 60406 Brighton MA 02135 Brighton MA 021359 Cheey Hill NJ 08002 Cheey Hill NJ 08002 Denver CO 80219 Denver CO 80219 Jacksonville FL 32256 Jacksonville FL 32256 Los Altos CA 94022 Los Altos CA 94022 Menlo Park CA 94025 Menlo Park CA 9

45、4025 Moutain View CA 94040 Moutain View CA 94040 Moutain View CA 94063 Moutain View CA 94063 Oakland CA 94609 Oakland CA 94609 Palo Alto CA 94303 Palo Alto CA 94303 Palo Alto CA 94304 Palo Alto CA 94304 Phoenix AZ 85008 Phoenix AZ 85008SELECTSELECT语句在大多数情况下同时使用选择和投影,查询返回表中的一些行和一些语句在大多数情况下同时使用选择和投影,查

46、询返回表中的一些行和一些列。列。例:例:SELECT UNIQUE city,state,zipcodeSELECT UNIQUE city,state,zipcode FROM customer FROM customerWHERE state=NJWHERE state=NJ显示结果如下:显示结果如下: city state zipcode city state zipcode Cherry Hill NJ 08002 Cherry Hill NJ 08002 Princeton NJ 08540 Princeton NJ 08540连续:将两个或多个表通过一个或多个相同的列联系起来成为一

47、个新的结果表连续:将两个或多个表通过一个或多个相同的列联系起来成为一个新的结果表例:例:SELECT UNIQUE city,state,zipcode,snameSELECT UNIQUE city,state,zipcode,sname FROM customer ,state FROM customer ,state WHERE customer ,state = state.code WHERE customer ,state = state.code显示结果如下:显示结果如下: city state zipcode sname city state zipcode sname Bar

48、tlesville OK 74006 Oklahoma Bartlesville OK 74006 Oklahoma Blue Island NY 60406 New York Blue Island NY 60406 New York Brighton MA 02135 Massachusetts Brighton MA 02135 Massachusetts Cherry Hill NJ 08002 New Jersey Cherry Hill NJ 08002 New Jersey Denver CO 80219 Colorado Denver CO 80219 Colorado Jac

49、ksonville FL 32256 Florida Jacksonville FL 32256 Florida Los Altos CA 94022 california Los Altos CA 94022 california Menlo Park CA 94025 california Menlo Park CA 94025 california Mountain View CA 94040 california Mountain View CA 94040 california Mountain View CA 94063 california Mountain View CA 94

50、063 california Oakland CA 94609 california Oakland CA 94609 california Palo Alto CA 94303 california Palo Alto CA 94303 california Palo Alto CA 94304 california Palo Alto CA 94304 california Phoenix AZ 85008 Arizona Phoenix AZ 85008 Arizona102. 2.单表单表 SELECTSELECT语句语句检索所有的行和列使用检索所有的行和列使用* *号:星号代表所有的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁