一、表空间
1、概念:表空间实质上是组织数据文件的一种途径,表空间包含着逻辑对象。一个数据库对应着多个表空间,一个物理文件对应一个表空间。当创建数据库时要创建表空间,并指定数据文件。
2、分类:(目录表空间、常规表空间、系统临时表空间、用户临时表空间、undo表空间)
3、表空间的创建(一般会使用到常规表空间、临时表空间,默认表空间是System)、修改、删除
示例代码如下所示:
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:删除所有的段
4、表空间和数据文件有关的数据字典
DBA_DATA_FILES:实例中所有数据文件和表空间的信息,DBA_TABLESPACES:表空间的信息,DBA_FREE_SPACE:表空间的空闲空间信息。
二、SQL语言基础
1、oracle数据类型
数字数据类型:number(5,2);字符数据类型:char、varchar2(varchar)、long、nchar、nvarchar2;date数据类型;LOB数据类型(clob、blob、bfile)
2、SQL语言
DDL:数据定义语言(create、alert、truncate、drop),改变数据库结构。
DML:数据操纵语言(select、insert、update、delete),用于检索、插入和修改数据库信息。
DCL:数据控制语言(grant、revoke),为用户提供权限控制命名。
TCL:事务控制语言(commit、rollback、savepoint)。
三、索引(树状结构)
1、分类(逻辑设计:单列索引、组合索引、唯一索引、非唯一索引、函数索引,物理:分区索引、为非区索引、B数索引、正向索引、反向索引、位图索引)
2、创建、修改、合并、删除索引
示例代码如下所示:
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
四、视图(虚拟表,仅存储定义)
创建视图
示例代码如下所示:
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;
五、同义词(数据库对象的一个别名)
创建、使用、删除同义词
示例代码如下所示:
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;
六、序列(同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;