Oracle数据库实验指导手册模板_第1页
Oracle数据库实验指导手册模板_第2页
Oracle数据库实验指导手册模板_第3页
Oracle数据库实验指导手册模板_第4页
Oracle数据库实验指导手册模板_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

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

文档简介

Oracle数据库实验指导手册模板资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。更多企业学院:/Shop/《中小企业管理全能版》183套讲座+89700份资料/Shop/40.shtml《总经理、高层管理》49套讲座+16388份资料/Shop/38.shtml《中层管理学院》46套讲座+6020份资料

/Shop/39.shtml《国学智慧、易经》46套讲座/Shop/41.shtml《人力资源学院》56套讲座+27123份资料/Shop/44.shtml《各阶段员工培训学院》77套讲座+324份资料/Shop/49.shtml《员工管理企业学院》67套讲座+8720份资料/Shop/42.shtml《工厂生产管理学院》52套讲座+13920份资料/Shop/43.shtml《财务管理学院》53套讲座+17945份资料

/Shop/45.shtml《销售经理学院》56套讲座+14350份资料/Shop/46.shtml《销售人员培训学院》72套讲座+4879份资料/Shop/47.shtml软件开发综合实训2(软件开发综合实训2(Oracle数据库)实验指导书课程号:适用专业:制定人:教研室:年9月

前言ORACLE数据库是属于数据库开发软件及应用领域的专业课,是面向计算机专业本科生和研究生开设的一门数据库应用普及型计算机专业课程。ORACLE数据库是当前应用最为广泛的数据库系统,ORACLE数据库是针对高年级学生的实践性较强的课程。经过实训,并结合典型系统进行分析,使学生较为系统地掌握ORACLE数据库的基本开发方法,运用数据库设计理论设计出满足一定规范的ORACLE数据库应用系统。《软件开发综合实训2(ORACLE数据库)》是网络工程专业、计算机科学与技术专业的专业课程之一。随着计算机数据库技术的迅速发展和在当今信息社会中的广泛应用,给《ORACLE数据库》课程的教学提出了新的更高的要求。由于ORACLE数据库是一门实践性较强的技术,课堂教学应该与实践环节紧密结合。将《软件开发综合实训2(ORACLE数据库)》课程建设成对学生就业非常有用的一门专业课。我们重新编写了实验指导书,调整了实训安排,加大了实践力度。希望同学们能够充分利用实验条件,认真完成实训,从实训中得到应有的锻炼和培养。希望同学们在使用本实验指导书和进行实验的过程中,能够帮助我们不断地发现问题,并提出建议,使《软件开发综合实训2(ORACLE数据库)》成为对学生的就业和学习非常有实用价值的一名学科。

实训要求计算机数据库技术是现代信息社会最重要的应用之一。在过去十几年里得到了迅速的发展和应用。《软件开发综合实训2(ORACLE数据库)》课程实训的目的是为了使学生在课程学习的同时,经过在ORACLE这个大型的数据库设计软件中的实际操作,对ORACLE的基本功能有一个初步的了解;经过对SQL*PLUS的简单使用,掌握其基本操作命令和技术;经过PL/SQL编程语言的使用与程序设计的分析,加深学生对SQL*PLUS和PL/SQL技术的理解和掌握,进而为今后再涉及到难度较大的实际应用打下扎实的基础。总之,经过上述实验环节,使学生加深了解和更好地掌握《软件开发综合实训2(ORACLE数据库)》课程教学大纲要求的内容。在《软件开发综合实训2(ORACLE数据库)》的课程实训过程中,要求学生做到:(1)预习实验指导书有关部分,认真做好实训内容的准备,就实验可能出现的情况提前做出思考和分析。(2)仔细观察上机操作时出现的各种现象,记录主要情况,作出必要说明和分析。(3)认真书写实验报告。实验报告包括实验目的和要求,实验情况及其分析。对需编程的实验,写出程序设计说明,给出源程序框图和清单。(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。(5)实验课程不迟到。

目录TOC\o"1-1"\h\z\u实践1Oracle10g的安装与配置及常见工具的使用 68\h1实践2创立数据库、表空间和数据文件 69\h25实践3数据库的安全管理 70\h27实践4管理表结构与表数据 71\h32实践5管理索引、视图、同义词和序列 72\h36实践6PL/SQL编程基础 73\h38实践7PL/SQL高级编程 74\h42综合实践一Oracle基本知识与SQL*PLUS简单使用 75\h46综合实践二PL/SQL编程语言的使用与程序设计 76\h57综合实践三(设计性)ASP+Oracle网上购物系统 77\h68附录:员工医疗保险系统表 78\h69实践1Oracle10g的安装与配置及常见工具的使用开发语言及实现平台或实验环境Oracle10g实践目的(1)掌握Oracle10g数据库的安装与配置过程。(2)掌握Oracle

10g企业管理器、SQL*Plus和iSQL*Plus的使用方法。实践要求(1)记录安装过程中遇到的问题及解决方法。(2)记录利用企业管理器查看当前数据库内存结构、进程结构、数据文件、控制文件、重做日志组、日志文件、初始化参数的方法。(3)记录利用SQL*Plus和iSQL*Plus查看数据库、数据文件、控制文件、重做日志组、日志文件、初始化参数的命令。(4)记录当前数据库各种文件的物理存储路径和已启动的服务。实践指导一、安装前的准备工作1.产品的分类Oracle的产品有多种,每种产品的版本也有所不同。当前,最新版本是Oracle10g。本书以OracleDatabase10g作为讨论环境。按照功能结构,能够将Oracle10g主要产品划分为如下几类:(1)数据库产品:OracleDatabase10g,主要用于存储和处理数据,大小为655025354字节,约661MB。(2)客户端产品:OracleDatabase10gClient,提供客户端与数据库之间的连接和管理等,产品大小为475090051字节,约470MB。(3)企业管理产品:OracleEnterpriseManager10gGridControl,主要包括Oracle管理代理(OMA,OracleManagementAgent)、Oracle管理服务(OMS,OracleManagementService)、Oracle管理资料档案库(OMR,OracleManagementRepository)和Oracle企业管理器(OEM,OracleEnterpriseManager10g)网格控制台等。它是系统多层体系结构和网格计算环境不可或缺的管理工具,该产品大小为1729778063字节,约1.64GB。(4)中间件产品:OracleApplicationServer10g和OracleCollaborationSuite10g。前者提供了基本的Web服务环境,也是运行企业管理器的基础;后者则利用关系数据库来降低软硬件及管理成本,从而简化商务通信并整合信息。(5)开发工具:OracleDeveloperSuite10g和OracleJDeveloper10g,它们是数据库设计和实施的适用工具,可完成从概念设计到逻辑设计和物理设计的全过程。Oracle10gJDeveloper则为当前Web应用提供了一个非常便利且完整的J2EE集成开发环境。由于Oracle数据库是业界第一个完全支持Java的数据库,因此OracleJDeveloper10g也是最佳的数据库应用开发工具,它支持B/S结构以及多层结构的系统。当前,许多公司都用OracleJDeveloper开发各种J2EE应用程序。2.产品的获取当前,Oracle9i和Oracle10g产品拥有庞大的用户群,能够直接从Oracle的官方网站下载软件,网址是.../technology/software。官方免费软件与购买的正版软件是有区别的,主要区别在于Oracle所能够支持的用户数量、处理器数量以及磁盘空间和内存的大小。Oracle提供的免费软件主要针正确是学生和中小型企业等,目的是使她们熟悉Oracle,占领未来潜在的市场。另外,当Oracle安装完成以后,还需要到OracleMetaLink网站下载最新的补丁包,网址是.。只有购买正版Oracle产品并获得授权许可的用户才拥有注册码并能够登录该网站。若用户使用下载的软件则不能得到Oracle公司的技术支持,而且一旦被发现使用未经授权许可的Oracle产品,由此所付出的代价比购买正版软件所付出的要大得多。同时,从Oracle官方网站的下载许可协议中也能够看到,以下载方式得到的软件产品只能用于学习和培训等,不得用于商业目的。因此,企业应使用正版的Oracle软件。3.安装环境在安装OracleDatabase之前,必须明确系统安装所需要的条件。1)硬件环境安装Oracle10g数据库的硬件需求如表1所示。在上述需求中,处理器的速度和内存大小直接影响着Oracle运行的速度。因此建议硬件配置越高越好。一般地,服务器配置应高于客户端配置,而且配置越高安装速度越快。2)软件环境安装Oracle10g数据库的软件需求如表2所示。二、安装OracleDatabase10g1.安装前准备工作(1)仔细阅读联机文档,确保当前安装环境能够满足安装需求。(2)如果系统曾安装过Oracle,则卸载Oracle_Home环境变量。(3)若当前已经安装了一个Oracle并想重新安装,则要停止所有的Oracle服务。操作步骤是:打开Windows系统的”控制面板”\”管理工具”\”服务”,停止以”Oracle”开头的所有服务。否则,在安装Oracle过程中将出现错误信息。(4)为了保证系统安装顺利完成,建议将OracleDatabase10g的安装光盘全部复制到硬盘的一个目录下。(5)注意,OracleDatabase10g在启动时会自动检测系统的环境是否满足安装要求,如果满足条件,则创立安装文件并继续安装,否则拒绝安装。2.安装步骤单击”开始安装”,就能够安装ORACLE10g,一般会检查系统配置是否符合要求,然后出现”OracleDataBase10g安装”对话框,如图1所示:图1在安装OracleDataBase10g时能够选择”基本安装”和”高级安装”两种方法。选择”基本安装”时,”Oracle主目录位置”用于指定OracleDataBase10g软件的存放位置;”安装类型”用于指定Oracle产品的安装类型(企业版、标准版和个人版)。如果选择”创立启动数据库”,那就要指定全局数据库名称和数据库用户的口令。选择”高级安装”,单击”下一步”,会出现”指定文件对话框”,在源路径显示的是安装产品所在的磁盘路径;目标名称用于资定Oracle主目录所对应的环境变量,目标路径用于指定安装Oracle软件的目标安装路径。设置目标名称为:OraDb10g_home1,目标路径为:D:oracleproduct10.1.0db1。如图2:图2单击”下一步”,会加载Oracle产品列表,然后出现”选择安装类型”对话框;如图3:图3选择安装类型时一般选择”企业版”,单击”下一步”,会出现”选择数据库配置”对话框,如图4:图4在”选择数据库配置”对话框中能够选择是否要创立启动数据库,如果要创立数据库还要选择建立数据库的类型。选择”不创立启动数据库”单击”下一步”,会出现”概要”对话框,如图5所示:图5单击”安装”,就会开始安装OracleDataBase10g产品了。如图6为安装过程:图6图7为安装完成图7在安装完成OracleDatabase10g后,就要建立数据库。数据库配置助手(DatabaseConfigurationAssistant)用于创立数据库、配置数据库选项、删除数据库和管理模板。在安装Oracledatabase10g的时候如果没有建立数据库,在安装完成之后就能够使用数据库配置助手(DBCA)建立数据库。建立数据库的方法有两种,第一种是在命令行下直接运行:dbca;第二种是点击开始菜单:开始=>程序=>Oracle=>oraDb10g_home1=>ConfigurationandMigrationTool=>DatabaseConfigurationAssistant。如图8:图8之后,具体步骤如下,先出现欢迎对话框,如图9:图9单击”下一步”,出现”操作”对话框,该对话框用于要执行的数据库操作(创立数据库、配置数据库选项、删除数据库和管理模板),如图10:图10如果是第一次创立数据库,只能创立数据库和管理模板能够使用,选择创立数据库,单击”下一步”,会出现数据库模板对话框,如图11:图11数据库模板是本地硬盘上的XML文件,用来存储数据库的配置信息。选择”事务处理”,单击”下一步”,会显示数据库标示对话框,该对话框用于设置全局数据库名和例程名。如图12:图12全局数据库名,格式一般为:db_name.db_domain。db_name用于对应数据库名,db_domain对应于网络域名。SID(例程)应该与db_name完全一致.如图12都设置为:demo.单击”下一步”,会出现”管理选项”对话框。用于设置OEM管理信息,如图13:图13如果要集中管理所有的Oracle数据库,那就要选择”GridControl管理数据库”,如果只管理本地数据库,那就选择”使用DatabaseControl管理数据库”。选择”使用DatabaseControl管理数据库”,单击”下一步”,会出现”数据库身份证明”对话框,该对话框用于设置初始数据库用户帐号的口令。如图14:图14要选择用户SYS、SYSTEM、DBSNMP、SYSMAN使用相同的口令,那就选择”所有账户使用同一口令”。这里选择”使用不同的口令”,分别设置用户的口令:SYS用户的口令为ORACLE,SYSTEM用户的口令为MANAGER,DBSNMP用户的口令为DBSNMP,SYSMAN用户的口令为SYSMAN。设置口令后,单击”下一步”,会出现”存储选项”对话框,该对话框用于指定数据库的存储机制(文件系统、自动存储管理、裸设备),如图15:图15选择”文件系统”,单击”下一步”,会出现”数据库文件位置”对话框,该对话框用于指定数据库文件的存放位置。如图16:图16选择”使用模板中的数据库文件位置”,单击”下一步”,会出现”恢复配置”对话框,该对话框用于指定数据库的恢复选项,如图17:图17快速恢复区用于恢复数据,以免系统发生故障时丢失数据;启用归档用于将数据库设置为ARCHIVELOG模式,使得当数据库出现失败时能够完全恢复数据库数据。单击”下一步”,会出现”数据库内容”对话框,该对话框用指定是否安装示例方案,并运行自定义脚本。如图18:图18单击”下一步”,会出现”初始化参数”对话框,该对话框用配置初始化参数、数据库字符集和连接模式。如图19:图19这里的内容相对初学者来说有垫补好理解,放到后面讲解。单击”下一步”,会出现”数据库存储”对话框,该对话框用指定控制文件、数据文件、重做日志文件、名称和尺寸。如图20:图20单击”下一步”,会出现”创立选项”对话框,该对话框用指定建立数据库,还是保存为数据库模板。如图21:图21单击”完成”,会显示”确认”对话框,列出了要安装Oracle选项的所有信息。如图22:图22单击”确定”,就完成数据库的建立过程。就会开始数据库的建立,如图23:图23当数据库建立完成后,就会出现如下对话框,如图24:图24当建立完成数据库后,系统会锁定除SYS、SYSTEM、DBSNMP、SYSMAN之外的所有其它用户。应为以后要使用SCOTT用户,因此在点击”口令管理”按钮后,解锁SCOTT用户,如图25:图25指定用户口令为TIGER,单击”确定”按钮,最后单击”退出”按钮完成数据库建立的全部过程。三、Oracle数据库文件目录结构OracleDatabase10g安装完成后,其目录结构与Oracle9i有很大不同。在OracleDatabase10g中,Oracle的目录结构是由Oracle_Base及其子目录Oracle_Home、admin、flash_recovery_area和oradata目录构成的。为方便讨论,用Oracle_Base代表Oracle目录树的根,用Oracle_Home表示根目录下的主目录。1.Oracle_Base目录Oracle_Base代表Oracle目录树的根。本书中Oracle_Base是指”F:\oracle\product\10.1.02.Oracle_Home目录Oracle_Home主目录位于Oracle_Base之下,它包含与Oracle软件运行有关的子目录和网络文件以及选定的组件等。若在主机上第一次且只安装了Oracle数据库没有其它Oracle产品,则使用默认的主目录”\db_1”;如果在同一台主机的同一个根目录下安装多个产品或是第2次安装,则Oracle_Home主目录会以”db_n”的形式出现,即”db_2”、”db_3”等。这也是为什么在Oracle_Base目录能够有多个Oracle_Home目录的缘故。Oracle_Home目录中包括的主要子目录有:●\BIN——主要包含用于数据库管理的各种命令等。●\css——与OracleClusterSynchronization服务有关的文件。●\database——存放数据库服务器端的参数文件SPFILE。●\demo——存放数据库实例模式的脚本等。●\install——用于存储Oracle安装后的端口号,iSQL*Plus以及EnterpriseManagerDatabaseControl启动并登录的方式等。●\network\admin——有关监听文件listener.ora和sqlnet.ora以及命名解析文件tnsnames.ora等。●\sysman\config——用于与OracleEnterpriseManagement有关的端口管理等。3.admin目录数据库管理文件均存储在oracle_base\admin\db_name目录下。各个子目录的主要含义如下:●\bdump——后台进程跟踪文件。●\cdump——信息转储文件(coredump)。●\create——数据库创立文件。●\exp——数据库导出文件。●\pfile——初始化参数文件。●\udump——用户SQL追踪文件。4.Oradata目录数据库文件存储在”Oracle_Base\oradata\db_name”目录下,该目录主要存储数据库的控制文件、数据文件、重做日志文件。其中,扩展名为”.dbf”的文件为对应数据库中每个表空间的数据文件;扩展名为”.ctl”的文件为数据库的控制文件;扩展名为”.log”文件对应重做日志文件组及其成员。5.flash_recovery_area目录”flash_recovery_area”目录存储并管理与备份和恢复有关的文件。它包含系统中每个数据库的子目录,可用于存储与恢复有关的文件,如控制文件、联机重做日志副本、归档日志、闪回日志以及Oracle数据库恢复管理器(RMAN)备份等。四、OracleDatabase10g安装后的基本环境与服务了解和掌握OracleDatabase10g安装后的程序组、与数据库服务器相关的服务,对正确使用和深入掌握Oracle技术是十分重要的。1.安装后的程序组OracleDatabase10g安装后的程序组为”Oracle_OraDb10g_home1”,其包括:●OracleInstallationProducts。●集成管理工具。●配置和移植工具。●应用程序开发。1) OracleInstallationProductsOracleInstallationProducts主要包括:通用安装器(UniversalInstaller)和通用安装程序概念指南。2)集成管理工具集成管理工具主要包括:● OracleDirectoryManager:一个基于Java的管理工具,用于管理OracleInternetDirectory。● WalletManager:WalletManager可创立加密的Oraclewallet,从而增强其安全性。3)配置和移植工具配置和移植工具主要包括:● AdministrationAssistantforWindows:可用于管理数据库的实例和管理员角色等。● DatabaseConfigurationAssistant:数据库配置助手,它能够创立数据库、在现有数据库中配置数据库选项、删除数据库和管理数据库模板。● DatabaseUpgradeAssistant:数据库更新助手,帮助用户升级本地数据库。● LocaleBuilder:OracleLocaleBuilder是一个用于定制本地数据定义的方便工具。利用该工具可查看创立语言、字符集等。主要功能包括语言设置、地域设置、字符集设置和语法设置等。● MicrosoftODBCAdministrator:是ODBC数据源管理器。● NetConfigurationAssistant:网络配置助手。使用该助手可监听程序配置、命名方法配置、本地NET服务名配置等。它是进行Oracle网络连接时必须的连接配置工具。● NetManager:使用该工具可进行网络配置,如数据库标识服务的配置、命名方法配置和监听程序的创立与配置等。该工具与NetConfigurationAssistant是网络连接配置的主要工具。4)应用程序开发应用程序开发包括SQL*Plus,它提供了一个编辑、运行SQL和PL/SQL并与数据库进行交互的环境。2.Oracle数据库服务Windows平台上的Oracle不同于其它平台,它是以服务的形式呈现的,而在Unix中Oracle是以进程形式运行的。所有Oracle服务器及其后台进程都是在Oracle.exe进程下以线索的方式运行的。当OracleDatabase10g系统安装完成后,在Windows/XP/环境下自动增加了许多数据库服务。选中”程序”\”管理工具”\”服务”,出现当前计算机所有服务窗口,如图26所示。图26在图26窗口中可看到多个以Oracle开头的服务,这些都是与Oracle数据库服务器有关的服务。服务具体含义如下:● OracleCSService:高级的自动存储管理服务,用来解放DBA在大容量数据库环境中对存储环境的管理。● OracleDBConsoleygbx:企业管理器服务。● OracleServiceygbx:Oracle数据库服务。● OracleJobSchedulerYGBX:Oracle作业调度服务。● OracleOraDb10g_home1iSQLPlus:iSQLPlus服务。● OracleOraDb10g_home1TNSListener:Oracle数据库监听服务。● OracleSNMPPeerMasterAgent:简单网络管理协议(SimpleNetworkManagementProtocol,SNMP),它是一个标准的互联网协议。它能使网络中的节点针对网络设备和应用程序访问其状态和活动。所有发给网络节点的请求都由同一个主代理(MasterAgent)来处理。● OracleSNMPPeerEncapsulator:该服务只有在系统中配置并安装了一个以上的SNMP副代理时,才需要封装器(Encapsulator)。五、企业管理器(EM)Oracle10g企业管理器是一个HTTP服务器,建立于数据库服务器之上,是一个完全基于Web的管理器,能够经过浏览器打开EM界面。1.登录企业管理器启动IE,在URL中输入”.主机名或主机IP地址:端口号/em”,出现企业管理器登录界面,如图27所示。图27在界面中输入用户名、口令,由于系统尚未创立新用户,因此使用系统安装时缺省创立的用户”SYS”登录,针对此用户的服务是系统自动设置的,从下拉列表框中选择连接身份。Oracle连接身份有三种:”Normal(正常身份)”是基本连接方式,级别最低;”SYSOPER(系统操作员身份)”是系统连接方式,级别较高;”SYSDBA(管理员身份)”是”DBA”连接方式,级别最高。一般用户以”Normal”身份连接,”SYS”的连接身份是”SYSDBA”。输入完成后,单击”登录”按钮,出现如图28所示的界面。从图28中不难看出,数据库基本信息包含”主目录”、”性能”、”管理”和”维护”四部分。图282.企业管理器环境介绍1)”主目录”部分”主目录”部分包括”一般信息”、”主机CPU”、”活动的会话”、”高可用性”、”空间使用情况”、”诊断概要”、”预警”和”相关预警”、”作业活动”几部分,如图28所示。(1)”一般信息”部分:给出数据库的基本信息。这部分主要包含:状态:指示数据库的当前状态,”向上”表示数据库处于”启动”状态,其它可能状态还包含”关闭”、”已被封锁”、”未受监视”或”未知”。不同状态下左侧图标将显示不同的形状。如果想关闭数据库,单击右侧的”关闭”按钮即可。开始运行时间:显示上次启动数据库的日期和时间。时区:显示数据库所在的时区。可用性:显示在前24小时中数据库可用的时间所占的百分比。例程名:即例程的名称,一般与数据库名称一致。版本:显示数据库的版本号。 ReadOnly:数据库是否为只读数据库。 Oracle主目录:即Oracle_Home。监听程序:显示监听程序的名称,以超链接的形式给出,单击时显示更详细的信息。主机:显示数据库所在的主机名。(2)”主机CPU”部分:粗略地显示了主机CPU的使用情况。(3)”活动的会话”部分:显示当前数据库中活动的会话以及SQL统计信息。(4)”高可用性”部分:显示与例程相关的可用性信息,其中”正在归档”显示为”禁用”表明数据库处于”非归档模式”。(5)”空间使用情况”部分:显示数据库空间使用情况。(6)”诊断概要”部分:显示数据库执行基本情况,数据库诊断由数据库诊断监视器自动完成。(7)”预警”和”相关预警”部分:以表格的形式给出相关的警告信息。(8)”作业活动”部分:显示作业执行情况。2)”性能”部分”性能”部分显示了当前数据库的总体状态,如图29所示。从图29中能够看出,该页包含主机、会话和例程吞吐量三个方面,详细内容请读者参考其它参考资料。图293)”管理”部分”管理”部分能够完成大部分数据库的管理工作,如图30所示。从图30中能够看出,该页包含例程、存储、安全性、方案、企业管理器管理、数据仓库、配置管理、工作量、资源管理器和调度程序十部分,本书中重点介绍例程、存储、安全性和方案四个方面的管理功能,其它方面的管理请读者参考其它参考资料。图304)”维护”部分”维护”部分显示了数据库的实用程序,如图31所示。从图31中能够看出,该页包含备份、恢复和部署的使用程序,详细内容请读者参考其它参考资料。图31六、SQL*Plus简介SQL*Plus是Oracle的核心产品,开发者和DBA能够经过SQL*Plus直接存取Oracle数据库,其中包括数据提取、数据库结构的修改和数据库对象的管理,它所用的命令和函数都是基于SQL语言的。使用SQL*Plus工具的出发点主要有以下几点:(1)开发人员一般见其它开发工具编写访问Oracle数据库的嵌入式SQL程序段时,往往需要测试SQL程序段的正确性,只有SQL程序正确,才能将该程序段嵌入到高级语言中,保证正确访问数据库。使用SQL*Plus能够测试SQL程序段的正确性。(2)开发人员使用Oracle提供的PL/SQL语言编制的过程或函数,也需要调试经过后方可存入数据库中。使用SQL*Plus能够调试PL/SQL程序段的正确性。(3)数据库管理员DBA能够经过PL/SQL方便管理和维护数据库。1.登录SQL*Plus在操作系统界面上选择”开始”\”程序”\”Oracle_OraDB10g_home1”\”ApplicationDevelopment”\”SQL*Plus”选项,出现SQL*Plus登录窗口,如图32所示。图32在窗口中输入用户名、口令,由于系统尚未创立新用户,因此使用系统安装时缺省创立的用户”system”登录,主机字符串是全局数据库名或由网络配置助手建立的网络服务名。单击”OK”按钮,出现如图33所示的窗口,表明已经进入SQL*Plus工作环境。图332.SQL*Plus环境介绍SQL*Plus工作环境是一个交互式操作环境,采用行编辑。用户能够在该环境下键入SQL命令并执行。SQL*Plus环境提供了五个菜单选项。其中,”文件”菜单的功能是存取SQL命令或PL/SQL程序的文件,该文件的扩展名一般为”.sql”。由于SQL*Plus是行编辑器,类似于DOS环境,一旦SQL命令键入错误修改会很麻烦,因此当键入错误SQL命令不能正确执行时,能够键入”EDIT”命令调用外部编辑器,缺省是系统设置的文本编辑器。一旦进入到外部编辑器环境后,系统自动将当前行编辑缓冲区的SQL命令或PL/SQL程序调入到编辑器中,能够随意修改并保存,默认保存文件是”afiedt.buf”。如果从菜单栏中选择”文件”\”保存”选项,则当前编辑器中的内容将保存到”afiedt.buf”文件中;如果选择”文件”\”另存为”选项,则编辑器中的内容将保存到指定的文件中。当修改完毕保存后,关闭窗口,系统将回到行编辑工作区,同时外部编辑器中当前的内容也放入了行编辑缓冲区,键入符号”/”,符号”/”是SQL*Plus环境下执行命令的符号,以便继续执行修改后的命令或程序。注意:经过调用外部编辑器修改的SQL命令不能包含SQL命令的结束符”;”。七、iSQL*Plus简介iSQL*Plus也是用于调试SQL命令或PL/SQL程序的工具。与SQL*Plus不同的是,iSQL*Plus是基于Web的,能够经过浏览器打开其界面。1.登录iSQL*Plus启动IE,在URL中输入”.主机名或主机IP地址:端口号/isqlplus”,出现iSQL*Plus登录界面,如图34所示。图34与SQL*Plus工具一样,在界面中输入用户名、口令,由于系统尚未创立新用户,因此使用系统安装时缺省创立的用户”SYSTEM”登录。连接标识符是全局数据库名,单击”登录”按钮,若出现如图35所示的界面,则表明已经进入iSQL*Plus工作环境。图352.iSQL*Plus环境介绍iSQL*Plus环境包含”工作区”和”历史记录”两部分。”工作区”用于编辑当前SQL语句,”历史记录”中保存本次会话中所有已被执行的SQL语句。”工作区”中的各项功能如下:文本框用于输入SQL、PL/SQL和SQL*Plus语句。单击”执行”按钮执行该语句,单击”加载脚本”按钮能够将某操作系统文件读入到文本框中。单击”保存脚本”按钮能够将文本框中的内容保存为操作系统文件,扩展名为”.sql”。单击”取消”按钮取消最近一次执行结果。单击右上角的”清除”按钮将文本框内容清空。实验内容(1)安装OracleDatabase10g。(2)查看安装后的程序组和服务。(3)查看安装后的数据库文件目录结构。(4)利用企业管理器查看当前数据库。①查看当前数据库系统的内存结构。②查看当前数据库系统的进程结构。③查看当前数据库的工作模式。④查看当前数据库的初始化参数。⑤查看当前数据库”SYS”方案下的逻辑对象。⑥查看当前数据库表空间。⑦查看当前数据库控制文件。⑧查看当前数据库数据文件。⑨查看当前数据库重做日志组及日志文件。⑩修改当前数据库工作模式为归档日志模式,查看当前数据库归档日志文件。⑪查看”SYS”用户的权限。⑫查看当前数据库的角色。⑬查看当前数据库的回滚段。⑭查看当前数据库的概要文件。(5)利用SQL*Plus查看当前数据库。①查看当前数据库控制文件。②查看当前数据库数据文件。③查看当前数据库重做日志组及日志文件。(6)利用iSQL*Plus查看当前数据库。①查看当前数据库控制文件。②查看当前数据库数据文件。③查看当前数据库重做日志组及日志文件。常见问题分析1.Oracle安装失败的解决方法如果安装失败,一定存在某些环境原因,因为安装Oracle数据库软件必须要有一个干净的环境,如果以前安装的软件不能删除干净,则重新安装时会出错,首先要卸载Oracle,具体方法为;在程序组中的”OracleInstallationProducts”中,启动”UniversalInstaller”,并在启动的画面中选择”卸装产品”按钮,从中选择要卸载的产品组件并删除即可。由于Oracle本身的卸载软件不能完全卸载,因此要用手动删除的方式。具体做法如下:(1)在操作系统界面上,选择”开始”\”运行”选项,输入”regedit”后,单击”回车”键。(2)单击”HKEY_LOCAL_MACHINE”左边的”+”号,展开此项。在展开的子项中再展开”HKEY_LOCAL_MACHINE”\”SOFTWARE”项,选中其中的”Oracle”项,并删除。(3)删除”HKEY_LOCAL_MACHINE”\”SYSTEM”\”CurrentControlSet”\”Services”下所有带”Oracle”字样的项。(4)删除”HKEY_LOCAL_MACHINE”\”SYSTEM”\”CurrentControlSet”\”Services”\”EventLog”\”Application”下所有带”Oracle”字样的项,然后关闭注册表。(5)在操作系统界面上,选中”我的电脑”,单击鼠标右键,选择”属性”选项出现属性窗口,再选择”高级”页面中的”环境变量”项,删除其中带有”Oracle”字样的”path”项。(6)删除”c:\documentsandsettings\Alluser”\[开始]菜单\程序\中的所有带”Oracle”字样的目录。(7)重新启动计算机。(8)重新启动计算机后,删除原来安装的”Oracle”目录,重新安装即可。2.”无效字符”错误在SQL*Plus中经过”EDIT”命令调用文本编辑器对命令进行编辑后,回到SQL*Plus窗口,键入”/”执行该命令出现”无效字符”错误提示,修改的方法为在文本编辑器中编辑的命令中删除命令的结束符”;”。注意:在Oracle的应用环境中执行SQL命令时,一旦出现错误,Oracle会在出错处标示”*”。3.登录SQL*Plus或iSQL*Plus失败登录SQL*Plus或iSQL*Plus时用户不能为”SYS”,这是因为在登录界面中不能选择连接身份,缺省连接身份为”NORMAL”。

