1. 表空间TABLESPACE,oracle扩展sql
oracle不像SQLServer,SQLServer安装好后建一个用户,通过该用户建一个数据库,就能直接在库里面开始建表,然后进行数据、索引、视图等的增删改查。
注意:SQLServer和Oracle之间最大的区别就是表空间设计。表空间是Oracle开创性的提出的概念。SQLServer中所属数据直接对应的物理存储文件没有进行管理,而Oracle通过对表空间的管理,能够直接管理物理存储文件。
oracle安装好后,首先必须创建数据库(即创建数据库db实例),然后必须创建表空间;
表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都是存放在指定的表空间中的,例如表、索引、视图等。但主要存放的是表。所以称作表空间。
oracle中至少存在一个表空间,即SYSTEM的表空间。
一个Oracle数据库能够有一个或者多个表空间,每一个表空间都对应着一个* .dbf的物理文件,这个物理文件决定这表空间设计时的一些属性,比如tablespace的空间大小等。
注意:表空间本身是一个逻辑概念,表空间的名称,对应的.dbf文件等映射关系默认存放在dba_data_files这个数据表中。
要对指定的表空间进行修改,除了外在的属性,比如表空间的名称等,对表空间设计层面的修改主要就是修改表空间的设计文件.dbf中配置的各个属性值。
dba_data_files是表空间的设计表。以下是例子:
--根据指定表空间名称查询表空间详细信息
select * from dba_data_files where tablespace_name = 'ESBTRANS10';
--修改数据文件的大小
alter database datafile '/home/oracle/app/oradata/esbkf1/esbtrans10.dbf' resize 6144M;
-- 将指定的表空间大小修改为6G;
2. 基本表TABLE,标准sql
关系型数据库都是以表为中心的,一个关系对应一个基本表;
基本表独立存在;
一个或者多个基本表对应一个物理存储文件;
3. 视图VIEW,标准sql
由一个或者多个基本表导出,是虚拟存在的表。本身并不存在于数据库表空间文件中,数据库表空间文件中只存在视图的定义而不存在视图对应的数据。
这些数据仍然存放在导出视图的基本表中,基本表中的数据发生变化,会直接导致视图中的数据发生变化,因为基本表中的数据是源数据。
4. 数据库的三级模式结构,标准sql
外模式(用户模式) 基本表+视图组成;
模式(概念模式) 基本表组成;
内模式(物理模式) 存储文件组成。
5. 大小写规则,标准sql
标准sql语法和oracle基于标准sql的扩展语句中,均不区分大小写,可以全部使用大写,也可以全部使用小写,当然也可以使用大小写混合的写法。
但是对于字段的值,是区分大小写的。
建议:sql语句中的sql关键字比如SELECT,FROM,WHERE等使用大写;其他的表字段等使用小写。
因为sql引擎在解析sql语句时候都是将所有的sql语句中的关键字转换为大写后进行执行的,所以直接书写为大写,可以提高sql的执行效率!
6. sqlplus,oracle扩展sql
sqlplus是oracle服务器自带的命令行窗口,是oracle独有的。所有的sql语句和plsql语句都可以通过sqlplus窗口直接与oracle服务器进行交互。
当安装了oracle服务端软件并配置了环境变量之后,就可以直接在命令行窗口(windows操作系统是DOS窗口,Linux下是Shell窗口)下运行sqlplus等一系列命令了。
不论是在sqlplus命令行窗口执行sql语句还是在PLSQL等第三方客户端命令窗口执行sql,抑或是通过脚本文件的形式保存sql语句或者plsql代码,语句的结束符都必须存在,oracle中提供两种结束符:
;
/
文档信息
- 本文作者:Marshall