oracle创建及管理表课件

上传人:无*** 文档编号:211961153 上传时间:2023-05-21 格式:PPT 页数:43 大小:2.54MB
收藏 版权申诉 举报 下载
oracle创建及管理表课件_第1页
第1页 / 共43页
oracle创建及管理表课件_第2页
第2页 / 共43页
oracle创建及管理表课件_第3页
第3页 / 共43页
资源描述:

《oracle创建及管理表课件》由会员分享,可在线阅读,更多相关《oracle创建及管理表课件(43页珍藏版)》请在装配图网上搜索。

1、 第二讲 创建和管理表 Oracle数据库管理系统 课程目标课程目标 创建表 了解数据类型 修改表的定义 简单的增、删、改、查操作 4 1 2 3 第二讲内容 Oracle体系介绍(物理、逻辑、服务器)Oracle的数据类型?数据表的创建、修改 数据的修改和删除 简单查询 4 ORACLE 11g体系结构概述体系结构概述 在Oracle数据库管理系统中有3个重要的 概 念 需 要 理 解,那 就 是 实 例(Instance)、数据库(Database)和数据库服务器(Database Server)。其中,实例是指一组Oracle后台进程以及在服务器中分配的共享内存区域;数据库是由基于磁盘的

2、数据文件、控制文件、日志文件、参数文件和归档日志文件等组成的物理文件集合;数据库服务器是指管理数据库的各种软件工具(比如,sqlplus、OEM等)和实例及数据库三个部分。从实例与数据库之间的辩证关系来讲,实例用于管理和控制数据库;而数据库为实例提供数据。一个数据库可以被多个实例装载和打开;而一个实例在其生存期内只能装载和打开一个数据库。逻辑存储结构 本讲大纲:1、数据块(Data Blocks)3、段(Segment)2、数据区(Extent)4、表空间(TableSpace)数据块(Data Blocks)数据块是Oracle逻辑存储结构中的最小的逻辑单位,也是执行数据库输入输出操作的最小

3、存储单位。Oracle数据存放在“Oracle数据块”中,而不是“操作系统块”中。通常Oracle数据块是操作系统块的整数倍,如果操作系统快的大小为2048B,并且Oracle数据块的大小为8192B,则表示Oracle数据块由4个操作系统块构成。Oracle数据块有一定的标准大小,其大小被写入到初始化参数DB_BlOCK_SIZE中。另外,Oracle支持在同一个数据库中使用多种大小的快,与标准块大小不同的块就是非标准块。数据区(也可称作数据扩展区)是由一组连续的Oracle数据块所构成的Oracle存储结构,一个或多个数据块组成一个数据区,一个或多个数据区再组成一个段(Segment)。当

4、一个段中的所有空间被使用完后,Oracle系统将自动为该段分配一个新的数据区,这也正符合Extent这个单词所具有的“扩展”的含义,可见数据区是Oracle存储分配的最小单位,Oracle就以数据区为单位进行存储控件的扩展。使用数据区的目的是用来保存特定数据类型的数据,也是表中数据增长的基本单位。在Oracle数据库中,分配存储空间就是以数据区为单位的。一个Oracle对象包含至少一个数据区。设置一个表或索引的存储参数包含设置它的数据区大小。数据区(Extent)段(Segment)数据区(也可称作数据扩展区)是由一组连续的Oracle数据块所构成的Oracle存储结构,一个或多个数据块组成一

5、个数据区,一个或多个数据区再组成一个段(Segment)。当一个段中的所有空间被使用完后,Oracle系统将自动为该段分配一个新的数据区,这也正符合Extent这个单词所具有的“扩展”的含义,可见数据区是Oracle存储分配的最小单位,Oracle就以数据区为单位进行存储控件的扩展。使用数据区的目的是用来保存特定数据类型的数据,也是表中数据增长的基本单位。在Oracle数据库中,分配存储空间就是以数据区为单位的。一个Oracle对象包含至少一个数据区。设置一个表或索引的存储参数包含设置它的数据区大小。表空间(TableSpace)Oracle使用表空间将相关的逻辑结构(比如段、数据区等)组合在

