回到顶部
您的当前位置: 编程语言> 数据库> SQL> 基础语法
表、约束与视图
2014-05-06 22:35:02
标签: 原创 约束 视图
创建和管理表

表名和列名命名规则:

① 必须以字母开头
② 必须在 1–30 个字符之间
③ 必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
④ 必须不能和用户定义的其他对象重名
⑤ 必须不能是Oracle 的保留字

CREATE TABLE 语句:

1)必须具备:
① CREATE TABLE权限
② 存储空间

2)必须指定:
① 表名
② 列名, 数据类型, 尺寸

DEFAULT 选项:

① 插入时为一个列指定默认值

② 字符串或SQL 函数都是合法的
③ 其它列的列名和伪列是非法的
④ 默认值必须满足列的数据类型定义

Oracle 数据库中的表:

1)用户表定义的:
① 用户自己创建并维护的一组表
② 包含了用户所需的信息
2)数据字典:
① 由Oracle Server自动创建的一组表
② 包含数据库信息

使用子查询创建表:

① 用 AS subquery 选项,将创建表和插入数据结合起来
② 指定的列和子查询中的列要一一对应
③ 通过列名和默认值定义列

使用 ALTER TABLE 语句可以:
① 追加新的列
② 修改现有的列
③ 为新追加的列定义默认值
④ 删除一个列

清空表:

1)TRUNCATE TABLE 语句:
① 删除表中所有的数据
② 释放表的存储空间

2)TRUNCATE语句不能回滚
3)可以使用 DELETE 语句删除数据
4)delete产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments .truncate 是DDL操作,不产生rollback,速度快一些

约束

1)约束是表级的强制规定
2)约束放置在表中删除有关联关系的数据
3)有以下五种约束:
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK

注意事项:

1)如果不指定约束名 Oracle server 自动指定约束名
2)在什么时候创建约束:
① 建表的同时
② 建表之后
3)可以在表级或列级定义约束
4)可以通过数据字典视图查看约束
使用 ALTER TABLE 语句:
① 添加或删除约束, 但是不能修改约束
② 有效化或无效化约束

视图

常见的数据库对象:

① 表:基本的数据存储集合,由行和列组成。

② 视图:从表中抽出的逻辑上相关的数据集合。

③ 序列:提供有规律的数值。

④ 索引:提高查询的效率。

⑤ 同义词:给对象起别名。

视图可以:

① 控制数据访问
② 简化查询
③ 数据独立性
④ 避免重复访问相同的数据

修改视图:

① 使用CREATE OR REPLACE VIEW 子句修改视图

② CREATE VIEW 子句中各列的别名应和子查询中各列相对应

视图中使用DML的规定:

1)可以在简单视图中执行 DML 操作
2)当视图定义中包含以下元素之一时不能使用delete:
① 组函数
② GROUP BY 子句
③ DISTINCT 关键字
④ ROWNUM 伪列

3)当视图定义中包含以下元素之一时不能使用update :

⑤ 列的定义为表达式(包含前四项)

4)当视图定义中包含以下元素之一时不能使用insert :

⑥ 表中非空的列在视图定义中未包括(包括前五项)

临时视图:

① 临时视图可以是嵌套在 SQL语句中的子查询
② 在FROM 子句中的的子查询是临时视图
③ 临时视图不是数据库对象