实践2创立数据库、表空间和数据文件开发语言及实现平台或实验环境Oracle10g实践目的(1)掌握数据库的建立、删除方法。(2)掌握表空间和数据文件的创立、修改和删除方法操作。实践要求(1)记录执行命令和操作过程中遇到的问题及解决方法。(2)记录利用企业管理器管理表空间及其数据文件的方法。(3)记录利用SQL*Plus和iSQL*Plus管理表空间及其数据文件的命令。实践内容由于在安装Oracle数据库时已经创立了员工医疗保险数据库”ygbx”了,以实验数据库”ygbx1”为例来进行练习。(1)创立数据库。利用数据库配置助手建立实验数据库”ygbx1”。(2)查看数据库。①利用企业管理器查看实验数据库”ygbx1”的相关信息。②利用SQL*Plus查看实验数据库”ygbx1”的相关信息。③利用iSQL*Plus查看实验数据库”ygbx1”的相关信息。(3)删除数据库。利用数据库配置助手删除实验数据库”ygbx1”。(4)创立表空间。①利用企业管理器创立案例表空间”ygbx_tbs”,为表空间”ygbx_tbs”添加一个数据文件”ygbx001.dbf”,路径为”f:\oracle\product\10.1.0\oradata\ygbx”,大小为10MB。如果该数据文件已经存在,则被覆盖,数据文件具有自动扩展属性,每次增量为64KB,最大值为50MB。②利用命令行方式创立一个表空间”ygbx1_tbs”,为表空间”ygbx1_tbs”添加第1个数据文件”ygbx003.dbf”,路径为”f:\oracle\product\10.1.0\oradata\ygbx”,大小为10MB。如果该数据文件已经存在,则被覆盖,数据文件具有自动扩展属性,每次增量为128KB,最大值为100MB。第2个数据文件为”ygbx004.dbf”,路径为”f:\oracle\product\10.1.0\oradata\ygbx”,大小为5MB,没有自动扩展属性。③利用企业管理器创立案例表空间”ygbx2_tbs”,为表空间”ygbx2_tbs”添加一个数据文件”ygbx005.dbf”,路径为”f:\oracle\product\10.1.0\oradata\ygbx”,大小为10MB。如果该数据文件已经存在,则被覆盖,数据文件具有自动扩展属性,每次增量为64KB,最大值为50MB。注意:表空间在整个数据库中是惟一的,因此在表空间名后添加自己的班级号和学号。(5)修改表空间。①利用企业管理器修改刚刚创立的表空间”ygbx_tbs”,为表空间”ygbx_tbs”增加数据文件”ygbx002.dbf”,路径为”f:\oracle\product\10.1.0\oradata\ygbx”,大小为10MB。如果该数据文件已经存在,则被覆盖,数据文件具有自动扩展属性,每次增量为64KB,最大值为50MB,且将其修改为脱机状态。②利用命令行方式修改表空间”ygbx1_tbs”,为表空间”ygbx1_tbs”增加数据文件”ygbx006.dbf”,路径为”f:\oracle\product\10.1.0\oradata\ygbx”,且将其修改为脱机状态。(6)删除表空间。①利用命令行方式删除表空间”ygbx1_tbs”,同时删除包含的数据文件。②利用企业管理器方式删除表空间”ygbx2_tbs”,同时删除包含的数据文件。常见问题分析由于磁盘空间不够,可能导致无法创立成功,出现”无法初始化initial区”错误,表空间中数据文件已满。此时应扩大数据文件大小或为表空间添加新的数据文件。

