zoukankan      html  css  js  c++  java
  • 第一讲(管理方案对象)

    一、什么是方案:
     
    属于一个用户下,所有数据库对象的总称表、视图、序列、索引、同义词  存储过程、存储函数、触发器、包和包体一个用户就是一个方案,创建用户的时候,系统会自动创建一个同名的方案
     
    二、常用的数据库对象
     
    1、临时表:当事务或者会话结束的时候,表中的数据自动删除
     
    创建:
    自动创建:order by
    手动创建:create global temporary table ******
    基于事务的临时表:
    create global temporary table test1 (tid number,tname varchar2(20))  on commit delete rows;
    基于会话的临时表:
    create global temporary table test2 (tid number,tname varchar2(20))  on commit preserve rows;  
     
    • delete rows表示事务相关,也就在事务结束后truncate data in the temporary table.当事务提交后数据就已经清除;
    • preserve rows表示在会话结束后清除临时表的数据,在会话中止时或者导常退出时数据都会被清除掉;
     
    2、约束的状态
    (1) enable  disable
    (2) validate: 对表中已经存在的数据和将来的数据都要验证
    (3) novalidate: 对表中已经存在的数据不做验证,只将来的数据
     
    create table test3
    (
      tid number,
      tname varchar2(20),
      email varchar2(40)
    );
     
    insert into test3 values(1,'Tom','tom@126.com');
    insert into test3 values(2,'Mary','tom@126.com');
     
    在email上加上unique约束:
    alter table test3 add constraint test3_email_unique unique(email);
    alter table test3 add constraint test3_email_unique unique(email) deferrable enable novalidate;
     
    3、Oracle的分区
     
    (1)类型:
    *、范围分区
    *、列表分区
    *、Hash分区
    *、范围-列表分区
    *、范围-Hash分区
     
    (2)例子:
    *、范围分区
    create table test4
    (
         empno number,
         ename varchar2(20),
         sal   number,
          deptno number
    )
    partition by range(sal)
    (
          partition part_range_1 values less than (1000),
          partition part_range_2 values less than (3000),
           partition part_range_3 values less than (MAXVALUE)
    );
                
     
    查看SQL的执行计划
    explain plan for select * from test4 where sal<=2500;
    select * from table(dbms_xplan.display);  
        
    *、列表分区
    create table test5
    (
        empno number,
        ename varchar2(20),
        sal   number,
        deptno number
    )
         partition by list(deptno)
    (
         partition part_list_1 values(10,20),
         partition part_list_2 values(30),
         partition part_list_3 values(40,50)
    );
     
    *、Hash分区(求余数)
    create table test6
    (
        empno number,
        ename varchar2(20),
        sal   number,
        deptno number
    )
        partition by hash(ename)   
     (
          partition part_hash_1,
          partition part_hash_2
    );
  • 相关阅读:
    Windows程序设计03:创建窗口类
    Android学习笔记19:ImageView实现图片适屏与裁剪
    设计模式01:统一建模语言UML基础知识
    串口通信与编程01:串口基础知识
    Windows程序设计01:在VS2008上新建Windows应用程序项目
    设计模式02:面向对象设计原则
    Windows程序设计02:永恒的Hello World
    Android学习笔记20:Http协议及Java Web编程
    Android学习笔记18:自定义Seekbar拖动条式样
    从 2.4 到 2.6:Linux 内核可装载模块机制的改变对设备驱动的影响
  • 原文地址:https://www.cnblogs.com/qlwang/p/7294558.html
Copyright © 2011-2022 走看看