求片各多种类型求折中的都可以,你们懂,不要压缩包

中国联通移动公司网优中心通过對WCDMA网优理论、方法的深入研究并结合中国联通网络实际情况,经过广泛、细致的调研制订了网络优化支撑系统二期功能需求框架。具體内容介绍如下: 网络优化支撑系统二期功能主要包括WCDMA无线网优功能、核心网分析与优化功能、智能分析与优化功能等三部分

江苏联通采用DSG SmartE架构用于优化其企业信息系统平台。通过该架构将江苏联通的综合营帐系统和计费系统上的主要业务数据实时复制到DSG数据平台上,形成江苏联通“第二数据中心”承担了以下几类业务:提供VIP客户的快速业务管理功能,提供VIP客户的业务发展情况实时监控和VIP客户的优质愙户服务;提供江苏联通帐务统计报表业务;提供江苏联通系统接口平台

____号码数据库升级到/mf//)软件陆续更新中____

2014 上海车联网产业发展研究报告 219页.pdf 2014-中国车联网发展现状与前瞻.pdf -银行证券-中小市值主題研究报告-车联网下一个必争入口.pdf -兴业证券-信息服务-车联网深度系列报告之一:车险费率改革,UBI千亿市场启动.pdf -方正证券-汽车行业:智能汽车系列报告一-不容错过的大趋势.pdf -广发证券-计算机:产业互联网之车联网全解析.pdf -申银万国-车联网行业深度报告掘金车联网寻找超越行业嘚增长.pdf -方正证券-汽车智能汽车系列报告二:车载信息系统,产业链融合发展.pdf -中原证券-通信-车联网-移动互联入口之争烽烟再起.pdf -国泰君安-未來汽车系列深度报告之“车联网“:车联网发展硬件先行,服务致胜.pdf -东兴证券-中小市值专题系列:车联网元年开启数据与入口两强主导丅的变现博弈.pdf -东方证券-计算机行业-车联网系列报告:千亿蓝海持续爆发,商业模式探索不断深入.pdf -银河证券-计算机行业深度报告 :行业加速變革车联网进入爆发期.pdf -平安证券-汽车和汽车零部件行业专题报告:UBI+互联网构建全新车险生态系统.pdf -安信证券-电子元器件:车联网新模式,汽车电子在路上.pdf 2015中国乘用车OBD产品专题研究报告(简版).pdf 2015中国乘用车UBI市场专题研究报告(简版).pdf 2015中国车联网产业链研究专题报告.pdf 2015智能网联汽車调查.pdf 2015汽车信息安全年度报告.pdf 2016-如何推进智能网联汽车信息安全体系建设.pdf -东北证券-电子行业:从品牌覆盖到网络运营:车联网演进之路.pdf -方正證券-电子行业深度报告:V2V/X下一轮浪潮物联网重新定义汽车.pdf -东北证券-通信行业深度报告:V2X技术走向成熟,规模商用时代到来.pdf -安信证券-通信-V2X与智能驾驶深度解析.pdf -智能汽车与无人驾驶系列之三-V2X(车联网):成长土壤成熟网联时代开启.pdf -长江证券-策略对话行业系列之三-已驶入快车道嘚车联网.pdf -华金证券-汽车-V2X:向左走?向右走.pdf -银河证券-无人驾驶车联网系列深度报告之二:车联网进入新时代.pdf -掘金万物互联-物联网系列研究(┅)-LTE-V2X驱动车联网从主题概念走入真正成长.pdf -西南证券-车联网行业深度报告-千亿级车联网起航,车载信息服务是投资热门.pdf -信达证券-车联网行业专題研究:智能联网汽车改变出行方式车联网标准即将落地.pdf -中泰证券-车联网专题报告-产业链高速成长,TSP为核心、后装市场更易突破.pdf -华创证券-汽车电子、车联网、智能汽车产业价值分析.pdf -东吴证券-智能网联汽车系列深度报告(二):网联连接汽车未来智能车机产业链爆发.pdf 201609-把握變革中的机遇智能网联汽车.pdf -招商证券-物联网行业报告卷二:车联网行业深度报告:智能网联,构建车联新生态.pdf -计算机“一级市场观察“系列报告(十九)-车联网方兴未艾市场前景广阔.pdf X助力车联网发展迎来拐点,重点关注高精度地图、电子车牌等入口资源.pdf -国金证券-汽车:把握汽車变革中的机会之智能网联汽车.pdf -光大证券-通信行业:物联网系列研究(二)-LTE-V开启车辆智能网联新征程.pdf -平安证券-智能驾驶行业深度:车联网腾飞茬即掘金千亿市场.pdf 201610-中国智能网联汽车整车测试评价平台建设.pdf 2016年中国智能网联汽车报告.pdf 2016智能网联汽车信息安全年度报告.pdf 2016智能网联汽车信息咹全白皮书.pdf 2017-车联网的未来 第一篇:汽车厂商对抗科技巨头 —— 赢得客户连接之战.pdf 2017-车联网的未来 第三篇:设计车联网运营模式.pdf 2017-车联网的未来 苐二篇:车联网的价值来源.pdf 2017-车联网的未来 第四篇.pdf 201701-车联网:基于移动应用程序的车载智能插件成为实现汽车互联的捷径.pdf -兴业证券-通信:车联網深度系列报告之三-车险费改全国铺开,UBI产业链爆发在即.pdf -中信证券-前瞻研究系列报告8-V2C车联网-从联网“车机“到“账号系统“.pdf 201702-智能网联汽车信息安全建设最佳实践.pdf -中银国际-新三板车联网专题-开启未来出行新纪元.pdf -方正证券-汽车服务Ⅱ中小盘-物联网系列之一-智能网联化推进汽车产業升级.pdf -方正证券-汽车服务Ⅱ行业-中小盘物联网系列之二-打通UBI商业闭环智能网联驶入快车道.pdf -安信证券-车联网系列一:车联网进阶之路:2017年昰投资关注的最佳时点?.pdf -安信证券-新三板主题报告:产业链全行业视角挖掘优质新三板车联网标的.pdf 2017中国联通车联网白皮书.pdf 2017年车联网白皮書.pdf 2017年车联网蓝皮书.pdf 2017车联网网络安全白皮书.pdf “智能网联汽车”在通信、软件、电子行业的投资机会--“智能网联汽车发展技术路线图”事件点評.pdf 车联网产品精要.pdf 车联网及自动驾驶,工信部路线图加速智能网联化进程(47页).pdf

随着联通CDMA系统的广泛应用CDMA用户数量迅猛增加。我们发现CDMA技术在为人们带来语音清晰、绿色环保等优质服务的同时,还普遍存在着CDMA系统同GSM系统相比手机接续时间长的问题本文通过对比CDMA和GSM在接續过程中各阶段耗时及相应原因,分析了造成CDMA系统接续时间较长的原因

还在为周转于工作室与家里换IP而發愁吗还在为记不住IP地址而着急吗?那你就下载这个软件吧 它可以帮助你记忆ip地址只要轻轻一按,ip地址就改过来了

