`
danwind
  • 浏览: 225433 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

oracle学习笔记1:表空间、表的管理

阅读更多

1.表空间管理:永久、临时、撤销三种类型
  ①准则
    使用多个表空间:不同空间/分区存不同数据,防磁盘损坏相互影响,提高I/O;将不同的用户数据从数据字典中分离,减少数据文件的数据字典对象和模式对象竞争
    指定表空间的存储参数
    为表空间指定限额:防资源浪费
  ②可进行的操作
    新建表空间,调整数据文件大小,添加数据文件到表空间;
    设置和修改缺省的数据段存储设置;
    使表空间变为只读或读写状态;
    设置表空间为临时或永久;
    删除表空间。
  ③语法格式
    CREATE TABLESPACE tablespace_name
    DATEFILE 'path/filename' [SIZE integer [K|M]][REUSE]
    [AUTOEXTEND[OFF|ON [NEXT integer[K|M]]    /*OFF/ON禁止或允许自动扩展数据文件,NEXT指定下次分配给数据文件的磁盘空间*/
        [MAXSIZE UMLIMITED|integer[K|M]]]]    /*允许分配给数据文件的最大磁盘空间,UMLIMITED没有限制*/
    [DEFAULT STORAGE storage_clause]    /*为在该表空间创建的对象指定默认的存储参数*/
    [ONLINE|OFFLINE]    /*空间的可用/不可用设置*/
    [LOGGING|NOLOGGING]    /*将来的表、索引等是否进行日志处理*/
    [PERMANENT|TEMPORARY]    /*表空间的状态,永久或临时*/
    [EXTENT MANAGEMENT[DICTIONARY|    /*如何管理表空间的盘区*/
    LOCAL[AUTOALLOCATE|UNIFORM[SIZE integer[K|M]]]]]
  ④例
    创建表空间:
    CREATE TABLESPACE tablespace_name
    DATAFILE '/home/oracle/oradata/tablespace_name01.dbf'
    SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE 20M;
    指定系统缺省时表空间:
    ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
    表空间离线(不能访问):
    ALTER TABLESPACE tablespace_name OFFLINE;    /*ONLINE恢复*/
    表空间只读:
    ALTER TABLESPACE tablespace_name READ ONLY;    /*READ WRITE 读写*/
    删除表空间:
    DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
    添加数据文件到表空间:
    ALTER TABLESPACE tablespace_name ADD DATAFILE '/home/oracle/oradata/tablespace_name02.dbf' size 1M;
    设置表空间数据文件的缺省位置:
    ALTER SYSTEM SET DB_CREATE_FILE_DEST '/home/oracle/oradata';
    获得表空间和数据文件信息:
    SELECT * FROM v$tablespace;
    SELECT * FROM v$datafile;
2.表管理
  ①表完整性:防止不合法数据进入基表
    域完整性:列完整性,指定某个数据集对某列是否有效并确定是否允许为空,CHECK
    实体完整性:行完整性,主关键字约束,PRIMARY KEY(一个,值非空)、UNIQUE(可多个,值可空),自动产生索引
    参照完整性:引用完整性,保证主从表数据的一致性,主键外键,PRIMARY KEY、FOREIGN KEY
    如果定义了两个表间的参照完整性,则:从表不能引用不存在的键值;主表键值变,从表随着变;主表无关联记录,从表不能插入记录;删从表后删主表
    查看视图:
    SELECT * FROM user_constraintS WHERE table_name='EMP';   /*或all_constraints*/
  ②创建表语法格式
    CREATE TABLE [schema.]table_name
    (column_name datatype [DEFAULT expression][column_constraint],...n)
    [PCTFREE integer]  /*指定表或分区的每个数据块为将来更新表行所保留的空间百分比*/
    [PCTUSED integer]  /*指定每个数据块易用空间的最小百分比*/
    [INITRANS integer]  /*指定分配给表的每一数据块中事务条目的初值*/
    [MAXTRANS integer]  /*指定可更新分配给表的数据块的最大并发事务数*/
    [TABLESPACE tablespace_name]  /*指定表空间*/
    [STORGE storage_clause]  /*指定表的存储特征*/
    [CLUSTER cluster_name(cluster_column,...n)]  /*指定表作为簇的一部分*/
    [AS subquery]  /*子查询返回的行插入所创建的表中,后创建约束,如果同时有AS subquery 和CONSTRAINT子句,忽略AS subquery*/
    完整性约束语法格式
    CONSTRAINT constraint_name
    [NOT] NULL
    [UNIQUE]
    [PRIMARY KEY
    [REFERENCES [schema.] table_name(column_name)]
    [CHECK(condition)]
  ③例
    CREATE TABLE KC
    (KCH CHAR(8) NOT NULL,
     KCM CHAR(20) NOT NULL,
     XS NUMBER(2) NOT NULL,
     KKXQ NUMBER(1) NOT NULL,
     XF NUMBER(2),
     CONSTRAINT CH_KKXQ CHECK(KKXQ between 1 and 8),
     CONSTRAINT "PK_KCH" PRIMARY KEY(KCH),
     CONSTRAINT "FK_XS" FOREIGN KEY(XS) REFERENCES XS(XH) )
     PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
     TABLESPACE "MYTS"
     STORAGE (INITIAL 64K MINEXTENTS 1 PCTINCREASE 40 FREELISTS 1 FREELIST GROUPS 1);
    )
  ④修改表语法格式
    ALTER TABLE [schema.] table_name
    [ADD (column_name datatype [DEFAULT expression][column_constraint],...n)]
    [MODIFY([datatype][DEFAULT expression] [column_constraint],...n]
    [STORAGE storage_clause]    /*修改存储个正*/
    [DROP drop_clause]    /*删除列或约束*/
    DROP子句语法格式:
    DROP
    COLUMN column_name|  /*删除列*/
    PRIMARY|    /*删主键约束*/
    UNIQUE|    /*删唯一性约束*/
    (column_name,...n)|  
    CONSTRAINT|    /*删名为column_name的完整性约束*/
    [CASCADE]    /*删除所有其他的完整性约束,这些约束依赖于被删除的完整性约束*/
  ⑤例
    ALTER TABLE XS
    MODIFY (DJSM DEFAULT '奖金800');
3.其他
  GRANT UNLIMITED TABLESPACE,DBA TO feifei;    /*给用户授予表空间权限*/
  Oracle项目应用:创建表空间--创建用户--给用户分配默认表空间
  索引:供服务器在表中快速查找一个行的数据库结构,可快速存取数据、改善数据库性能保证列值唯一性、实现参照完整性、使用ORDER BY或GROUP BY时减少排序分组时间。
  使用索引原则
  在表中插入数据后创建索引:提高效率,若之前建立,插入每行时都要更改索引
  索引正确的表和列:若经常检索表中少于15%的行,建议建立索引
  合理安排索引列:通常将最常用列放最前面
  限制表中索引数量、指定索引数据库空间的使用、根据索引大小设置存储参数。
  唯一索引:
  位图索引:将索引作为位图创建,适用于表数据量很大,唯一值很少的表,如性别。
  语法格式:
  CREATE [UNIQUE|BITMAP|INDEX    /*UNIQUE指定索引所基于的列或多列值必须唯一*/
  [schema.] index_name
  ON [schema.] table_name(column_name[ASC|DESC],...n,[column_expression])|    /*column_expression创建基于函数的索引*/
  CLUSTER [schema.] cluster_name    /*创建cluster簇索引*/
  [INTRANS integer]
  [MAXTRANS integer]
  [PCTFREE integer]
  [PCTUSED integer]
  [TABLESPACE tablespace_name]
  [STORAGE storage_clause]
  [NOSORT]    /*数据库中的行以升序保存,在创建索引时不必对行排序*/
  [REVERSE]  
  例:CREATE bitmap INDEX bit_emp ON emp(sex);

分享到:
评论

相关推荐

    Oracle 10g 学习笔记

    │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置listener.ora【避免出现ORA-12514错误】.txt │ 贴子树状态存储结构.jpg │ 贴子树状态存储结构.sql │ ├─01...

    韩顺平oracle学习笔记

    韩顺平oracle学习笔记 第0讲:如何学习oracle 一、如何学习oracle Oracle目前最流行的数据库之一,功能强大,性能卓越。学习oracle需要具备一定基础: 1.学习过一门编程语言(如:java ,c) 2.最好学习过一门别的...

    Oracle整理笔记.doc

    Oracle学习笔记包括:Oracle概述,sql基础,PL/SQL的用法,Oracle基本操作,数据库用户管理,数据库空间管理,备份与回复机制,控制文件及日志文件的管理,数据库控制,Oracle数据库的安全管理,留言板系统,oracle ...

    Oracle 12c体系结构学习实验笔记

    Oracle 12c实验-管理表空间.pdf Oracle 12c实验-管理归档重做日志.pdf Oracle 12c实验-管理控制文件.pdf Oracle 12c实验-管理数据文件和临时文件.pdf Oracle 12c实验-管理重做日志.pdf Oracle 12c实验-归档模式&非...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    Oracle9i备课笔记——吕海东

    Oracle9i备课笔记——吕海东 第1讲 Oracle9i简介 目的: 1. 了解数据库的发展,关系数据库的基本原理。 2. 了解目前市场上流行的数据库产品及特点 3. 了解Oracle数据库的发展 4. 掌握Oracle9i产品系列 5. 掌握Oracle...

    Ora12c学习笔记.docx

    文档中包括Oracle基本的介绍,包含存储的介绍、基本数据对象(表、索引、触发器、视图、存储过程等),表空间的管理 ,如果升级到Oracle12C 以及数据库的物理布局和存储管理

    oracle数据库笔记

    8.练习:表的查询 36 五. 在SQL *Plus中使用函数 37 1.字符串函数 37 2.数字函数 37 3.日期时间函数 38 4.转换函数 38 第五讲 修改SQL数据与SQL*Plus命令 40 一.添加数据 40 1.Insert Into 表名 [ 字段列表 ] ...

    Oracle入门教程.三思笔记.一步一步学Oracle

    2012.9.Oracle三思笔记合集,供大家下载学习。压缩包里共32个PDF或DOC文件,都是整理版的,非常好阅读,谁下谁知道。 [三思笔记]drbd入门与应用.pdf [三思笔记]Linux5版本安装Oracle11gR2.pdf [三思笔记]Linux平台...

    ORACLE文件集

    本人学习ORACLE的一些记录笔记,其中包括PL/SQL语言、表空间管理、创建数据库等

    asp.net知识库

    VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...

Global site tag (gtag.js) - Google Analytics