版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第142页第一章Oracle基本知识与SQL*PLUS环境一.上机目的熟悉Oracle的基本知识。熟悉Oraaclee的命令令操作环环境SQQL*PPLUSS。熟悉并掌握握一些SSQL**PLUUS命令令。二.预备知知识1.Oraaclee数据库库管理系系统的简简介1979年年,硅谷谷的一个个小公司司推出了了Oraaclee,这是是第一个个与数据据访问语语言SQQL结合合的关系系数据库库。今天天,Orraclle公司司已是世世界上数数据库管管理系统统及相关关产品的的最大供供应商。发发布于119855年的OOraccle第第5版,是是第一个个真正的的客户//服务器器数据库库系统。Oracle8以及Oracle8i是Oracle公司的最新产品。2.Oraaclee8服务务器Oraclle8服服务器是是一个精精致的信信息管理理环境。它它是一个个大量数数据的储储藏所,并并给用户户提供对对这些数数据的快快速访问问。Orraclle8服服务器允允许应用用系统之之间共享享数据。信信息存放放在一个个地方并并由许多多应用系系统来使使用。OOraccle88服务器器可运行行在Suun系列列以及WWinddowssNT上。Orraclle8服服务器运运行在很很多不同同的计算算机上,支支持下列列配置::基于主机的的配置用户直直接连到到存放数数据库的的同一计计算机上上。客户机/服服务器结结构用用户通过过网络从从他们的的个人计计算机(客客户机)上上访问数数据库,数数据库驻驻留在一一个分离离的计算算机(服服务器)上上。分布式处理理用户户访问存存放在不不止一台台计算机机上的数数据库。数数据库分分散在不不止一台台机器上上,用户户并不需需要了解解他们存存放的数数据的实实际存放放位置。Web计算算能从从基于IInteerneet的应应用程序序访问数数据。PersoonallOrraclle从19955年处开开始,OOraccle推推出了在在Doss和MiccrossofttWiindoows环环境下的的个人计计算机产产品。运运行PeersoonallOrraclle需要要如下的的配置::386以上上的中央央处理单单元(CCPU),推推荐4886或奔奔腾。最小60MMB磁盘盘空间。处理器速度度不低于于40MMHZ,666MHHZ以上上更好。最少16MMB的扩扩充内存存。MicroosofftWWinddowss95或或者NTT.本书主要以以PerrsonnalOraaclee为主进进行说明明。CDE工具OracleReportsOracleGraphicsOracleFormsOracleBookOracleServerSQLCDE工具OracleReportsOracleGraphicsOracleFormsOracleBookOracleServerSQL和PL/SQLOracleCardOracleCaseSQL*PLUSPro*OracleTextRetrieval其它产品图1-1Oracle产品5.SQLL,SQQL*PPluss和PL//SQLLSQL是是一种能能够访问问关系数数据库(包包括Orraclle数据据库)的的语言。它它能够用用在每一一个Orraclle工具具中。SQL*PPluss是一一个SQQL和PPL/SSQL都都能用的的Oraaclee产品,并并且也有有自己的的命令语语言。PL/SQQL是为为了编写写应用程程序和操操作数据据的Orraclle过程程化语言言,包含含着SQQL命令令的子集集,它适适用于每每个CDDE产品品。6.Oraaclee数据库库系统的的体系结结构Oraclle数据据库系统统是具有有管理OOraccle数数据库功功能的计计算机软软件系统统。每一一个运行行的Orraclle数据据库与一一个Orraclle实例例(innstaancee)相联联系。一一个Orraclle实例例是存取取和控制制一数据据库的软软件机制制。每一一次在数数据库服服务器上上启动一一数据库库时,称称为系统统全局区区(syysteemgglobbalareea)的的一内存存区(简简称SGGA)被被分配,有有一个或或多个OOraccle进进程被起起动。该该SGAA和Orraclle进程程的结合合称为一一个Orraclle数据据库实例例。一个个实例的的SGAA和进程程为管理理数据库库数据、为为该数据据库一个个或多个个用户服服务而工工作。在Oraccle系系统中,首首先是实实例启动动,然后后由实例例装配(mount)一个数据库。进程结构进程(prroceess)是是操作系系统中的的一种机机制,它它可执行行一系列列的操作作步骤。在在有些操操作系统统中使用用作业(JJOB)或或任务(TTASKK)的术术语。一一个进程程通常有有它自己己的专用用存储区区。Orraclle进程程的体系系结构设设计使性性能最大大。Oraclle实例例有两种种类:单单进程实实例和多多进程实实例。SGAOracleServer数据库应用图1-2单进程Oracle实例单进程Orraclle(又又称单用用户Orraclle)是是一个数数据库系系统,一一个进程程执行全全部Orraclle代码码。由于于Oraaclee部分和和客户应应用程序序不能分分别以进进程执行行,所以以Oraaclee的代码码和用户户数据库库应用是是单个进进程执行行,其SGAOracleServer数据库应用图1-2单进程Oracle实例在单进程环环境下的的Oraaclee实例,仅仅允许一一个用户户存取。例例如在MMS-DDOS上上运行OOraccle。用户进程用户进程用户进程用户进程SGARECOPMONSMONDBWRLGWRARCH…图1-3多进程Oracle实例多进程Orraclle实例例(又称称多用户户Oraaclee)使用用多个进进程来执执行Orraclle的不不同部分分,对用户进程用户进程用户进程用户进程SGARECOPMONSMONDBWRLGWRARCH…图1-3多进程Oracle实例在多进程系系统中,进进程分为为两类::用户进进程和OOraccle进进程。当当一用户户运行一一应用程程序,如如Proo*c程程序或一一个Orraclle工具具(如SSQL**Pluus),为为用户运运行的应应用建立立一个用用户进进程。OOraccle进进程又分分为两类类:服务务器进程程(seerveerpproccesss)和后后台进程程(baackggrouundproocesss),服服务器进进程用于于处理连连接到该该实例的的用户进进程的请请求。当当应用和和Oraaclee是在同同一台机机器上运运行,而而不再通通过网络络,一般般将用户户进程和和它相应应的服务务器进程程组合成成单个进进程,可可降低系系统开销销。然而而,当应应用和OOraccle运运行在不不同的机机器上时时,用户户进程经经一个分分离服务务器进程程Oraaclee通信。它它执行下下列任务务:对应用所发发出的SSQL语语句进行行语法分分析和执执行。从磁盘(数数据文件件中)读读入必要要的数据据块到SSGA的的共享数数据库缓缓冲区(该该块不在在缓冲区区时)。将结果返回回给应用用程序处处理。系统为了使使性能最最好和协协调多个个用户,在在多进程程系统中中使用一一些附加加进程,称称为后台台进程。在在许多操操作系统统中,后后台进程程是在实实例启动动时自动动地建立立。一个个Oraaclee实例可可以有许许多后台台进程,但但它们不不是一直直存在。后后台进程程的名字字为:DBWR数数据库写写入程序序LGWR日志写写入程序序CKPT检查查点SMON系统统监控PMON进程监监控ARCH归档RECO恢复LCKn封锁Dnnn调度度进程Snnn服务务器内存结构Oraclle在内内存存储储下列信信息:执行的程序序代码。连接的会话话信息(包包括当前前不活动动的)。程序执行期期间所需需要数据据(如查查询的当当前状态态)。Oraclle进程程间通信信和共享享的信息息(如封封锁信息息)。存储在外存存储上的的缓冲信信息。Oraclle具有有下列基基本的内内存结构构:软件代码区区系统全局区区(SGGA),包包括数据据库缓冲冲存储区区、日志志缓冲区区和共享享池程序全局区区(PGGA),包包括栈区区和数据据区。排序区(ssorttarrea)。7.SQLL*Pllus命命令SQL*PPluss有许多多命令,表表1-11只是列列举了一一部分常常用的供供读者参参考。表1-1常用SSQL**Pluus命令令SQL*PPluss命令缩写意义APPENNDttexttAtexxt把字符串增增加到当当前行的的末尾CHANGGE/oold//neww/C/oldd/neew/把当前行的的旧字符符串替换换成新字字符串CHANGGE//texxt/C/texxt/把当前行中中字符串串删除CLEARRBUUFFEERCLBUUFF从SQL缓缓冲区中中删除所所有行DEL删除当前行行INPUTTI插入许多行行INPUTTtexxtItexxt插入一个包包含teext字字符串的的行LISTL显示SQLL缓冲区区的所有有行LISTnLn显示SQLL缓冲区区中的一一行到nn行LISTmnnLmnnSQL缓冲冲区中的的从第mm行显示示到第nn行RUNR显示并运行行在缓冲冲区中的的当前SSQL命命令SAVEfillenaame把SQL缓缓冲区中中的内容容保存到到以fiilennamee为名字字的文件件中,默默认路径径为orrawiin\bbinGETffileenamme把以fillenaame为为名字的的文件内内容调入入SQLL缓冲区区中STARTTfiilennamee@fillenaame运行以前保保存的命命令文件件EDfiilennamee用默认的编编辑器编编辑保存存的文件件内容EXIT退出SQLL*PllusRUNFOORMfillenaame从SQL**Pluus中运运行一个个OraacleeFoormss应用程程序SPOOLLfiilennamee写所有的后后面的命命令或者者输出到到一个已已经命名名的文件件中。假假脱机输输入输出出文件的的后缀为为.LIISSPO[OOL]OFFF|OUUTOFF关关闭假脱脱机输入入输出文文件;OOUT改改变假脱脱机输入入输出,送送文件到到打印机机上DESCRRIBEEtaableenammeDESCtabblennamee显示任何数数据库表表的数据据结构HELP击活Oraaclee内部的的帮助部部件HOSTcommmannd在SQL**Pluus中击击活一个个操作系系统命令令CONNEECTuseeridd/paasswworddCONNuseeridd/paasswwordd在当前的登登录下,击击活其它它的Orraclle用户户PROMPPTttextt当运行一个个命令文文件时,显显示文本本三.上机内内容SQL*PPluss的启动动当读者登录录到操作作系统后后,你有有三种方方法启动动SQLL*Pllus。SQLPLLUS读者将看到到如下的的信息::SQL*PPluss:VVerssionn3..1.11PrroduuctiiononMonnOcct4419993Copyrrighht((C)19992,OraacleeCoorpoorattionn,CCaliiforrniaa,USSA.Allrrighhtsresservved..EnterrUssernnamee:输入你的用用户名字字并按回回车。SQL*PPluss将提示示:EnnterrPaasswwordd:输入你的密密码并按按回车。那么,读者者将看到到SQLL*Pllus的的提示符符:SQL>例如:SQLPLLUSSQL*PPluss:VVerssionn3..1.11PrroduuctiiononMonnOcct4419993Copyrrighht((C)19992,OraacleeCoorpoorattionn,CCaliiforrniaa,USSA.Allrrighhtsresservved..EnterrUssernnamee:sccotttEnterrPaasswwordd:tiigerrSQL>SQLPLLUSUseernaame再提示你输输入密码码。例如:SQLPLLUSscoottEnterrPaasswwordd:tiigerrSQL*PPluss:VVerssionn3..1.11PrroduuctiiononMonnOcct4419993Copyrrighht((C)19992,OraacleeCoorpoorattionn,CCaliiforrniaa,USSA.Allrrighhtsresservved..SQL>SQLPLLUSuseernaame//passswoord例如:SQLPLLUSscoott//tiggerSQL*PPluss:VVerssionn3..1.11PrroduuctiiononMonnOcct4419993Copyrrighht((C)19992,OraacleeCoorpoorattionn,CCaliiforrniaa,USSA.Allrrighhtsresservved..SQL>退出SQLL*PllusSQL>EEXITTSQL*PPluss显示OOraccle版版本之后后显示操操作系统统提示符符。SQL命令令SQL命令令包括数数据定义义语言(如如Creaate、Alter等)和数据操作语言(SelectInsertUpdateDelete等),这些都可在SQL*Plus中使用。如:SQL>SSELEECTEMPPNO,,ENNAMEE,JJOB,,SAAL2 FROOMEEMPWHEERESALL<25000;SQL*PPluss命令列出缓冲区区的内容容:SQL>LLISTTSQL*PPluss显示当当前缓冲冲区中的的命令::1 SELLECTTEMMPNOO,EENAMME,JOBB,SSAL2 FROOMEEMPWHEERESALL<25000;编辑当前行行如果上面的的例子错错误的输输入为::SQL>SSELEECTEPNNO,ENAAME,,JOOB,SALL2 FROOMEEMPWHEERESALL<25000;在屏幕上显显示:SELECCTEEPNOO,EENAMME,JOBB,SSAL*ERRORRattliine1:ORA-009044:innvallidcollumnnnaame分析错误可可以发现现EMPPNO错错为EPPNO。则用CHAANGEE命令修修改编辑辑当前行行。如:SQL>CCHANNE//EPNNO/EEMPNNO修改的行在在屏幕上上显示::1* SEELECCTEEMPNNO,ENAAME,,JOOB,SALL再用RUNN命令运运行当前前命令。SQL>RRUNSQL*PPLUSS列出其其命令然然后运行行它。1 SELLECTTEMMPNOO,EENAMME,JOBB,SSAL2 FROOMEEMPWHEERESALL<25000;增加一行在当前行之之后插入入一新行行,使用用INPPUT命命令。例例如对上上面例子子增加第第3行到到该SQQL命令令中。形形式如下下:SQL>IINPUUT3接着可进入入新行,然然后按EENTEER键,SSQL**PLUUS再次次提示新新行:3 ORDDERBYSALL4按ENTEER键,表表示不进进入任何何行,然然后用RRUN检检验和重重新运行行查询。在一行上添添加一原原文用APPEEND命命令,将将一原文文加到缓缓冲区中中当前行行的末端端:SQL>LLISTT3* ORRDERRBYYSAALSQL>AAPPEENDDESSC3* ORRDERRBYYSAALDDESCC使用RUNN检验和和重新运运行查询询。删除一行用LISTT命令列列出要删删除的行行。用DEL命命令删除除。SQL>LLISTT3* ORRDERRBYYSAALDDESCCSQL>DDEL用系统编辑辑程序编编辑命令令在SQL**PLUUS中运运行操作作系统缺缺省的文文本编辑辑程序(EEDITT),命命令形式式为:SQL>EEDITTEDIT将将缓冲区区中的内内容装入入系统缺缺省的文文本编辑辑器,然然后用文文本编辑辑器的命命令编辑辑文本。完完成后保保存编辑辑的文本本,然后后退出。该该文本保保存到当当前的缓缓冲区。保存SAVVE命令令SQL>SSAVEE文件件名例如:SQQL>LLISTT1 SELLECTTEMMPNOO,EENAMME,JOBB,SSAL2 FROOMEEMPWHEERESALL<25000;然后用SQQVE保保存到EEMPIINFOO文件中中:SQL>SSAVEEemmpinnfoCreattedfilleeempiinfoo运行命令文文件可用命令SSTARRT文文件名或或者@文件件名的命命令格式式。如上例:SQL>SSTARRTEEMPIINFOO或SQL>>@EMMPINNFO清缓冲区SQL>CCLEAARBBUFFFERDESCRRIBEE列出表表的结构构如:SQL>DDESCCEMMPNammeNull??TypeEMPNOONOTNNULLLNUMBEER(44)ENAMEEVARCHHAR22(100)JOBVARCHHAR22(100)MGRNUMBEER(44)HIREDDATEEDATESALNUMBEER(77,2))COMMNUMBEER(77,2))DEPTNNONOTNNULLLNUMBEER(22)PL/SQQL命令令SQL>DDecllareeBeginnSELECCT**FRROMEMPP;EXCEPPTIOONWHENNO__DATTA_FFOUNNDTHEENRAASIEE_APPPLIICATTIONN_ERRRORR(-1122001,’’Nodattaffounnd’))End;查询结果将将显示出出来。四.上机作作业练习SQLL命令::SELECCT*FROOMEMPP;。用LISTT显示缓缓冲区内内容。用CHANNGE命命令修改改当前行行。用APPEEND增增加一部部分命令令。用EDITT编辑缓缓冲区内内容。用SAVEE命令保保存缓冲冲区内容容到EMMPFIILE中中。用STARRT命令令运行EEMPFFILEE文件。清除缓冲区区。第二章数数据表的的创建一.上机目目的了解并掌握握Oraaclee中表结结构的定定义。了解并掌握握Oraaclee中的用用Creeatee命令定定义表的的方法,以以及表的的完整性性定义。了解并掌握握Oraaclee中的用用Altter命命令和Droop命令令对表的的修改和和删除。二.预备知知识DDL是SSQL命命令的子子集,用用来创建建、修改改、删除除Oraaclee数据库库结构。这这些命令令能立即即影响数数据库和和数据字字典字段段信息。表名命名规规则所用的表名名必须满满足下面面的条件件:名字必须以以A-ZZ或a-zz的字母母开始;;名字可以包包括字母母、数字字和特殊殊字母(_)。字符$和#也是合法的,但是这种用法不提倡;名字大小写写是一样样的;例例如EMMP、empp和eMpp是表示示同一个个表;名字最长不不超过330个字字符;表名不能和和其它的的对象重重名;表名不能是是SQLL保留字字。表2-1表名命命名举例例名字合法EMP855YES85EMPPNO(开始始不是字字母)FIXEDD_ASSSETTSYESFIXEDDASSSETTSNO(包含含空格)UPDATTENO(SQQL保留留字)字段类型表2-2字段类类型数据类型描述VARCHHAR22(w)变长字符长长度为ww。最长长为20000个个字符。CHAR(w)定长字符长长度为ww。默认认为1个个字符;;最长为为2555个字符符NUMBEER38位有效效数字的的浮点数数NUMBEER(ww)W位精确度度的整数数,范围围从1至至38NUMBEER(ww,s)W是精度,或或总的数数字书,范范围从11至388。S是比例例,或是是小数点点右边的的数字位位。比例例的范围围从-884至1127DATE日期值,范范围从公公元前1147112年11月到公公元31147112年112月LONG变长字符串串,其最最大长度度为2GG(或2231-11个字节节)RAW和和LONNGRRAW面向字节数数据,可可存储字字符串、浮浮点数,二二进制数数据等Creatte命令令1)、CRREATTETTABLLEttablle_nnamee(ccoluumn__nammettypee(siize)),ccoluumn__nammettypee(siize)),……);例如:CREATTETTABLLEDDEPTT(DEPTTNONUUMBEER(22),DNAMEEVARRCHAAR2((12)),LOCVAARCHHAR22(122));;2)、CRREATTETTABLLEtabble__namme[[(coolummn_nnamee,…))]AASSSELEECTstaatemmentt;例如:CREATTETTABLLEDDEPTTNO110(NNAMEE,LOOCATTIONN)ASSEELECCTDDNAMME,LLOCFRROMDEEPTWHEREEDEEPTNNO==100;4.完整性性约束Oraclle允许许用户为为表和列列定义完完整性约约束来增增强一定定的规则则。可分为:表表约束和和字段约约束5.约束类类型1)、NOOTNNULLL约束NOTNNULLL约束保保证字段段值不能能为NUULL。没没有NOOTNNULLL约束的的字段,值值可以为为NULLL。2)、UNNIQUUE约束束指定一个字字段或者者字段的的集合为为唯一键键。在表表中没有有两行具具有相同同的值。如如果唯一一键是基基于单条条记录的的,NUULL是是允许的的。表约束命令令格式::,[CONNSTRRAINNTcconsstraaintt_naame]]UUNIQQUE(Coolummn,Collumnn,……)字段约束命命令格式式:[CONSSTRAAINTTcoonsttraiint__namme]UNNIQUUE例如:CREATTETTABLLEDDEPTT(DEPTTNONUMMBERR,DDNAMMEVVARCCHARR2(99),LOCVVARCCHARR2(110),CONSTTRAIINTUNQQ_DEPPT_LOCCUNNIQUUE(DDNAMME,LLOC));;UNQ_DDEPTT_LOOC是一一个表约约束。3)、主键键约束(PrimaryKeyConstraint)主键约束强强制字段段和字段段集合的的唯一性性,并且且用一个个唯一索索引来管管理它。每每个表中中只能用用一个主主键,这这样可以以通过主主键来标标识表中中的每条条记录。NNULLL值不允允许在主主键字段段出现。表约束命令令格式::,[CONNSTRRAINNTcconsstraaintt_naame]]PRIIMARRYKKEY(Coolummn,Collumnn,……)字段约束命命令格式式:[CONSSTRAAINTTcoonsttraiint__namme]PRRIMAARYKEYY例如:用字字段约束束定义DDEPTTNO为为主键CREATTETTABLLEDDEPTT(DEPTTNONUMMBERR(2)CONNSTRRAINNTDDEPTT_PRRIMPRIIMARRYKKEY,,…);4)、外键键约束外键提供表表内或表表间的完完整性规规则。外外键必须须依赖于于一个pprimmaryy或uniiqueekeyy。表约束命令令格式::,[CONNSTRRAINNTcconsstraaintt_naame]]FFOREEIGNNKEEY((Collumnn,CColuumn,,…))REEFERRENCCEttablle((collumnn,ccoluumn,,…))字段约束命命令格式式:[CONSSTRAAINTTcoonsttraiint__namme]FOOREIIGNKEYYtaablee(ccoluumn))例如:CREATTETTABLLEEEMP(…CONSTTRAIINTFK__DEPPTNOOFOOREIIGNKEYY(DDEPTTNO))REEFERRENCCEDDEPTT(DEEPTNNO)));5)、Chheckk约束CHECKK约束定定义了每每条记录录必须满满足的条条件语法:[CONSSTRAAINTTcoonsttraiint__namme]CHEECK(coondiitioon)Alterr命令ALTERRTAABLEE命令可可用来修修改数据据表的定定义。命令格式::ALTERRTAABLEEtaableenamme[ADD或或MODDIFYY或DROOPooptiionss]((collumnn_sppec[coolummn_cconsstraaintt])[ENNABLLEcclauuse或DISSABLLEcclauuse]]ADD关键键字可以以用来给给已存在在的数据据表增加加一个字字段或约约束。如:给EMMP增加加一个字字段ALTERRTAABLEEEMMPADD(SSPOUUSESS_NAMMECCHARR(100));;Tableeallterred。MODIFFY关键键字可以以用来修修改已存存在的数数据表定定义。如:把EMMP中EENAMME长度度改为225个字字符ALTERRTAABLEEEMMPMODIFFY(EENAMMCHHAR(225));;Tableeallterred。DROP关关键字可可以用来来删除已已存在数数据表的的约束。如:把EMMP中主主键删除除ALTERRTAABLEEEMMPDROPPRIIMARRYKKEY;;Tableeallterred。Drop命令用DROPPTAABLEE命令删删除Orraclle数据据表的定定义。命令格式::DROPTABBLEtabble__namme[[CASSCADDECCONSSTRAAINTT]例如:DROPTABBLEEMPP;CASCAADECONNSTRRAINNT选项项说明了了也把完完整性约约束一起起删除。注意:DROPTABBLE也也把数据据表中的的数据删删除。数据表的VVIEWWS和SSYNOOMNYYMS保保留下来来,但它它们变成成了不合合法的。任何悬而未未决的事事务将被被提交。只有数据表表的生成成者或DDBA才才有权删删除它。三.上机内内容创建表EMMPCREATTETTABLLEEEMP(EMPNNONUUMBEER(44)NOTTNUULL,,ENAMEEVAARCHHAR22(100),JOBVVARCCHARR2(110),,MGRNUUMBEER(44),HIREDDATEEDDATEE,SALNNUMBBER((7,22),COMMNUMMBERR(7,,2),,DEPTNNONUUMBEER(22)NOTTNNULLL);Tableecrreatted..用SQL**PLUUS命令令DESSCRIIBE来来看生成成的EMMP表的的列明细细清单::输入命令::DESSCRIIBEEMPPEMP生成成的数据据表结构构显示如如下:NammeNull??TypeEMPNOONOTNNULLLNUMBEER(44)ENAMEEVARCHHAR22(100)JOBVARCHHAR22(100)MGRNUMBEER(44)HIREDDATEEDATESALNUMBEER(77,2))COMMNUMBEER(77,2))DEPTNNONOTNNULLLNUMBEER(22)从其他表中中抽取字字段生成成数据表表CREATTETTABLLEEEMP__PARRTAASSELECCTEEMPNNO,EENAMME,JJOB,,SALL,COOMMFROOMEEMP;;TableeCrreatted..输入命令::DESSCRIIBEEMPP_PAARTEMP_PPartt生成的的数据表表结构结结果显示示如下::NammeNull??TypeEMPNOONOTNNULLLNUMBEER(44)ENAMEEVARCHHAR22(100)JOBVARCHHAR22(100)SALNUMBEER(77,2))COMMNUMBEER(77,2))DROP命命令删除除数据表表DROPTABBLEEMPP_PAART;;Tableedrroppped..给数据表EEMP增增加一个个字段SSPOUUSESS_NAAMEALTERRTAABLEEEMMPADD(SSPOUUSESS_NAAMECHHAR((10)));输入命令::DESSCRIIBEEMPPEMP生成成的数据据表结构构显示如如下:NammeNull??TypeEMPNOONOTNNULLLNUMBEER(44)ENAMEEVARCHHAR22(100)JOBVARCHHAR22(100)MGRNUMBEER(44)HIREDDATEEDATESALNUMBEER(77,2))COMMNUMBEER(77,2))DEPTNNONOTNNULLLNUMBEER(22)SPOUSSES__NAMMECHAR((10))用ALTEER的MMODIIFY命命令修改改已存在在的字段段的定义义ALTERRTAABLEEEMMPMODIFFY(EENAMMEVVARCCHARR2(112));;TableeAllterred..输入命令::DESSCRIIBEEMPPEMP生成成的数据据表结构构显示如如下:NammeNull??TypeEMPNOONOTNNULLLNUMBEER(44)ENAMEEVARCHHAR22(122)JOBVARCHHAR22(100)MGRNUMBEER(44)HIREDDATEEDATESALNUMBEER(77,2))COMMNUMBEER(77,2))DEPTNNONOTNNULLLNUMBEER(22)SPOUSSES__NAMMECHAR((10))用ALTEER的DDROPP命令删删除数据据表中已已存在的的约束ALTERRTAABLEEEMMPDDROPPPRRIMAARYKEYY;TableeAllterred..7.创建表表CUSSTOMMERcreattettablleccusttomeer( lasst_nnamee varrchaar2(300)nnotnulll, statte_ccd varrchaar(22),saless nummberr);Tableecrreatted..8.创建表表STAATEcreattettabllesstatte( staate__cd varrchaar(22)nnotnulll, satte_nnamee varrchaar2((30)));Tableecrreatted..四.上机作作业创建如下三三个基表表:S(S#,SSNAMME,AAGE,SSEX))对对应的中中文为::[学生(学学号,姓姓名,年年龄,性性别)]]SC(S##,C##,GRRADEE)对应应的中文文为:[学习(学学号,课课程号,成成绩)]]C(C#,CCNAMME,TTEACCHERR)对应的的中文为为:[课程(课课程号,课课程名,任任课教师师)]注:本书以以后要用用到这三三个基本本表。生成一个数数据表PPROJJECTTS,其其字段定定义如下下,其中中PROOJIDD是主键键并且要要求P__ENDD_DAATE不不能比PP_STTARTT_DAATE早早。字段段名称数据类型长度PROJIIDNUMBEER4P_DESSCVARCHHAR2220P_STAART__DATTEDATEP_ENDD_DAATEDATEBUDGEET_AAMOUUNTNUMBEER7,2MAX_NNO_SSTAFFFNUMBEER2生成一个数数据表AASSIIGNMMENTTS,其其字段定定义如下下,其中中PROOJIDD是外键键引自PPROJJECTTS数据据表,EEMPNNO是数数据表EEMP的的外键,并并且要求求PROOJIDD和EMMPNOO不能为为NULLL。字段段名称数据类型长度PROJIIDNUMBEER4EMPNOONUMBEER4A_STAART__DATTEDATEA_ENDD_DAATEDATEBILL__RATTENUMBEER4,2ASSIGGN_TTYPEEVARCHHAR222用DESCCRIBBE命令令查看11和2题题定义的的字段。给1题中的的PROOJECCTS数数据表增增加一个个COMMMENNTS字字段,其其类型为为LONNG。给给2题中中的ASSSIGGNMEENTSS数据表表增加一一个HOOURSS字段,其其类型为为NUMMBERR。第三章数数据插入入、修改改和删除除一.上机目目的在数据表中中用Innserrt增加加记录。用Updaate修修改数据据表中的的数据。用Deleete删删除表中中的数据据。了解事务处处理过程程及其命命令。二.预备知知识Inserrt命令令1)用来在在数据表表中增加加记录,格格式如下下:INSERRTIINTOOtaableenamme[[(coolummn,collumnn,…….)]]VALUEES((vallue,,vaaluee,…….);;命令中[((collumnn,ccoluumn,,…..)]是可可选的。一一般情况况下,为为了编程程的方便便,最好好指定字字段列表表。该命命令每次次只能增增加一条条记录。注注意,CCHARRACTTER和和DATTE必须须用单引引号括起起来。例如:INNSERRTIINTOODEEPT(DEEPTNNO,DDNAMME,LLOC))VALUEES(550,’’市场部部’,’’上海’);在DEPTT中增加加一个新新部门,忽忽略部门门名称,这这时字段段列表必必须指定定否则出出错,可可用如下下命令::INSERRTIINTOODEEPT(DEEPTNNO,LOCC)VALUEES(550,’’上海’);另外,如果果部门名名称不能能确定,可可用NUULL代代替,如如下:INSERRTIINTOODEEPT(DEEPTNNO,DDNAMME,LLOC))VALUEES(550,NNULLL,’上上海’);增加DATTE类型型的数值值,常用用格式是是DD--MONN-YYY。默认认的世纪纪是200世纪,OORCAALE已已克服了了Y2KK(千年年虫)问问题。如下:INSERRTIINTOOEMMP(EEMPNNO,NNAM,,JOBB,MGGR,HHIREEDATTE,SSAL,,COMMM,DDEPTTNO)VALUEES(75568,,’MAASONN’,’ANALLYSTT’,775666,TO_DAATE((‘244/066/200849:330’,,’DDD/MMM/YYYYYHH::MI’’),3000,,NULLL,220);;2)增加从从其他数数据表查查询出的的数据命令格式::INSERRTIINTOOtaablee[((collumnn,ccoluumn,,…..)]SELECCTsseleect--lisstFROMtabble((s);;Updatte命令令在需要修改改表中数数据时,可可使用uupdaate命命令如下下:UPDATTEttablle[aaliaas]SETccoluumn[[,coolummn…..]=={eexprresssionn,ssubqquerry}[WHERREccondditiion]];命令由三部部分组成成:updatte后跟跟一个或或多个要要修改的的表,这这部分是是必不可可少的。set后跟跟一个或或多个要要修改的的表列,这这也是必必不可少少的。wheree后跟查查询条件件,这是是选项;;如果WWHERRE子句句忽略,UUPDAATE命命令将修修改数据据表中所所有记录录。例如:修改改EMPP表中SSCOTTT的记记录数据据,把他他调到销销售部,并并且工资资提高110%,具具体命令令如下::UPDATTEEEMPSETJJOB=’SSALEESMAAN’,,HIREDDATEE=SYSSDATTE,SAL==SAAL*11.1WHEREEENNAMEE=‘SCCOTTT’;1reccordduppdatted..Delette命令Delette命令令用来从从表中删删除一行行或多行行记录。命命令格式式如下::DELETTEFFROMMtaablee[WHHEREEcoondiitioon];;该命令由两两部分组组成:关键字deeletteffromm后跟跟准备要要从中删删除数据据的表名名,这是是必不可可少的。关键字whheree后跟删删除条件件,是可可选项;;如果不不用WHHEREE子句,数数据表中中的所有有记录将将被删除除。例如删除EEMP表表中部门门号是110的记记录:DELETTEFFROMMEMMPWWHERREDDEPTTNO=110;事务(Trranssacttionn)事务是由一一串修改改数据库库的操作作组成的的。Orraclle中有有两种事事务:DDML事事务和DDDL事事务。DDML事事务是一一些DMML语句句组成的的,Orraclle把事事务作为为单个实实体或逻逻辑工作作单元来来处理;;DDLL事务只只能由一一条DDDL语句句组成。事务的执行行必须是是完整的的,也就就是说事事务处理理中一部部分提交交给数据据库而其其他部分分不提交交这是不不允许的的。对于于事务来来说,要要么事务务中所有有处理都都提交,要要么所有有的处理理都放弃弃。事务是以可可执行的的DMLL或DDDL命令令开始,以以下面的的情况结结束:COMMIIT/RROLLLBACCKDDL命令令(DDDL语句句是自动动提交)一些错误(如如死锁)注销(如退退出SQQL*PPluss)硬件错误1)、永久久性修改改为了使修改改变成永永久性,这这些修改改必须提提交给数数据库。CCOMMMIT命命令可以以用来使使数据库库永久性性改变。而而ROLLLBAACK可可以撤消消或放弃弃修改。在在两次提提交之间间对数据据库的修修改就是是事务。2)、撤消消修改ROLLBBACKK可以放放弃不提提交的修修改。RROLLLBACCK可以以恢复上上次提交交之后修修改过的的数据。3)、系统统错误事务被一些些严重错错误(例例如系统统错误)的的中断时时,它将将自动回回滚。这这阻止了了由错误误造成的的对数据据不完整整的修改改,而恢恢复到最最近提交交之后的的数据表表的状态态。用这这种方式式SQLL*Pllus保保护了数数据的完完整性。自自动回滚滚通常是是系统错错误造成成的,例例如断电电或REESETT。而在在输入命命令时的的错误,例例如拼写写错误或或没有授授权的操操作,不不会造成成事务的的中断或或者自动动回滚。这这是因为为错误是是在编译译时而不不是在运运行时检检测到的的。4)、用SSQL语语句控制制事务ⅰ)、COOMMIIT[[WORRK];;使当前事务务永久的的修改。清除这个事事务中所所有的保保存点。结束事务。释放事务中中的锁操操作。关键字WOORK是是可选的的。一般情况下下,应在在应用程程序中用用COMMMITT(或RROLLLBACCK)显显式的结结束事务务。隐式(自动动)结束束事务在在下列情情况发生生:DDL命令令之前。DDL语句句之后。和一个数据据库正常常断开之之后。ⅱ)、SAAVEPPOINNTssaveepoiint__namme保存点能把把事务分分割成更更小的部部分。保存点允许许在任意意点阻止止工作的的进行。如果第二个个保存点点的名字字和第一一个保存存点的名名字相同同,那么么第一个个保存点点自动失失效。保存点的最最大数默默认是55;但可可以修改改。ⅲ)、ROOLLBBACKK[WWORKK]tto[[SAVVEPOOINTT]ssaveepoiint__nammeROLLBBACKK语句用用来撤消消工作。关键字WOORK是是可选的的。SAAVEPPOINNT也是是可选的的。如果ROLLLBAACK语语句中没没有TOOSAAVEPPOINNT子句句,那么么它将结结束事务务;回滚滚这个事事务中所所有的操操作;清清除这个个事务中中所有的的保存点点;释放放这个事事务的锁锁操作。三.上机内内容用Inseert在在基本表表cusstommer中中插入数数据SQL>iinseertinttoccusttomeervvaluues(‘NNichholsson’’,’CCA’,,69889.999);;1rowwcrreatted..SQL>iinseertinttoccusttomeervvaluues(‘MMarttin’’,’CCA’,,23445.445);;1rowwcrreatted..SQL>iinseertinttoccusttomeervvaluues(‘LLaurrsenn’,’’CA’’,344.344);1rowwcrreatted..SQL>iinseertinttoccusttomeervvaluues(‘BBambbi’,,’CAA’,112344.555);1rowwcrreatted..SQL>iinseertinttoccusttomeervvaluues(‘MMcGrraw’’,’NNJ’,,1233.455);1rowwcrreatted..在表STAATE中中插入指指定的字字段SQL>iinseertinttosstatte((staate__namme,sstatte_ccd)2 valluess(‘‘Masssacchussettttess’,’’MA’’);1rowwcrreatted..SQL>iinseertinttosstatte((staate__namme,sstatte_ccd)2 valluess(‘‘Callifoorniia’,,’CCA’));1rowwcrreatted..SQL>iinseertinttosstatte((staate__namme,sstatte_ccd)2 valluess(‘‘NewwJerrseyy’,’’NJ’’);1creeateed.SQL>iinseertinttosstatte((staate__namme,sstatte_ccd)2 valluess(‘‘NewwYorrk’,,’NYY’);;1creeateed.3.修改数数据把statte表中中NewwYorrk改为为Flooridda,NNY改为为FD::UPDATTEsstatteSSETstaate__namme==‘FFlorridaa’,staate__cd=‘‘FD’’whereesttatee_naame=‘‘NewwYorrk’anddsstatte_ccd==‘NNY’;;4.删除数数据从STATTE表删删除sttatee_naame为为Flooridda和staate__cd为为FD的记记录:DELETTEFFROMMSTTATEEWHHEREEsttatee_naame=‘‘Flooridda’ANDDsttatee_cdd=‘FDD’;四.上机作作业用INSEERT命令输输入数据据表3-1基本表表S的数数据S1WANG20MS2LIU19MS3CHEN22MS4WU19MS5LOU21FS8DONG18F表3-2基表CC的数据据C2MATHSSMAC4PHYSIICSSHIC3CHEMIISTRRYZHOUC1DBLIC5OSWEN表33-3基本表表SC的的数据(空空格为未未选修)C#S##S1S2S3S4S5S8C1808590757090C270NULL8560NULLC38595NULL8090C490NULL70C57065NULL对S、C、SSC表进进行操作作:1)、把CC2课程程的非空空成绩提提高100%。2)、在SSC表中中删除课课程名为为PHYYSICCS的成绩绩的元组组。3)、在SS和SCC表中删删除学号号为S88的所有有数据。在PROJJECTTS数据据库表中中增加下下列记录录:PROJIID12P_DESSCWRITEEC0030COUURSEEPROOFFREEADNOTTESP_STAART__DATTE02-JAAN-88801-JAAN-889P_ENDD_DAATE07-JAAN-88810-JAAN-889BUDGEET_AAMOUUNT500600MAX_NNO_SSTAFFF11COMMEENTSSBRCRREATTIVEEYOURCHOOICEE在ASSIIGNMMENTTS数据据库表中中增加下下列记录录:PROJIID112EMPNOO736979027844A_STAART__DATTE01-JAAN-88804-JAAN-88801-JAAN-889A_ENDD_DAATE03-JAAN-88807-JAAN-88810-JAAN-889BILL__RATTE50.00055.00045.500ASSIGGN_TTYPEEWRWRPFHOURSS152030把ASSIIGMEENTSS表中AASSIIGNMMENTTTYYPE的的WR改改为WTT,其他他的值不不变。在PROJJECTTS和和ASSSIGNNMENNTS插插入更多多的记录录。删除自己随随意插入入的记录录。第四章数数据查询询一.上机目目的掌握Sellectt语句的的运用。掌握一些函函数的应应用。掌握子查询询的运用用。连接和分组组的应用用。二.预备知知识1.Sellectt语句Selecct命令令用于从从Oraaclee数据库库中检索索数据。读读者利用用sellectt命令告告诉数据据库要检检索什么么样的信信息。SSeleect是是读者看看到的最最常用的的SQLL语句,select命令(如下)有六个基本部分构成:SELECCT[[DISSTINNCT]]{**,COOLUMMN[[ALIIAS]],………}FROMtabbleWHEREEcoondiitioon(ss)ORDERRBYY{ccoluumn,,expper}}[AASC||DESSC]GROUPPBYY{{collumnn,exxperr}HAVINNGhhaviing__conndtiionss;Selecct后跟跟用户需需要检索索的信息息(如下下一部分分将要提提到的表表中表列列的名字字)。这这是seelecct命令令必不可可少的部部分。From后后跟检索索对象(如如存放数数据的一一个或多多个表的的名称),from部分也是必不可少的。Wheree后跟检检索条件件(如限限制检索索内容的的条件),where部分是可选的。Orderrbyy后跟跟分类准准则(如如取自空空值数据据如何给给出的第第一部分分的表列列名称表表),oordeerbby部部分是可可选的。Grouppbyy后跟分分组的字字段或准准则。Havinng后跟跟分组的的查询条条件。下面我们首首先使用用sellectt语句操操作名为为useer_ttablles的的数据字字典视图图:SQL>sseleect*fromuseer_ttablleswhereetaablee_naame=‘‘cusstommer’’;TABLEE_NAAMETABLEESPAACE__NAMMECLUSTTER__NAMMEIOT_NNAMEEPCTT_FRREEPCCT_UUSEDDINI_TTRANNSMAAX_TTRANNSIINITTIALL_EXXTENNTNEXXT_EEXTEENTMIN_EEXTEENTSSMAXX_EXXTENNTSPPCT__INCCREAASEFREEELIISTSSFREELLISTT_GRROUPPSLOOGBNNUM__ROWWSBLOOCKSSEMMPTYY_BLLOCKKSAVG_SSPACCECHAAIN__CNTTAVGG_ROOW_LLENAVG_SSPACCE_FFREEELISST_BBLOCCKSNNUM__FREEELIIST__BLOOCKSSDEGREEEINNSTAANCEESCAACHEETABBLE__LOSSAMPPLE__SIZZELAST__ANAALPPARIIOT__TYPPETSNEESBUFFFERR_ROWW_MOOVEGLOOUSEDDURAATIOONSSKIPPCORRMOONCUSTOOMERRSYSTEEM401 2555 102240 1022401 1211 550 1 1YESSNN1 1NENAABLEED NONNNNOODEEFAUULTDISSABLLEDNONODIISABBLEDDNOO2.选择指指定的列列我们可以在在sellectt关键字字后跟一一个或多多个表列列。星号号指示OOraccle显显示表中中的所有有字段。我我们使用用同样的的sellectt语句,但但指定了了需要查查看的一一个表的的某些字字段:SQL>sseleecttabble__nammeffrommusser__tabblessTABLEE_NAAMECUSTOOMERRSTATEErowssellectted3.条件查查询到目前为止止,我们们看到了了sellectt命令可可用来查查看表中中所有表表列(sseleect*)或或部分表表列(sseleectcollumnn1,ccoluumn33)。如如果读者者只想看看特定的的数据行行,怎么么办呢??这就需需要用wwherrer子子句来解解决了。例例如:我我们想要要查看sstatte_ccd值为为MA的所所有客户户,可以以用命令令:selecctllastt_naame,,staate__cd,,sallesfroomccusttomeerwwherresstatte_ccd==‘MMA’;;结果如下::LAST__NAMMESTSSALEESTeploowMMA234445..671)带annd/oor的Wheere子子句wheree子句指指示Orraclle查找找表中数数据,并并只返回回满足条条件的行行。在上上面的例例子中,要要求Orraclle仅返返回sttatee_cdd等于MAA的数据据行。这这是通过过wheerestaate__cd=‘‘MA’’;来实实现的。有时用户要要求返回回同时满满足多个个条件的的行。例例如:读读者可能能对sttatee_cd为CCA且ssalees超过过60000的行行感兴趣趣。语句句sellectt*froomccusttomeerwwherresstatte_ccd==‘CCA’anddsaaless>60000;得得到下列列输出::LAST__NAMMESSTSSALEESAbbeyyCA669699.966NichoolsoonCAA69989..99上面的例子子中,我我们需要要返回满满足所有有条件的的行。如如果用户户要求检检索满足足其中两两个条件件之一的的行应该该怎么办办呢?可可用语句句sellectt*froomccusttomeerwwherresstatte_ccd==‘CCA’orsalles>>60000;。结结果如下下:LAST__NAMMESSTSSALEESTeploowMAA2334455.677AbbeyyCA669699.966NichoolsoonCAA69989..99MartiinCCA223455.455LaurssenCCA344.344BambiiCA112344.555注意,尽管管Tellpoww的staate__cd不不等于CCA,但但由于其其salles值值超过660000,因此此也显示示在输出出列表中中。Annd和和or如读读者所知知是逻辑辑操作符符,决定定查询语语句中wwherre条条件之间间的关系系。逻辑辑条件的的概念及及其在OOraccle产产品中的的用途及及使用方方法要用用一整本本书才可可讲清楚楚。此处处精力主主要放在在实用技技术上。表表4-11解释了了当annd和or出现现在同一一个whheree子句中中时,OOraccle是是怎样处处理的。读者应细心心分析涉涉及多个个andd和or的逻逻辑(称称为复合合条件,compoundconditions),否则将会引起混乱。例如:检查语句selectlast_namefromcustomerwherestate_cd=’MA’andstate_cd=‘CA’;。其中两个条件由关键字and连接,只有当两个条件为真(true)时,该复合条件才能为真。表4-1逻辑操操作符oor和andd操作符作用Or当所连接的的两个条条件之一一为真时时返回TTRUEEAnd当所连接的的两个条条件都为为真时返返回TRRUE语句sellecttlaast__nammeffrommcuustoomerrwhhereesttatee_cdd=’MAA’aandstaate__cd=‘‘CA’’;中,对对staate__cd值值为MAA的数据据行,第第一个条条件为TTRUEE,而第第二个条条件为FFALSSE(因因为CAA不等于于MA)。该该逻辑条条件说明明要显示示staate__cd既既为MAA又为CCA的数数据行,这这种情况况是不可可能出现现的,因因此,该该复合条条件永远远为假,结结果是什什么也显显示不出出来。2)带NOOT的wheere子子句Oraclle支持持否定条条件的搜搜索。例例如:读读者可能能想看看看staate__cd不不为MAA的所有有客户,语语句seelecct**frromcusstommerwheerestaate__cd!=’MAA’;((在SQQL*PPluss中符号号!=的的意思是是“不等于于”),输出出结果为为:LAST__NAMMESSTSSALEESAbbeyyCA669699.966NichoolsoonCAA69989..99MartiinCCA223455.455LaurssenCCA344.344BambiiCA112344.555McGraawNJJ1233.4553)带检索索范围的的wheere子子句Oraclle也支支持限定定范围的的检索。例例如:读读者可能能需要查查找saaless值从11到1000000之间的的所有客客户,可可执行语语句seelecct**frromcuustoomerrwhhereesaalessbeetweeen1aand100000;;。执行行结果如如下:LAST__NAMMESSTSSALEESAbbeyyCA669699.966NichoolsoonCAA69989..99MartiinCCA223455.455LaurssenCCA344.344BambiiCA112344.555McGraawNJJ1233.4554)带检索索表的wwherre子句句Oraclle支持持在列表表内查找找项的概概念。例例如:可可用语句句sellectt*froomcusstommerwheerestaate__cdin(‘NNJ’,,’CAA’);;检索sttatee_cdd为NJJ或CAA的所有有客户,检检索结果果为:LAST__NAMMESSTSSALEESAbbeyyCA669699.966NichoolsoonCAA69989..99MartiinCCA223455.455LaurssenCCA344.344BambiiCA112344.555McGraawNJJ1233.4555)带匹配配检索的的wheere子句Oraclle支持持采用llikee命令的的匹配检检索。例例如,用用户告诉诉Oraaclee检索所所有以MM开头的的lasst_nnamee,显示示相应的的数据行行。可用用语句sseleect*ffrommcuustoomerrwhhereelaast__nammellikee‘MM%’;;输出情情况如下下:LAST__NAMMESSTSSALEESMartiinCCA223455.455McGraawNJJ1233.455也可以输入入语句sseleect*ffrommcuustoomerrwhhereelaast__nammellikee‘%%tinn%’;;来查找找lasst_nnamee中含有有“tinn”的行。执执行结果果如下::LAST__NAMMESSTSSALEESMartiinCCA223455.4556)wheere子子句中的的常用操操作符除了上面讲讲到的这这许多例例子外,Oracle还提供了许多功能强大的逻辑操作符限制行的检索。表4-2是可在where子句中使用的部分操作符列表。表4-2常用比比较操作作符操作符作用样例=相等Selecct**frromstaatewheerestaate__cd==’MAA’;!=不相等Selecct**frromstaatewheerestaate__cd!!=’MMA’;;^=同!=Selecct**frromstaatewheerestaate__cd^^=’MMA’;;<>同!=Selecct**frromstaatewheerestaate__cd<<>’MMA’;;<小于Selecct**frromcusstommerwheeresalles<<1000;>大于Selecct**frromcusstommerwheeresalles>>1000;<=小于或等于于Selecct**frromcusstommerwheeresalles<<=10000;;>=大于或等于于Selecct**frromcusstommerwheeresalles>>=10000;;In等于括号内内任一成成员Selecct**frromcusstommerwheerestaate__cdin(‘MMA’,,’NJJ’);;notiin不等于括号号内任一一成员Selecct**frromcusstommerwheerestaate__cdnottinn(‘‘MA’’,’NNJ’));betweeenAaandB大于等于AA与小于于等于BBSelecct**frromcusstommerwheeresallesbettweeen11annd550;notbbetwweennAanddB不大于等于于A与小小于等于于BSelecct**frromcusstommerwheeresallesnottbeetweeen1aand50;;like‘%ttin%%’包括给定子子串(即’tiin’))Selecct**frromcusstommerwheerelasst_nnameeliike‘%ttin%%’4.Ordderby我们再来看看看cuustoomerr表。这这次,我我们希望望查询结结果以llastt_naame的的字母降降序排列列,命令令Sellectt*froomccusttomeeroordeerbbyllastt_naamedessc;结结果如下下:LAST__NAMMESSTSSALEEST
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论