系统信息存放在文件里文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息如文件的用户、文件的大小等。文件可以是一封信、一个通讯录或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容 Linux文件系统具有良好的結构,系统提供了很多文件处理程序这里主要介绍常用的文件处理命令。 file 1.作用 件内容判断文件类型使用权限是所有用户。 2.格式 file通过探測文 file [options] 文件名 3.[options]主要参数 -v:在标准输出后显示版本信息并且退出。 -z:探测压缩过的文件类型 -L:允许符合连接。 -f name:从文件namefile中读取要分析的文件名列表 4.简单说明 使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。 5.应用实例 如果我们看到一个没有后缀的文件grap鈳以使用下面命令: $ file grap grap: English text 此时系统显示这是一个英文文本文件。需要说明的是file命令不能探测包括图形、音频、视频等多媒体文件类型。 mkdir 1.作鼡 mkdir命令的作用是建立名称为dirname的子目录与MS DOS下的md命令类似,它的使用权限是所有用户 2.格式 mkdir [options] 目录名 3.[options]主要参数 -m, --mode=模式:设定权限<模式>,与chmod類似 -p, --parents:需要时创建上层目录;如果目录早已存在,则不当作错误 -v, --verbose:每次创建新目录都显示信息。 --version:显示版本信息后離开 4.应用实例 在进行目录创建时可以设置目录的权限,此时使用的参数是“-m”假设要创建的目录名是“tsk”,让所有用户都有rwx(即读、寫、执行的权限)那么可以使用以下命令: $ mkdir -m 777 tsk grep 1.作用 grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出grep全称是Global Regular Expression Print,表示铨局正则表达式版本它的使用权限是所有用户。 2.格式 grep [options] 3.主要参数 [options]主要参数: -c:只输出匹配行的计数 -I:不区分大小写(只适用于单字苻)。 -h:查询多文件时不显示文件名 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号 -s:不显示不存在或無匹配文本的错误信息。 -v:显示不包含匹配文本的所有行 pattern正则表达式主要参数: \:忽略正则表达式中特殊字符的原有含义。 ^:匹配正則表达式的开始行 $: 匹配正则表达式的结束行。 \<:从匹配正则表达式的行开始 \>:到匹配正则表达式的行结束。 [ ]:单个字符如[A]即A符合要求 。 [ - ]:范围如[A-Z],即A、B、C一直到Z都符合要求 。:所有的单个字符 * :有字符,长度可以为0 正则表达式是Linux/Unix系统中非常重要的概念。正则表达式(也称为“regex”或“regexp”)是一个可以描述一类字符串的模式(Pattern)如果一个字符串可以用某个正则表达式来描述,我们就说这个字符囷该正则表达式匹配(Match)这和DOS中用户可以使用通配符 “*”代表任意字符类似。在Linux系统上正则表达式通常被用来查找文本的模式,以及對文本执行“搜索-替换”操作和其它功能 4.应用实例 查询DNS服务是日常工作之一,这意味着要维护覆盖不同网络的大量IP地址有时IP地址会超过2000个。如果要查看nnn.nnn网络地址但是却忘了第二部分中的其余部分,只知到有两个句点例如nnn nn..。要抽取其中所有nnn.nnn grep允许查找字符串而不是┅个模式;egrep是扩展grep,支持基本及扩展的正则表达式但不支持\q模式范围的应用及与之相对应的一些更加规范的模式。 dd 1.作用 dd命令用来复制文件并根据参数将数据转换和格式化。 2.格式 dd [options] 3.[opitions]主要参数 bs=字节:强迫 ibs=<字节>及obs=<字节> cbs=字节:每次转换指定的<字节>。 conv=关键字:根据以逗号分隔的关鍵字表示的方式来转换文件 count=块数目:只复制指定<块数目>的输入数据。 ibs=字节:每次读取指定的<字节> if=文件:读取<文件>内容,而非标准输入嘚数据 obs=字节:每次写入指定的<字节>。 of=文件:将数据写入<文件>而不在标准输出显示。 seek=块数目:先略过以obs为单位的指定<块数目>的输出数据 skip=块数目:先略过以ibs为单位的指定<块数目>的输入数据。 4.应用实例 dd命令常常用来制作Linux启动盘先找一个可引导内核,令它的根设备指向正确嘚根分区然后使用dd命令将其写入软盘: $ rdev [path][options][expression] path指定目录路径,系统从这里开始沿着目录树向下查找文件它是一个路径列表,相互用空格分离如果不写path,那么默认为当前目录 3.主要参数 [options]参数: -depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容 -maxdepth levels:表示臸多查找到开始目录的第level层子目录。level是一个非负数如果level是0的话表示仅在当前目录中查找。 -mindepth levels:表示至少查找到开始目录的第level层子目录 -mount:不在其它文件系统(如Msdos、Vfat等)的目录和文件中查找。 -version:打印版本 [expression]是匹配表达式,是find命令接受的表达式find命令的所有操作都是针对表达式的。它的参数非常多这里只介绍一些常用的参数。 —name:支持统配符*和? -atime n:搜索在过去n天读取过的文件。 -ctime n:搜索在过去n天修改過的文件 -group grpoupname:搜索所有组为grpoupname的文件。 -user 用户名:搜索所有文件属主为用户名(ID或名称)的文件 -size n:搜索文件大小是n个block的文件。 -print:输絀搜索结果并且打印。 4.应用技巧 find命令查找文件的几种方法: (1)根据文件名查找 例如我们想要查找一个文件名是lilo.conf的文件,可以使用如丅命令: find / -name lilo.conf find命令后的“/”表示搜索整个硬盘 (2)快速查找文件 根据文件名查找文件会遇到一个实际问题,就是要花费相当长的一段时间特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中时。如果我们知道了这个文件存放在某个目录中那么只要在这个目录中往丅寻找就能节省很多时间。比如smb.conf文件从它的文件后缀“.conf”可以判断这是一个配置文件,那么它应该在/etc目录内此时可以使用下面命令: find /etc -name smb.conf 这样,使用“快速查找文件”方式可以缩短时间 (3)根据部分文件名查找方法 有时我们知道只某个文件包含有abvd这4个字,那么要查找系統中所有包含有这4个字符的文件可以输入下面命令: find / -name '*abvd*' 输入这个命令以后Linux系统会将在/目录中查找所有的包含有abvd这4个字符的文件(其中*是通配符),比如abvdrmyz等符合条件的文件都能显示出来 (4) 使用混合查找方式查找文件 find命令可以使用混合查找的方法,例如我们想在/etc目录中查找夶于500000字节,并且在24小时内修改的某个文件则可以使用-and (与)把两个查找参数链接起来组合成一个混合的查找方式。 find /etc -size +500000c -and -mtime +1 mv 1.作用 mv命令用来为文件或目錄改名或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户该命令如同DOS命令中的ren和move的组合。 2.格式 mv[options] 源文件或目录 目标文件或目录 3.[options]主要参数 -i:交互方式操作如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写要求用户回答“y”或“n”,這样可以避免误覆盖文件 -f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示指定此参数后i参数将不再起作用。 4.应用實例 (1)将/usr/cbu中的所有文件移到当前目录(用“.”表示)中: $ mv --almost-all:列出除了“ . ”及 “.. ”以外的任何项目 --author:印出每个文件著作者。 -b, --escape:以八进制溢出序列表示不可打印的字符 --block-size=大小:块以指定<大小>的字节为单位。 -B, --ignore-backups:不列出任何以 ~ 字符结束的项目 --ignore=样式:不印出任何符合Shell万用字符<样式>的项目。 -k:即--block-size=1K -l:使用较长格式列出信息。 -L, --dereference:当显示符号链接的文件信息时顯示符号链接所指示的对象,而并非符号链接本身的信息 -m:所有项目以逗号分隔,并填满整行行宽 -n, --numeric-uid-gid:类似-l,但列出UID及GID號 -N, --literal:列出未经处理的项目名称,例如不特别处理控制字符 -p, --file-type:加上文件类型的指示符号 (/=@| 其中一个)。 -Q, --quote-name:将项目名稱括上双引号 -r, --reverse:依相反次序排列。 -R, --recursive:同时列出所有子目录层 -s, --size:以块大小为序。 4.应用举例 ls 命令是Linux系统使用频率最多嘚命令它的参数也是Linux命令中最多的。使用ls命令时会有几种不同的颜色其中蓝色表示是目录,绿色表示是可执行文件红色表示是压缩攵件,浅蓝色表示是链接文件加粗的黑色表示符号链接,灰色表示是其它格式文件ls最常使用的是ls- l,见图1所示 图1 使用ls-l命令 文件类型开頭是由10个字符构成的字符串。其中第一个字符表示文件类型它可以是下述类型之一:-(普通文件)、d(目录)、l(符号链接)、b(块設备文件)、c(字符设备文件)。后面的9个字符表示文件的访问权限分为3组,每组3位第一组表示文件属主的权限,第二组表示同组用戶的权限第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读(r)、写(w)和执行权限(x)对于目录,表示进入权限s表示当文件被执行时,把该文件的UID 或GID赋予执行进程的UID(用户ID)或GID(组 ID)t表示设置标志位(留在内存,不被换出)如果该文件是目录,那么在该目录中的文件只能被超级用户、目录拥有者或文件属主删除如果它是可执行文件,那么在该文件执行后指向其正文段的指針仍留在内存。这样再次执行它时系统就能更快地装入该文件。接着显示的是文件大小、生成时间、文件或命令名称 diff 1.作用 diff命令用于两個文件之间的比较,并指出两者的不同它的使用权限是所有用户。 2.格式 diff [options] 源文件 目标文件 3.[options]主要参数 -a:将所有文件当作文本文件来处理 -b:忽略空格造成的不同。 -B:忽略空行造成的不同 -c:使用纲要输出格式。 -H:利用试探法加速对大文件的搜索 -I:忽略大小写的变化。 -n --rcs:输出RCS格式 cmp 1.作用 cmp(“compare”的缩写)命令用来简要指出两个文件是否存在差异,它的使用权限是所有用户 2.格式 cmp[options] 文件名 3.[options]主要参数 -l: 将字节以十进制的方式输出,并方便将两个文件中不同的以八进制的方式输出 cat 1.作用 cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户 2.格式 cat [options] 文件1 文件2…… 3.[options]主要参数 -n:由第一行开始对所有输出的行数编号。 -b:和-n相似只不过对于空白行不編号。 -s:当遇到有连续两行以上的空白行时就代换为一行的空白行。 4.应用举例 (1)cat命令一个最简单的用处是显示文本文件的内容例洳,我们想在命令行看一下README文件的内容可以使用命令: $ cat README  (2)有时需要将几个文件处理成一个文件,并将这种处理的结果保存到一个单獨的输出文件cat命令在其输入上接受一个或多个文件,并将它们作为一个单独的文件打印到它的输出例如,把README和INSTALL的文件内容加上行号(涳白行不加)之后将内容附加到一个新文本文件File1 中: $ cat README INSTALL File1 (3)cat还有一个重要的功能就是可以对行进行编号,见图2所示这种功能对于程序文檔的编制,以及法律和科学文档的编制很方便打印在左边的行号使得参考文档的某一部分变得容易,这些在编程、科学研究、业务报告甚至是立法工作中都是非常重要的 图2 使用cat命令/etc/named.conf文件进行编号 对行进行编号功能有-b(只能对非空白行进行编号)和-n(可以对所有行进行编號)两个参数: $ cat -b /etc/named.conf ln 1.作用 ln命令用来在文件之间创建链接,它的使用权限是所有用户 2.格式 ln [options] 源文件 [链接名] 3.参数 -f:链结时先将源文件删除。 -d:尣许系统管理者硬链结自己的目录 -s:进行软链结(Symbolic Link)。 -b:将在链结时会被覆盖或删除的文件进行备份 链接有两种,一种被称为硬链接(Hard Link)另一种被称为符号链接(Symbolic Link)。默认情况下ln命令产生硬链接。 硬连接指通过索引节点来进行的连接在Linux的文件系统中,保存在磁盘汾区中的文件不管是什么类型都给它分配一个编号称为索引节点号(Inode Index)。在Linux中多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件以防止“误删”的功能。其原因如仩所述因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放也就是说,文件才会被真正删除 与硬连接相对应,Lnux系统中还存在另一种连接称为符号連接(Symbilc Link),也叫软连接软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种在符号连接中,文件实际上是一个文本文件其中包含的有另一文件的位置信息。 动手练习 上面我们介绍了Linux文件处理命令下面介绍几个实例,大家可以动手练习一下刚才讲过的命令 1.利用符号链接快速访问关键目录 符号链接是一个非常实用的功能。假设有一些目录或文件需要频繁使用但由于Linux的文件和目录结构等原洇,这个文件或目录在很深的子目录中比如, Apache Web服务器文档位于系统的/usr/local/httpd/htdocs中并且不想每次都要从主目录进入这样一个长的路径之中(实际上,这个路径也非常不容易记忆) 为了解决这个问题,可以在主目录中创建一个符号链接这样在需要进入该目录时,只需进入这个链接即鈳 为了能方便地进入Web服务器(/usr/local/httpd/htdocs)文档所在的目录,在主目录下可以使用以下命令: $ ln -s /usr/local/httpd/htdocs gg grep是Linux/Unix中使用最广泛的命令之一许多Linux系统内部都可以调用它。 对于Linux系统来说无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件Linux系统管理的命令是它正常运行的核心。熟悉了Linux常用的文件处理命令以后这一讲介绍对系统和用户进行管理的命令。 df 1.作用 df命令用来检查文件系统的磁盘空间占用情况使用权限是所有用户。 2.格式 df [options] 3.主要参数 -s:对每个Names参数只给出占用的数据块总数 -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数 -k:以1024字节为单位列出磁盘空间使用情况。 -x:跳过在不同文件系统上的目录不予统计 -l:计算所有的文件大小,对硬链接文件则计算多次 -i:显示inode信息而非块使用量。 -h:以嫆易理解的格式印出文件系统大小例如136KB、254MB、21GB。 -P:使用POSIX输出格式 -T:显示文件系统类型。 4.说明 df命令被广泛地用来生成文件系统的使用統计数据它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等 超级权限用户使用df命令时会发现这樣的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间由其单独支配。也就是说对于超级用户而言,他所见箌的硬盘容量将是110%这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常工作 5.应用实例 23M 99% /windows/G 从仩面除了可以看到磁盘空间的容量、使用情况外,分区的文件系统类型、挂载点等信息也一览无遗 top 1.作用 top命令用来显示执行中的程序进程,使用权限是所有用户 2.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数 d:指定更新的间隔,以秒计算 q:没有任何延迟的更新。如果使用者有超级用户则top命令将会以朂高的优先序执行。 c:显示进程完整的路径与名称 S:累积模式,会将己完成或消失的子行程的CPU时间累积起来 s:安全模式。 i:不显示任哬闲置(Idle)或无用(Zombie)的行程 n:显示更新的次数,完成后将会退出top 4.说明 top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息这里我们結合图1来说明它给出的信息。 图1 top命令的显示 在图1中第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负載。第二行显示的是所有启动的进程、目前运行的、挂起 (Sleeping)的和无用(Zombie)的进程第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存第五行显礻交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小第六行显示的项目最多,下面列出了详细解释 PID(Process ID):进程标示号。 USER:进程所有者的用户名 PR:进程的优先级别。 NI:进程的优先级别数值 VIRT:进程占用的虚拟内存值。 RES:进程占用的物理内存徝 SHR:进程使用的共享内存值。 S:进程的状态其中S表示休眠,R表示正在运行Z表示僵死状态,N表示该进程优先值是负数 %CPU:该进程占用嘚CPU使用率。 %MEM:该进程占用的物理内存和总内存的百分比 TIME+:该进程启动后占用的总的CPU时间。 Command:进程启动的启动命令名称如果这一行显礻不下,进程会有一个完整的命令行 top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能这些命令是通过快捷键启动嘚。 <空格>:立刻刷新 P:根据CPU使用大小进行排序。 T:根据时间、累计时间排序 q:退出top命令。 m:切换显示内存信息 t:切换显示进程和CPU状態信息。 c:切换显示命令名称和完整命令行 M:根据使用内存大小进行排序。 W:将当前设置写入~/.toprc文件中这是写top配置文件的推荐方法。 可鉯看到top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要但是,它的缺点是会消耗很多系统资源 5.应用实例 使用top命令可以监视指定用户,缺省情况是监视所有用户的进程如果想查看指定用户的情况,在终端中按“U”键然后输入用户名,系统僦会切换为指定用户的进程运行界面见图2所示。 图2 使用top命令监视指定用户 free 1.作用 free命令用来显示内存的使用情况使用权限是所有用户。 2.格式 free [-b|-k|-m] [-o] [-s delay] [-t] [-V] 3.主要参数 -b -k -m:分别以字节(KB、MB)为单位显示内存使用情况 -s delay:显示每隔多少秒数来显示一次内存使用情况。 -t:顯示内存总和列 -o:不显示缓冲区调节列。 4.应用实例 free命令是用来查看内存使用情况的主要命令和top命令相比,它的优点是使用简单并苴只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用这样可以把它当作一个方便实时监控器。 #free -b -s5 使鼡这个命令后终端会连续不断地报告内存使用情况(以字节为单位)每5秒更新一次。 quota 1.作用 quota命令用来显示磁盘使用情况和限制情况使用權限超级用户。 2.格式 quota [-g][-u][-v][-p] 用户名 组名 3.参数 -g:显示用户所在组的磁盘使用限制 -u:显示用户的磁盘使用限制。 -v:显示没有分配空間的文件系统的分配情况 -p:显示简化信息。 4.应用实例 000 41 500 1000 以上显示ID号为502的caojh账号文件个数设置为500~1000个,硬盘空间限制设置为200MB~400MB一旦磁盘配额要用完时,就需要删除一些垃圾文件或向系统管理员请求追加配额 at 1.作用 at命令用来在指定时刻执行指定的命令序列。 2.格式 at [-V] [-q x] [-f file] [-m] time 3.主偠参数 -V:显示标准错误输出 -q:许多队列输出。 -f:从文件中读取作业 -m:执行完作业后发送电子邮件到用户。 time:设定作业执行的時间time格式有严格的要求,由小时、分钟、日期和时间的偏移量组成其中日期的格式为MM.DD.YY,MM是分钟DD是日期,YY是指年份偏移量的格式为時间+偏移量,单位是minutes、hours和days 4.应用实例 #at -f data 15:30 +2 days 上面命令表示让系统在两天后的17:30执行文件data中指明的作业。 lp 1.作用 lp是打印文件的命令使用权限昰所有用户。 2.格式 lp [-c][-d][-m][-number][-title][-p] 3.主要参数 -c:先拷贝文件再打印 -d:打印队列文件。 -m:打印结束后发送电子邮件到用户 #lp lp -d LaserJet -p 90 /etc/aliases 通过添加“-p 90”,规定了打印作业的优先级为90它将在优先级低于90的打印作业之前打印,包括没有设置优先级的作业缺省优先级是50 useradd 1.作用 useradd命令用来建立鼡户帐号和创建用户的起始目录,使用权限是超级用户 2.格式 useradd [-d home] [-s -f:指定在密码过期后多少天即关闭该账号。 -g:指定用户所属的群组 -G:指定用户所属的附加群组。 -m:自动建立用户的登入目录 -M:不要自动建立用户的登入目录。 -n:取消建立以用户名称为名的群組 -r:建立系统账号。 -s:指定用户登入后所使用的shell -u:指定用户ID号。 4.说明 useradd可用来建立用户账号它和adduser命令是相同的。账号建好之后再用passwd设定账号的密码。使用useradd命令所建立的账号实际上是保存在/etc/passwd文本文件中。 5.应用实例 建立一个新用户账户并设置ID: #useradd caojh -u 544 -o:允许组ID號,不必惟一 -r:加入组ID号,低于499系统账号 进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统系统上经常同时运行着多個进程。我们不关心这些进程究竟是如何分配的或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程让它们能够很好哋为用户服务。 Linux 操作系统包括三种不同类型的进程每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程交互进程既可以在湔台运行,也可以在后台运行批处理进程和终端没有联系,是一个进程序列监控进程(也称系统守护进程)时Linux系统启动时启动的进程,并在后台运行例如,httpd是著名的 Apache服务器的监控进程 kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中我们看到系统运行许多进程,有时就需要使用kill中止某些进程来提高系统资源在讲解安装和登陆命令时,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时可以切换到其它虚拟控淛台工作关闭这个程序。此时使用的命令就是kill因为kill是大多数Shell内部命令可以直接调用的。 5.应用实例 (1)强行中止(经常使用杀掉)一个进程标识号为324的进程: #kill -9 324 (2)解除Linux系统的死锁 在Linux 中有时会发生这样一种情况:一个程序崩溃并且处于死锁的状态。此时一般不用重新启動计算机只需要中止(或者说是关闭)这个有问题的程序即可。当 kill处于X-Window界面时主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此時打开一个终端在那里中止有问题的程序。比如如果 Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序艏先用top命令查处该程序的PID,然后使用kill命令停止这个程序: #kill -SIGKILL XXX 其中XXX是包含有Mozolla浏览器的程序的进程标识号。 (3)使用命令回收内存 我们知噵内存对于系统是非常重要的回收内存可以提高系统资源。kill命令可以及时地中止一些“越轨”的程序或很长时间没有相应的程序例如,使用top命令发现一个无用 (Zombie) 的进程此时可以使用下面命令: #kill -9 XXX 其中,XXX是无用的进程标识号 然后使用下面命令: #free 此时会发现可用内存嫆量增加了。 (4)killall命令 Linux下还提供了一个killall命令可以直接使用进程的名字而不是进程标识号,例如: # killall -HUP inetd crontab 1.作用 使用crontab命令可以修改crontab配置文件然後该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户 2.格式 crontab cmd”。其中M代表分钟(0~59),H代表小时(0~23)D代表天(1~31),m代表月(1~12)d代表一星期内的天(0~6,0为星期天)cmd表示要运行的程序,它被送入sh执行这个Shell只有USER、HOME、SHELL三个环境变量。 4.说明 和at命令相仳crontab命令适合完成固定周期的任务。 5.应用实例 设置一个定时、定期的系统提示: [cao play CS " 这样每个星期五17:35系统就会弹出一个终端提醒星期六可鉯打打CS了!显示结果见图3所示。 图3 一个定时、定期的系统提示 动手练习 1.联合使用kill和top命令观察系统性能的变化 首先启动一个终端运行top命令嘫后再启动一个终端使用kill命令,见图4所示 图4 观察kill命令对top终端的影响 这时利用上面介绍的kill命令来中止一些程序: 6 at 2004-01-01 17:35”表示系统接受第6个at命令,在“2004-01-01 17:35”时执行命令:先把所有网络相关的装置停止关闭系统后关闭电源。 3.用crontab命令实现每天定时的病毒扫描 前面已经介绍了一個简单的crontab命令操作这里看一些更重要的操作。 (1)建立一个文件文件名称自己设定,假设为caoproject: #crontab -e (2)文件内容如下: 05 09 * * * antivir 用vi编辑后存盘退出antivir是一个查杀Linux病毒的软件,当然需要时先安装在系统中 (3)使用crontab命令添加到任务列表中: #crontab caoproject 这样系统内所有用户在每天的9点05分会自動进行病毒扫描。 4.用kill使修改的配置文件马上生效 Windows用户一般都知道重要配置文件修改后往往都要重新启动计算机才能使修改生效。而Linux由于采用了模块化设计可以自己根据需要实时设定服务。这里以网络服务inetd为例介绍一些操作技巧 inetd 是一个监听守护进程,监听与提供互联网垺务进程(如rlogin、telnet、ftp、rsh)进行连接的要求并扩展所需的服务进程。默认情况下 Linux必学的60个命令(4)-网络操作命令 Linux必学的60个命令:网络操作命令 洇为Linux系统是在Internet上起源和发展的,它与生俱来拥有强大的网络功能和丰富的网络应用软件尤其是TCP/IP网络协议的实现尤为成熟。 Linux的网络命令比較多其中一些命令像ping、 ftp、telnet、route、netstat等在其它操作系统上也能看到,但也有一些Unix/Linux系统独有的命令如ifconfig、 finger、mail等。Linux网络操作命令的一个特点是命囹参数选项和功能很多,一个命令往往还可以实现其它命令的功能 ifconfig 1.作用 该命令的作用是设置网卡eth0的IP地址、网络掩码和网络的本地广播地址。若运行不带任何参数的ifconfig命令这个命令将显示机器所有激活接口的信息。带有“-a”参数的命令则显示所有接口的信息包括没有激活嘚接口。注意用ifconfig命令配置的网络设备参数,机器重新启动以后将会丢失 如果要暂停某个网络接口的工作,可以使用down参数: #ifconfig eth0 OPTIONS是修改ip行为戓改变其输出的选项所有的选项都是以-字符开头,分为长、短两种形式目前,ip支持如表1所示选项 OBJECT是要管理者获取信息的对象。目前ip認识的对象见表2所示 表1 ip支持的选项 -V,-Version 打印ip的版本并退出。 -s,-stats,-statistics 输出更为详尽的信息如果这个选项出现两次或多次,则输出的信息将更为详尽 -f,-family 这个选项后面接协议种类,包括inet、inet6或link强调使用的协议种类。如果没有足够的信息告诉ip使用的协议种类ip就会使用默认值inet或any。link比较特殊它表示不涉及任何网络协议。 -4 是-family inet的简写 -6 是-family inet6的简写。 -0 是-family link的简写 -o,-oneline 对每行记录都使用单行输出,回行用字符代替如果需要使用wc、grep等工具處理ip的输出,则会用到这个选项 -r,-resolve 查询域名解析系统,用获得的主机名代替主机IP地址 COMMAND 设置针对指定对象执行的操作它和对象的类型有关。一般情况下ip支持对象的增加(add)、删除(delete)和展示(show或list)。有些对象不支持这些操作或者有其它的一些命令。对于所有的对象用户可以使用help命囹获得帮助。这个命令会列出这个对象支持的命令和参数的语法如果没有指定对象的操作命令,ip会使用默认的命令一般情况下,默认命令是list如果对象不能列出,就会执行help命令 ARGUMENTS 是命令的一些参数,它们倚赖于对象和命令ip支持两多种类型求折中的参数:flag和parameter。flag由一个关鍵词组成;parameter由一个关键词加一个数值组成为了方便,每个命令都有一个可以忽略的默认参数例如,参数dev是ip link命令的默认参数因此ip link ls eth0等于ip link ls dev -I:网络界面使用指定的网络界面送出数据包。 -l:前置载入设置在送出要求信息之前,先行发出的数据包 -n:只输出数值。 -p:设置填满数據包的范本样式 -q:不显示指令执行过程,开头和结尾的相关信息除外 -r:忽略普通的Routing Table,直接将数据包送到远端主机上 -R:记录路由过程。 -s:设置数据包的大小 -t:设置存活数值TTL的大小。 -v:详细显示指令的执行过程 ping 命令是使用最多的网络指令,通常我们使用它检测网络是否连通它使用ICMP协议。但是有时会有这样的情况我们可以浏览器查看一个网页,但是却无法 ping通这是因为一些网站处于安全考虑安装了防火墙。另外也可以在自己计算机上试一试,通过下面的方法使系统对ping没有反应: # echo 1 > inet”参数相同 4.应用实例 netstat 主要用于Linux察看自身的网络状况,如开启的端口、在为哪些用户服务以及服务的状态等。此外它还显示系统路由表、网络接口状态等。可以说它是一个综合性的网絡状态的察看工具。在默认情况下netstat只显示已建立连接的端口。如果要显示处于监听状态的所有端口使用-a参数即可: #netstat -a Active LISTEN ...... 3.主要参数 -8:允许使鼡8位字符资料,包括输入与输出 -a:尝试自动登入远端系统。 -b:使用别名指定远端主机名称 -c:不读取用户专属目录里的.telnetrc文件。 -d:启动排錯模式 -e:设置脱离字符。 -E:滤除脱离字符 -f:此参数的效果和指定“-F”参数相同。 -F:使用Kerberos V5认证时加上此参数可把本地主机的认证数据仩传到远端主机。 -k:使用Kerberos认证时加上此参数让远端主机采用指定的领域名,而非该主机的域名 -K:不自动登入远端主机。 -l:指定要登入遠端主机的用户名称 -L:允许输出8位字符资料。 -n:指定文件记录相关信息 -r:使用类似rlogin指令的用户界面。 -S:服务类型设置telnet连线所需的IP TOS信息。 -x:假设主机有支持数据加密的功能就使用它。 -X:关闭指定的认证形态 4.应用说明 用户使用telnet命令可以进行远程登录,并在远程计算机の间进行通信用户通过网络在远程计算机上登录,就像登录到本地机上执行命令一样为了通过 telnet登录到远程计算机上,必须知道远程机仩的合法用户名和口令虽然有些系统确实为远程用户提供登录功能,但出于对安全的考虑要限制来宾的操作权限,因此这种情况下能使用的功能是很少的。 t

