• orace学习操作(2)


    一、Oracle视图                                            

    视图是虚表,没有具体物理数据,是通过实体表的一种计算映射逻辑。主要就是为了方便和数据安全;

    实际当中的数据依然存在我们的实际表里面,只不过取数据的时候根据这个视图(子查询)从实际当中的表来查,把它当成一个表来用;

    1.创建视图:

    给用户授予创建视图的权限:grant create table,create view to scott;

    查看当前用户下有哪些视图:select view_name from user_views;

    查看用户的角色; select * from user_role_privs;

    查看角色对应的权限;SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='DBA';  

    授予用户dba权限    grant dba to scott; 

    3.使用视图:

    4.只读视图:

    Create view 视图名称as 查询语句with read only ;

    5.删除视图  drop view v_emp

    二、oracle约束条件:                                      

    1.非空约束、默认值约束:

    给约束起名字:stu_name_nn:
     
    2.唯一约束,unique:
    加了唯一约束后,就不能再email这个字段加重复的值了。
    unique约束可以加null值,两个null值之间不认为是重复的;
    //上面的都是字段级的约束,但是如果说要让名字和eamil的组合不能重复,怎么做?
     
    ---表级的约束:

     3.主键约束:

    主键逻辑意义上唯一标识整条记录。
    主键的这个字段:不能为空、必须唯一;
    或者:
     
    4.外键约束:
    班级表:
     
    stu表的class列,参考class表的ID字段:
     

    注意:

    stu表的class这个字段存在外键约束class 的id
    被参考字段必须是主键----class 的id必须为主键;主键非空、唯一

    另外的写法:

    5.check 检查约束

    下面这个check约束是name必须为大写:
    相当于这样的写法:

    create table t_stu(
    id number primary key,
    name varchar2(20) check (name=upper(name))
    )

    check用的很少,一般在程序中已经进行验证了。。
     
     

    三、                                            

  • 相关阅读:
    什么造就一个伟大的站点
    我的一些关于商业计划书的经验
    iPhone开发:万能的NSData
    两种快速打乱NSMutableArray的方法
    交大校友:互联网大佬们
    程序员的十层楼 11层(上帝)
    iPhone开发:使用NSValue存储任意类型的数据
    Linux之lsof命令
    MySQL密码忘了怎么办?MySQL重置root密码方法
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address
  • 原文地址:https://www.cnblogs.com/tenWood/p/6624725.html
Copyright © 2020-2023  润新知