1.视图
视图是基于一个或者多个表数据库对象,视图允许用户创建一个无数据的”伪表“,视图只是一个获取特定列好行的sql查询组成,通过视图检索数据就像从表中检索数据 一样。
视图可以提供一个附加的安全层,是一个或者多个表中只有某些行和列对最终用户可用。可以对组织的所有用户隐藏基表 只允许他们浏览某些数据。
示例:
select view utach_sales
as
select c.cust_id ID, substr(cust_last_name,1,20) Name,
substr(cust_city,1,20) City,
substr(cust_state_province,1,5) State
sum(amount_sold) Total
from custmoers c , sales s
where c.cust_id =s.cust_id
and c.cust_state_province= ‘UT’
group by c.cust_id
2.序列
序列是数据库对象,提供顺序生成整数。序列是有DBA创建和命名。在创建序列是可定义属性最大值,最小值,增值和初始值。
创建序列:
示例: create sequence cust_id_seq
start wiith 104500;
select cust_id_seq .nextval from dual ;=> 104500
select cust_id_seq.nextval from dual; =>104501
3.约束
null 约束定义在单列上。说明此列是否必须包含值。如果一个列定义为not null ,那么所以记录都必须包含值。
nuique 约束在列值唯一时才允许插入或更新
primary key 约束要求此键唯一的标识表中的每行,此键可能由一列或者几列共同组成
foreign key 约束定义表之间的关系,通常称为引用完整性,他们是一种规则,保证一个表的键值在引用表的键中存在
check 约束允许用户定义和实施列上的规则,定义一个列可接受的值,来完成相同或者不相同的检查。
示例:
craete table check_constraint
(
coll char(1)
constraint check_coll
check (coll in ('B','G'))
);