6、一起,表空间是数据库的最大逻辑划分区域,通常用来存放数据表、索引、回滚段等数据对象(即Segment),任何数据对象在创建时都必须被指定存储在某个表空间中。表空间(属逻辑存储结构)与数据文件(属物理存储结构)相对应,一个表空间由一个或多个数据文件组成,一个数据文件只属于一个表空间;Oracle数据的存储空间在逻辑上表现为表空间,而在物理上表现为数据文件。举个例子来说,表空间相当于操作系统中的文件夹,而数据文件就相当于文件夹中的文件。每个数据库至少有一个表空间(即SYSTEM表空间),表空间的大小等于所有从属于它的数据文件大小的总和。物理存储结构 本讲大纲:1、数据文件 3、日志文件 4、服务器

7、参数文件 5、密码文件、警告文件和跟踪文件 2、控制文件 数据文件 数据文件是用于保存用户应用程序数据和Oracle系统内部数据的文件,这些文件在操作系统中就是普通的操作系统文件,Oracle在创建表空间的同时会创建数据文件。Oracle数据库在逻辑上由表空间组成,每个表空间可以包含一个或多个数据文件,一个数据文件只能隶属于一个表空间。控制文件是一个二进制文件,它记录了数据库的物理结构,其中主要包含数据库名、数据文件与日志文件的名字和位置、数据库建立日期等信息。控制文件一般在Oracle系统安装时或创建数据库时自动创建,控制文件所存 放的路径 由服务器 参数文件 spfileorcl.ora

8、的control_files参数值来指定。由于控制文件存放有数据文件、日志文件等的相关信息,因此,Oracle实例在启动时必须访问控制文件。如果控制文件正常,实例才能加载并打开数据库;但若控制文件中记录了错误的信息,或者实例无法找到一个可用的控制文件,则实例无法正常启动。控制文件控制文件 日志文件的主要功能是记录对数据所作的修改,对数据库所作的修改几乎都记录在日志文件中。在出现问题时,可以通过日志文件得到原始数据,从而保障不丢失已有操作成果。Oracle的日志文件包括重做日志文件(Redo Log File)和归档日志文件(Archive Log File),它们是Oracle系统的主要文件之

9、一,尤其是重做日志文件,它是Oracle数据库系统正常运行所不可或缺的。下面将介绍这两种日志文件。日志文件 服务器参数文件 服务器参数文件SPFILE(Server parameter File)是二进制文件,用来记录了Oracle数据库的基本参数信息(如,数据库名、控制文件所在路径、日志缓冲大小等)。数据库实例在启动之前,Oracle系统首先会读取SPFILE参数文件中设置的这些参数,并根据这些初始化参数来配置和启动实例。比如,设置标准数据块的大小(即参数db_block_size的值)、设置日志缓冲区的大小(即参数log_buffer的值)等等,所以SPFILE参数文件非常重要。服务器参数

10、文件在安装Oracle数据库系统时由系统自动创建,文件的名称为SPFILEsid.ora,sid为所创建的数据库实例名。与早期版本的初始化参数文件INITsid.ora不同的是,SPFILE中的参数由Oracle系统自动维护,如果要对某些参数进行修改,则尽可能不要直接对SPFILE进行编辑,最好通过企业管理器(OEM)或ALTER SYSTEM命令来修改,所修改过的参数会自动写到SPFILE中。Oracle系统运行时,除了必须的数据文件、控制文件、日志文件及服务器参数文件外,还需要一些辅助文件,如,密码文件、警告文件和跟踪文件,下面将对这些辅助文件进行简单的介绍。密码文件、警告文件和跟踪文件

11、Oracle 11g服务器结构 本讲大纲:1、系统全局区(SGA)2、程序全局区(PGA)3、前台进程 4、后台进程 系统全局区(SGA)系统全局区(System Global Area)是所有用户进程共享的一块内存区域,也就是说,SGA中的数据资源可以被多个用户进程共同使用。SGA主要由高速数据缓冲区、共享池、重做日志缓存区、java池和大型池等内存结构组成。SGA随着数据库实例的启动而加载到内存中,当数据库实例关闭时,SGA区域也就消失了。程序全局区(PGA)程序全局区(Program Global Area)也可称作用户进程全局区,它的内存区在进程私有区而不是共享区中。虽然PGA是一个全

