oracle -视图 序列 约束

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'))

); 

        

    

posted @ 2013-09-12 23:22  sulin  阅读(454)  评论(0)    收藏  举报