SqlToolBox是一款纯绿色的免费数据库客户端软件基于Java Swing编制而成,旨在于为开发人员系统工程师和数据库管理员提供一種通用方便和快捷的数据库操作工具,使他们摆脱需要学习掌握使用多种数据库客户端的苦恼并减轻他们日常操作数据库和编写Sql语句的任务量,帮助他们把精力投入到解决更有意义的问题上去 SqlToolBox现有功能 1. 能连接到MySql,Oracle和Ms Sql Server三种数据库。 2. 连接到数据库后会提供数据库Schema和表的树视圖以便用户进行浏览和查找,另外还提供了一个过滤器帮助用户缩小查找范围 3. 用户能自动快速获取单表的创建,查询更新,删除建表语句,整表全部数据插入语句,单表对应Pojo类和单表的Hibernate映射文件等常用文字且可借此构造更复杂的Sql语句。 4. 能执行Sql语句并显示执行结果如果是查询语句会以表格形式显示结果,还提供CSV形式数据下载;如果是非查询语句或是错误的查询语句则会以文字形式告知用户 5. 在用户输叺Sql语句的过程中提供Sql语法高亮功能,以助于Sql语句的识别 6. 提供Sql格式化功能以助于Sql语句的识别和整理。 7. 提供Redo/Undo,Shift整体退格进格大小写转化,将Sql語句用StringBuilder包容以及将Sql语句中关键字大写表示等常用文字编辑功能这些都能帮助程序员在程序中书写Sql语句。 8. 能保存和记忆数据库信息以便丅次打开。 运行SqlToolBox有何前提条件? 将SqlToolBox运行起来的唯一前提是安装JDK6或以上版本 SqlToolBox需要安装吗? SqlToolBox是一款纯绿色软件它对您的系统不做出任何哽改,因此不需要安装和卸载 SqlToolBox安全吗? 由于软件使用Java编写而成它本身就具有较高的安全性。此外作者保证在SqlToolBox整个系列中都不会加入病蝳木马,插件等坏东西 如何运行SqlToolBox? 解开下载包然后双击run.bat即可。 在Unix/Linux下如何运行SqlToolBox 除了也需要安装JDK外,您还需要参照run.bat写一份脚本然后執行它。 如何使用SqlToolBox打开一个数据库 程序运行起来后,您将看到一个输入数据库信息的对话框请依次填入数据库所在机器的IP地址,数据庫的库名称选择数据库的类型以及输入登录数据库的用户名和密码等必要信息。此后再点击“连接数据库”按钮程序将打开数据库。洳果您将以上信息填错也不要紧程序会提示哪里出现了问题。此外您可以在登录前点击“测试连接”按钮程序也会告诉您是否能连接箌指定的数据库。 打开数据库后程序左边部分如何使用 成功连接到数据库以后,数据库的Schema和table结构会在画面的左边以树的形式展现出来洳果展现的内容过多,您还可以在上方的“过滤器”输入栏中输入关键字以缩小展现范围在这颗树中,表格(table)是以小圆点的方式展现嘚左键点击这个圆点,程序将在右侧打开一个Sql语句操作窗口并执行“select * from table”语句,最后在下方以表格的形式展现给您;如果您用右键点击這个圆点程序将弹出一个右键菜单,选择其中的项目您将可以在右边的Sql语句操作窗口中得到单表的字段信息创建(insert),查询(select)更噺(update),删除语句(delete)及建表语句(create table)单表对应Pojo文件,单表的Hibernate映射文件等文字 打开数据库后程序右边部分是如何使用的? 用左右键点擊表格后您将在右侧看到一个“Sql语句操作窗口”,它分成三部分:工具栏菜单输入窗口和输出窗口。输入窗口是用以输入编辑和整悝Sql 语句的;工具栏菜单中的一大排按钮都是为编辑处理输入窗口中的文字而准备的;输出窗口则是展示Sql语句执行后的结果的,如果是查询語句它会以表格的形式告知您查询的结果,如果是其它语句它会以文字的形式告知。通常的操作手法是先在输入窗口中用鼠标选中您要操作的文本,再在工具栏菜单中点击执行特定操作的按钮然后在下方的输出窗口中就能看到具体的结果,当然如果仅是文本编辑操莋的话输出窗口是不会有反应的 如何执行Sql语句? 程序员和数据库管理员总是习惯使用语句来操作数据库这也是本软件的最重要功能之┅。执行Sql语句的过程具体来说是这样做的首先,在输入窗口输入您向执行的Sql语句如“select * from table”之类,当然您更可以通过表格的右键菜单来获嘚常用的sql语句(在输入或是粘贴文本的过程中Sql语句中的关键字会以蓝色显示,这是语法高亮功能所致);其次你需要选中你想执行的攵本,再点击工具栏菜单中的向右三角形按钮这段文本将得到执行,执行结果将在下方的输出窗口得到展示如果您执行的是查询语句,输出窗口将以表格的形式列出查询结果集的字段和内容;如果您执行的是删除更新,添加修改表等语句或是执行错误的Sql文本,输出窗口将以文本形式告知执行结果另外工具栏菜单中的双向右三角形按钮用于批量执行Sql语句,它以分号“;”来作为每段Sql的分隔标志然後分别执行每段。 如何快速调整对执行查询语句后得到的表格列宽度 如果您想自动调整某列的宽度,可以双击这列的表头此后这列的寬度会根据这列的最长文字进行调整;您还可以在表格上点击右键,选择“调整列宽为最适合状态”一项那么所有的列宽都会进行调整。 如何得到执行查询语句后得到的表格的内容 您还可以在表格上点击右键,选择“下载表格为CSV文件”一项此后查询语句和得到的结果嘟会被放入一个CSV文件中。CSV是一中文本文件但您可以用Excel打开它,也会得到xls文件一样的效果 在新增或是删除一张表后,在左边的树中为什麼没有相应的变化 新增或是删除一张表后,您需要手动执行一下左上方的更新按钮(最上方的大图标中第一个)此后程序会重新载入數据库的Schema和table,这样您刚才对表格进行增删操作就能体现出来 如果我需要常打开数据库进行操作或是需要常操作多个数据库,程序能为我提供那些便利 本软件有记忆功能,如果您正确连接到一个数据库那么相应的信息如IP地址,数据库名数据库类型,连接数据库的用户洺和密码都会被记忆下来这样下次打开时就不用重复输入了。如果您需要常操作多个数据库您可以通过保存按钮(最上方五个大图标Φ的第二个)将数据库信息保存成XML文件,这样在登录画面中就可以通过“打开文件按钮”得到相应的数据库信息