12、局区,可以把代码、全局变量和数据结构都可以存放在其中,但区域内的资源并不像 SGA一样被所有的用户进程所共享,而是每个 Oracle服务器进程都只拥有属于自己的那部分PGA资源。在程序全局区(PGA)中,一个服务进程只能访问属于它自己的那部分PGA资源区,各个服务进程的PGA区的总和即为实例的PGA区的大小。通常PGA区由私有SQL区和会话区组成。前台进程 1用户进程 用户进程是指那些能够产生或执行 SQL语句的应用程序,无论是SQL*Plus,还是其它应用程序,只要是能生成或执行SQL语句,都被称作用户进程。2服务器进程 服务进程就是用于处理用户会话过程中向数据库实例发出的SQL语句或SQL

13、*Plus命令,它可以分为专用服务器模式和共享服务器模式。后台进程后台进程 Oracle后台进程是一组运行于 Oracle服务器端的后台程序,是Oracle实例的重要组成部分。进程包括 DBWR、CKPT、LGWR、ARCH、SMON、PMON、LCKN、RECO、DNNN、SNPN。其中SMON、PMON、DBWR、LGWR和CKPT这5个后台进程必须正常启动,否则将导致数据库实例崩溃。此外,还有很多辅助进程,用于实现相关的辅助功能,如果这些辅助进程发生问题,只是某些功能受到影响,一般不会导致数据库实例崩溃。Oracle的数据类型 第二讲 创建和管理表 数据类型数据类型 描述描述 VARCH

14、AR2(size)可变长字符数据 CHAR(size)定长字符数据 NUMBER(p,s)可变长数值数据 DATE 日期型数据 LONG 可变长字符数据,最大可达到 2G RAW 可变长二进制数据类型,最大长度4KB LONG RAW 可变长二进制数据,最大长度 2GB CLOB 字符数据,最大可达到 4G BLOB 二进制数据,最大可达到 4G BFILE 存储外部文件的二进制数据,最大可达到4G ROWID 行地址 Oracle的数据类型 第二讲 创建和管理表?字符类型?CHAR:有固定长度和最大长度的字符串。作为变量最大32767个字节,作为字段类型最大为2000字节。?VARCHAR2

15、数据类型:可变长度的字符串。作为变量最大32767个字节,作为字段类型最大为4000字节。?Clob 大字符串类型,长度最大4GB。思考:一个空的VARCHAR2(2000)字段和一个空的VARCHAR2(2)字段所占用的空间是否是一样的?Oracle的数据类型 第二讲 创建和管理表?字符类型 比较规则:对CHAR型数据,尾部的空格将被忽略掉,对于VARCHAR2型数据尾部带空格的数据排序比没有空格的要大些。比如:CHAR 型数据:YO=YO VARCHAR2 型数据:YOYO Oracle的数据类型 第二讲 创建和管理表?数值数据类型?NUMBER数据类型:NUMBER(p,s):p表示数据

16、的总有效数字位数,s表示小数的位数。注意:可以表示整数,也可以表示小数。?number(5,2)表示一个小数,范围-999.99-999.99?Number(5)表示一个五位整数,范围-99999-99999 Oracle的数据类型 第二讲 创建和管理表?日期时间数据类型?DATE:用于存储日期的世纪、年、月、日、小时、分和秒。SYSDATE函数返回当前日期和时间。?TIMESTAMP:用于存储日期的年、月、日以及时间的小时、分和秒。该数据类型同时包含时区信息。SYSTIMESTAMP函数返回当前日期、时间和时区。其中秒的精度可以到ns。Oracle的数据类型 第二讲 创建和管理表?LOB数据

17、类型(“大对象大对象”数据类型)数据类型)?CLOB(Character LOB):存储大量字符数据,是内部LOB。?BLOB(Binary LOB):存储较大的二进制对象,如图形、视频剪辑和声音剪辑等,是内部LOB。?BFILE(Binary File):存储二进制文件,是外部LOB。二、创建数据表 必须以字母开头 必须在 130 个字符之间 必须只能包含 AZ,az,09,_,$,和#必须不能和用户定义的其他对象重名 必须 不能是Oracle 的保留字 第二讲 创建和管理表 1、Oracle数据表的命名规则数据表的命名规则 二、创建数据表 第二讲 创建和管理表 2.简单表的创建语法?创建表

