1、表空間sql
一、概念:表空間實質上是組織數據文件的一種途徑,表空間包含着邏輯對象。一個數據庫對應着多個表空間,一個物理文件對應一個表空間。當建立數據庫時要建立表空間,並指定數據文件。數據庫
二、分類:(目錄表空間、常規表空間、系統臨時表空間、用戶臨時表空間、undo表空間)緩存
三、表空間的建立(通常會使用到常規表空間、臨時表空間,默認表空間是System)、修改、刪除oracle
示例代碼以下所示: 函數
1 --建立常規表空間 2 create tablespace 表空間名 3 datafile 'D:\database\datafiles_1.dbf' size 50M; 4 --建立臨時表空間 5 create temporary tablespace temp; 6 tempfile 'D:\database\usertemp_1.dbf' size 50M; 7 --修改表空間 8 alert tablesapce 表空間名 9 add datafile 'D:\database\datafiles_1.dbf' size 10M;--表空間增長10M 10 --設置表空間爲默認的表空間 11 alert database default tablesapce 表空間名; 12 --刪除表空間(僅刪除控制文件中的指針,並無刪除物理文件,須要手動刪除) 13 drop tablesapce 表空間名 including contents;--including contents:刪除全部的段
四、表空間和數據文件有關的數據字典ui
DBA_DATA_FILES:實例中全部數據文件和表空間的信息,DBA_TABLESPACES:表空間的信息,DBA_FREE_SPACE:表空間的空閒空間信息。spa
2、SQL語言基礎設計
一、oracle數據類型指針
數字數據類型:number(5,2);字符數據類型:char、varchar2(varchar)、long、nchar、nvarchar2;date數據類型;LOB數據類型(clob、blob、bfile)code
二、SQL語言
DDL:數據定義語言(create、alert、truncate、drop),改變數據庫結構。
DML:數據操縱語言(select、insert、update、delete),用於檢索、插入和修改數據庫信息。
DCL:數據控制語言(grant、revoke),爲用戶提供權限控制命名。
TCL:事務控制語言(commit、rollback、savepoint)。
3、索引(樹狀結構)
一、分類(邏輯設計:單列索引、組合索引、惟一索引、非惟一索引、函數索引,物理:分區索引、爲非區索引、B數索引、正向索引、反向索引、位圖索引)
二、建立、修改、合併、刪除索引
示例代碼以下所示:
1 --建立索引語法 2 create [unique] index 索引名 3 on 表名(列名1,列名2...)where 條件 4 --建立惟一性索引(不重複) 5 create unique index indDepartmenNo on employee(departmenNo); 6 --建立位圖索引(重複性高) 7 create bitmap index indsex on employee(sex); 8 --修改索引 9 alert index indsex rebuild; 10 --合併索引 11 alert index indsex coalesce; 12 --刪除索引 13 drop index indsex
4、視圖(虛擬表,僅存儲定義)
建立視圖
示例代碼以下所示:
1 --建立視圖語法 2 create [or replace] view [user.]視圖名 3 [column1 [, column2]... ...] 4 --建立視圖view_employee 6 create view view_employee 7 as 8 select * from employee; 9 --刪除視圖 10 drop view view_employee;
5、同義詞(數據庫對象的一個別名)
建立、使用、刪除同義詞
示例代碼以下所示:
1 --建立同義詞語法 2 create [or replace] [public] synonym [user.]synonym_name 3 for [user.] object_name 4 --建立私有同義詞 5 create synonym myemp for scott.emp; 6 --建立公有同義詞 7 create public synonym myemp for scott.emp; 8 --使用同義詞 9 select * from myemp; 10 --刪除同義詞 11 drop [public] synonym [user.] synonym_name; 12 drop synonym myemp;
6、序列(同sql server中的標識列同義)
建立、使用、修改、刪除同義詞
示例代碼以下所示:
1 --建立序列語法 2 create sequence [user.] sequence_name 3 [increment by n] 4 [start with n] 5 [maxvalue n|nomaxvalue] 6 [minvalue n|nominvalue]; 7 --建立序列 8 create sequence my_num 9 start with 1 10 increment by 1 11 maxvalue 5000 12 cache 20; --緩存 13 --使用序列 14 select my_num.currval from dual; --currval :當前值 ,nextval:下一個值 15 --更改序列語法,不能修改start with參數 16 alert sequence [user.] sequence_name 17 [increment by n] 18 [maxvalue n|nomaxvalue] 19 [minvalue n|nominvalue]; 20 --修改序列 21 alert sequence my_num 22 maxvalue 9999 23 cycle; --循環 24 --刪除序列 25 drop sequence [user.] sequence_name; 26 drop sequence my_num;