objetos de bases de datos Oracle (cinco)

En primer lugar, sinónimos

  1. Oracle en el nombre de algunos objetos es muy larga, muy molesto para escribir consultas, sinónimo es un alias para un objeto existente.
    una, simplificar las sentencias SQL
    b, el nombre de objetos ocultos y propietario
    C, para proporcionar el acceso del público a los objetos

  2. Hay dos tipos de sinónimos:
    sinónimo público puede acceder todos los usuarios de bases de datos.
    sinónimo privado sólo para visitar en su modo, y no puede ser objeto del mismo nombre con el modo actual.

  3. Crear sinónimos privados y el uso de sinónimos privados

create synonym 同义词名称 FOR 用户名.表名;
select * from 同义词名称;
  1. Crear sinónimo público y el uso de sinónimos públicos
create public synonym 同义词名称 FOR 用户名.表名;
select * from 同义词名称;
  1. Sinónimo de eliminación
drop synonym 私有同义词名称;
drop public synonym 公有同义词名称;

En segundo lugar, la secuencia

  1. Creación de una secuencia
CREATE SEQUENCE stu_id
	START WITH 10   --定义序列的初始值(即产生的第一个值),默认为1。
	INCREMENT BY 10  --定义序列的步长,如果省略,则默认为1,如果出现负值,则代表Oracle序列的值是按照此步长递减的。
	MAXVALUE 2000 
	MINVALUE 10
	NOCYCLE
	CACHE 10;

alter system flush shared pool; --将缓存清空

nota:

  • INCREMENTO a paso utiliza para definir la longitud de la secuencia, si se omite, el valor predeterminado es 1, si un resultado negativo, el valor representa una secuencia de Oracle está disminuyendo de acuerdo con este paso.

  • START CON define valor inicial (es decir, un primer valor generado) secuencia, el valor predeterminado es uno.

  • MAXVALUE define generador de secuencia máximo puede producir. opción NOMAXVALUE es la opción predeterminada, lo que representa el máximo no definido, el tiempo máximo para incrementar secuencia de Oracle, el sistema puede generar potencia de 10 a 27; para una secuencia descendente, el valor máximo es -1.

  • MINVALUE definir el generador de secuencia mínima puede producir. NOMAXVALUE opción es la opción por defecto, no hay un mínimo en nombre de la definición, a continuación, para una secuencia descendente, el sistema puede generar el mínimo es de 10 ^ 26 ;? Para aumentar la secuencia, el mínimo es 1.

  • CICLO y generador de secuencias NOCYCLE cuando el valor indica si se alcanza el límite de ciclo. CICLO ciclo de nombre, no en nombre del ciclo NOCYCLE. Si el bucle se incrementa cuando la secuencia alcanza el valor máximo, el ciclo mínimo; Para una secuencia descendente alcanza el mínimo hasta el máximo del ciclo. Si no se reciclan, se alcanza el límite, se produce continúan generando valor nuevo error.

  • El tamaño del bloque de memoria cache (buffer) para almacenar la secuencia definida, el valor predeterminado es 20. NOCACHE no expresado memoria intermedia secuencia. Secuencia de búfer de memoria, puede mejorar la orden de ejecución.
    Cuando un gran número de solicitudes se produce declaraciones, la aplicación Ser., Con el fin de evitar el uso de capas en secuencia para lograr una secuencia a los cuellos de botella de la causa. Oracle secuencia generada permite la secuencia de antemano un primer caché x en la memoria, cuando un gran número de declaración de la solicitud de patente se produce, ejecute directamente en la memoria más rápida para obtener la secuencia. Pero el número de caché no puede ser demasiado grande, ya que cuando se reinicie la base de datos, se borrará la información de memoria almacenada en la memoria de secuencias se perderán cuando la base de datos se inicia de nuevo, la última memoria en el orden de la más grande 1 número de serie de depósitos principio la caché x meses. Esta situación también podría conducir a la discontinuidad en el número de serie cuando la base de datos se cierra.

  • la consecuencia de vuelta NEXTVAL siguiente valor válido, cualquier usuario puede hacer referencia.

  • valor actual CURRVAL almacenada en la secuencia, NEXTVAL CURRVAL debe ser especificado antes, tanto estar activos simultáneamente.

  1. uso secuencia
select 序列名称.NEXTVAL from dual;  --获取序列的下一个值
select 序列名称.CURRVAL from dual;  --获取序列的当前值

insert into 表名(toyid, toyname, toyprice)VALUES (序列名称.NEXTVAL, 'fTWENTY', 25);   --获取序列的下一个值,插入表中
  1. El cambio y la secuencia de borrado
