当前位置:
文档之家› 最新第4章 数据库常用对象对象资料
最新第4章 数据库常用对象对象资料
VARCHAR2(14)
LOC
VARCHAR2(13)
表特性
• Tablespace子句指定表创建在哪个表空间,可以 用user_tables查看表空间
• Storage子句,指定表如何使用存储空间,可以根 据不同表进行设置
• 设置数据块子句,主要减少行迁移 • 重做子句,指定对表的操作是否记录到日志 • Cache子句可以指定将某个常用的表数据常驻内
SQL> SELECT * 2 FROM user_catalog;
用子查询创建表
创建和基本使用
2
4.1.1 用户和模式
在Oracle中,用户不能直接操作物理结构。用 户可以直接操作的是表、索引和视图这样的逻 辑对象。
在Oracle数据库中,逻辑对象不是随意保存在 数据库中的,Oracle是通过“模式”来组织和 管理这些数据库对象。
一个模式下对象不能重名,但是两个不同模式 下可以存在同名的对象。一个模式对象可能被 存于多个数据文件中(因为存于某一个表空间 ,而表空间包含多个数据文件)
字 • 不能是Oracle的保留字
DEFAULT 选项
指定在插入数据时,列的默认值
… hiredate DATE DEFAULT SYSDATE, …
合法的值可以是字面值、表达式或SQL 函数
非法的值是另一个列的名称或虚拟列 默认的数据类型必须和列的类型匹配
数据类型
类型
描述
VARCHAR2(size) 变长字符串
8
4.2.1 创建表
• 用户必须具备 :
¯ CREATE TABLE的权限 ¯ 一定的存贮空间
CREATE TABLE [schema.]table (column datatype [DEFAULT expr];
• 需要指定:
¯ 表名 ¯ 列名、列的类型及列的宽度
命名规则
• 必须以字母开头 • 长度为1–30 个字符 • 只能包含 A–Z, a–z, 0–9, _, $和 # • 对于同一个用户不能使用和其他对象相同的名
为简化和便于记忆,给对象起的别名
为访问远程对象创建的通道
存储于数据库中的可调用的程序和函数
将存储过程、函数及变量按功能和类别 进行捆绑 由DML操作或数据库事件触发的事件
Oracle非模式对象
• 表空间 • 用户 • 角色
• 模式和用户一一对应关系,模式是对象 集合,用户可以管理创建模式对象,有 时可以替换使用,对应的名称是一致的 。但概念是完全不同的。比如创建表时 可以指定创建到某个模式,也可以说成 用户。
3
概述
• Oracle模式(方案)是逻辑结构与对象的集合 • 模式包含相关的数据库对象,与物理存储无
关。
• 一个模式对应一个数据库用户,且跟用户同 名。用户可以创建模式对象,用于包含或引 用数据。
• 模式对象的创建:
• OEM工具 • 语句
表1 Oracle数据库模式对象
对象 TABLE
VIEW
4 loc VARCHAR2(13));
Table created.
验证是否创建成功
SQL> DESCRIBE dept1
Name
Null? Type
--------------------------- -------- ---------
DEPTNO
NOT NULL NUMBER(2)
DNAME
file; up to 4 gigabytes
建议使用固定长度类型,nchar表示uncode类型,一个字符占两个字节位置, rowid和rownum的使用。
创建表
创建表
SQL> CREATE TABLE dept1
2
(deptno NUMBER(2),
3 dname VARCHAR2(14),
CHAR(size)
固定长度字符串
NUMBER(p,s)
变长数值
DATE,timestamp 日期和时间值,date用户转换
LONG
可存放高达2GB的变长字符数据
CLOB
可存放高达4GB的变长单字节数据
RAW and LONG RAW 二进制数据
BLOB
可存放高达4GB二进制数据
BFILE
Binary data stored in an external
存的数据库高速缓存中。
查询数据字典
列出当前用户的表
SQL> SELECT table_name 2 FROM user_tables;
列出当前用户不同的对象类型
SQL> SELECT DISTINCT object_type 2 FROM user_objects;
查询当前用户的表、视图、同义词及序列
• 还可以给用户指定使用的空间配额 quota关键字 • 账户的锁定和解除锁定方法 • 删除用户,如果用户中有对象必须指定cascade
选项
4.2 表
在Oracle系统中,表是主要的模式对象,也是基本 的数据存储结构。一个表通常由多个列(字段)组成, 并且每个列都具有名称,表中的每一行存放一条信 息。
4.1.2 用户
• 用户的创建和授权(必须具有connect或create session权限)
• 创建表必须有create table和unlimited tablespace 权限,resource权限比较大,包含了创建表等的 权限。
• 默认用户创建对应的用户表空间是users,除非 显式指定,临时表空间temp
INDEX
CLUSTER
SEQUENCE
SYNONYM DATABASELINK STOREDPROCEDURE 、FUNCTION PACKAGE、 PACKAGEBODY
TRIGGER
名称 表ቤተ መጻሕፍቲ ባይዱ视图 索引 聚簇
序列 同义词 数据库链接 存储过程和函数
包和包体
触发器
作用 用于存储数据的基本结构 以不同的侧面反映表的数据,是一种逻 辑上的表 加快表的查询速度 将不同表的字段并用的一种特殊结构的 表集合 生成数字序列,用于在插入时自动填充 表的字段
第4章 数据库常用对象对 象
本章学习目标:
• 理解什么是模式 • 了解模式对象与非模式对象之间的区别 • 初步掌握如何创建用户账户,并进行基本的管理 • 了解在创建表时Oracle允许使用的数据类型 • 掌握如何在SQL*Plus环境中创建、修改基本的表 • 了解其他索引的的创建和管理 • 了解索引组织表、临时表、视图、同义词、序列的