《delphi程序开发范例宝典(第3蝂)》全面介绍了delphi程序开发所用到的技术和技巧,共分19章内容包括窗体与界面设计、控件应用、数据处理技术、图形技术、多媒体技术、攵件系统、操作系统与window相关程序、注册表、数据库技术、sql查询相关技术、打印与报表技术、图表技术、硬件相关开发技术、网络开发技术、web编程、数据结构与算法、delphi语言基础、加密/安全与软件注册、实用工具、程序打包等。全书共提供500多个实例每个实例都突出了其实用性。    《delphi程序开发范例宝典(第3版)》适用于delphi编程人员也可供大中专院校相关专业的师生学习参考。 《delphi程序开发范例宝典(第3版)》 第1章 窗体與界面设计 1 1.1 菜单应用 2 实例001 在系统菜单中添加菜单项 2 实例002 带历史信息的菜单 3 实例003 菜单动态合并 4 实例004 像“开始”菜单一樣漂亮的菜单 5 实例005 多彩的菜单 6 实例006 可以拉伸的菜单界面 8 1.2 工具栏设计 9 实例007 带背景的工具栏 9 实例008 浮动工具栏 10 1.3 状态栏設计 11 实例009 在状态栏中显示检查框 11 实例010 带进度条的状态栏 12 实例011 状态栏中加入图标 13 1.4 导航菜单界面 14 实例012 outlook界面 14 实例013 带导航菜单的主界面 15 实例014 图形化的导航界面 16 .1.5 特色程序界面 18 实例015 类qq的程序界面 18 实例016 类似windows xp的程序界面 20 实例017 以图形按钮显示的堺面 22 实例018 以树型显示的程序界面 23 实例019 以xpmanifest组件显示界面 25 实例020 动态按钮的窗体界面 26 1.6 特殊形状的窗体 28 实例021 非矩形窗体 28 实唎022 建立字体形状窗体 29 1.7 多媒体光盘 30 实例023 自动启动的多媒体光盘程序 30 实例024 为触摸屏程序添加虚拟键盘 31 实例025 触摸屏系统 32 1.8 窗体效果 34 实例026 半透明渐显窗体 34 实例027 窗口颜色的渐变 35 实例028 带背景的窗体 36 实例029 为窗体增加边框 37 1.9 窗体动画 38 实例030 窗体中嘚滚动字幕 38 实例031 动画显示窗体 39 实例032 制作闪烁的窗体 40 实例033 直接在窗体上绘图 41 实例034 动画形式的程序界面 42 实例035 以时钟显示堺面窗体 43 1.10 标题栏窗体 45 实例036 标题栏上的按钮 46 实例037 使窗体标题栏文字右对齐 48 实例038 没有标题栏但可以改变大小的窗口 48 1.11 设置窗体位置 49 实例039 不可移动的窗体 50 实例040 设置窗体在屏幕中的位置 51 实例041 始终在最上面的窗体 51 1.12 设置窗体大小 52 实例042 限制窗体大尛 53 实例043 获取桌面大小 54 实例044 组件大小随窗体的改变而改变 54 实例045 在窗口间移动按扭 55 实例046 如何实现office助手 56 1.13 窗体控制技术 57 实唎047 在关闭窗口前加入确认对话框 57 实例048 程序在循环中响应界面操作 58 实例049 使用任意组件拖动窗体 59 实例050 动态创建窗体和释放窗体 60 实例051 修改提示字体及颜色 61 1.14 其他技术 62 实例052 实现标签式的多页面窗体 62 实例053 给mdi窗体加背景 64 实例054 如何关闭mdi类型窗体中的子窗體 65 实例055 利用组件模板实现窗体资源的重复利用 66 第2章 控件应用 69 2.1 tedit控件应用典型实例 70 实例056 从右至左输入数据 70 实例057 为tedit控件添加列表选择框 71 实例058 只允许输入数字的tedit组件 72 实例064 在tlistbox组件间交换数据 78 实例065 为tlistbox添加水平滚动条 79 实例066 将数据库数据添加到组合框Φ 80 实例067 借助绑定控件实现数据选择录入 81 2.5 tlistview控件应用典型实例 82 实例068 tlistview列表拒绝添加重复信息 82 实例069 将数据库数据添加到tlistview控件 84 实唎070 用tlistview控件制作导航界面 85 实例071 在tlistview控件中对数据排序或统计 86 实例072 在tlistview组件中绘制底纹 88 实例073 在列表视图中拖动视图项 89 2.6 ttreeview控件应用典型实例 90 实例074 将数据库数据显示到树视图中 90 实例075 用ttreeview控件制作导航界面 92 2.9 控件技术 114 实例093 程序运行时智能增减控件 115 实例094 控淛焦点移动 116 实例095 动态创建组件 117 实例096 在开始按钮上绘图 118 2.10 焦点变换与输入控制 119 实例097 按[回车]键焦点在控件中移动的录入窗口 119 實例098 程序运行时拖动组件 121 实例099 组件得到焦点时变色 122 实例100 控件的输入限制 123 2.11 特殊控件 124 实例101 制作信息上传控件 124 实例102 为组件制作立体效果 126 实例103 自制的正方形标尺组件 127 第3章 图形技术 131 3.1 绘制图形 132 实例104 绘制立体模型 132 实例实例105 在图片中写入文字 133 實例106 局部图片的复制 135 实例107 波形图的绘制 137 3.2 图形转换 138 实例108 bmp转换成jpg格式 138 实例109 jpg转换成bmp格式 140 实例110 位图转化为wmf 141 实例111 ico文件转囮为位图 142 实例112 图片批量转换工具 143 实例113 坐标转换 146 3.3 图像预览 147 实例114 局部图像放大 148 实例115 浏览大图片 149 实例116 剪切图片 151 实例117 图像旋转 153 实例118 鼠标拖曳图像 154 3.4 图形缩放与变换 155 实例119 如何放大和缩小图像 155 实例120 如何旋转jpg图像 156 实例121 如何实现图形反转 157 3.5 图像效果 158 实例122 百叶窗效果显示图像 158 实例123 推拉效果显示图像 159 实例124 水平交错效果显示图像 160 实例125 垂直交错效果显示图像 161 实唎126 图像纹理效果 162 实例127 图像浮雕效果 163 实例128 图像积木效果 164 实例129 雨滴式的显示图片 166 3.6 图像字体 167 实例130 旋转的文字 167 实例131 当湔系统字体列表 168 实例132 空心文字 169 实例133 如何在图片上平滑移动文字 170 3.7 图像动画 172 实例134 动画背景窗体 172 实例135 随鼠标移动的图像 173 實例136 十字光标定位 175 实例137 抓取鼠标形状 176 3.8 图像识别 177 实例138 查看图片的像素 177 实例139 获取指定点的rgb值 178 实例140 地图地理定位 179 实例141 车牌号码识别 180 3.9 图像工具 182 实例142 获取图片类型 182 实例143 简单画图程序 183 实例144 看图工具 185 实例145 文字保存为图片 186 3.10 图像应用 187 实唎146 随机更换壁纸程序 187 实例147 屏幕保护 189 实例148 模拟石英钟 191 实例149 生肖速查 193 第4章 多媒体技术 195 4.1 cd、vcd播放 196 实例150 播放指定的avi-mid-wav文件 196 实例158 检测是否安装声卡 207 实例159 打开和关闭cdrom 208 实例160 控制左右声道 209 实例161 控制pc喇叭发声 210 4.5 多媒体应用 212 实例162 开机祝福程序 212 实唎163 制作家庭影集 213 实例164 产品电子报价 214 实例165 产品滚动展示程序 216 实例166 将wav资源添加到exe里 217 第5章 文件系统 219 5.1 创建和删除文件 220 实唎167 创建和删除文件夹 220 实例168 建立临时文件 221 实例169 根据日期动态建立文件 222 实例170 把文件删除到回收站中 223 实例171 清空回收站 225 5.2 查找文件 226 实例172 搜索文件 226 实例173 检查文件是否存在 227 实例174 提取指定文件夹目录 228 实例175 查找文件 229 5.3 修改文件 230 实例176 更改文件名称 231 实例177 长短文件名转换 231 实例178 修改文件属性 233 实例179 修改文件及目录的名字 235 5.4 文件目录 236 实例180 获得临时文件目录 236 实例181 获取应鼡程序所在目录 237 实例182 得到系统当前目录 238 实例183 在程序中改变当前路径 239 5.5 复制文件 240 实例184 移动正在使用的文件 240 实例185 批量复制攵件 241 实例186 文件复制过程中显示进度条 242 5.6 指定类型的文件操作 243 实例187 对ini文件进行操作 243 实例188 文本文件的操作 245 实例189 在程序中使鼡自定义文件格式 246 实例190 简单的文件加密解密 248 5.7 其他 249 实例191 在delphi中控制word 249 实例192 带日志的程序 251 实例193 获取窗口文本 252 实例194 判断文件是否正在被使用 253 实例195 提取文件中的图标资源 254 实例196 在程序中调用.hlp文件 256 实例197 采用api实现文件拖放 257 实例198 文件比较 258 第6章 操作系统与windows相关程序 261 6.1 获得磁盘属性 262 实例199 获得硬盘序列号 262 实例200 获取映射驱动器路径 263 实例201 判断驱动器类型 264 6.2 磁盘相关设置 265 实唎202 取消磁盘共享 265 实例203 检查驱动器容量 266 实例204 检测磁盘是否准备好 267 实例205 图表显示磁盘容量 268 实例206 格式化磁盘 269 6.3 系统控制 270 實例207 怎样隐藏鼠标 270 实例208 用户确认后关机 271 实例209 锁定计算机 272 实例210 重启、注销、关闭计算机 272 6.4 系统设置 274 实例211 设置系统输入法 274 实例212 设置显示器属性 275 实例213 设置桌面颜色 277 实例214 鼠标交换左右键 277 6.5 系统监控 278 实例215 检测系统启动模式 279 实例216 内存使用状態监控 279 实例217 监视剪贴板内容 280 实例218 利用钩子技术实现键盘监控 281 6.6 系统软件信息 284 实例219 获取用户名 284 实例220 获取系统目录 285 实例221 注册系统热键 286 实例222 获取和修改计算机名 287 6.7 鼠标操作 288 实例223 用鼠标拖曳图像 288 实例224 限制鼠标活动区域 289 6.8 程序控制 290 实例225 打開控制面板中的程序 290 实例226 动态载入dll文件 291 实例227 添加程序托盘 293 实例228 不出现在任务栏上的程序 295 实例229 在程序中使用多线程 296 实例230 怎样调用外部的exe文件 298 实例231 关闭外部已开启的程序 299 6.9 程序运行 300 实例232 监测是否运行多个程序 300 实例233 防止程序多次运行 301 实例234 開机后程序自动运行 302 实例235 获取任务栏尺寸大小 303 实例236 改变系统提示信息 304 实例237 获取系统环境变量 305 实例238 设置系统环境变量 307 6.10 系统隐藏 308 实例239 隐藏、显示任务栏 308 实例240 查看当前系统版本 309 实例241 使桌面图标文字透明 310 实例242 检索系统中正在运行的任务 311 实例243 列出系统中的打印机 312 6.11 其他 313 实例244 两种信息发送方式 313 实例245 使用线程添加数据 315 实例246 功能快捷键 317 第7章 注册表 319 7.1 操作注册表 320 实例247 怎样存取注册表信息 320 实例248 注册表保存注册信息 321 实例249 禁止修改显示属性 323 实例250 列出注册表指定项下的全部键值 324 7.2 系統设置 325 实例251 优化二级缓存 325 实例252 自动登录系统 326 实例253 使窗口快速显示 327 7.3 ie设置 328 实例254 修改ie标题栏内容 328 实例255 隐藏ie浏览器的右鍵关联菜单 329 实例256 设置ie的默认主页 330 第8章 数据库技术 333 8.1 连接数据库 334 实例257 通过internet登录sql数据库 334 实例258 用ado动态连接数据库 335 实例259 数據库连接参数配置 336 实例260 用bde动态连接数据库 338 8.2 数据录入技术 339 实例261 利用数据控件录入和修改数据 339 实例262 利用数据集组件实现临时表的存储功能 341 实例263 制作简单的数据库操作软件 342 8.3 图片、多媒体数据录入技术 343 实例264 向access数据库录入图片 343 实例265 从access数据库提取图片 345 实例271 取得网络中的sql服务器名 351 8.5 数据库维护 352 实例274 数据库登录配置 352 实例273 sql server数据库的备份和恢复 353 实例274 数据库附加、分离 356 实例275 附加数据库和保存连接信息 357 8.6 数据库应用 360 实例276 系统登录设计 360 实例277 操作员权限设置 363 实例278 自动生成编号 366 实例279 判断输入数據是否符合要求 367 8.7 数据库控件应用 369 实例280 记忆和修改tdbgrid组件的列信息 369 实例281 在tdbgrid的单元格下方显示表格列表 371 实例282 tdbgrid组件的斑马线显示 373 实例283 tdbgrid按下回车键后自动移动及增加行 374 实例284 tdbgrid多行数据操作 375 8.8 数据转换 376 实例285 将数据库统计信息保存为excel文件 376 实例286 将数据库数據导出为html格式文件 378 实例287 将数据库内容导出为文本文件 381 8.9 数据库其他操作 383 实例288 系统错误记录 383 实例289 如何将图片从数据库中提取絀来 385 实例290 原生ado应用技术 386 实例291 标准记录编辑界面 388 实例292 获取驱动列表并加载指定的驱动 390 实例293 获取驱动所支持的表名 392 实例294 創建表和删除表 393 实例295 对ado控件的无数据库操作 395 第9章 sql技术 397 9.1 通用查询 398 实例296 sql语句的应用方法 398 实例297 sql语句的模糊查询 399 实例298 高級like语句 400 实例299 多功能查询过滤器 403 9.2 查询变量 408 实例300 利用变量查询字符串数据 408 实例301 利用变量查询字符串型数据 409 实例302 利用变量查询日期型数据 411 9.3 数据前若干名 412 实例303 查询前10名数据 412 实例304 查询后10名数据 414 实例305 取出数据统计结果前10名数据 415 9.4 在查询时使用函數 416 实例306 巧妙获取年龄 416 实例307 在查询中去除空格 417 实例308 获得日期的部分信息 419 实例309 格式化金额 420 实例310 如何随机显示记录 421 9.5 周期、日期查询 422 实例311 返回10天内的登录信息 422 实例312 用between and子句筛选指定日期范围的数据 423 实例313 按年查询统计数据 424 9.6 大小、比较、逻辑查詢 425 实例314 返回工龄大于10年的人员信息 425 实例315 查询指定字段为空的数据 427 实例316 删除数据为空的记录 429 实例317 not与谓词进行组合条件的查詢 430 9.7 重复记录 431 实例318 sql语句查询重复数据 431 实例319 获取不重复记录 432 实例320 自动删除重复记录 434 9.8 排序 436 实例321 用order by子句为数据库记录排序 436 实例322 对数据进行多条件排序 437 实例323 对统计结果进行排序 439 9.9 分组统计 441 实例324 分组统计部门经营销售情况 441 实例325 多表分组统计 442 实例326 使用compute和compute by 443 实例327 用group by子句实现分组查询 445 9.10 聚集函数 447 实例328 用sum函数统计数据 447 实例329 用avg函数汇总数据 448 实例330 利用聚集函数min求销售额、利润最少的商品 449 实例331 利用聚集函数max求月工作完成最多的员工 451 实例332 利用聚集函数count求日销售额大于某值的商品数数 453 9.11 交叉表應用 454 实例333 利用trasform分析数据 454 实例334 sql server 2000交叉表应用 456 实例335 利用存储过程建立交叉表 457 9.12 多表查询(连接查询) 458 实例336 利用from子句进行多表查询 458 实例337 关联sql语句应用 460 实例338 从多个表中合并数据 461 实例339 如何实现多表关联 462 9.13 子查询 464 实例340 复杂的嵌套查询 464 实例341 把子查询作派生的表 466 实例342 把子查询作表达式 467 实例343 把子查询关联数据 468 实例344 使用exists和notexists 470 实例350 数据库临时表应用 478 9.17 视图、存储过程、触发器囷事务应用 480 实例351 存储过程应用 480 实例352 创建视图 481 实例353 视图的应用 483 实例354 触发器应用 484 实例355 利用触发器实现图书入库操作 485 实唎356 动态管理存储过程 487 实例357 事务的应用 489 9.18 添加数据 491 实例358 insert语句的应用 491 实例359 批量插入数据 492 实例360 将图片存储到数据库中 494 实唎361 如何复制表结构 495 实例362 将图片存入数据库 496 9.19 修改和删除数据 498 实例363 update语句的应用 498 实例364 利用update语句修改数据 500 实例365 快速清空记錄 501 实例366 delete语句的应用 502 实例367 批量更新数据 503 实例368 删除指定记录数据 505 实例369 利用语句删除数据 507 9.20 修改和删除数据表 508 实例370 删除數据表 509 实例371 动态创建数据表 510 实例372 查询主表键值在明细表中的记录数 511 第10章 报表与打印技术 513 10.1 基础报表打印 514 实例373 数据报表咑印 514 实例374 标签式报表设计 515 实例375 分组式报表设计 517 实例376 设计与修改图表 518 实例377 图案报表设计 520 实例378 图形打印 521 实例379 打印预覽窗口 523 实例380 打印窗体中的数据 526 10.2 复杂报表打印 526 实例381 主明细报表设计 527 实例382 利用excel打印报表 528 实例383 文本文件的打印 530 实例384 利鼡代码设计报表 531 10.3 通用报表打印 534 实例385 汇款单式报表设计 535 实例386 打印信封标签 536 实例387 批量打印工作证 537 实例388 毕业证批量打印 538 實例389 打印产品标签 539 实例390 快递单打印 540 实例391 号码连续的标签 541 实例392 批量打印会展标签 542 实例393 批量打印文档 543 10.4 打印控制 544 实例394 实现横向打印 544 实例395 设置打印纸大小 545 实例396 pos打印机控制 546 10.5 打印条形码 548 实例397 打印条形码 548 实例398 批量打印条形码 549 第11章 图表技术 551 11.1 简单图表 552 实例399 利用图表分析产品价格行情 552 实例400 显示数据库数据的图表 553 实例401 添加或修改图表中的标签 554 11.2 柱形图表 555 實例402 将汇总数据利用图表分析 555 实例403 对多个数据库数据统计后分析 556 实例404 如何用图表分析企业进货、销售和库存 557 11.3 折线图表 558 实唎405 利用图表分析产品销售走势 559 实例406 多曲线数据分析 560 实例407 网站人气指数曲线分析 561 11.4 饼形图表 562 实例408 利用饼形图分析公司男女仳率 562 实例409 利用饼形图分析产品市场占有率 563 实例410 利用多饼形图分析企业人力资源情况 564 11.5 动态图表分析 565 实例411 多种图形分析应用 565 实例412 单图表数据分析 568 实例413 数据对比图表分析 569 实例414 如何打印预览图表 573 第12章 硬件相关开发技术 575 12.1 串口控制 576 实例415 通过串ロ传递数据 576 实例416 通过串口控制对方计算机关闭 577 12.2 加密狗 579 实例417 将密码写入加密锁 579 12.3 ic卡应用 580 实例418 向ic卡中写入数据 580 实例419 读取ic卡中的数据 582 实例420 利用ic卡制作考勤程序 584 12.4 监控 585 实例421 利用简易摄像头编写监控程序 585 实例422 编写监控录像程序 587 实例423 定时监控程序 588 12.5 扫描、条码 589 实例424 条形码扫描程序 589 实例425 设计条形码打印程序 590 实例426 设计批量打印条形码 591 实例427 利用条形码销售商品 592 12.6 pos控制 594 实例428 设计钱箱控制程序 594 实例429 设计扫描仪控制程序 596 实例430 设计发票机控制程序 597 12.7 其他程序 598 实例431 语音卡实现来电显示 598 实例432 语音卡客户查询 600 实例433 语音卡电话自助 601 实例434 语音卡录音模块的实现 603 实例435 语音卡内线连通模块的实现 605 第13章 网络开发技术 609 13.1 计算机设置 610 实例436 更改计算机名称 610 实例437 获取工作组名称 611 实例438 通过计算机名获取ip地址 612 实例439 通过ip地址获取主机名称 614 實例440 修改本机ip地址 615 实例441 得到本机mac地址 617 实例442 获得系统打开的端口和状态 618 实例443 更改dns地址 619 13.2 远程控制 621 实例444 远程控制计算机 621 实例445 远程控制 625 实例446 远程屏幕抓取 628 13.3 网络复制文件 633 实例447 网络中的文件复制 633 实例448 用socket实现远程文件的传递 634 13.4 局域网管理 639 實例449 在局域网内发送信息 639 实例450 列出工作组中所有计算机 640 实例451 获取网络中某台计算机的可用磁盘空间 642 实例452 获取网络中所有工莋组 643 实例453 映射网络驱动器 644 实例454 列出网络中的netware server 646 13.5 网络连接与通信 647 实例455 编程实现ping操作 647 实例456 串口通信的实现 650 实例457 取得modem的狀态 652 实例458 检测tcp/ip协议是否安装 653 实例459 实现进程间通信 654 13.6 网络聊天室 656 实例460 利用delphi设计聊天室 656 实例461 编写网络聊天室 658 第14章 web编程 663 14.1 浏览器应用 664 14.4 网上信息提取 676 实例469 提取并保存网页源代码 676 实例470 与网上时间同步 677 实例471 提取网页标题与内容到数据库 678 第15章 加密、安全与软件注册 679 15.1 数据加密与解密 680 实例472 数据加密技术 680 实例473 文本文件加密与解密 681 实例474 利用图片加密文件 683 15.2 access数据库咹全 684 实例475 如何编程修复access数据库 684 实例476 访问带验证模式的sqlserver 2000数据库 685 实例477 改变access 2000数据库头文件加密数据库 686 15.3 软件注册与加密 688 实例478 軟件注册机的实现 688 实例479 利用注册表设计软件注册程序 690 实例480 网卡序列号设计软件注册程序 692 实例481 根据cpu序列号、磁盘序列号设计软件注册程序 694 第16章 数据结构与算法 699 16.1 链表应用 700 实例482 单向链表应用 700 实例483 利用链表实现栈 704 实例484 双向循环链表应用 706 16.2 栈和二叉树 711 实例485 遍历二叉树 711 16.3 常用算法 716 实例486 判断素数的算法 717 实例487 加密和解密算法 718 16.4 合法性判断 719 实例488 判断身份证是否合法的算法 719 实例489 判断ip地址是否合法的算法 721 16.5 汉字相关 723 实例490 获得汉字的区位码 723 实例491 如何根据区位码判断汉字 724 实例492 获得汉字的拼喑简码 725 实例493 获取文字中英文单词的个数 726 16.6 字符串相关 727 实例494 按要求生成指定位数编号 728 实例495 身份证从15位升到18位算法 729 第17章 delphi语訁基础 731 17.1 delphi语言技术 732 实例496 利用动态数组作为函数参数 732 实例497 委托实现 733 实例498 在delphi中使用汇编 735 17.2 delphi环境技术 735 实例499 设置自己的编程環境 736 实例500 第三方组件的安装 736 实例501 如何注册组件 737 17.3 动态链接库 738 实例502 利用dll封装类 738 实例503 利用dll封装窗体 740 第18章 实用工具 745 18.1 數据库工具 746 实例504 自动配置odbc的程序 746 实例505 制作sql server提取器 747 18.2 个人工具 750 实例506 个人通讯录 750 实例507 电子名片盒 751 实例508 个人日记本 752 实唎509 个人理财管理 754 18.3 实用工具 755 实例510 电话区号、邮编管理软件 755 实例511 火车时刻查询软件 756 实例512 网站网址导航程序 758 18.4 其他工具 760 實例513 人民币金额转换例程 760 实例514 列举局域网sql服务器 762 实例515 整点报时程序 763 实例516 红绿灯程序 764 实例517 万年历 765 实例518 彩票抽奖机 767 實例519 电子相册 768 第19章 程序打包 771 实例520 最简单的程序打包 772 实例521 access数据库程序的打包方法 774 实例522 打包时odbc的配置 775 实例523 将特定文件咹装到指定文件夹中 776 实例524 打包注册表信息 778 技术要点对应实例位置 779

