• Oracle数据库常用技术


    一、视图(重点)

    什么是视图?

    ·视图由一个或多个表(或视图)中提取数据而成

    ·视图是一种虚拟表

    ·视图一经创建,可以当作表来使用。

    使用视图的好处?

    · 简化复杂数据查询

    · 提高运行效率

    · 屏蔽数据库表结构,实现数据逻辑独立性

    · 限制数据库访问

    · 在相同数据上提供不同的视图,便于数据共享

    命名规范:

           ·V开头,后加视图名 :VEMP10

           ·以系统名v_+模块名作为前缀 ,例:V_SECTION

           ·VIEW_VDU_ADMINISTRATORS

           ·视图名_VU: user view

    创建视图:

    创建视图的语法:

    CREATE VIEW 视图名称 AS 子查询 ;

    创建视图的步骤:

           1:先把查询语句写正确

           2:  然后在添加视图语句

    注意:在写子查询时不能使用  SELECT *

           程序员手则:严禁使用 SELECT * FROM 表名

    删除视图

    替换视图:

    CREATE OR REPLACE 视图名称 AS 子查询 ;

    创建不可更新视图:

    · WITH CHECK OPTION:不能更新视图的创建条件

    例:在视图创建中使用此参数

    1 CREATE OR REPLACE VIEW empv202 AS3       SELECT * FROM emp WHERE deptno=204 WITH CHECK OPTION ;

    UPDATE empv20 SET deptno=30 WHERE empno=7369 ;

    更新语句不起作用

    创建视图:

    · WITH READ ONLY:创建的视图只读

    例:创建只读视图

    1 CREATE OR REPLACE VIEW empv202 AS3 SELECT * FROM emp WHERE deptno=204 WITH  READ  ONLY ;

    二、存储进程Procedure

     

     

     

    三、段user_segments和区user_extents

    空间以段(segment)为单位分配给对象(如表、群集和索引),它们在物理上对应于在数据库中创建的逻辑对象

    Oracle中的段(segment)是占用磁盘空间的一个对象,

    常见段的类型有:

    聚簇cluster

    表table

    表分区tablepartition

    索引index

    索引分区

    Lob分区、Lob子分区、Lob索引、Lob段

    嵌套表nestedtable

    回滚段rollback。

    select * from user_segments;

    在11gR2中,一张表只有插入数据后才会分配段空间

    一个段中可能有多种不同的表,段包含区,区包含块。同时表也包含区和块。

    段由称为区(extent)的连续区域组成

     

    四、SQLLoader

    五、字符集

    博客:http://blog.itpub.net/118838/viewspace-730214/

    查看数据库字符集

    数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。

    客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter,

    客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。

    修改数据库UTF-8编码

    例如把字符集GB2312修改为UTF-8步骤:

     1 1.在SQL*PLUS 中,以DBA登录conn 用户名 as sysdba
     2 2.执行转换语句:
     3 SHUTDOWN IMMEDIATE;
     4 STARTUP MOUNT EXCLUSIVE;
     5 ALTER SYSTEM ENABLE RESTRICTED SESSION;
     6 ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
     7 ALTER SYSTEM SET AQ_TM_PROCESSES=0;
     8 ALTER DATABASE OPEN;
     9 ALTER DATABASE NATIONAL CHARACTER SET UTF8;
    10 SHUTDOWN immediate;
    11 startup;

    可能报错:‘ORA-12717: Cannot ALTER DATABASE NATIONAL CHARACTER SET whenNCLOB data exists’

    解决方法:

    一、使用INTERNAL_USE 关键字修改区域设置

    1 SHUTDOWN IMMEDIATE;
    2 STARTUP MOUNT EXCLUSIVE;
    3 ALTER SYSTEM ENABLE RESTRICTED SESSION;
    4 ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    5 ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    6 ALTER DATABASE OPEN;
    7 ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;
    8 SHUTDOWN immediate;
    9 startup;

    行式数据库

    列式数据库

  • 相关阅读:
    hdu5321 beautiful set(莫比乌斯反演)
    BZOJ 5104 Fib数列(二次剩余+BSGS)
    高次同余方程,二次同余方程学习笔记
    CF587F Duff is Mad(AC自动机+树状数组+分块)
    51nod 麦克打电话(AC自动机+树状数组)
    BZOJ 3881 [Coci2015]Divljak(AC自动机+树状数组)
    51nod 1526 分配笔名(Trie树+贪心)
    BZOJ 3790 神奇项链(回文自动机+线段树优化DP)
    CF666E Forensic Examination(后缀自动机+线段树合并)
    [HAOI2016]找相同字符(SAM+DP)
  • 原文地址:https://www.cnblogs.com/wangwanchao/p/5364864.html
Copyright © 2020-2023  润新知