幻灯片 1
Copyright © Oracle Corporation, 2001. All rights reserved.
创建和管理表
进度表: 时间 主题
30 minutes 讲演
20 minutes 练习
50 minutes 总共
幻灯片 2
9-2
Copyright © Oracle Corporation, 2001. All rights reserved.
目标
完成本课后, 您应当能够执行下列操作:
• 描述主要数据库对象
• 创建表
• 描述列定义时可用的数据类型
• 改变表的定义
• 删除、改名和截断表
课程目标
在本课中,你将学习关于表主要数据库对象,以及他们之间的关系。你还将学习怎
样创建、修改和删除表。
幻灯片 3
9-3
Copyright © Oracle Corporation, 2001. All rights reserved.
数据库对象
对象 说明
表 基本存储单元; 由行和列组成
视图 逻辑地从一个或多个表中表示数据子集
序列 数字值发生器
索引 改善一些查询的性能
同义词 给对象可选择的名字
数据库对象
Oracle 数据库能够包含多种数据结构。每一种结构应该在数据设计中描述,以使它
能够在数据库开发阶段被创建。
Table:存储数据
View:来自一个或多个表的数据的子集
Sequence:数字值发生器
Index:改善一些查询的性能
Synonym:给对象一个可替代的名字
Oracle9i 表结构
表可以在任何时间被创建,即使用户正在使用数据库
你不需要指定表的大小,表的大小最终由作为一个整体分配给数据库的空间的
数量定义。但是随着时间的过去一个表将使用多少空间是重要的。
表结构能够被联机修改。
注:除了幻灯片中介绍的数据库对象,还有一些其他的数据库对象,但没有包括在本课
程中。
教师注释
表能够有多达 1,000 个列,并且必须符合标准的数据库对象命名约定。当使用 AS
子查询子句时,列定义可以忽略。表在创建时没有数据,除非指定了一个查询。行通常
用 INSERT 语句添加。
幻灯片 4
9-4
Copyright © Oracle Corporation, 2001. All rights reserved.
命名规则
表命名和列命名:
• 必须以字母开始
• 必须是 1–30 个字符长度
• 只能包含 A–Z, a–z, 0–9, _, $, 和 #
• 同一个用户所拥有的对象之间不能重名
• 不能用 Oracle 服务器的保留字
命名规则
依照命名 Oracle 数据库对象的标准规则来命名数据库表和列:
表名和列名必须由一个字母开始,长度在 1–30 之间。
名字只能包含 A–Z, a–z, 0–9, _ (下划线),$ 和 # (合法字符,但建议不要使
用)。
同一个 Oracle 服务器用户所拥有的对象名字不能重复。
名字不能用 Oracle 服务器的保留字。
命名原则
使用描述性的名字为表和其他数据库对象命名。
注:名字是大小写不敏感的,例如, EMPLOYEES 与 eMPloyees 或 eMpLOYEES 作
为同一个名字来处理。
更多信息,见 Oracle9i SQL Reference,“对象名字与限定”。
幻灯片 5
9-5
Copyright © Oracle Corporation, 2001. All rights reserved.
CREATE TABLE 语句
• 必须有:
– CREATE TABLE 权限
– 一个存储区域
• 指定:
– 表名
– 列名、列数据类型和列的大小
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr][, ...]);
CREATE TABLE 语句
用 SQL 的 CREATE TABLE 语句创建表以存储数据,该语句是数据定义语言 (DDL)
语句之一,其它的 (DDL) 语句将在后面讲述。DDL 语句是 SQL 语句的一个子集,用
来创建、修改或删除 Oracle9i 数据库的结构。这些语句会立即作用于数据库,并且他
们还将信息记录在数据字典中。
为了创建表,用户必须有 CREATE TABLE 权限和用于创建对象的存储区域。数据
库管理员用数据控制语言 (DCL) 语句,DCL 语句将在后面讲述,授予权限给用户。
在语法中:
schema 与所有者的名字一样
table 表的名字
DEFAULT expr 指定默认值,在 NSERT 语句省略值时使用
column 列的名字
datatype 列的数据类型和长度
教师注释
请读 9-37 页的教师注释