教学课件:《Oracle数据库实用教程》.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《教学课件:《Oracle数据库实用教程》.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle数据库实用教程 教学 课件 Oracle 数据库 实用教程
- 资源描述:
-
1、第一章将Oracle数据库运转起来1.1 SQL*Plus1.2 iSQL*Plus介绍1.3 配置与使用管理服务器1.4 启动数据库1.5 改变数据库的可用性1.6 关闭数据库本章目录1.1 SQL*Plus1.1.1 SQL*Plus的作用1.1.2 SQL*Plus的启动和退出方法1.1.3 SQL*Plus的常用命令1查看表结构命令命令格式:DESCRIBE 表名说明:DESCRIBE可简写为前4个字符。该命令也用于查看视图、同义词的结构。例:查看SCOTT用户的dept表的结构。SQL DESC scott.dept 2SQL*Plus会话环境设置命令命令格式:SET 环境变量名 值
2、说明:环境变量中比较重要的有:arraysize、linesize、pagesize、pause、autocommit等。例:SET SPACE 2 表示设置各列间的间隔为2个空格字符 3SPOOL命令命令格式:SPOOL 假脱机文件名说明:启动假脱机操作。命令格式:SPOOL OFF说明:关闭假脱机文件。4编辑命令常用编辑命令及格式有:CHANGE/被替换的子串/被替换为的新子串:用于替换SQL命令中的部分信息。LIST n:用于显示SQL缓冲区的内容。APPEND text:用于在SQL缓冲区的当前行内容后增加text指定的内容。EDIT:调用定义的文本编辑器编辑SQL缓冲区中内容。5执行
3、SQL脚本文件命令执行SQL脚本文件命令有两种格式:命令格式1:START 文件名命令格式2:文件名6连接数据库命令格式:CONNECT 用户名/口令主机连接串例:以系统管理员身份登录数据库 SQLconnect system/systemoradb7执行存储过程命令命令格式:execute 存储过程名8显示命令帮助信息命令格式:HELP 命令名1.2 iSQL*Plus介绍1.2.1 配置Oracle HTTP服务器 需要先启动Oracle的HTTP服务器才能使用iSQL*Plus。有两种方式启动Oracle HTTP服务器,并且一次只能以一种方式启动。1通过Windows 2000服务启动
4、2从【开始】菜单启动1.2.2 启动iSQL*Plus 在浏览器地址栏按以下格式输入URL地址http:/host:port/isqlplus/即可打开iSQL*Plus的Web形式的登录界面。1.3 配置与使用管理服务器1.3.1 安装与配置OMS1.3.2 启动与使用OEM1.4 启动数据库1.4.1 数据库的启动过程 1启动例程 2装载数据库 3打开数据库1.4.2 使用SQL*Plus启动数据库1启动数据库的命令语法STARTUP FORCE RESTRICT PFILE=filename OPEN RECOVER database|MOUNT|NOMOUNT 参数说明:FORCE:表
5、示强制启动数据库RESTRICT:表示以受限模式打开数据库,只允许 DBA使用数据库PFILE:指定启动数据库需要的初始化参数文件OPEN:表示启动数据库后直接打开数据库。MOUNT:表示以装载数据库而不打开的方式启动数据库,即启动了例程并装载数据库NOMOUNT:表示以不装载数据库的方式启动数据库,即仅启动了例程RECOVER:表示启动数据库后执行数据库恢复操作(如果需要恢复的话)database:表示要启动的数据库的名称2启动例程的不同模式(1)启动没有装载数据库的例程(2)启动例程并装载数据库,但是保持数 据库关闭状态(3)启动例程,装载并打开数据库1.5 改变数据库的可用性 1为例程装
6、载数据库 ALTER DATABASE MOUNT;2打开一个关闭的数据库 ALTER DATABASE OPEN;3以只读模式打开数据库 ALTER DATABASE OPEN READ ONLY;4限制对打开的数据库的访问 使用带ENABLE RESTRICTED SESSION 子句的SQL 语句ALTER SYSTEM 1.6 关闭数据库关闭数据库的命令格式:SHUTDOWN NORMAL|TRANSACTIONAL|IMMEDIATE|ABORT 关闭数据库可以采取以下4种模式:1用NORMAL 选项关闭数据库2用IMMEDIATE 选项关闭数据库3用TRANSACTIONAL 选项
7、关闭数据库4用ABORT 选项关闭数据库关 闭 模 式ABORTIMMEDIATETRANSACTIONALNORMAL 允许新连接NONONONO 等待所有用户退出NONONOYES 等待所有未完 成事务结束NONOYESYES 强制生成检查点 并关闭各文件NOYESYESYES 下次启动需要 例程恢复YESNONONO表1-1 各种关闭模式的比较本章小结 Oracle数据库提供了强大的工具集以支持对数据库的访问和维护操作。SQL*Plus提供了交互式访问数据库的方法,它能执行SQL命令和SQL*Plus命令。iSQL*Plus提供了基于Web的远程数据访问方法,使得对Oracle数据库的访
8、问和维护变得更容易和轻松。Orcale企业管理器是一个功能强大的基于GUI的数据库维护工具,能完成大部分的数据库维护操作。数据库可能基于不同的目的需要不同的启动和关闭方法,也可以根据需要改变其可用性,Oracle为此提供了所需的各种命令。第二章Oracle表 2.1 Oracle的数据库实体与数据类型2.2 创建表的语法概述2.3 简单表的创建2.4 创建按索引组织的表(IOT)2.5 创建簇表2.6 创建分区表2.7 外部表本章目录2.1 Oracle的数据库实体与数据类型2.1.1 Oracle数据库实体常用实体类型如下:表TABLE 约束CONSTRAINT 聚簇CLUSTER索引IND
9、EX 表空间TABLESPACE 分区PARTITION视图VIEW 回退段ROLLBACK SEGMENT 函数/过程/程序包序列生成器SEQUENCE 同义词SYNONYM 触发器TRIGER用户USER 数据库链路DATABASE LINK 对象OBJECT在Oracle数据库中,包括如下5种类型表关系表:存储永久数据,为基本数据表。临时表:由系统使用,存放某一特定会话中的数据,如查询的结果。按索引组织的表(IOT):按照结构化主关键字进行数据排序存储的表。外部表:数据存储在Oracle数据库外部的文件中,可读,不可更新。对象表:支持面向对象操作的表,可定义描述属性及操作方法。Oracl
10、e数据库中有4种可存放永久数据的表类型规则表(Regular tables):即是普通的关系表,其中数据按自然顺序存储。分区表(Partitioned tables):对数据量大,并发访问要求高的表可分区存储。按索引组织的表(Index-organized tables):提供按关键字存储和检索的数据存储,可加快数据检索速度,同时降低存储空间开销(索引即数据)。簇表(Clustered table):簇中各表数据共享存储块(按关键字存储在一起)。2.1.2 Oracle数据类型 Oracle的数据类型包括标量类型、集合类型和关系类型等。1标量数据类型(Scalar)2集合类型(Collecti
11、on)3关系数据类型(Relationship)4用户自定义数据类型2.2 创建表的语法概述2.2.1 基本规则 2.2.2 创建表的语法图图2-1 适用于关系表的CREATE TABLE语句的顶层语法图该语法图对应的文本 CREATE GLOBAL TEMPORARY TABLE schema.table(relational_properties)ON COMMIT DELETE|PRESERVE ROWS physical_properties table_properties;图2-1中的relational_properties对应的语法图如图2-2所示。图2-2 relationa
12、l_properties的语法图 图2-1中的physical_properties对应的语法图如图2-3所示。图2-3 physical_properties的语法图图2-1中的table_properties对应的语法图如图2-4所示。图2-4 table_properties的语法图2.3 简单表的创建2.3.1 简单表的创建语法语法如下:CREATE TABLE 表名(列名 类型 NULL|NOT NULL PRIMARY KEY,列名 类型 NULL|NOT NULL,表级完整性约束);例2.1 创建采用系统默认存储参数值的简单表conn scott/tigeroradb-如果stu
13、表已经存在,则先删除该表DROP TABLE stu;-以默认的存储参数、默认的并行访问参数等默认值创建stu表CREATE TABLE stu(sid varchar2(8)Primary Key,-学号是主键 name varchar2(20)Not Null,-姓名不能为空值 age number(3),addr varchar2(40);2.3.2 利用查询创建表语法如下:CREATE TABLE table (column,column )AS subquery;例2.2 从SCOTT的雇员表emp中选取所有列创建一个备份表emp_oldconn scott/tigeroradb-如
14、果emp_old表已经存在,则先删除该表DROP TABLE emp_old;CREATE TABLE emp_old AS SELECT*FROM emp;-执行如下两条语句检查创建的结果DESC emp_old;SELECT*FROM emp_old;2.3.3 存储参数带存储参数的CREATE TABLE命令的简要语法及说明如下CREATE TABLE schema.table(COLUMN1 DATATYPE DEFAULT EXPn COLUMN_CONSTRAINT|TABLE_CONSTRAINT,COLUMN1 DATATYPE DEFAULT EXPN COLUMN_CONS
15、TRAINT|TABLE_CONSTRAINT )STORAGE(INITIAL n NEXT n MINEXTENTS n MAXEXTENTS nPCTINCREASE n)TABLESPACE tablespacePCTFREE n PCTUSED n INITRANS n MAXTRANS n AS QUERY;例2.3 创建一个表stu2,并指定它的存储参数。conn scott/tigeroradbDROP TABLE stu2;CREATE TABLE stu2(sid varchar2(8)Primary Key,name varchar2(20)Not Null,age nu
16、mber(3),addr varchar2(40)Storage(initial 100k next 20k Minextents 1 Maxextents 99 Pctincrease 10)tablespace USERS pctfree 10 pctused 40 initrans 2 maxtrans 10;2.3.4 完整性约束定义Oracle数据库中的约束条件可分为以下几类:NOT NULL:非空约束,指定一列不能取空值。Unique:唯一性约束,指定某列值不能重复。Primary key:主键约束。用在列定义中,表示该列为主键;用在列定义之外,即为指定表的主键。Foreign k
17、ey:外键约束,也叫参照完整性约束,指定某列为表的外键,并指定它参照的表和列。Check:检查约束,用于限制该列的取值在该约束范围内。REF:定义列对象的参照关系,一般用于嵌套对象表。定义在列定义中的约束(inline constraint)的语法图如图2-5所示,定义在列定义外的约束(out of line constraint)的语法图如图2-6所示,外键约束(references constraint)的定义语法如图2-7所示。图2-5 在列中定义约束的语法图图2-6 在列之外定义约束的语法图图2-7 参照完整性子句的语法图2.3.5 表的维护1修改列定义语法为:ALTER TABLE
18、table MODIFY(column datatype DEFAULT expr,);例:如下语句的第一句成功,第二句将出错。-列宽度改大了可以ALTER TABLEcourse MODIFY(cname varchar2(20);-cno已有数据,长度为4字节。列宽度改小了不可以ALTER TABLEcourse MODIFY(cno varchar2(2);2增加列语法为:ALTER TABLE table ADD(column datatype DEFAULT expr,);。例:本例注意观察执行前后表结构和表中数据的变化。-为学生表增加一列出生日期birthday,以当前的系统时间s
19、ysdate作为其缺省值-查看修改前的表结构及表中数据DESC studentSELECT*FROM student;ALTER TABLE student ADD(birthday DATE DEFAULT sysdate);DESC student SELECT*FROM student;3删除列语法为:ALTER TABLE table DROP(column);4禁用列语法如下:ALTER TABLE table SET UNUSED(column,);或为ALTER TABLE table SET UNUSED COLUMN column;例:观察如下例句执行前后student表结构
20、及数据的变化。SELECT*FROM student;ALTER TABLE student SET UNUSED(birthday);DESC STUDENT;ALTER TABLE student DROP UNUSED COLUMNS;DESC STUDENT;-ALTER TABLE student DROP COLUMN birthday;SELECT*FROM student;ALTER TABLE student ADD(birthday date DEFAULT sysdate);SELECT*FROM student;5表约束的维护 包括增加、删除、启用与禁用约束等操作。在A
21、LTER TABLE tablename后接如图2-8的语法图成分来完成约束的维护工作。图2-8 约束语法图例2.9 增加约束。ALTER TABLE empADD CONSTRAINT check_total_sal CHECK(sal+comm=5000);INSERT INTO emp(deptno,empno,ename,sal,comm)VALUES(10,1010,John,2000,400);INSERT INTO emp(deptno,empno,ename,sal,comm)VALUES(10,1020,Jordan,4800,500);6修改存储参数可修改表的PCTFREE
22、,PCTUSED,INITRANS和MAXTRANS等存储参数。例:修改表student的存储参数。ALTER TABLE student pctfree 10 pctused 40 initrans 2 maxtrans 10;7重命名表和列重命名表的语法为:ALTER TABLE tablename RENAME TO new_tablename;或为RENAME old_tablename TO new_tablename;重命名列的语法为:ALTER TABLE tablename RENAME COLUMN old_name TO new_name;例:修改表名和列名。DESC st
23、udent;ALTER TABLE student RENAME COLUMN age TO sage;DESC student;ALTER TABLE student RENAME TO stu_temp;RENAME stu_temp TO student;SELECT*FROM tab;2.3.6 表的删除与截断1表的删除语法为:DROP TABLE table CASCADE CONSTRAINTS;例:删除表student。注意以下两语句的执行结果。DROP TABLE student;DROP TABLE student CASCADE CONSTRAINTS;2表的截断截断表的语
24、法如下:TRUNCATE TABLE table DROP|REUSE STORAGE;2.4 创建按索引组织的表(IOT)例:创建按索引组织的表。DROP TABLE countries;CREATE TABLE countries(country_id CHAR(2),country_name VARCHAR2(40),currency_name VARCHAR2(25),currency_symbol VARCHAR2(3),region VARCHAR2(15),CONSTRAINT country_id_pk PRIMARY KEY(country_id)ORGANIZATION I
25、NDEX INCLUDING country_name PCTTHRESHOLD 2 STORAGE (INITIAL 4K NEXT 2K PCTINCREASE 0 MINEXTENTS 1 MAXEXTENTS 1)OVERFLOW STORAGE (INITIAL 4K NEXT 2K PCTINCREASE 0 MINEXTENTS 1 MAXEXTENTS 1);2.5 创建簇表2.5.1 创建簇表 创建簇表需经历两个步骤,创建簇和基于该簇创建簇表。创建簇的简要语法如下:CREATE CLUSTER schema.cluster(column datatype,column dat
展开阅读全文