18、创建表?CREATE TABLE schema.table_name(column_name1 datatype,column_name2 datatype,column_name3 datatype)二、创建数据表 第二讲 创建和管理表 2.简单表的创建语法?例 创建stu 表?CREATE TABLE stu(?sid varchar2(8)Primary Key,?name varchar2(20)Not Null,?age number(3),?addr varchar2(40)?);二、创建数据表 第二讲 创建和管理表 3.利用查询创建表?用查询的结果集创建一张表?拷贝一张表的全部信

19、息,即建一张新表,这张表的内容与另外存在的一张表的内容完全相同而表名不同。CREATE TABLE newtablename AS SELECT*FROM existtablename;?举例:CREATE TABLE emp1 AS SELECT*FROM emp;二、创建数据表 第二讲 创建和管理表?拷贝一张表,只拷贝已存在表的结构,不拷贝表的内容。CREATE TABLE newtablename AS SELECT*FROM existtablename WHERE 恒假条件恒假条件;举例:举例:CREATE TABLE emp2 AS SELECT*FROM emp WHERE 1=

20、2;三、修改表结构 第二讲 创建和管理表?修改表?添加新列添加新列 ALTER TABLE table_name ADD(newcolumnname datatype);?举例:给emp2表增加新列 ALTER TABLE emp2 ADD(remark VARCHAR2(100);三、修改表结构 第二讲 创建和管理表?更改现有列的数据类型和字段宽度 ALTER TABLE tablename MODIFY(columnname datatype);?举例:修改remark 列宽为200字节 ALTER TABLE emp2 MODIFY(remark VARCHAR2(200);?更改列名

21、ALTER TABLE tablename RENAME COLUMN oldcolumnname TO newcolumnname;?举例:更改emp2表中remark 列名为email ALTER TABLE emp2 RENAME COLUMN remark TO email;三、修改表结构 第二讲 创建和管理表?删除表中现有列 ALTER TABLE tablename DROP COLUMN columnname;?举例:删除emp2表中的email列 ALTER TABLE emp2 DROP COLUMN email;?添加或删除完整性约束条件 将某列定义为主键约束 ALTER

22、TABLE emp2 ADD CONSTRAINT keyname PRIMARY KEY(columnname);?举例:将emp1表中的empno 列设置为主键 ALTER TABLE emp1 ADD CONSTRAINT PK_emp2 PRIMARY KEY(empno);三、修改表结构 第二讲 创建和管理表 删除主键或唯一键约束 ALTER TABLE tablename DROP CONSTRAINT keyname;?举例:删除emp2表中的主键约束 ALTER TABLE emp2 DROP CONSTRAINT PK_emp2;三、修改表结构 第二讲 创建和管理表 重命名表

23、 RENAME oldtablename TO newtablename;?举例:将举例:将emp2表的表名修改为表的表名修改为newemp;RENAME emp2 TO newemp;?删除表删除表 DROP TABLE tablename;?举例:删除emp2表 DROP TABLE emp2;四、添加数据 第二讲 创建和管理表 INSERT INTO tablename(field1,field2,)Values(val1,val2,);注意:插入null 和日期型字段 五、修改数据 第二讲 创建和管理表 UPDATE tablename SET field1=val1,field2=v

24、al2,WHERE子句子句;?注意:置空值注意:置空值 六、删除数据 第二讲 创建和管理表 DELETE FROM tablename WHERE子句子句;?注意:WHERE子句中的空值判断 六、删除数据 第二讲 创建和管理表 TRUNCATE TABLE tablename;两种方法的区别:DELETE删除,需要写日志和回滚段,能恢复。TRUNCATE 删除,不写日志和回滚段,因此 不能恢复,但速度快。六、删除数据 第二讲 创建和管理表 TRUNCATE TABLE tablename;两种方法的区别:DELETE删除,需要写日志和回滚段,能恢复。TRUNCATE 删除,不写日志和回滚段,因此 不能恢复,但速度快。七、实验内容 第二讲 创建和管理表 创建简单表创建简单表stu 创建创建emp的备份表的备份表emp_old;创建一个表创建一个表stu2,并制定存储参数,并制定存储参数 创建带约束的表student、course、score 表的维护:修改列定义、增加列、删除列、禁用列、增加约束、启用与禁用主键、重命名约束、删除约束、重命名表和列。表的删除与截断表的删除与截断?如何向表中插入日期型数据、空值如何判断 革命尚未成功,同学仍需努力!

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!