《Oracle上机指南》PPT课件.ppt_第1页
《Oracle上机指南》PPT课件.ppt_第2页
《Oracle上机指南》PPT课件.ppt_第3页
《Oracle上机指南》PPT课件.ppt_第4页
《Oracle上机指南》PPT课件.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库应用技术Oracle上机指南,郭东伟2008年12月,目录,软件与使用说明输入sql的注意事项练习一练习二练习三练习四,软件使用,通常,在oracle客户端使用sqlplus作为标准的命令行工具需要安装oracle的客户端驱动以前经常被使用,基于命令行,但使用不方便在无图形模式下是第一选择sqldeveloper一个基于java的图形化界面工具无需驱动安装,SQLDeveloper,我们要使用的SQLDeveloper是一个基于Java的图形界面的SQL执行工具,使用比较方便。双击d:oraclisqldeveloper目录下面的sqldeveloper.exe即可执行第一次执行时可能会询问java目录,请输入C:ProgramFilesJavajdkbin(依赖于机房环境,可能略有不同),SQLDeveloper的界面,SQLDeveloper的界面组成,左上方是连接设置,以及连接后数据库对象浏览树。右面上方的页签说明可以有多个待编辑的SQL脚本。右上方是输入SQL的部分。右面中下是SQL语句执行结果的显示区域右下方显示其他信息。,SQLDeveloper建立连接,右击左上角的Connections,选择new在弹出的如右图所示对话框中输入服务器信息。包括用户名和密码服务器名根据机房情况而定SID部分必须输入ORCL可以使用test按钮进行测试。使用connect按钮连接注意,连接时间可能比较长连接成功以后可以直接点击相应的连接name登录数据库,服务器IP:40,必须是ORCL,SQLDeveloper连接后,左上角是这个数据库的各个数据库对象(当前用户可见)可以点击各个对象,直接查看对象内容,常用操作,第一次连接后右侧为输入SQL命令的子窗口如不慎关闭右击左侧连接,OpenSQLWorksheet直接在Worksheet上面输入,每个SQL语句以分号结尾点击工具栏上第一个按钮(或F9),执行当前语句点击工具栏上第二个按钮(或F5),批量执行输入框中所有语句,查询数据,查询的结果是本用户权限下可见的数据;其他会话修改但未提交的数据不能看到(读提交)。如果有授权,可以查询其他用户的表(和视图)teacher用户下,有我们上课的示例表和数据。所有用户可以查询,但不能修改SELECT*FROMTEACHER.AGENTS;,SQL注意事项,修改密码alteruser用户名identifiedby新密码利用SQL进行纯粹的计算,可以使用DUAL表SELECT1+2FROMDUAL查看当前用户下有哪些表SELECT*FROMTAB;SELECTOWNER,TABLE_NAMEFROMALL_TABLES;复杂的PL/SQL命令中可能需要使用/表示整个语句结束。,日期格式,缺省日期格式为简单格式,如例所示可以使用TO_CHAR函数进行调整可以使用ALTERSESSION命令改变当前会话的缺省格式输入日期时要按照缺省格式或者使用TO_DATE函数,SELECTSYSDATEFROMDUAL;SYSDATE-09-5月-05SELECTTO_CHAR(SYSDATE,YYYY/MM/DDHH24:MI:SS)FROMDUAL;ALTERSESSIONSETNLS_DATE_FORMAT=YYYY/MM/DDHH24:MI:SS;SELECTSYSDATEFROMDUAL;SYSDATE-2005/05/0901:52:10,练习一,各组分别领取数据库用户名和密码,组内修改密码登录SQLDeveloper,掌握基本使用使用SELECT语句完成后面列出的例题和习题标有*号的题目较难,数据来源,可使用teacher用户下面的示例表,如SELECT*FROMTEACHER.AGENTS;也可以在自己创建的同样表格上执行快速创建表CREATETABLEMY_AGENTS(目标表)ASSELECT*FROMTEACHER.AGENTS(子查询)这样创建的表不继承任何约束,只有数据。参考给出的文档创建表格,例题及习题基本查询,例1:查询所有产品信息例2:查询ID为A01的代理商例3:查询名字以S开头的代理商例4:查询购买总金额在500和1000之间的不重复的商品ID例4:列出每个代理商名字的大写和薪水100的值例5:计算当前时间和12的值例6:列出地址为空的顾客信息,按姓名升序排列。例7:按照“MaryInNewYork”的样式用一个表达式列出所有顾客名字和城市信息。城市为空用(NULL)表示,按名字降序排列。(需使用NVL函数),例题及习题连接,例1:找出每个顾客购买的商品名称和数量;例2:找出住在Dallas或Duluth的顾客购买的产品;例3:列出每个代理商及其经理的姓名;例4:找出在同一城市居住的顾客对;例5:找出比Smith工资高的代理商;例6:写出购买过商品的顾客姓名和产品名称;例7:写出购买单价1元的产品的顾客名单;例8:找出与经理在同一城市的代理商;例9(*):列出7天内至少购买过两次产品的CID,例题及习题聚组函数,例1:当前有多少订单;例2:当前LOCATIONS内有多少个邮编(可以重复)?例3:有多少个顾客购买过产品?例4:列出每一个顾客ID,总购买额。例5:列出每一个顾客ID,姓名及总购买额。例6:单笔金额超过500的订单被称为大订单,只考虑大的订单,按照产品计算平均销售额。例7:计算平均销售额大于700的各种产品及总销售额。例8:求至少有两次大订单的顾客ID及大订单总金额。(能否求订单总额?)例9:按产品分类,总销售额最高值是多少?,例题及习题子查询,例1:查询和A01工资相同的其他人。例2:查询比Smith工资高的人。(测试出现同名的后果)例3:查询比平均工资高的人员信息。例4:销售量第二高的单笔销售额。例5:找出比工作在L01的所有人工资高的人员。例6:求通过居住在L01的代理商购买货物的顾客ID。例7:没有订货的顾客ID和姓名。例8:薪水最高的AID及姓名。例9:找出住在Duluth的顾客通过位于L01的代理订货的订单号。例10(*):没有通过A05订货的顾客姓名例11(*):通过所有代理商订货的顾客ID。例12(*):列出购买过的产品集合完全相同的CID对(注:这个查询相当难,请参考/blog/?p=84),练习二复杂的SQL语句,TOP-N问题DML语句DML与事务,2.1复杂SELECT,使用各种方法试验解决TOP-N问题以ORDERS表格为例,按照DOLLARS排序查找TOPN记录包括TOP-N问题的各种变形实验查询的集合运算,2.2DML语句和事务,DML语句执行后,本次会话数据暂时修改其他会话仍使用修改之前数据使用COMMIT命令提交修改使用ROLLBACK命令撤销修改,习题过程I,自己建立一个例子表向表中插入数据,练习insert语句如果插入语句没有错误,使用select查询此表,检查数据。注意省略字段的值。请同组其他同学查询自己的例子表,检查有无第二步增加数据?输入COMMIT命令,然后重复第4步。重复第2步,增加新的数据,然后执行ROLLBACK命令。使用select检查表中数据。,习题过程II,在自己建立的表中修改某行的值,注意UPDATE语法请同组另外同学修改同一个表的同一行数据,观察现象。在自己机器上COMMIT或者ROLLBACK,同时观察第2步同学机器练习DELETE语句仿照课堂例子,完成从AGENTS表到ACOPY表的同步,练习三数据库对象,建立各种数据库对象设计一套学生借书数据库应用系统表格(带有约束),并实现之试验各种约束的作用。学习使用视图来简化查询。试验索引的创建,习题过程III,设计一套学生借书数据库应用系统表格(带有约束)。一种方案如下:学生信息表、书籍信息表(包括总册数、已借出数)、学生借还书日志(包括学号、书号、借/还标识、时间等)。使用CREATETABLE等语句实现上面的设计在这个设计上,建立适当的视图(如学生借书总数、书被借阅次数)。练习通过视图查询(如查询最常被借阅的书籍)考虑这个系统中索引的设计,练习四PL/SQL的使用,练习PL/SQL的使用练习创建存储过程和函数执行存储过程和函数建立触发器初步学习如何调试存储过程。,建立存储过程举例,将存储过程代码直接在PLSQL-Developer的SQL窗口中加入,并执行(F5)如果没有拼写错误,输出栏会提示(proceduresp1Compiled.)否则提示(Warning:执行完毕,但带有警告)下面先建立一个表spt1,如右侧例子,CREATETABLESPT1(C1DATE,C2INT,C3CHAR(10);,建立存储过程举例,按照右侧代码输入,注意各行的;和最后的/输入完成后执行。如无错误继续输入(将所有输入删除后)executesp1;select*fromspt1;批量执行(F5)。会在输出中看到spt1表中增加了一行记录,createorreplaceproceduresp1asBEGINDECLAREv1integer;BEGINselectcount(*)intov1fromorders;insertintospt1(c1,c2,c3)values(sysdate,v1,test);END;END;/,存储过程调试,如果输入有错误(包括语法错误等),该存储过程依然被建立,但处于不可用的状态。提示proceduresp1Compiled.Warning:执行完毕,但带有警告错误信息存储在user_errors表中,用户可以通过select*fromuser_errors来查询该表只保存最后一次的错误信息Oracle的错误信息可读性不强,需要仔细检查,执行存储过程,在SQL输入窗口使用EXECUTE过程名可以执行,但必须使用(RunScriptF5)来执行可以使用类似下面语法,作为一条命令执行(F9),随后一行一定要加一个,作为PL/SQL的结束标志beginsp1;end;,使用PL/SQLDeveloper管理存储过程,在左侧的目录中找到Procedures,按右键选择新建经过一个向导对话框之后,会有一个编辑窗口,并且直接有PL/SQL的基本框架代码,用户可直接在此基础上修改修改完成后,首先选择工具栏中的“Compile”,如有错误,会直接出现在下方编译成功后,可以按Run来运行编译好的存储过程,可以在左侧目录中通过“右键-Edit”来修改,在存储过程中输出调试信息,通常,存储过程的结果会体现在数据库的表中。在复杂程序中,我们可能需要知道运行过程中变量值等,来方便调试可以在存储过程中使用Dbms_output.put_line函数来产生调试信息。可以在DBMSOutput窗口查看调试信息,在存储过程中输出调试信息,修改过程sp1,加入红色的行。在SQL输入窗口中,输入setserveroutputon;并执行此命令的作用是开启调试输出,并且执行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论