当前位置:文档之家› 第4章 数据库常用对象对象分析

第4章 数据库常用对象对象分析


4.2 表
在Oracle系统中,表是主要的模式对象,也是基本 的数据存储结构。一个表通常由多个列(字段)组成, 并且每个列都具有名称,表中的每一行存放一条信 息。
8
4.2.1 创建表
• 用户必须具备 :
¯ CREATE TABLE的权限 ¯ 一定的存贮空间
CREATE TABLE [schema.]table (column datatype [DEFAULT expr];
生成数字序列,用于在插入时自动填充 表的字段
为简化和便于记忆,给对象起的别名
DATABASELINK
STOREDPROCEDURE 、FUNCTION PACKAGE、 PACKAGEBODY
数据库链接 存储过程和函数
包和包体
为访问远程对象创建的通道 存储于数据库中的可调用的程序和函数
将存储过程、函数及变量按功能和类别 进行捆绑
TRIGGER
触发器
由DML操作或数据库事件触发的事件
Oracle非模式对象
• • • • 表空间 用户 角色 模式和用户一一对应关系,模式是对象 集合,用户可以管理创建模式对象,有 时可以替换使用,对应的名称是一致的 。但概念是完全不同的。比如创建表时 可以指定创建到某个模式,也可以说成 用户。
2
4.1.1 用户和模式
在Oracle中,用户不能直接操作物理结构。用 户可以直接操作的是表、索引和视图这样的逻 辑对象。 在Oracle数据库中,逻辑对象不是随意保存在 数据库中的,Oracle是通过“模式”来组织和 管理这些数据库对象。 一个模式下对象不能重名,但是两个不同模式 下可以存在同名的对象。一个模式对象可能被 存于多个数据文件中(因为存于某一个表空间 ,而表空间包含多个数据文件)
… hiredate DATE DEFAULT SYSDATE, …
合法的值可以是字面值、表达式或SQL 函数 非法的值是另一个列的名称或虚拟列 默认的数据类型必须和列的类型匹配

数据类型
类型 VARCHAR2(size) CHAR(size) 描述 变长字符串 固定长度字符串
NUMBER(p,s)

验证是否创建成功
Type --------NUMBER(2) VARCHAR2(14) VARCHAR2(13)
SQL> DESCRIBE dept1 Name Null? --------------------------- -------DEPTNO NOT NULL DNAME LOC
表特性
4.1.2 用户
• 用户的创建和授权(必须具有connect或create session权限) • 创建表必须有create table和unlimited tablespace 权限,resource权限比较大,包含了创建表等的 权限。 • 默认用户创建对应的用户表空间是users,除非 显式指定,临时表空间temp • 还可以给用户指定使用的空间配额 quota关键字 • 账户的锁定和解除锁定方法 • 删除用户,如果用户中有对象必须指定cascade 选项
• 需要指定:
¯ 表名 ¯ 列名、列的类型及列的宽度
命名规则
• • • • 必须以字母开头 长度为1–30 个字符 只能包含 A–Z, a–z, 0–9, _, $和 # 对于同一个用户不能使用和其他对象相同的名 字 • 不能是Oracle的保留字Βιβλιοθήκη DEFAULT 选项
指定在插入数据时,列的默认值
第4章 数据库对象
从数据库用户的角度看,数据库中的数据是 以表、视图等方式存储的。此外,用户还可以通 过为表创建索引,以提高查询的执行速度。在 Oracle系统中,对表、视图和索引的创建、维护 是通过模式实现的。在本章中,我们将初步介绍 Oracle中的模式概念,并重点介绍如何在模式中 创建基本对象——基本表、索引以及其他数据库 常用对象
建议使用固定长度类型,nchar表示uncode类型,一个字符占两个字节位置, rowid和rownum的使用。
创建表
创建表
SQL> CREATE TABLE dept1 2 (deptno NUMBER(2), 3 dname VARCHAR2(14), 4 loc VARCHAR2(13)); Table created.
DATE,timestamp LONG
变长数值
日期和时间值,date用户转换 可存放高达2GB的变长字符数据
CLOB
可存放高达4GB的变长单字节数据
可存放高达4GB二进制数据
RAW and LONG RAW 二进制数据 BLOB
BFILE Binary data stored in an external file; up to 4 gigabytes
3
概述
• Oracle模式(方案)是逻辑结构与对象的集合 • 模式包含相关的数据库对象,与物理存储无 关。 • 一个模式对应一个数据库用户,且跟用户同 名。用户可以创建模式对象,用于包含或引 用数据。 • 模式对象的创建:
• OEM工具 • 语句
表1 Oracle数据库模式对象
对象 TABLE VIEW INDEX CLUSTER SEQUENCE SYNONYM 表 视图 索引 聚簇 序列 同义词 名称 作用 用于存储数据的基本结构 以不同的侧面反映表的数据,是一种逻 辑上的表 加快表的查询速度 将不同表的字段并用的一种特殊结构的 表集合
• Tablespace子句指定表创建在哪个表空间,可以 用user_tables查看表空间 • Storage子句,指定表如何使用存储空间,可以根 据不同表进行设置 • 设置数据块子句,主要减少行迁移 • 重做子句,指定对表的操作是否记录到日志 • Cache子句可以指定将某个常用的表数据常驻内 存的数据库高速缓存中。
1
本章学习目标:
• • • • • • • 理解什么是模式 了解模式对象与非模式对象之间的区别 初步掌握如何创建用户账户,并进行基本的管理 了解在创建表时Oracle允许使用的数据类型 掌握如何在SQL*Plus环境中创建、修改基本的表 了解其他索引的的创建和管理 了解索引组织表、临时表、视图、同义词、序列的 创建和基本使用
相关主题