--使用ALTER SEQUENCE语句修改序列的步长为3
alter sequence 序列名称 increment by 3;

--使用DROP SEQUENCE语句删除序列
DROP SEQUENCE 序列名称;

En tercer lugar, la vista

  1. Visitas al perfil
    de una, los datos de visualización de la vista de una o más tablas para personalizar la forma a través;
    b, la vista puede ser visto como una "mesa virtual" o "consulta almacenada";
    c, crear una vista se basa en la tabla que se llama "tablas de base ";
    ventajas d, vistas son:
    para proporcionar otro nivel tabla de seguridad;
    datos complejidad oculta;
    de usuario simplificada de comandos SQL;
    cambiando grupo estructura aislamiento mesa;
    cambiando el nombre de la columna, desde otro ángulo, proporcionar datos.

  2. Crear una vista

create or replace view 视图名称(列名······) as 查询语句 [with check option] [with read only]
  • Cree una vista utilizando la opción WITH CHECK OPTION es equivalente a añadir una restricción, cuando el inserto por la vista de la tabla subyacente, la operación de actualización debe también asegurar que la visión resultado de la operación, por lo que la operación no está permitida para reducir la vista de datos;
  • Crear una vista de sólo lectura para su uso con sólo lectura
  1. La creación de combinaciones externas vista
    Aquí Insertar imagen Descripción

En cuarto lugar, el índice

  1. Introducción índice de
    un espacio de tabla es un almacenamiento físico lineal;
    B, si los datos no está indexada búsqueda, la búsqueda es el orden más original.
    c, la indexación de beneficios:

    与表关联的可选结构;
    加快SQL语句的执行;
    减少磁盘I/O;
    CREATE INDEX语句用于创建索引;
    Oracle自动维护索引
    

    d, índice de clasificación: - índice no agrupado - índice agrupado

  2. Crear un índice estándar, la reconstrucción del índice, elimine el índice

--创建标准索引
SQL> CREATE INDEX item_index ON itemfile (itemcode) TABLESPACE index tbs;

--重建索引
SQL> ALTER INDEX item index REBUILD;

--删除索引
SQL> DROP INDEX item_index;
  1. El único índice
SQL> CREATE UNIQUE INDEX item index ON itemfile (itemcode);
  1. índice compuesto
SQL> CREATE INDEX comp_index ON itemfile(p_category, itemrate);
  1. índice invertido
SQL> CREATE INDEX rev_index ON itemfile (itemcode) REVERSE; --创建反向索引

SQL> ALTER INDEX rev_index REBUID NOREVERSE;  -- 修改反向索引
  1. Índice de mapa de bits
SQL> CREATE BITMAP INDEX bit index ON order_master (orderno);
  1. Índice de Función basada
    Nota:

     创建时必须具有QUERY REWRITE权限;
     表达式中不能出现聚合函数;
     不能在LOB类型的列,上创建。
    
SQL> CREATE INDEX lowercase_idx ON toys (lower(toyname)); --创建带函数的索引
SQL> select * from toys order by toyname;
  1. Tablas Índice Organizados

     索引组织表的数据存储在与其关联的索引中;
     索引组织表的数据存储在与其关联的索引中;
     基于主键访问数据;
     CREATE TABLE命令与ORGANIZATION INDEX子句- -起用于创建索引组织表。
    
SQL> CREATE TABLE ind_org_tab(
vencode NUMBER(4) PRIMARY KEY,
venname VARCHAR2(20)
)
organization index;
  1. partición de índice de la tabla
    tabla de particiones a menudo se almacenan grandes cantidades de datos, y cada región de la tabla de particiones se almacena a menudo en diferentes lugares, por lo que para establecer el índice general de gastar un montón de espacio de almacenamiento, hay dos enfoques para la tabla de particiones de índice:

     全局索引:将所有分区表的数据视为一个整体,对整个建立索引;
     本地索引:为每个子分区建立各自独立的索引。
    
create index索引名on表名(索引列) global--全局索引
create index索引名on表名(索引列) local--本地索引
  1. partición de índice
    Aquí Insertar imagen Descripción
  2. Obtiene la información de índice
    y los datos indiciarios tienen vistas del diccionario:
    las particiones IND usuario - Información dividido índice creado por el usuario;
    USER_ las columnas IND - asociadas a la tabla de índice;
SQL> SELECT 索引名称, 表名, 列名 FROM USER_IND_COLUMNS ORDER BY INDEX_NAME, COLUMN_POSITION;
Publicado 36 artículos originales · ganado elogios 7 · vistas 2062

Supongo que te gusta

Origin blog.csdn.net/q_2540638774/article/details/103851370
Recomendado
Clasificación