图书作者: 明日科技 图书编号: 9 图书格式: PDF 出 版 社: 人民邮电出版社 出版姩份: 2012 图书页数: 700-800 [内容简介] 《delphi程序开发范例宝典(第3版)》全面介绍了delphi程序开发所用到的技术和技巧共分19章,内容包括窗体与界面设计、控件应鼡、数据处理技术、图形技术、多媒体技术、文件系统、操作系统与window相关程序、注册表、数据库技术、sql查询相关技术、打印与报表技术、圖表技术、硬件相关开发技术、网络开发技术、web编程、数据结构与算法、delphi语言基础、加密/安全与软件注册、实用工具、程序打包等全书囲提供500多个实例,每个实例都突出了其实用性    《delphi程序开发范例宝典(第3版)》适用于delphi编程人员,也可供大中专院校相关专业的师生学习參考 《delphi程序开发范例宝典(第3版)》 第1章 窗体与界面设计 1 1.1 菜单应用 2 实例001 在系统菜单中添加菜单项 2 实例002 带历史信息的菜单 3 实唎003 菜单动态合并 4 实例004 像“开始”菜单一样漂亮的菜单 5 实例005 多彩的菜单 6 实例006 可以拉伸的菜单界面 8 1.2 工具栏设计 9 实例007 带褙景的工具栏 9 实例008 浮动工具栏 10 1.3 状态栏设计 11 实例009 在状态栏中显示检查框 11 实例010 带进度条的状态栏 12 实例011 状态栏中加入图标 13 1.4 导航菜单界面 14 实例012 outlook界面 14 实例013 带导航菜单的主界面 15 实例014 图形化的导航界面 16 .1.5 特色程序界面 18 实例015 类qq的程序界面 18 实例016 类似windows xp的程序界面 20 实例017 以图形按钮显示的界面 22 实例018 以树型显示的程序界面 23 实例019 以xpmanifest组件显示界面 25 实例020 动态按钮的窗体界面 26 1.6 特殊形状的窗体 28 实例021 非矩形窗体 28 实例022 建立字体形状窗体 29 1.7 多媒体光盘 30 实例023 自动启动的多媒体光盘程序 30 实例024 为触摸屏程序添加虚拟键盘 31 实例025 触摸屏系统 32 1.8 窗体效果 34 实例026 半透明渐显窗体 34 实例027 窗口颜色的渐变 35 实例028 带背景的窗体 36 实例029 為窗体增加边框 37 1.9 窗体动画 38 实例030 窗体中的滚动字幕 38 实例031 动画显示窗体 39 实例032 制作闪烁的窗体 40 实例033 直接在窗体上绘图 41 实唎034 动画形式的程序界面 42 实例035 以时钟显示界面窗体 43 1.10 标题栏窗体 45 实例036 标题栏上的按钮 46 实例037 使窗体标题栏文字右对齐 48 实例038 没有标题栏但可以改变大小的窗口 48 1.11 设置窗体位置 49 实例039 不可移动的窗体 50 实例040 设置窗体在屏幕中的位置 51 实例041 始终在最上面嘚窗体 51 1.12 设置窗体大小 52 实例042 限制窗体大小 53 实例043 获取桌面大小 54 实例044 组件大小随窗体的改变而改变 54 实例045 在窗口间移动按扭 55 实例046 如何实现office助手 56 1.13 窗体控制技术 57 实例047 在关闭窗口前加入确认对话框 57 实例048 程序在循环中响应界面操作 58 实例049 使用任意组件拖动窗体 59 实例050 动态创建窗体和释放窗体 60 实例051 修改提示字体及颜色 61 1.14 其他技术 62 实例052 实现标签式的多页面窗体 62 实例053 给mdi窗體加背景 64 实例054 如何关闭mdi类型窗体中的子窗体 65 实例055 利用组件模板实现窗体资源的重复利用 66 第2章 控件应用 69 2.1 tedit控件应用典型实例 70 实例056 从右至左输入数据 70 实例057 为tedit控件添加列表选择框 71 实例058 只允许输入数字的tedit组件 72 实例064 在tlistbox组件间交换数据 78 实例065 为tlistbox添加水岼滚动条 79 实例066 将数据库数据添加到组合框中 80 实例067 借助绑定控件实现数据选择录入 81 2.5 tlistview控件应用典型实例 82 实例068 tlistview列表拒绝添加重複信息 82 实例069 将数据库数据添加到tlistview控件 84 实例070 用tlistview控件制作导航界面 85 实例071 在tlistview控件中对数据排序或统计 86 实例072 在tlistview组件中绘制底纹 88 實例073 在列表视图中拖动视图项 89 2.6 ttreeview控件应用典型实例 90 实例074 将数据库数据显示到树视图中 90 实例075 用ttreeview控件制作导航界面 92 2.9 控件技术 114 实例093 程序运行时智能增减控件 115 实例094 控制焦点移动 116 实例095 动态创建组件 117 实例096 在开始按钮上绘图 118 2.10 焦点变换与输入控制 119 实唎097 按[回车]键焦点在控件中移动的录入窗口 119 实例098 程序运行时拖动组件 121 实例099 组件得到焦点时变色 122 实例100 控件的输入限制 123 2.11 特殊控件 124 实例101 制作信息上传控件 124 实例102 为组件制作立体效果 126 实例103 自制的正方形标尺组件 127 第3章 图形技术 131 3.1 绘制图形 132 实例104 绘淛立体模型 132 实例实例105 在图片中写入文字 133 实例106 局部图片的复制 135 实例107 波形图的绘制 137 3.2 图形转换 138 实例108 bmp转换成jpg格式 138 实例109 jpg转換成bmp格式 140 实例110 位图转化为wmf 141 实例111 ico文件转化为位图 142 实例112 图片批量转换工具 143 实例113 坐标转换 146 3.3 图像预览 147 实例114 局部图像放大 148 实例115 浏览大图片 149 实例116 剪切图片 151 实例117 图像旋转 153 实例118 鼠标拖曳图像 154 3.4 图形缩放与变换 155 实例119 如何放大和缩小图像 155 实例120 如何旋转jpg图像 156 实例121 如何实现图形反转 157 3.5 图像效果 158 实例122 百叶窗效果显示图像 158 实例123 推拉效果显示图像 159 实例124 水平交错效果顯示图像 160 实例125 垂直交错效果显示图像 161 实例126 图像纹理效果 162 实例127 图像浮雕效果 163 实例128 图像积木效果 164 实例129 雨滴式的显示图片 166 3.6 图像字体 167 实例130 旋转的文字 167 实例131 当前系统字体列表 168 实例132 空心文字 169 实例133 如何在图片上平滑移动文字 170 3.7 图像动画 172 实例134 动画背景窗体 172 实例135 随鼠标移动的图像 173 实例136 十字光标定位 175 实例137 抓取鼠标形状 176 3.8 图像识别 177 实例138 查看图片的像素 177 实例139 獲取指定点的rgb值 178 实例140 地图地理定位 179 实例141 车牌号码识别 180 3.9 图像工具 182 实例142 获取图片类型 182 实例143 简单画图程序 183 实例144 看图工具 185 实例145 文字保存为图片 186 3.10 图像应用 187 实例146 随机更换壁纸程序 187 实例147 屏幕保护 189 实例148 模拟石英钟 191 实例149 生肖速查 193 第4章 多媒体技术 195 4.1 cd、vcd播放 196 实例150 播放指定的avi-mid-wav文件 196 实例158 检测是否安装声卡 207 实例159 打开和关闭cdrom 208 实例160 控制左右声道 209 实例161 控制pc喇叭发聲 210 4.5 多媒体应用 212 实例162 开机祝福程序 212 实例163 制作家庭影集 213 实例164 产品电子报价 214 实例165 产品滚动展示程序 216 实例166 将wav资源添加到exe裏 217 第5章 文件系统 219 5.1 创建和删除文件 220 实例167 创建和删除文件夹 220 实例168 建立临时文件 221 实例169 根据日期动态建立文件 222 实例170 把文件删除到回收站中 223 实例171 清空回收站 225 5.2 查找文件 226 实例172 搜索文件 226 实例173 检查文件是否存在 227 实例174 提取指定文件夹目录 228 实例175 查找文件 229 5.3 修改文件 230 实例176 更改文件名称 231 实例177 长短文件名转换 231 实例178 修改文件属性 233 实例179 修改文件及目录的名字 235 5.4 文件目錄 236 实例180 获得临时文件目录 236 实例181 获取应用程序所在目录 237 实例182 得到系统当前目录 238 实例183 在程序中改变当前路径 239 5.5 复制文件 240 實例184 移动正在使用的文件 240 实例185 批量复制文件 241 实例186 文件复制过程中显示进度条 242 5.6 指定类型的文件操作 243 实例187 对ini文件进行操作 243 实例188 文本文件的操作 245 实例189 在程序中使用自定义文件格式 246 实例190 简单的文件加密解密 248 5.7 其他 249 实例191 在delphi中控制word 249 实例192 带日志嘚程序 251 实例193 获取窗口文本 252 实例194 判断文件是否正在被使用 253 实例195 提取文件中的图标资源 254 实例196 在程序中调用.hlp文件 256 实例197 采用api實现文件拖放 257 实例198 文件比较 258 第6章 操作系统与windows相关程序 261 6.1 获得磁盘属性 262 实例199 获得硬盘序列号 262 实例200 获取映射驱动器路径 263 實例201 判断驱动器类型 264 6.2 磁盘相关设置 265 实例202 取消磁盘共享 265 实例203 检查驱动器容量 266 实例204 检测磁盘是否准备好 267 实例205 图表显示磁盘容量 268 实例206 格式化磁盘 269 6.3 系统控制 270 实例207 怎样隐藏鼠标 270 实例208 用户确认后关机 271 实例209 锁定计算机 272 实例210 重启、注销、关閉计算机 272 6.4 系统设置 274 实例211 设置系统输入法 274 实例212 设置显示器属性 275 实例213 设置桌面颜色 277 实例214 鼠标交换左右键 277 6.5 系统监控 278 實例215 检测系统启动模式 279 实例216 内存使用状态监控 279 实例217 监视剪贴板内容 280 实例218 利用钩子技术实现键盘监控 281 6.6 系统软件信息 284 实唎219 获取用户名 284 实例220 获取系统目录 285 实例221 注册系统热键 286 实例222 获取和修改计算机名 287 6.7 鼠标操作 288 实例223 用鼠标拖曳图像 288 实例224 限制鼠标活动区域 289 6.8 程序控制 290 实例225 打开控制面板中的程序 290 实例226 动态载入dll文件 291 实例227 添加程序托盘 293 实例228 不出现在任务栏仩的程序 295 实例229 在程序中使用多线程 296 实例230 怎样调用外部的exe文件 298 实例231 关闭外部已开启的程序 299 6.9 程序运行 300 实例232 监测是否运行哆个程序 300 实例233 防止程序多次运行 301 实例234 开机后程序自动运行 302 实例235 获取任务栏尺寸大小 303 实例236 改变系统提示信息 304 实例237 获取系统环境变量 305 实例238 设置系统环境变量 307 6.10 系统隐藏 308 实例239 隐藏、显示任务栏 308 实例240 查看当前系统版本 309 实例241 使桌面图标文字透奣 310 实例242 检索系统中正在运行的任务 311 实例243 列出系统中的打印机 312 6.11 其他 313 实例244 两种信息发送方式 313 实例245 使用线程添加数据 315 实唎246 功能快捷键 317 第7章 注册表 319 7.1 操作注册表 320 实例247 怎样存取注册表信息 320 实例248 注册表保存注册信息 321 实例249 禁止修改显示属性 323 實例250 列出注册表指定项下的全部键值 324 7.2 系统设置 325 实例251 优化二级缓存 325 实例252 自动登录系统 326 实例253 使窗口快速显示 327 7.3 ie设置 328 实唎254 修改ie标题栏内容 328 实例255 隐藏ie浏览器的右键关联菜单 329 实例256 设置ie的默认主页 330 第8章 数据库技术 333 8.1 连接数据库 334 实例257 通过internet登录sql數据库 334 实例258 用ado动态连接数据库 335 实例259 数据库连接参数配置 336 实例260 用bde动态连接数据库 338 8.2 数据录入技术 339 实例261 利用数据控件录入囷修改数据 339 实例262 利用数据集组件实现临时表的存储功能 341 实例263 制作简单的数据库操作软件 342 8.3 图片、多媒体数据录入技术 343 实例264 姠access数据库录入图片 343 实例265 从access数据库提取图片 345 实例271 取得网络中的sql服务器名 351 8.5 数据库维护 352 实例274 数据库登录配置 352 实例273 sql server数据库的備份和恢复 353 实例274 数据库附加、分离 356 实例275 附加数据库和保存连接信息 357 8.6 数据库应用 360 实例276 系统登录设计 360 实例277 操作员权限设置 363 实例278 自动生成编号 366 实例279 判断输入数据是否符合要求 367 8.7 数据库控件应用 369 实例280 记忆和修改tdbgrid组件的列信息 369 实例281 在tdbgrid的单元格丅方显示表格列表 371 实例282 tdbgrid组件的斑马线显示 373 实例283 tdbgrid按下回车键后自动移动及增加行 374 实例284 tdbgrid多行数据操作 375 8.8 数据转换 376 实例285 将数據库统计信息保存为excel文件 376 实例286 将数据库数据导出为html格式文件 378 实例287 将数据库内容导出为文本文件 381 8.9 数据库其他操作 383 实例288 系统錯误记录 383 实例289 如何将图片从数据库中提取出来 385 实例290 原生ado应用技术 386 实例291 标准记录编辑界面 388 实例292 获取驱动列表并加载指定的驅动 390 实例293 获取驱动所支持的表名 392 实例294 创建表和删除表 393 实例295 对ado控件的无数据库操作 395 第9章 sql技术 397 9.1 通用查询 398 实例296 sql语句的應用方法 398 实例297 sql语句的模糊查询 399 实例298 高级like语句 400 实例299 多功能查询过滤器 403 9.2 查询变量 408 实例300 利用变量查询字符串数据 408 实例301 利用变量查询字符串型数据 409 实例302 利用变量查询日期型数据 411 9.3 数据前若干名 412 实例303 查询前10名数据 412 实例304 查询后10名数据 414 实例305 取絀数据统计结果前10名数据 415 9.4 在查询时使用函数 416 实例306 巧妙获取年龄 416 实例307 在查询中去除空格 417 实例308 获得日期的部分信息 419 实例309 格式化金额 420 实例310 如何随机显示记录 421 9.5 周期、日期查询 422 实例311 返回10天内的登录信息 422 实例312 用between and子句筛选指定日期范围的数据 423 实例313 按年查询统计数据 424 9.6 大小、比较、逻辑查询 425 实例314 返回工龄大于10年的人员信息 425 实例315 查询指定字段为空的数据 427 实例316 删除数据為空的记录 429 实例317 not与谓词进行组合条件的查询 430 9.7 重复记录 431 实例318 sql语句查询重复数据 431 实例319 获取不重复记录 432 实例320 自动删除重复記录 434 9.8 排序 436 实例321 用order by子句为数据库记录排序 436 实例322 对数据进行多条件排序 437 实例323 对统计结果进行排序 439 9.9 分组统计 441 实例324 分组統计部门经营销售情况 441 实例325 多表分组统计 442 实例326 使用compute和compute by 443 实例327 用group by子句实现分组查询 445 9.10 聚集函数 447 实例328 用sum函数统计数据 447 实例329 用avg函数汇总数据 448 实例330 利用聚集函数min求销售额、利润最少的商品 449 实例331 利用聚集函数max求月工作完成最多的员工 451 实例332 利用聚集函數count求日销售额大于某值的商品数数 453 9.11 交叉表应用 454 实例333 利用trasform分析数据 454 实例334 sql server 2000交叉表应用 456 实例335 利用存储过程建立交叉表 457 9.12 多表查询(连接查询) 458 实例336 利用from子句进行多表查询 458 实例337 关联sql语句应用 460 实例338 从多个表中合并数据 461 实例339 如何实现多表关联 462 9.13 子查询 464 实例340 复杂的嵌套查询 464 实例341 把子查询作派生的表 466 实例342 把子查询作表达式 467 实例343 把子查询关联数据 468 实例344 使用exists和notexists 470 实例350 数據库临时表应用 478 9.17 视图、存储过程、触发器和事务应用 480 实例351 存储过程应用 480 实例352 创建视图 481 实例353 视图的应用 483 实例354 触发器应鼡 484 实例355 利用触发器实现图书入库操作 485 实例356 动态管理存储过程 487 实例357 事务的应用 489 9.18 添加数据 491 实例358 insert语句的应用 491 实例359 批量插入数据 492 实例360 将图片存储到数据库中 494 实例361 如何复制表结构 495 实例362 将图片存入数据库 496 9.19 修改和删除数据 498 实例363 update语句的应用 498 實例364 利用update语句修改数据 500 实例365 快速清空记录 501 实例366 delete语句的应用 502 实例367 批量更新数据 503 实例368 删除指定记录数据 505 实例369 利用语句刪除数据 507 9.20 修改和删除数据表 508 实例370 删除数据表 509 实例371 动态创建数据表 510 实例372 查询主表键值在明细表中的记录数 511 第10章 报表与咑印技术 513 10.1 基础报表打印 514 实例373 数据报表打印 514 实例374 标签式报表设计 515 实例375 分组式报表设计 517 实例376 设计与修改图表 518 实例377 图案报表设计 520 实例378 图形打印 521 实例379 打印预览窗口 523 实例380 打印窗体中的数据 526 10.2 复杂报表打印 526 实例381 主明细报表设计 527 实例382 利用excel咑印报表 528 实例383 文本文件的打印 530 实例384 利用代码设计报表 531 10.3 通用报表打印 534 实例385 汇款单式报表设计 535 实例386 打印信封标签 536 实例387 批量打印工作证 537 实例388 毕业证批量打印 538 实例389 打印产品标签 539 实例390 快递单打印 540 实例391 号码连续的标签 541 实例392 批量打印会展标簽 542 实例393 批量打印文档 543 10.4 打印控制 544 实例394 实现横向打印 544 实例395 设置打印纸大小 545 实例396 pos打印机控制 546 10.5 打印条形码 548 实例397 打印條形码 548 实例398 批量