实践3数据库的安全管理开发语言及实现平台或实验环境Oracle10g实践目的(1)掌握概要文件的建立、修改、查看、删除操作。(2)掌握用户的建立、修改、查看、删除操作。(3)掌握权限的建立、修改、查看、删除操作。(4)掌握角色的建立、修改、查看、删除操作。实践要求(1)记录执行命令和操作过程中遇到的问题及解决方法,注意从原理上解释原因。(2)记录利用企业管理器管理概要文件、用户、权限和角色的方法。(3)记录利用SQL*Plus和iSQL*Plus管理概要文件、用户、权限和角色的命令。实践内容(1)创立概要文件。①利用企业管理器创立概要文件”ygbx+学号_pro”,要求在此概要文件中CPU/会话为1000,读取数/会话为,登录失败次数为3,锁定天数为10。②利用SQL*Plus或iSQL*Plus,创立概要文件”ygbx+学号_pro_sql”,其结构与”ygbx+学号_pro”一致。(2)查看概要文件。①利用企业管理器查看概要文件”ygbx+学号_pro”的信息。②利用SQL*Plus或iSQL*Plus,从DBA_PROFILES数据字典中查看”ygbx+学号_pro_sql”概要文件的资源名称和资源值等信息。③利用SQL*Plus或iSQL*Plus,从查看”ygbx+学号_pro_sql”概要文件中锁定天数的值。(3)修改概要文件。①利用企业管理器,修改”ygbx+学号_pro”概要文件,将CPU/会话改为4000,连接时间为60。②利用SQL*Plus或iSQL*Plus,修改”ygbx+学号_pro_sql”概要文件,将并行会话设为20,读取数/会话设为DEFAULT。(4)创立用户。①利用企业管理器,创立”ygbxuser+学号”用户,密码为”user+学号”,默认表空间为”ygbx_tbs”。②利用SQL*Plus或iSQL*Plus,创立”ygbxuser+学号_sql”用户,密码为”user+学号+sql”,该用户处于锁状态。③利用SQL*Plus或iSQL*Plus,将”ygbx+学号_pro”概要文件赋予”ygbxuser+学号”用户。④利用SQL*Plus或iSQL*Plus,将”ygbx+学号_pro_sql”概要文件赋予”ygbxuser+学号_sql”用户。(5)查看用户。①利用企业管理器,查看”ygbxuser+学号”用户的信息。②利用SQL*Plus或iSQL*Plus,查看”ygbxuser+学号_sql”用户的信息,并查看该用户验证的方式。③利用SQL*Plus或iSQL*Plus,从DBA_USERS数据字典中查看”ygbxuser+学号_sql”用户的默认表空间和临时表空间的信息。(6)修改用户。①利用企业管理器,修改”ygbxuser+学号”用户,验证方式为外部。②利用SQL*Plus或iSQL*Plus,修改”ygbxuser+学号_sql”用户,将该用户解锁,并将密码改为”sql+学号+user”。(7)权限管理。①利用企业管理器,授予”ygbxuser+学号”用户”CREATEANYTABLE”、”CREATEANYINDEX”、”ALTERANYTABLE”、”ALTERANYINDEX”、”DROPANYTABLE”和”DROPANYINDEX”系统权限。②利用SQL*Plus或iSQL*Plus,授予”ygbxuser+学号_sql”用户”SYSOPER”系统权限。③利用企业管理器,将”ygbxuser+学号”用户增加到”SYSTEM”方案中对”help”表的查看、修改、删除等对象权限。④利用SQL*Plus或iSQL*Plus,收回”ygbxuser+学号_sql”用户在”SYSTEM”方案中对”help”表的查看、修改、删除等对象权限。⑤利用SQL*Plus或iSQL*Plus,收回”ygbxuser+学号_sql”用户的”SYSOPER”系统权限。(8)创立角色。①利用企业管理器,创立”ygbxrole+学号”角色,赋予该角色能对表、索引、存储过程、序列、同义词进行基本操作的权限。②利用SQL*Plus或iSQL*Plus,创立”ygbxrole+学号_sql”角色,该角色具有”SYSDBA”系统权限,并将该角色赋予”ygbxuser+学号_sql”用户。(9)查看角色。①利用企业管理器,查看”ygbxrole+学号”角色所具有的所有权限。②利用SQL*Plus或iSQL*Plus,查看”ygbxrole+学号_sql”角色所具有的所有权限。(10)修改角色。①利用企业管理器,修改”ygbxrole+学号”角色,增加对角色的基本操作,并收回存储过程和序列的操作权限。②利用SQL*Plus或iSQL*Plus,修改”ygbxrole+学号_sql”角色,收回”SYSDBA”系统,而授予”SELECTANYTABLE”系统权限。(11)删除角色。①利用企业管理器,删除”ygbxrole+学号”角色。②利用SQL*Plus或iSQL*Plus,删除”ygbxrole+学号_sql”角色。(12)删除概要文件。①利用企业管理器,删除”ygbx+学号_pro”概要文件,查看”ygbxuser+学号”用户的概要文件。②利用SQL*Plus或iSQL*Plus,删除”ygbx+学号_pro_sql”概要文件,查看”ygbxuser+学号_sql”用户的概要文件。(13)删除用户。①利用企业管理器,删除”ygbxuser+学号”用户。②利用SQL*Plus或iSQL*Plus,删除”ygbxuser+学号_sql”用户。常见系统权限常见系统权限如表1所示。常见问题分析(1)授权重复的问题。A用户本身具有了对A表的创立、删除的操作权限,而B用户同时具有对A表的创立、删除的操作权限。这时,B用户授予A用户对A表的创立、删除的操作权限时,系统不报重复授权的错误。(2)收回系统权限的问题。当A用户授权B用户对A表的操作系统权限,B用户又授予C用户对A表的操作系统权限时,如果A用户收回B用户对A表的操作系统权限,那么C用户对A表的操作系统权限不会被级联收回。(3)收回对象权限的问题。当A用户授权B用户对A对象的操作对象权限,B用户又授予C用户对A对象的操作对象权限时,如果A用户收回B用户对A对象的操作对象权限,那么C用户对A表的操作对象权限会被级联收回。

