《Oracle10g数据库建模与设计.docx》由会员分享,可在线阅读,更多相关《Oracle10g数据库建模与设计.docx(30页珍藏版)》请在课桌文档上搜索。
1、目录目录1第1#数据库摄述21.1数据库系统概述21.1.1信息、数据与数据库21.1.2数据管理技术的开展21.1.3数据库系统(DatabaSeSysteDBS)的组成21.1.4 数据库票统的模式结构31.1.5 数据库系统的特点41.2 数幅模型41.3 数据描述51.4 关系数据库51.5 数据库管理系统61.5. 1几个常用的数抠率管理系统61.5.2 OraC1.e数据库简介61.5.3 Orac1.e108数据库系潴及NaViCaI的安装71.6 本章知识点总结9第2录Orac1.eIog数据库的SQ1.语言与查询92.1SQ1.语言柢述92.2Orac1.eIOg数据库的数据
2、类型、运算符和表达式92.2.1算单数据类型92.2.2运算符102.2.3表达式102.3Orac1.eIOg的SE1.EeT查询语句102.3.1H单言询(SeIeC1.fr三转构)102.3.2分条件的简单查询(SeIeCtfrowhere结构)102.3.3单表登询的应用I1.2.3.4多我宜询112.3.5子查询122.3.6作亚12第1章数据库概述1.1 数据库系统概述1.1.1 信息、数据与数据库信息是一种已经被加工为特定形式的蚊憎.败据足信息的技体和具体表现形式,信息不随数捱形式的变化而文化。很多人认为数据就是数(数字组成,实际上数据的有很多种形式:文字、数字、声音、图像等。数
3、据和信息时两个楣互联系但又相互区别的爱念,数据是信息的具体表现彩式,信息时数据有意义的表现,而数据库是一个可以共享的、存储在计算机内的有组织的数据集合。1.1.2 数据管理技术的开展数据管理技术的开展分为:人工管理、文件管理、数据库管理(分布式数据库管理、面向W复的数据庠管理)等几个阶段.1.人工管理阶段2、文件管理阶段3、数据库菅理阶段学生处教务处人事处4、三个阶段效抠管理技术比较手工管理I文件管理I数据库首理数格的管理者用户(程序员)文件求妩数据库东城ae的针对者-特定应用程序面向某一应用面向整体应用数据的共享性无共享共享差,冗余大共享好,冗余小-薮丽谣立性无独立性独立性爱独立性好数据的给
4、构化无结构记录有结构,接体无给构整体培构化1.1.3数据庠系烧(DatabaSeSysteaDBS)的组成蚊据库系统由计算机硬件、数据库管理系统(I)BMS)(及其开发工具),、弱据库I)B),应用程序和用户等几局都组成。1 .硬件平台诉是够大的内存,存放OS.DBMS的核心模块.数据技冲区和应用程序.有足善大的感过,存故故据库,并进行数据备份.有较高的通过能力,以提供高速的数据传椅功能.2 .软件平台DBMS:姥数据隼的建立、使用和维护所必需的系统软件.0S:支持DBMS的操作票统平台.程序设计语言:与数据库系统有接口的程序设计语言及其箱译系统,用于开发应用程序.开发工具与环境:为数据库系统
5、的开发和应用提供良好的环境.应用程序:为价定应用环境而开发的数据库应用系统.3 .人员1)数据库管理员(DiItaBaSeRdminiS1.rator,DBA):数据库系统需要有奇门的人员来监督和管理.DBA负责全面管理和控制数据率系统.具体职责包活:决定蚊据库中的信息内容和结构决定数据庠的存储结构和存取策略定义数据的平安性要求和完整性约束条件监控数抠库的使用和运行负重蚊据库的改良和重组建构工作2)系统分析员负责应用系统的需求分析和标准说明工作,要和用户以及DM相互沟通,确定系统的硬件、款件配置,并参与致据库系统的概要设计.3)数据库设计员负责数据库中数据确实定.数据庠各级模亢的设计。数据庠谀
6、计人员必须参如用户需求调查和系统分析,然后进行数据库设计.4)应用程序员负责设计和漏写数据库应用系统的程序便块,并进行调试和安装。5)最终用户通过数据库应用系琉的用户界面使用数据库.DBS:DBMSDBDB1.1.4数据库系烧的模式结构数据库系统的结构由内部级、概念级.外部级三级模式组成.1.内部级模式(内模式):最靠近物理存储器,是数据在数据库系统中的表示(即对数据的物理培构和存储方式的描述,是物理数据模型对数据的描逑.2,锐念纹槿式(穰式:问于上述两者之间。它又称为遗$*便式,是用近转数据模型对一个单位的数据的描述.是数据库中的全体数据的电辑结构和特性的描述。3、外部级模式(外模式):又称
7、子模式或用户樵式,是数据库用户看到的数搭视图.景京近用户,是用户和数推库的接口,设计有数据提供给用户的使用方式.支持以上三级模式的计算机程序就是蚊据库管理系统(DBMS).蚊据库的三氯便式结构两如下:4.三级模式构成了两个映射1)外模式/模式映象对于每一个外模式,然箔库系统都有一不外模式/模式映象,它定义了该外模式与模式之间的对应关系。这些映像定义通常包在各自外模式的描述中。当模式改变时,由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的烫辑独立性.2)模式/内模式映象数据库中只有一个模式,也只有一个内模式,所以模式/内模式映微是唯一的,
8、它定义了翌辑结构与存储结构之间的对应关系。该映象定义通常包含在模式描述中。当数据库的存储菇构改变了(例如采用了更先进的存储结典,由数据库管理员对模式/内模式映电作相应改变,可以使模式保持不变,从而保证了她据的物理独立性.1.1.5数据库系就的转点1 .实现数据共享、减少数据冗余2 .采用待定的数据模型3 .具有较高的数箔独立性4 .有统一的数据控制功能1.2数据模型数据模型的作用是在计算机环境中把数据逻辑地组织成为数抠库,使得用户能够有效地存取和处理数第,1 .层次隹型数据结为是有序的树型结狗,根本特征是:1)有且只有一个结点无双亲,该结点称为根结点:(2)其他结点有且只有一个双亲.R1.是根
9、结点,R2和R3是R1.的子站点.因此它们是兄弟结点。R2.R4、R5是叶结点。2 .网状模型同状模理的特征是:(1)允许有一个以上的结点没有双亲:(2)结点可以有多于一个的双亲.3 .关系模型1)关系模型中的数据在用户观点下的遗辑结我是二维表,而关系检里是建立在集合代数的基础上的。在网状和层次模型中的联系都是逋过指针来实现的,而在关系模型中的根本数据结构是表格.记录之间的联系是通过各个关系模式的关桃码来表达的以二维表格描述符单、器量,用户只营简单查询语句就可以对数据库进行操作,并不涉及存储结冉和访问技术的细节等.SSfS4SEXAGESMOQ67吗scI1.E1.59MOM*M男o07IaM
10、asWOO69降岗男MoOS7(QDB务94OO60x118694OM02012MCC9OfCF9400W(DOI1.&S0201!H*机IB形学2WOW(00129002012A1.WOM2IWfW02013I9203013工网Bti!*H术32)在关系慎型中,关系具有以下根本特点:关系必须标准化,、簿性不可分割,在同一关系中不允许出现相同的属性名。在同一关系中无级及同性的顺序可以任意。任意交换芮个元组(璃性)的位置,不会改变关系模式.3)每个关系都有一个关系模式,它是该关系的关系名及其全部属性名的巢合,一般表示为:关系名(品性名1.臬性名2舄性名R)1.3数据描述1 .计算机及理信息的过程
11、首先从现实世界中按蒙出大量描述客观事物的信息,再时这些信息迸行整理、分类和标准,进而将标准化的信息数据化,最终实现由数据库系统存储.处理。困客观世界信息世界敛据世界2 .实体与黑性3、实体之间的关系1) 一时一的联系(1:1).如班长与班级2) 一对多的联系(1.n).如班级与学生3)多对多的联系(m:n),如教师与学生1.4关系数据库1 .关系数据库的定义关系数推庠是建立在关系模型参础上的数据库,它由一些相关的表和其它的数据率对象组成.这个定义包含了如下几层自义:D建立在关系模型基础上:2)信息被存放在表(二维表)中:3)表之间是相互联系的;4)除了我之外,还有其它的数据库对猊如索引、视图、
12、存储过程警。2 .关系数据阵的主要功能和特征1)数据定义.定义和11除数据用中的表、索引.视图等数据犀财象.2)数据操蝌,实现对数据库中数据的操作,根本的操作有查询、数据箱入、数据删除和数据修改.3)致学控制,主要控制数据库的平安,包括操作权限的用户密码和存储权限等,4)事务管理。3 .几个概念关系二维表;元级记录;属性字段;实体S1.实体集.1.5数据库管理系统1.5.1 几个富用的数据库管理系琉ACCESS.SQ1.Server,FoxPro.Orac1.e.MySQ1.和Sybase等.ACCESS是美国Microsoft公司于1994年推出的侬机数据库管理系统.它具有界面友好.易学易用
13、、开发简单、接D灵活等点.是典型的新一代桌面数据库管理系统。OraC1.C公司是全林最大的信息管理软件及效劳供给商,成立于1977年,总部位于美国加州Redwoodshore.Orac1.e提供的完整的电子商务产品和效劳包括:用于建立和交付参于Web的Internet平台;集合.全面的具有Internet能力的商业应用:强大的专业效劳,帮助用户实施电子商务战略,以及设计.定制和实施各种电子商务斛决方案。.SQ1.是英文StrUC1.UredQuery1.angUagC的缩写.克思为结构化查询语言。SQ1.语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANS1(美国国家标准协会)的规定,
14、S(I1.被作为关系型数据库管理系统的标准语言.SQ1.语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数抠库中摄取数箔等.目前,电大多政流行的关系型数据庠管理系统,故大区别:ACCESS的功能相对不是那么播大,主要是开发单机板软侔中短常用到;SQ1.Server是目前应用比较广泛和普通的一款数据库,是她福库开茨的一个里程碑.OraC1.e的功能是比较强大的,一般用于超大型管理系统软件的建立,现在的应用范围也已经比较广泛。1.5.2 OraC1.e数据库简介1.什么是OraC1.e数据库OraeIe数据库是一件大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能带处理大批量的
15、数据.荏网络方面也用的非富多.不it.一般的中小型企业都比我国欢用SQ1.蛾据库系统,它的操作很简单,功能也羊常齐全。只是比较。rac1.e数据库而言,在处理大量数据方面有些不如。2、OnIC1.e数据库的开展历程(时间可能不大准痢,但大致差不多)1977年,1.arryEI1.iSOn.BobMiner和EdOateS等人组,Jt了Re1.ationa1.软件公司(Re1.ationa1.SoftwareInc.,RSI)他们决定使用C语和SQ1.界而构建一个关系数据库管理系统(ReIationa1.DatabaseManagementSystem.RDBHS),并很快发布了第一个版本(仅是
16、原熨系统1979年.RSI首次向客户发布了产品,即第2版.该版本的RI)BMS可以在装有RSXT1.操作系统的PDPTI机器上运行,后来又移植到了DECVAX系统,1983年.发布的第3个版本中参加了SQ1.语言,而且性能也有所提升,其他功能也得到瑞强.与前几个版本不同的是,这个版玄是完全用C语言编写的。同年,RSI更名为OraC1.CCOnKra1.ion,也就是今天的OraCIC公司.1984年,OraC1.e的第4版发布.该板水既支持YAX系统,也支持IRYYM操作系统,这也是第一个叁加了读一致性(Read-consistency)的版本.1985年,Orac1.e的第5版发布.该版本可
17、称作是OraC1.C开展史上的里程碑,因为它通过SQ1.瞰CC引入了客户前/效劳器的计算机模式,同时它也是第一个打破640KB内存限制的MS-DOS产品。1988年,OraC1.e的第6版发布,该版本除了改良性能、增强序列生成与是迟写入(DeferedWrites)功能以外,还引入了底层锁。除此之外,该版本迂参加了PUSQ1.和热备份等功能。Orac1.e已经可以在许多平台和操作系统上运行.1991年,OraC1.eRDBMS的6.1,版在DECVAX平台中引入了Para1.1.e1.SerVer选项.很快该选项也可用于许多其他平台。1992年,OraCIe7发布.OraeIe7在对内存、CP
18、U和I/O的利用方面作了许多体系皓构上的变动,这是一个功能完整的关系数据库管理系统,在易用性方面也作了许多改良,引入了SQ1.*DBA工具和database角色.1997年,OraCIe8发布。Orac1.e8除了增加许多新特性和管理工具以外.还参加了对修扩展(ObjeCtEXICnSiO1U8:Re1.ease10201.0-Productionon星期一Uf1.1515:63:282010CcPyr1.gM()1962.2CCS,Orac1.e.A1.1.rightsreserved.SQ1.connect请勒入用户名:三y三ted入口令:3tt.七.在SQ1.后愉入连接蚊据库的命令“co
19、nnect,输入用户名*密码.皆玛是不到显的.2)在开始荚单中找“转至数据库主贾”.启动OraC1.C的企业管理器3)执行命令:se1.ecttab1.enamefrousertab1.es;Usertab1.es是OraCIe效抠率自己的一zt数据词典3、安装NaViCat:安装navica成功后,创立连接,设置0CI.具体儆法是:1)创立连接or:0cGnr*1.MVtf)CSSMCook*tiotCoweWnTypt:Bae圜HostKtI?MdrexsIFwt由SrviN*SIDS)SrviKaOS1.IUstrFMtPssw.d1.1.)SQ1.Hus:Gr1.DockiacCodI
20、NieMAutoSw(aAPPoaagCe7。IHCo1.orRftinBindrIditorQDaUftGrUDsp1.yFort:Rsc1.Attociatian回C:Mr*e1.*porvI.,C:XMrke1.x*pporte1.eprodue1.10.2.0rvf.1OCI1ibrary的路径:C:orac1.exeapporac1.eproduct10.2.0serverBINoci.d1.1.SQ1.P1.us的珞径:Czorac1.exeapporac1.eproduct10.2.0serverBINsq!p1.us.exe4、OraCIe安装戌功后.新建一个用户root.用n
21、avica把.root.sq1.导入蚊据库1)创立用户的方法首先要用syste三或SyS用户登录,得到:.KQf.!便叫户*QCWtfKTTFH然后得到输入用户信息的界面:WP9食包C0ftCTBf1.三OMACEce*1普早检权*SCRtATBOAUAMCUMCRtATtMATtmAUDVeWSCttATtH0CCmEJcWATtrueucSyMWr3QcwatiaouSCRtATttttNceHcRtATfSYHOMiEJCRfAT三T/fi1.fSCRfA1.1.11OOCR&CR三AT三11FfQcRfiATEvew注意:把角色.直接投子的系统权限中所有的选项都选上。最后点击创立按钮,
22、完成创立.2)对已经创立的用户还可以拒除。3)用navicat把root.sq1.导入.1.6本章知识点总结1 .效抠管理技术开展的几个阶段:人工管理阶段.文件管理阶段,数抠库管理阶段、分布式数樨库管理.面向对象的蚊据库管理。2 .DBS怛括:DBMS,DB.D1.w等.3、数据库系统的模式:外模式、模式(假念模式,内模式,它们构成了“外模式/模式”和模式/内模式.两个映射,4 .数据模里:层次膜型网状槿型,关系模里.5 .关系樵式的表示方法:关系名(,性名1,离性名2.属仕名n)6、关系数据库.旋立在关系模型叁死上,而形成的数据库.7 .几个社念:关系二维表:元组记录:属性字段8 .常用的数
23、据库管理系统:Orac1.e.MySQ1.,SQ1.Server.DB2.Sybase,FoxPro.ACCESS等等。笫2章Orac1.eIOg数据库的SQ1.语言与查询2.1 SQ1.语言概述SQ1.(StructuredQuery1.anguage是件结构化查询语,智称为SQ1.它是一种面向或胃库的通用宝:宛处理语言标准.能完成数据杳询、插入修改删除数据、生成修改和剧除数据库时象、数据摩平安控制、数据库完整性及翻据保护控制等.我们的定点是CRUD(create,research,update.de1.ete)印治删改查。SQ1.的优点:D等过程化语言(只得告诉系统做什么、而不需告诉它怎么
24、做;2统一的语言(DBMS为对数制库操作的全部任务都统一在SQ1.语言中):3它是所有关系数据库的公共语音.2.2 Orac1.eIOg数据库的数据类型、运算符和表达式2.2.1 倚单数据类型1.nu三ber(p.s),P是数字的整个位数,是小数点后的位数2. varchar2(n).表示可爻长度的字符串且其最大长,度为n.n不能超过4000,3. chir(n),表示固定长度为n的字符申,4. date.表示日期.包括年份.月份。5. nvarchar2.不区分中英文,nvarchar2中存的英文字母也占两个字节.6、nchar,用UiCode字符生存鳍定长的字符数据.7、CI.0B:存储4
25、GB单字节字符数抠,(别用来存中文)8, B1.OB:用来存储4GB无结构的二选制败据。9, timestamp101binaryf1.oat11.binary_doub1.e2.2.2 运算符1.算术运算符:+、=*、/2、比较运算符:=、!=()、=3、茨辑运算行:and、or,not4范固运算符:betweenand,notbetween-and-5、列表运算符:in、notin6、 is、notis2.2.3 表达式1 .算术表达式:用算术运算符i1.接的表达式.2 .关系表达式:用比我运算符连接的表达式.3、电辑表达式:用逻辑运算符连接的表达式.2.3Orac1.eIOg的SE1.E
26、CT查询语句1)查什么;2)从岬里查:3)裔要什么条件1.1.1 娈看表附构的命令:describetab1.ena三e;或dosetab1.ena三e;1.1.2 简单交诗(SeIeCtfro三结构)1,根本格式如下SE1.ECT*字段名列表)FROM表名;2、举例:1) se1.ect*fromstudent;查洵所有行所有列2)登询指定的某些列3)安询结果显示时,有它们的默认显示规则,如日期型和字符型的左时齐.JStfi型的右将齐。4) 询的时候可以使用算术运算符在Se1.eC1.后,及对字段进行四则运算.se1.ectStudentid1Studentname.studentage+1
27、fronstudent;I1.字符串连接运算符5)井婆distinct6)箝字段起别名se1.ectStudentid学号.Studentnaae姓名.studentsex性别fromstudent:或者se1.ectStudentidas学号,S1.udcn1.namcas姓名,S1.udentscxas性别frostudent:1.1.3 ,条件的简单查询(se1.ectfroEWre结构)1 .根本格式如下SE1.ECT(*|字段名列表)IROM表名WERE条件表达式;2 .具体实例1)单条件的查询查询工费高于3000元的教工信息se1.ect*fromteacherwheresa1.a
28、ry30002)组合条件的查询受询工费不低于3000元的女教工信息se1.ect*fromteacherwheresa1.ary=3000andsex=3 .3.3单表杳询的应用I、关键字D1.snNCT的使用攵询教师表看看有几个教研室se1.ectdistinctstaffroomfromteacher;4 .关键字BETiEENAND的使用查询总工资在“000,7000)之间的教工悟息se1.ectteachername.sa1.ary*bo11usas总工资fromteacherwhereSa1.iIry+bonusbetween4000and7000;5 .速配籽和_的使用(模糊查询)
29、S生意:转义字符的使用。1.ikesV%escape,:这里用到了转义字符,表示的意思是以s_开头的字符串,而SN等价于热se1.ectfromscwhereStudentid1ikesescape;注意:进行模出查询时用Iike关键字,而不用等号=SE1.ECT*FRONstudentWhereStudentname1.ike%11金11;6 .关键字NU1.1.和NOTNU1.1.的使用丧询没有奖金的教工信息se1.ect*fromteacherwherebonusisnu1.1.;字段名isnotnu1.1.对nu1.1.或notnu1.1.登酒时,不能用等号=而用is7 .用ORDER
30、BY子旬为查询结果捧序(多字段排序se1.ect,fromteacherwherebonusisnotnu1.1.orderbysa1.arydeac,bonusdesc;6,字段运算丧询(可以对字段进行算单的算术运算.如+.-.*、/)se1.ectteacherid,sa1.ary*12fromteacher;在navicat的令令行,可以使用“setIincsize300/命冬来设置当行显示字符的数I1.8 .别名的使用1)格式:字段名AS别名2)注意:别名不改变数据库的值,如果别名中含有特殊字符(如:空格)和特殊的要求(如:所有字母大写显示等)要用双引号把别名引起来。3)举例se1.e
31、ctteacherid,aaaaafdsafromCeaeherj;2.3.4多表查询多未查询是指查询结果要从两个以上的表中也便结果,这里仅仅介绍一种简单的.多表查询。1、查询“李寻武”所在部门的池址。e1.e:吃机IBe匕趾型SftcaIepwttfsntI1teacher:【heret.ieparznti三i.Ieparctrentiard优atoar卑软;2、受询“扬过所在部门的电话.SQ1.se1.ectdepartmentte1.fromteacher,departmentwhereteacher,departmentid=deartmet.departrentidandteache
32、r11a11=杨过;或者se1.ectdepartmentte1.fro三departmentwheredepartmentidin(se1.ectdepartmentidfromteacherwhereteachername=it):注意:1)字符串只能用单引号,而不能用反引号”,双引号有特殊的用途.2)in的用法3.分析总给:1)注意蛤表起别名。2)se1.ect的后字段名用“表名字段名表别名.字段名”表示.绮别是登询结果中有的字段名在fro后的表中都是相同的,那么这个字段名必须指出是嚼个表的。如果没有这种观象,那么只用字段名即可。3SQ1.标值楮定,别褊簿语句的其余局部必须假用该别名引用
33、表(即不能再使用原始表名).2.3.5子杳询如果一个se1.ect命令出现在另一个se1.ect命令(查询2)的一个子句中,则称查询I是查询2的子受诗,又称为“嵌妾或询”.外层的Se1.eCt语句称为“父要询”,内层的Se1.eCt语句称为“子娈询”.子垂询可以法套多层,子查询操作的数箔表可以是父查询不提作的数抠表,1、查询所有高于杨康工资的教师信息。se1.ectfromteacherwhereSaIary(scIccisa1.aryfromteacherUherCICaChCrnaeC=杨康):2.查询出跟李寻款在同一个教圻室.而且工资大于王五的工资的所有教员的姓名和工资。SE1.ECTt
34、eacherneune,sa1.aryfromTEACHERwherestaffroom=(se1.ectSCarrrOOmfromteacherwhereCeaChernaKe=孝寻欢)IANDSA1.ARY(SE1.ECTSA1.ARYFROMTEACHERUHERETEACHERNAME-王五);然习:I、查询与李寻欢在同一个教斫室工作的教师的姓名.2、五询不于低软件教研室任何一名教工工资的教工姓名SE1.ECTTEACHERNAMEI1ROMTEAchERwheresa1.ary=a1.1(se1.ectsa1.aryfromteacherwhereStaffrooe=软件)3、性去巳
35、经开设课行的部门信息3,特点:1)子杳询的结果仅辑回一行(一个)记录,这时可以用算术比校符:,=、J=、=,in*.2)子查询的结果多于一行多个记录,这时要用in.some.any.a1.1.等.3用notin时,干查询中不能有nu1.1.1 .3.6作业1.检索没有预选课的课程信息.2 .检索已经开设黑程的部门信息3 .检东有教工工笠大于等于网络教研室教工工资的非网络栽研室的名称。4 .发询不低软件教研室所有教工工褥的其他教工姓名第一天总结(Sumnary):一、蚊据库械述中知识点1 .数据管理技术开展的几个阶段:人工管理阶段、文件管理阶段,数据库管理阶段、分布式数指库管理、面向对象的蚊格库
36、管理。2 .DBS包括:DBMS、DB、DBA等.3、数据库系统的模式:外模式、模式(概念模式r内模式,它们构成了“外模式/模式和模式/内模式两个映射.4 .数据便里:层次模型.网状模型,关系模型.5 .实体间的三种联系:1:1.1:N.M:N6、关系模式的表示方法:关系名(属俭名1.网性名2.,ttn)7 .关系数据库,健立在关系模型基砧上,而形成的故箔库.8 .几个概念:关系二维赛:元组记录:具性字段9、常用的数据库管理系统:Orac1.e.MySQ1.SQ1.Server.DB2、Sybase、FoxPro.AcCESS等等。10、orac1eIog及NiIViCiJt9的安装与使用二、
37、第一天Se1.eCt查询总结SE1.ECTDISTINCTBETMEEN.AND.、IN、ISNU1.1.NOT.AND.OR、子登询ORW-RBY字段1.字段2ASCIDESC1.第二天2.4Orac1.eIOg单行函数和聚合函数函数是一肿有。个或多个叁数并且有一个返回值的程序,OraCIe的函数主要分力两大类:单行函数和聚合函数(组函数)。SQ1.和P1./SQ1.中自带很多类型的函数,如字符、数字、日期.转换和迎合型等多种语数用于处理单行数据,这些函数统称为单行函数,这些函数均可用于SCIecI、.here,OrdCrby等子句中。当需要对登询结果的数据行的同类信息合并在一起操作时,就需
38、要用聚合函数来汇总这些数据行;orac1.e提供了基于纽的多行西数,它们可以在se1.ect或se1.ect的having子句中使用.1 .4.1单行函数单行函数对查询的表或视图的每一行返回一个结果行.分为:数值函数.字符函数、日期函数.转换函数等。单行函数也可以使用在UPdate的Set子句中、insert的VaIUeS子句中、de1.ete的Where子句中等,但重点是用在se1.ect子句。A:dua1.是。rac1.e提供一个特使的表.主更用于测试函数,2 .4.1.INV1.函数因为在我们的病中经常会有nu1.1.值出现,而nu1.1.无法参与其它的运算,如SaIm*nu1.1是非法
39、的,为了解决这个问黑,系统提供了Nv1.函数专门处理nu1.1.1)该函数的格式:NV1.(x1.x2)其中x1.x2都是表达式,当X1.的值为nu1.1.时返回x2的值,否剜返回x1.的值。2)举例,找出问题所在se1.ectteachername,sa1.ary+bonusas息工资IfrOJnteacher;先看上述语句会出现什么问题,解决方法如下:se1.ectceachernaezsa1.ary+nv1.(bonus,0)as总工货fromteacher;注意:x1.x2的数据类型要相匹配。2.4.1.2字符串函数1) ASCIKc):运回字符C的ASC1.1.码值(十迸制数)。2)
40、 0IR(i):返回整数i对应的字符.3) COKCAT(C1.C2):连接字符申C1.和C2.注意一个字符串的连接运算符:如:SeIeCt姓名:HteaChernaBefromteaCher4) INITCAp(C):返回字符串C,并将C中的每个单词的第一个字号大写,其它字母小写。5) INSTR(C1.,C2,i,j):在一个字符串中搜索指定的字符,返回发现指定的字符的位量.C1.是被搜索的字符,C2是搜索的字符串,i是搜集的开始住置(跋认为1),j是出现的次效(默认为I)例如:求“orac1.etraing”中从第1个字符开始tr第2次出现的位置,Se1.ectinstr(4orac1.
41、etraining,ra,.1,2)fromdua1.:6) 1.ENGT1I(C):送回字符串C的长度,注意一个汉字和一个字母的长度都是17) 1.OUER(C):返回字符串C的所有字符为小写。8)ITPER(C):近国字符串C的所有字符为大写。9)1.PAD(C1.C2):C1.C2均为字符串,i为整数。在C1.的左侧用C2补足长度i,可屡次更复:如果i小于C1.的长度,只返回i那么长的C1.字籽,其它的被截去:C2的鞅省货为单空格.例如:在字符串幸福的右边用补足到10个字符,然后在结果的左边用补足到17个字符。SQ1.se1.ect1.,PAD1.TR1.M(C)和RTR1.M(Ch分别
42、是制除C的前导空格和删除C尾部空格.H)TR1.M(C):既刚除C的前导空格又删除C尾部的空格。12)SUBSTR(string,start,count):从母车String中取从S1.art开始的CoUnt小字符作为一个孑串返回。I3Rep1.ace(string,s1,s2):用s2替换出现在String中的SI字符用.:se1.ectrep1.aceCaabbccddeeaaa,aa.,AA,)FROMDUA1.;14) TRANSI.ATB(C1.,C2.C3)s它是分级鲁帙的.具体做法如F:a)若在C1.中能找到与C2全部相同的,就用C3把相应的字符全部代替。(第一线)se1.ecttrans1.ate(,123456789,4581.,