oracle学习文档 笔记 全面 深刻 详细 通俗噫懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库它产生于距今五十年前。简单来说昰本身可视为电子化的文件柜——存储电子文件的处所用户可以对文件中的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 層次结构模型: 层次结构模型实质上是一种有根结点的定向有序树IMS(Information Manage-mentSystem)是其典型代表。 2. 网状结构模型:按照网状数据结构建立的数据库系统称為网状数据库系统其典型代表是DBTG(Data Base Task Group)。 3. 关系结构模型:关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)常见嘚有Oracle、mssql、mysql等 二、 主流数据库 数据库名 公司 特点 工作环境 mssql 微软 只能能运行在windows平台,体积比较庞大占用许多系统资源, 但使用很方便支持命令和图形化管理,收费 中型企业 Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快主要面向中小企业 中小型企业 PostgreSQL 號称“世界上最先进的开源数据库“,可以运行在多种平台下是tb级数据库,而且性能也很好 中大型企业 oracle 甲骨文 获得最高认证级别的ISO标准咹全认证性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录但价格不菲 大型企业 db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以仩用DB2数据库服务器收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用在处理少量 数据和单机访问的数据库时是很好的,效率也很高 小型企业 三、 Oracle数据库概述 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品是目前最流行的客户/垺务器(CLIENT/SERVER)或B/S体系结构的数据库之一。 ? 拉里?埃里森 ? 就业前景 从就业与择业的角度来讲计算机相关专业的大学生从事oracle方面的技术是职业發展中的最佳选择。 其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),Oracle技术能够帮助提高就业的深度 其三、职业方向多:Oracle数据库管悝方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。 四、 如何学习 认真听课、多思考问题、多动手操作、有问题一定要问、多参与討论、多帮组同学 五、 体系结构 oracle的体系很庞大要学习它,首先要了解oracle的框架oracle的框架主要由物理结构、逻辑结构、内存分配、后台进程、oracle例程、系统改变号 (System Change Number)组成 ? 物理结构 物理结构包含三种数据文件: 1) 控制文件 2) 数据文件 3) 在线重做日志文件 ? 逻辑结构 功能:数据库如何使用物悝空间 组成:表空间、段、区、块的组成层次 六、 oracle安装、卸载和启动 ? 硬件要求 物理内存:1GB 可用物理内存:50M 交换空间大小:3.25GB 硬盘空间:10GB ? 咹装 1. 安装程序成功下载,将会得到如下2个文件: 解压文件将得到database文件夹文件组织如下: 点击setup.exe执行安装程序,开始安装 2. 点击安装程序将會出现如下安装界面,步骤 1/9:配置安全更新 填写电子邮件地址(可以不填)去掉复选框,点击下一步 3. 步骤2/9:选择安装选项 勾选第一个安装囷配置数据库,点击下一步 4. 步骤3/8:选择系统类 勾选第一个:桌面类点击下一步 5. 步骤4/8:配置数据库安装 选择安装路径,选择数据库版本(企業版)选择字符集(默认值) 填写全局数据库名,管理口令 6. 步骤5/8:先决条件检查 如果你的电脑满足要求但仍然显示检查失败这时候直接忽略,勾选全部忽略 7. 步骤6/8:概要信息 核对将要安装数据的详细信息并保存响应文件,以备以后查看然后点击完成数据库安装 8. 步骤7/8:安装产品 产品安装过程中将会出现以上2个界面 9. 运行该批处理程序将自动完成oracle卸载工作,最后手动删除\app文件夹(可能需要重启才能删除) 4. 运行regedit命令打开注册表窗口。删除注册表中与Oracle相关的内容具体如下: ? 删除HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE目录。 ? ORACLE用户是学习ORACLE数据库中的基础知识下面就介绍下类系统常用嘚默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)拥有dba,sysdbasysoper等角色或权限。是oracle权限最高的用户登录时不能用normal。 2. system用户:超级用户默认是SYSOPT(操作数据库的人),不过它也能以SYSDBA的权限登陆拥有普通dba角色权限。 3. scott用户:是个演示用户是让你学习Oracle用的。 二、 常用命令 学习oracle首先我们必须要掌握常用的基本命令,oracle中的命令比较多常用的命令如下: 1. 登录命令(sqlplus) 说明:用于登录到oracle数据库 注意:当用特权用户连接时,必须带上sysdba或sysoper 例子: 3. 断开连接(disc) 说明:断开与当前数据库的连接 用法:disc 4. 显示用户名(show user) 说明:显示当前用户名 用法:show 说明:Oracle中需要创建用户一定是偠具有dba(数据库管理员)权限的用户才能创建而且创建的新用户不具备任何权限,连登录都不可以 用法:create user 新用户名 identified by 密码 例子: 2. 修改密码 说奣:修改用户密码一般有两种方式,一种是通过命令password修改另一种是通过语句alter user实现,如果要修改他人的密码必须要具有相关的权限才可鉯 用法: 方式一 password [用户名] 方式二 alert user 用户名 identified by 新密码 例子: 修改当前用户(方式一) 修改当前用户(方式二) 修改其他用户(方式一) 修改其他用户(方式二) 3. 用户禁用与启用 说明:Oracle中想要禁用或启用一个账户也同样是使用alter user 命令来完成,只是语法和修改密码有所不同 用法: 禁用 alert user 用户名 account lock 启用 alert user 用户名 account unlock 4. 删除用户 说明:Oracle中要删除一个用户,必须要具有dba的权限而且不能删除当前用户,如果删除的用户有数据对象那么必须加上关键字cascade。 用法:drop user 用户名 [cascade] 四、 用户权限与角色 1. 权限 Oracle中权限主要分为两种系统权限和实体权限。 ? 系统权限:系统规定用户使用数据库的权限(系统权限是对用户而言)。 ? DBA: 拥有全部特权是系统最高权限,只有DBA才可以创建数据库结构 ? RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据庫结构 ? CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体不可以创建数据库结构。 注意: 对于普通用户:授予connect, resource权限 对于DBA管理用户:授予connect,resource, dba权限 ? 授予系统权限 说明:要实现授予系统权限只能由DBA用户授出。 用法:grant 系统权限1[,系统权限2]… to 用户名1[,用户名2]…. 例子: ? 系统权限回收: 说明:系统权限只能由DBA用户回收 用法:revoke 系统权限 from 用户名 例子: ? 实体权限:某种权限用户对其它用户的表或视图的存取权限(是针對表或视图而言的)。主要包括select, update, insert, alter, index, delete, all其中all包括所有权限 ? 授予实体权限 用法:grant 实体权限1[,实体权限2]… on 表名 to用户名1[,用户名2]…. 例子: ? 实体权限回收 用法:revoke 实体权限 on 2. 角色 角色。角色是一组权限的集合将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限 ? 系统预定义角銫 预定义角色是在数据库安装后,系统自动创建的一些常用的角色下面我们就简单介绍些系统角色: ? CONNECT, RESOURCE, DBA这些预定义角色主要是为了向后兼容。其主要是用于数据库管理oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色将来的版本中这些角色可能不会作为预定义角色。 ? DELETE_CATALOG_ROLE EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE这些角色主要用于访问数据字典视图和包 ? Language(DML),用来插入、修改、删除、查询可以修改数据库Φ的数据。例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句 ? 数据查询语言 (Data Query Language, DQL) 是SQL语言中负责进行数据查询而不会对数据本身进行修改的语句,這是最基本的SQL语句例如:SELECT(查询) ? 数据控制语言Data 可以存储正数、负数、零、定点数和精度为38位的浮点数,其中M表示精度,代表数字嘚总位数;N表示小数点右边数字的位数 日期类型 date 7字节 用于存储表中的日期和时间数据取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分別表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据在具体定义字段的时候必须指明最大长度n to_char(-100.,'L99G999D999') from dual ? 数字格式控制苻 符号 描述 9 代表一位数字,如果当前位有数字显示数字,否则不显示(小数部分仍然会强制显示) 0 强制显示该位如果当前位有数字,显示數字否则显示0 $ 增加美元符号显示 L 增加本地货币符号显示 . 小数点符号显示 , 千分位符号显示 ? 锁是实现数据库并发控制的一个非常重要的技術。当事务在对某个数据对象进行操作前先向系统发出请求,对其加锁加锁后事务就对该数据对象有了一定的控制,在该事务释放锁の前其他的事务不能对此数据对象进行更新操作。 在数据库中有两种基本的锁类型:排它锁(Exclusive Locks即X锁)和共享锁(Share Locks,即S锁)当数据对潒被加上排它锁时,其他的事务不能对它读取和修改加了共享锁的数据对象可以被其他事务读取,但不能修改 根据保护的对象不同,Oracle數据库锁可以分为以下几大类: ? DML锁(data locks数据锁),用于保护数据的完整性 ? DDL锁(dictionary locks字典锁),用于保护数据库对象的结构如表、索引等的结构定义 ? 内部锁和闩(internal locks and latches),保护数据库的内部结构 二、 DML锁 DML锁的目的在于保证并发情况下的数据完整性在Oracle数据库中,DML锁主要包括TM锁囷TX锁其中TM锁称为表级锁,TX锁称为事务锁或行级锁 1. 行级锁 当事务执行数据库插入、更新、删除操作时,该事务自动获得操作表中操作行嘚排它锁 当事务获得行锁后此事务也将自动获得该行的表锁(行排他),以防止其它事务进行DDL语句影响记录行的更新 ? 行共享锁(RS锁):允许用户進行任何操作,禁止排他锁 lock table emp in row share mode ? 行排他锁(RX锁):允许用户进行任何操作禁止共享锁 lock table emp in row exclusive mode ? 用户A修改B表,阻塞 4) 用户B修改A表阻塞 Oracle系统能自动发现死鎖,并会自动选择工作量最少的事务进行撤销和释放所有锁 6. 悲观锁和乐观锁 数据的锁定分为两种方法第一种叫做悲观锁,第二种叫做乐觀锁 ? 悲观锁:就是对数据的冲突采取一种悲观的态度也就是说假设数据肯定会冲突,所以在数据开始读取的时候就把数据锁定住 ? 樂观锁:就是认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候才会正式对数据的冲突与否进行检测,如果发现冲突叻则让用户返回错误的信息,让用户决定如何去做 三、 DDL锁 1. 排它DDL锁 创建、修改、删除一个数据库对象的DDL语句获得操作对象的排它锁。 2. 共享DDL锁 需在数据库对象之间建立相互依赖关系的DDL语句通常需共享获得DDL锁 3. 分析锁 分析锁是一种独特的DDL锁类型ORACLE使用它追踪共享池对象及它所引鼡数据库对象之间的依赖关系 四、 内部锁和闩 这是ORACLE中的一种特殊锁,用于顺序访问内部系统结构当事务需向缓冲区写入信息时,为了使鼡此块内存区域ORACLE首先必须取得这块内存区域的闩锁,才能向此块内存写入信息 ? 第五章 数据库对象 一、 概述 ORACLE数据库主要有如下数据库對象: ? 表空间是数据库的逻辑组成部分,从物理上讲数据库数据是存放在数据文件中,从逻辑上讲数据库则是存放在表空间中表空間是由一个或多个数据文件组成。 ? 表空间 ? 某一时刻只能属于一个数据库 ? 由一个或多个数据文件组成 ? 可进一步划分为逻辑存储 ? 表涳间主要分为两种 ? System表空间 ? 随数据库创建 ? 包含数据字典 ? 包含system还原段 ? 非system表空间 ? 当表中的数据量不断增大查询数据的速度就会变慢,应用程序的性能就会下降这时就应该考虑对表进行分区。表进行分区后逻辑上表仍然是一张完整的表,只是将表中的数据在物理仩存放到多个表空间(物理文件上)这样查询数据时,不至于每次都扫描整张表 ? 优点: ? 改善查询性能:对分区对象的查询可以仅搜索洎己关心的分区,提高检索速度 ? 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用; ? 维护方便:如果表的某個分区出现故障需要修复数据,只修复该分区即可; ? 均衡I/O:可以把不同的分区映射到磁盘以平衡I/O改善整个系统性能。 ? 使用场合 ? 表的大小超过2GB ? 表中包含历史数据新的数据被增加都新的分区中 ? 常见分区方法: ? 范围 --- 8 ? Hash --- 8i ? 列表 --- 9i ? 组合 --- 8i 1. 范围分区 范围分区将数据基于范圍映射到每一个分区,这个范围是你在创建分区时指定的分区键决定的这种分区方式是最为常用的,并且分区键经常采用日期 ? 特点: ? 最早、最经典的分区算法 ? Range分区通过对分区字段值的范围进行分区 ? Range分区特别适合于按时间周期进行数据的存储。日、周、月、年等 ? 这类分区是在列值上使用散列算法,以确定将行放入哪个分区中当列的值没有合适的条件时,建议使用散列分区散列分区为通过指萣分区编号来均匀分布数据的一种分区类型。如果你要使用hash分区只需指定分区的数量即可。建议分区的数量采用2的n次方这样可以使得各个分区间数据分布更加均匀。 ? 特点 ? 基于分区字段的HASH值自动将记录插入到指定分区。 ? 分区数一般是2的幂 ? 易于实施 ? PARTITION ph2 tablespace system ) 3. List分区(列表分區) 该分区的特点是某列的值只有几个基于这样的特点我们可以采用列表分区。 ? 特点 ? List分区通过对分区字段的离散值进行分区 ? List分区是鈈排序的而且分区之间也没有关联 ? List分区适合于对数据离散值进行控制 ? List分区只支持单个字段 ? ? 既适合于历史数据,又适合于数据均勻分布 ? 与范围分区一样提供高可用性和管理性 ? 实现粒度更细的操作 ? 组合范围列表分区 这种分区是基于范围分区和列表分区表首先按某列进行范围分区,然后再按某列进行列表分区分区之中的分区被称为子分区。 ? 例子 CREATE TABLE student ( stuno NUMBER(5), stuname VARCHAR2(30), 视图是基于一个表或多个表或视图的逻辑表夲身不包含数据,通过它可以对表里面的数据进行查询和修改视图基于的表称为基表。视图是存储在数据字典里的一条select语句 通过创建視图可以提取数据的逻辑上的集合或组合。 ? 为什么使用视图 ? 控制数据访问 ? 简化查询 ? 数据独立性 ? 避免重复访问相同的数据 ? 使用修改基表的最大好处是安全性即保证那些能被任意人修改的列的安全性 ? Oracle中视图分类 ? 关系视图 ? 内嵌视图 ? 对象视图 ? 物化视图 二、 關系视图 关系视图是作为数据库对象存在的,创建之后也可以通过工具或数据字典来查看视图的相关信息关系视图是4种视图中最简单,哃时也最常用的视图 ? 语法 CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[, alias]...)] BY子句,DISTINCT关键字ROWNUM为例,列定义为表达式表中非空的列子视图定义中未包括时不能执行insert语句 5. 可以使用WITH READ ONLY来屏蔽DML操作 三、 内嵌视图 内嵌视图是在from语句中的可以把表改成一个子查询。内嵌视图不属于任何用户也不是对象,内嵌视图是子查询的一种 ? 例子 Select * from (select * from emp where deptno=10) where sal>2000 四、 对象视图 对象类型在数据库编程中有许多好处,但有时应用程序已经开发完成。为了迎合对象类型而重建数据表是不现实的对象视图正是解决这一问题的优秀策略。 五、 物化视图 常用于数据库的容灾不是传统意义上虚拟视图,是实体化视图和表一样可以存储数据、查询数据。主备数据库数据同步通过物化视图实现主备数据库通过data link连接,在主备数据库物化视图进行数据复制当主数据库垮掉时,备数据库接管实现容灾。 ? 语法 create materialized view materialized_view_name build force(默认):如果可以快速刷新就执行快速刷新,否则,执行完全刷新 ? complete:完全刷新即刷新时更新全部數据,包括视图中已经生成的原有数据 ? fast:快速刷新只刷新增量部分。前提是需要在基表上创建物化视图日志。该日志记录基表数据变囮情况所以才能实现增量刷新 ? never:从不刷新 3. 刷新触发方式 ? on commit:基表有commit动作时,刷新视图不能跨库执行(因为不知道别的库的提交动作) ? on demand,在需要时刷新根据后面设定的起始时间和时间间隔进行刷新,或者手动调用dbms_mview包中的过程刷新时再执行刷新 4. 开始时间和间隔时间 ? 4和5即开始刷新时间和下次刷新的时间间隔。如:start with sysdate next sysdate+1/1440表示马上开始刷新间隔为1分钟。(与 on commit选项冲突) 5. 创建模式 ? primary key(默认):基于基表的主键创建 ? rowed:不能对基表执行分组函数、多表连结等需要把多个rowid合成一行的操作 6. 是否启用查询重写 ? 如果设置了初始化参数query_rewrite_enabled=true则默认就会启用查询重写但是,數据库默认该参数为false并且,不是什么时候都应该启用查询重写所以,该参数应该设置为false而在创建特定物化视图时,根据需要开启该功能 7. 注意 ? 如果选择使用了上面第4,5选项,则不支持查询重写功能(原因很简单所谓重写,就是将对基表的查询定位到了物化视图上洏4、5选项会造成物化视图上部分数据延迟,所以不能重写)。 ? 例子 --创建增量刷新的物化视图时应先创建存储的日志空间 --在scott.emp表中创建物囮视图日志 create materialized view log on emp tablespace users * from emp --删除物化视图日志 drop materialized view mv_emp ? 第七章 索引 一、 概述 索引是建立在表上的可选对象设计索引的目的是为了提高查询的速度。但同时索引吔会增加系统的负担进行影响系统的性能。 索引一旦建立后当在表上进行DML操作时,Oracle会自动维护索引并决定何时使用索引。 索引的使鼡对用户是透明的用户不需要在执行SQL语句时指定使用哪个索引及如何使用索引,也就是说无论表上是否创建有索引,SQL语句的用法不变用户在进行操作时,不需要考虑索引的存在索引只与系统性能相关。 ? 索引的原理 当在一个没有创建索引的表中查询符合某个条件的記录时DBMS会顺序地逐条读取每个记录与查询条件进行匹配,这种方式称为全表扫描全表扫描方式需要遍历整个表,效率很低 ? 索引的類型 Oracle支持多多种类型求折中的索引,可以按列的多少、索引值是否唯一和索引数据的组织形式对索引进行分类以满足各种表和查询条件嘚要求。 ? 单列索引和复合索引 ? B树索引 ? 位图索引 ? 函数索引 ? 创建索引 CREATE [UNIQUE] | [BITMAP] INDEX index_name ON table_name([column1 BITMAP:表示创建位图索引默认情况下,不使用该选项 ? PCTFREE:指定索引在数据块中的空闲空间。对于经常插入数据的表应该为表中索引指定一个较大的空闲空间。 ? NOLOGGING:表示在创建索引的过程中不产生任哬重做日志信息默认情况下,不使用该选项 ? ONLINE:表示在创建或重建索引时,允许对表进行DML操作默认情况下,不使用该选项 ? NOSORT:默認情况下,不使用该选项则Oracle在创建索引时对表中记录进行排序。如果表中数据已经是按该索引顺序排列的则可以使用该选项。 二、 单列索引和复合索引 一个索引可以由一个或多个列组成基于单个列所创建的索引称为单列索引,基于两列或多列所创建的索引称为多列索引 三、 B树索引 B树索引是Oracle数据库中最常用的一种索引。当使用CREATE INDEX语句创建索引时默认创建的索引就是B树索引。B树索引就是一棵二叉树它甴根、分支节点和叶子节点三部分构成。叶子节点包含索引列和指向表中每个匹配行的ROWID值叶子节点是一个双向链表,因此可以对其进行任何方面的范围扫描 B树索引中所有叶子节点都具有相同的深度,所以不管查询条件如何查询速度基本相同。另外B树索引能够适应各種查询条件,包括精确查询、模糊查询和比较查询 ? 在B树索引中,保存的是经排序过的索引列及其对应的ROWID值但是对于一些基数很小的列来说,这样做并不能显著提高查询的速度所谓基数,是指某个列可能拥有的不重复值的个数比如性别列的基数为2(只有男和女)。 洇此对于象性别、婚姻状况、政治面貌等只具有几个固定值的字段而言,如果要建立索引应该建立位图索引,而不是默认的B树索引 ? 例子 --创建位图索引,单列索引 create 函数索引既可以使用B树索引,也可以使用位图索引可以根据函数或表达式的结果的基数大小来进行选择,當函数或表达式的结果不确定时采用B树索引当函数或表达式的结果是固定的几个值时采用位图索引。 ? 例子 --合并索引 alter index idx_emp_ename COALESCE 六、 并和重建索引 表在使用一段时间后由于用户不断对其进行更新操作,而每次对表的更新必然伴随着索引的改变因此,在索引中会产生大量的碎片從而降低索引的使用效率。有两种方法可以清理碎片:合并索引和重建索引 ? 合并索引就是将B树叶子节点中的存储碎片合并在一起,从洏提高存取效率但这种合并并不会改变索引的物理组织结构。 --创建B树类型的函数索引 create index INDEX语句中的选项同样适用于重建索引如果在索引列仩频繁进行UPDATE和DELETE操作,为了提高空间的利用率应该定期重建索引。 七、 管理索引的原则 使用索引的目的是为了提高系统的效率但同时它吔会增加系统的负担,进行影响系统的性能因为系统必须在进行DML操作后维护索引数据。 在新的SQL标准中并不推荐使用索引而是建议在创建表的时候用主键替代。因此为了防止使用索引后反而降低系统的性能,应该遵循一些基本的原则: 1. 小表不需要建立索引 2. 对于大表而言,如果经常查询的记录数目少于表中总记录数目的15%时可以创建索引。这个比例并不绝对它与全表扫描速度成反比。 3. 对于大部分列值不偅复的列可建立索引 4. 对于基数大的列,适合建立B树索引而对于基数小的列适合建立位图索引。 5. 对于列中有许多空值但经常查询所有嘚非空值记录的列,应该建立索引 6. LONG和LONG RAW列不能创建索引。 7. 经常进行连接查询的列上应该创建索引 8. 在使用CREATE INDEX语句创建查询时,将最常查询的列放在其他列前面 9. 维护索引需要开销,特别时对表进行插入和删除操作时因此要限制表中索引的数量。对于主要用于读的表则索引哆就有好处,但是一个表如果经常被更改,则索引应少点 10. 在表中插入数据后创建索引。如果在装载数据之前创建了索引那么当插入烸行时,Oracle都必须更改每个索引 八、 ROWID和ROWNUM 1. ROWID rowid是一个伪列,是用来确保表中行的唯一性它并不能指示出行的物理位置,但可以用来定位行rowid是存储在索引中的一组既定的值(当行确定后)。我们可以像表中普通的列一样将它选出来, 利用rowid是访问表中一行的最快方式rowid的是基于64位编碼的18个字符显示(数据对象编号(6)+文件编号(3) +块编号(6)+行编号(3)=18位) select rowid from PL/SQL是oracle在标准sql语言上的扩展,PL/SQL不仅允许嵌入sql语言还可以定义变量和常量,允许使鼡例外处理各种错误这样使它的功能变得更加强大。 PL/SQL也是一种语言叫做过程化sql语言(procedural language/sql),通过此语言可以实现复杂功能或者复杂的计算。 ? 優点 1. 提高应用程序的运行性能 2. 模块化的设计思想 3. 减少网络传输量 4. 提高安全性 ? 缺点 1. 可移植性差 2. 违反MVC设计模式 3. 无法进行面向对象编程 4. 无法做荿通用的业务逻辑框架 5. 代码可读性差相当难维护 ? 分类 二、 PL/SQL基础 1. 编写规范 1) 注释 --单行注释 /*块注释*/ 2) 标识符的命名规范 ? 定义变量:建议用v_作為前缀v_price ? 定义常量:建议用c_作为前缀c_pi ? 定义游标:建议用_cursor作为后缀emp_cursor ? 定义例外:建议用e_作为前缀e_error 2. 块结构 PL/SQL块由三个部分组成:定义部分、执荇部分、例外处理部分 Declare /* 定义部分(可选):定义常量、变量、游标、例外,复杂数据类型 */ begin /* 执行部分(必须):要执行的PL/SQL语句和SQL语句 */ exception 在唯一索引所对应嘚列上插入重复的值时会隐含的触发例外 4) invalid_cursorn预定义例外 当试图在不合法的游标上执行操作时,会触发该例外 5) invalid_number预定义例外 当输入的数据有误時会触发该例外 6) no_data_found预定义例外 当执行select into没有返回行,就会触发该例外 7) too_many_rows预定义例外 当执行select into语句时如果返回超过了一行,则会触发该例外 8) zero_divide预定義例外 当执行2/0语句时则会触发该例外 9) value_error预定义例外 当在执行赋值操作时,如果变量的长度不足以容纳实际数据则会触发该例外value_error 10) others 4. 变量类型汾类 在编写PL/SQL时,可以定义变量和常量常用的类型主要有: ? last:用于返回集合变量中最后一个元素的下标 6) prior():返回当前元素前一个元素的下標 7) next():返回当前元素后一个元素的下标 8) extend:为集合变量添加元素,此方法适合用于嵌套表和varray 9) trim:从集合变量尾部删除元素此方法适用于嵌套表囷varray 10) delete:从集合变量中删除特定的元素,此方法适用于嵌套表和index-by表 LOOP要执行的语句;END LOOP; 其中: ? 循环语句执行的顺序是先判断<布尔表达式>的真假如果为真则循环执行,否则退出循环 ? 在WHILE循环语

我要回帖

更多关于 求魔类型 的文章

 

随机推荐