实践4管理表结构与表数据开发语言及实现平台或实验环境Oracle10g实践目的(1)掌握表结构的建立、修改、查看、删除操作。(2)掌握表数据的更新和查询操作。实践要求(1)记录执行命令和操作过程中遇到的问题及解决方法,注意从原理上解释原因。(2)记录利用企业管理器管理表结构和表数据的方法。(3)记录利用SQL*Plus和iSQL*Plus管理表结构和表数据的命令。实践内容1.创立表结构(1)利用企业管理器创立方式、类似创立方式和命令行方式将下列各表建立到员工医疗保险系统数据库中。表结构如附录员工医疗保险系统表1-表7所示。(2)利用命令行方式创立表”staff_sql”,其结构与”staff”表一致。2.查看表结构(1)利用企业管理器查看员工医疗保险系统所有表的字段信息和约束信息。(2)利用SQL*Plus或iSQL*Plus从数据字典DBA_TAB_COLUMNS查看员工医疗保险系统所有表的字段信息。(3)利用SQL*Plus或iSQL*Plus从数据字典DBA_CONSTRAINTS查看员工医疗保险系统所有表的约束信息。3.修改表结构(1)利用SQL*Plus或iSQL*Plus将表”staff_sql”重新命名为”staff_sql0”。(2)利用企业管理器为”staff_sql0”表添加”ageINT”字段,利用DESC命令查看”staff_sql0”表的字段信息。(3)利用SQL*Plus或iSQL*Plus为”staff_sql0”表添加”salaryNUMBER(5,2)”、”salary_addNUMBER(3,1)”两个字段,利用DESC命令查看”staff_sql0”表的字段信息。(4)利用SQL*Plus或iSQL*Plus向”staff_sql0”表添加”sname”字段惟一性约束,从数据字典DBA_CONSTRAINTS查看”staff_sql0”表的约束信息。(5)利用SQL*Plus或iSQL*Plus删除”staff_sql0”表上”sname”字段惟一性约束,从数据字典DBA_CONSTRAINTS查看”staff_sql0”表的约束信息。(6)利用企业管理器从”staff_sql0”表删除”age”字段,利用DESC命令查看”staff_sql0”表的字段信息。(7)利用SQL*Plus或iSQL*Plus从”staff_sql0”表删除”salary”、”salary_add”两个字段,利用DESC命令查看”staff_sql0”表的字段信息。(8)利用SQL*Plus或iSQL*Plus将”staff_sql0”表”sname”字段长度修改为30,利用DESC命令查看”staff_sql0”表的字段信息。4.插入表数据(1)分别利用SQL*Plus和iSQL*Plus向员工医疗保险系统的每个表中插入记录。记录插入数据过程中遇到的问题及解决方法,注意体会各种约束对插入数据的影响和表数据的插入顺序。(2)利用SQL*Plus或iSQL*Plus创立员工表2(”staff_sql2”),向表中插入5条不同的记录,注意与员工表中数据必须不同,主要体现在主键员工编号上,执行下面的操作:●用多行数据插入的方法将员工表2中数据插入到员工表,观察执行的结果。●将命令再执行一次,观察执行的结果,分析产生的错误原因。(3)利用SQL*Plus或iSQL*Plus且使用表间数据复制的方法创立员工表3(”staff_sql3”),将全部字段的值复制到员工表3,查看员工表3的内容,体会表间数据复制的含义。(4)利用SQL*Plus或iSQL*Plus且使用表间数据复制的方法创立员工表4(”staff_sql4”),将部分字段的值复制到员工表4,查看员工表4的内容,比较员工表3和员工表4中数据的不同,进一步体会表间数据复制的含义。5.修改表数据利用SQL*Plus或iSQL*Plus将”staff”表中李博的企业编号改为张超的企业编号,记录修改数据过程中遇到的问题及解决方法,注意体会各种约束对修改数据的影响。6.查询表数据(1)分别利用企业管理器、SQL*Plus和iSQL*Plus查看员工医疗保险系统的每个表的数据。(2)利用SQL*Plus或iSQL*Plus查询所有员工的姓名、出生日期。(3)利用SQL*Plus或iSQL*Plus查询员工所属企业的信息,注意消除重复记录。(4)利用SQL*Plus或iSQL*Plus查询黄山路女员工的姓名、性别、出生日期。(5)利用SQL*Plus或iSQL*Plus查询所有李姓员工的编号、姓名、性别信息。(6)利用SQL*Plus或iSQL*Plus查询所有员工的全部信息,并将显示结果按出生日期降序排列。(7)利用SQL*Plus或iSQL*Plus查询所有员工的全部信息,并将显示结果按企业编号升序、出生日期降序排列。(8)利用SQL*Plus或iSQL*Plus按企业编号分组统计出各个企业员工人数。(9)利用SQL*Plus或iSQL*Plus按企业编号分组统计出各企业员工人数大于1的企业编号和企业人数。(10)利用SQL*Plus或iSQL*Plus查询员工编号和姓名,要求输出结果表头为员工编号、姓名。(11)利用SQL*Plus或iSQL*Plus查询员工编号和姓名,要求输出表头为员工编号、姓名,而且在员工编号和姓名之间增加空格和”员工的”3个汉字。(12)利用SQL*Plus或iSQL*Plus查询企业编号、企业名称、员工编号、姓名,注意体会多表查询过程中表的查找方法。(13)利用SQL*Plus或iSQL*Plus查询某企业员工消费的药品信息,包括企业编号、企业名称、药品名称、药品数量,注意体会多表查询过程中表的查找方法。(14)利用SQL*Plus或iSQL*Plus查询与李博在同一企业的员工的编号、姓名,并将显示结果按企业编号、员工编号排列,注意体会嵌套查询的执行过程。7.删除表数据(1)利用SQL*Plus或iSQL*Plus删除某企业编号的企业信息,看能否成功。查看员工表数据,从原理上解释原因,同时记录数据删除过程中遇到的问题及解决方法,注意体会外键约束数据删除方式对删除数据的影响。(2)利用SQL*Plus或iSQL*Plus删除某医院编号的医院信息,看能否成功。查看就诊表数据,从原理上解释原因,同时记录数据删除过程中遇到的问题及解决方法,注意体会外键约束数据删除方式对删除数据的影响。(3)利用SQL*Plus或iSQL*Plus永久删除员工表2中数据,看能否成功。查看员工表2的数据,从原理上解释原因,同时记录删除过程中遇到的问题及解决方法,注意体会外键约束数据删除方式对删除数据的影响。(4)利用SQL*Plus或iSQL*Plus删除消费表中的所有数据。(5)利用SQL*Plus或iSQL*Plus删除就诊表中的某员工的数据。(6)利用ROLLBACK命令恢复所有数据。8.删除表结构(1)利用SQL*Plus或iSQL*Plus删除员工表3,看能否成功。从原理上解释原因,同时记录外键约束表删除顺序的影响。(2)利用企业管理器删除员工表2,看能否成功。从原理上解释原因。常见问题分析1.”名称已由现有对象使用”错误数据库中已存在同名对象,修改数据库对象名称即可。2.查看数据字典信息时,SELECT命令正确,却查不到数据虽然Oracle的命令中是不区分大小写的,但查看Oracle系统数据字典信息时所有的字母均需大写,即便是用户定义的表名。例如,正确的命令是:SELECT*FROMDBA_TABLESWHERETABLE_NAME='STAFF';错误的命令是:SELECT*FROMDBA_TABLESWHERETABLE_NAME='staff';3.插入数据时,出现”值过多”、”没有足够的值”或”插入的值对于列过大”的错误插入数据时,要求字段列表和值列表是按顺序一一对应的,即字段的个数、类型、长度与值的个数、类型、长度必须一致。如果字段的个数多,则出现”没有足够的值”的错误;如果字段的个数少,则出现”值过多”的错误;如果字段的类型与值列表中值的类型不一致,或值的长度超出了字段的长度,则出现”插入的值对于列过大”的错误。4.插入数据时,出现”未找到父项关键字”错误外键关联的两个表输入的数据必须满足参照完整性,即子表中外键字段的值或为空,或为父表中外键关联的主键值中的一个。出现”未找到父项关键字”错误可能有多种情况:(1)在子表中输入的外键字段的值在父表中外键关联的主键值中不存在,应修改为父表中主键已经存在的值。(2)可能是外键关联的父表和子表中字段的类型、长度不一致,父表中主键的长度大于子表中外键的长度,应修改子表,使子表中外键的类型、长度与父表一致。(3)可能是外键关联的父表中未创立主键,应在父表中定义外键关联的字段为主键。(4)外键关联的表的数据插入顺序是先插入父表数据,再插入子表数据。例如,先在”business”表插入某企业记录,才能在”staff”表中插入该企业的员工记录。5.删除数据时,出现”已找到相关子记录”错误删除表中数据时,外键关联的父表与子表,在没有指定数据删除方式为级联删除时,数据删除顺序是先删除子表数据,再删除父表数据。如果在子表中仍存在父表中要删除记录相关的记录时,出现”已找到相关子记录”错误,那么解决的方法为先删除子表中相关记录,再删除父表中记录。6.创立外键约束时,出现”此列列表的惟一或主键不匹配”错误在创立外键约束时,由于参照完整性要求子表的外键与父表的主键建立外键关联,而当父表上外键关联的字段不是主键时,出现”此列列表的惟一或主键不匹配”错误,解决的方法是在父表外键关联的字段上创立主键约束。另外,主键约束相当于惟一性和非空两个约束的作用,但主键约束不能定义成惟一性和非空约束,即就诊表中员工编号、医院编号和就诊日期联合作主键,正确的定义方法为”PRIMARYKEY(sno,hno,sdata)”,但如果定义成”snoUNIQUENOTNULL,hnoUNIQUENOTNULL”,要求”sno”的值不能重复,”hno”的值也不能重复,这样就起不到联合作主键的作用了,因此在定义表的约束时,要注意主键约束的正确使用。7.表创立存在先后顺序创立表时,如果存在外键约束,则应先创立无外键关联的父表,再创立子表,因为外键约束是建立在子表上的。如果先创立子表,那么建立外键约束时选择不到外键关联的父表。8.外键建立在子表上在Oracle数据库中外键约束建立在子表上。9.名称已被一现有约束条件占用在Oracle数据库中,约束的名称在一个方案中必须是惟一的,因此一般情况下用户不自己定义约束的名称,而由系统给定约束名称,用户自己定义时要注意在同一方案中约束的名称不要相同。10.表只能具有一个主键在Oracle数据库中,一个表的主键约束是惟一的,但这并不表明一个表的主键字段是惟一的,一个表的主键能够是一个字段,也能够多个字段联合作主键。例如,员工表主键是员工编号,医院主键是医院编号,但消费表主键则是员工编号、医院编号和消费日期3个字段。如果是多个字段联合作主键,则定义成表级约束。11.无法减小列长度,因为一些值过大在Oracle数据库中,要改变表中字段的类型或缩小字段长度,该字段的所有记录值必须为空,如果该字段存在记录值,则字段长度只能扩大,不能缩小。12.表删除存在先后顺序删除存在外键关联的表的顺序与创立表的顺序正好相反,应先删除子表,再删除父表,否则会出现”表中的惟一/主键被外部关键字引用”错误,因此本书案例中应先删除”staff”表,再删除”business”表。13.插入或修改数据时,违反主键等各种约束错误在插入数据或修改数据时,插入的数据或修改后的数据应满足创立表时的约束条件。解决方法视违反约束的具体情况而定。首先查看违反了什么约束,再查看约束的具体内容,如果是主键约束,则主键的值不能为空,不能重复;如果是检查约束,则应符合检查条件;如果是外键约束,则应符合参照完整性;如果是惟一性约束,则字段的值不能重复;如果是非空约束,则字段不能不赋值。14.分组查询时,出现”不是GROUPBY表示式”错误分组查询时,显示列表项中只能出现分组字段和利用聚集函数得到的统计结果,例如:SELECTbno,sno,COUNT(sno)FROMstaffGROUPBYbno;在显示列表项中出现非分组信息”sno”,这时就会提示”不是GROUPBY表示式”的错误信息,解决方法为在显示列表项中删除非分组、非聚集信息,正确的命令为SELECTbno,COUNT(sno)FROMstaffGROUPBYbno;15.多表查询时出现结果不正确多表查询时,必须带WHERE子句,因为多表查询时必须带表间连接条件,即外键关联条件。如果没有外键关联条件,那么查询的结果为多表间的笛卡儿积运算,而关系是笛卡儿积的子集,因此要想得到正确的多表查询结果,必须写明表间的外键关联条件。

实践5管理索引、视图、同义词和序列开发语言及实现平台或实验环境Oracle10g实践目的(1)掌握索引的建立、修改、查看、删除操作。(2)掌握视图的建立、查询、修改、删除操作。(3)掌握同义词的建立、查询、修改、删除操作,比较对同义词的操作与对原数据库对象的操作是否一致。(4)掌握序列的建立、查询、修改、删除操作,利用序列向数据库表中插入数据。实践要求(1)记录执行命令和操作过

温馨提示

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

评论

0/150

提交评论