学习第1天(oracle数据库对象)

来源:互联网 发布:雪梨淘宝店收入真的吗 编辑:程序博客网 时间:2024/06/08 02:38

一、oracle数据库的对象类型:

oracle数据库对象的类型:可以通过以下语句查询出来oracle数据库中所有对象的类型

>select object_type,count(object_type) from dba_objects

  group by object_type order by object_type;

 

 

方案对象的命名规则:

  • 对象的名称必须在1-30个字符之间,database link的命名比较特殊,最多可以取128个字符
  • 保留字不能被用做对象名
  • 所有对象的命名必须以字母开头
  • 对象的名称只能包括字母,数字,下划线(_),美元符($)和井号(#)
  • 小写的对象名称会自动的被转换为大写

 

--创建表的时候,oracle会把表名自动转换成大写,除非你用双引号

CREATE TABLE fanming (c1 DATE);

CREATE TABLE "fanming" (col1 VARCHAR2(2));

 

 

 

对象命名空间(object namespaces)

 

--在一个namespace(命名空间)中,所有对象的名称必须唯一

--下列的对象类型在一个命名空间内名称必须唯一:

tables,    views,     sequences,  private synonyms,  stand-alone procedures

stand-alone stored functions,   packages,    materialized views   user-defined types '

 

 

下面这些对象类型有自己的命名空间

indexes,   constraints,    clusters,    database triggers,    private database links,   dimensions

 

 

练习:

1、查询当前方案拥有的对象类型和数量:

 

SELECT object_type, COUNT(object_type) FROM user_objects

GROUP BY object_type ORDER BY object_type;

 

 

2、查询当前方案可以访问的对象类型和数量:

 

SELECT object_type, COUNT(object_type) FROM all_objects

GROUP BY object_type ORDER BY object_type;

 

 

3、查询当前用户可以访问对象的所有拥有着:

SELECT DISTINCT owner FROM all_objects;

 

 

 

二、列出在表中列可以是用的数据类型:

 

1、字符型数据

VARCHAR2:  变长字符数据,长度从1 byte 到4KB

NVARCHAR2: 变长字符数据,长度从1 byte 到 4KB,可以存储国际化字符类型

CHAR: 固定长度字符数据,长度从1byte 到 2KB

注:所有的VARCHAR数据类型会自动转变成VARCHAR2数据类型

 

2、数字型数据:

NUMBER:可以指定数据的精度,从1到38,数据的表示范围从-84到127

FLOAT: BINARY_FLOAT, BINARY_DOUBLE

INTEGER:整数类型,它的精度为0

 

3、日期型数据

DATE:包含世纪,年,月,日,小时,分,秒,范围从公元前4712年1月1日到公元后9999年12月31日,0-7位

TIMESTAMP:秒的精度到小数点后9位,默认的位6位,0-11位

TIMESTAMP WITH TIMEZONE:

TIMESTAMP WITH LOCAL TIMEZONE:

INTEERVAL YEAR TO MONTH:

INTERVAL DAY TO SECOND:

 

4、大对象数据类型:

CLOB:

NCLOB:

BLOB:

BFILE:

LONG:

LONG RAW:

 

5、RAW和ROWID数据类型

 

 

 

练习:

1、查看某张表的数据结构:

 

SELECT column_name,data_type,nullable,data_length,data_precision,data_scale

FROM user_tab_columns WHERE table_name = 'EMPLOYEES';

 

三、建立一张简单表

 

表在数据库中存储有多种类型:

1、堆组织表(heap table):常用的表类型,以堆的方式管理,当增加数据时,将使用段中第一个适合数据大小的空闲空间;当删除数据时,留下的空间允许以后的DML操作重用。

2、索引组织表(index organized tables):这些表按索引结构存储。这就强制要求行本身有某种物理顺序。索引组织表IOT中,数据要根据主键有序地存储。

3、索引聚簇表(index clusters):聚簇(cluster)是指一个或多个表组成的组,这些表物理地存储在相同的数据库块上,有相同聚簇键值的所有行会相邻地物理存储。

4、散列聚簇表(hash clusters)

5、分区表(partitioned tables)

6、嵌套表:

7、临时表:

8、对象表:

9、聚簇表: