zoukankan      html  css  js  c++  java
  • 视图序列索引

    视图名字一般是以“V_”开头

    视图在SQL语句中体现的角色与表相同,但是视图并不是一张真实存在的表,而只是对应一个 select语句的查询结果集,并将其当做表看待而已,
    使用视图的目的就是简化sql语句的复杂度,重用子查询,限制数据访问

    视图对应的子查询中的字段若含有函数或者表达式,那么该字段必须指定别名。
    当师徒对应的子查询中的字段使用了别名,那么视图中该字段就用别名来命名


    create view v_emp_10
    as
    select empno,ename,sal,deptno from emp where deptno=10
    select * from v_emp_10
    修改视图
    由于视图仅对应一个select语句,所以修改视图就是替换该select语句而已
    create or replace view v_emp_10 as
    select empno id ,ename,sal,deptno from emp where deptno=10


    视图分为简单视图与复杂视图
    简单视图:对应的子查询中不含有关联查询,查询的字段不包含函数,表达式,没有分组,没有去重。反之则则是复杂视图。

    对视图的DML操作就是对基于表的操作,那么操作不当可能对基表数据进行数据污染
    插入和更新有风险
    删除不会对基表产生数据污染


    为视图添加检查选项,可以保证对视图的DML操作后视图对其可见,否则不允许进行该DML操作,这样就避免了对基表进行数据污染。
    with check option

    为视图添加只读选项,那么该视图不允许进行DML操作
    with read only

    查询数据库视图的对象名
    select object_name from user_objects
    where object_type='view'

    select text,view_name from user_views


    删除视图本身不会影响基表数据
    但是删除视图数据会对应将基表数据删除

    序列 也是数据库对象之一
    作用是生成一系列数字
    序列常用与为某张表的主键字段提供值使用
    create sequence seq_emp_id
    start with 1
    increment by 1

    序列支持两个伪列
    nextval:获取序列下一个值
    若是新创建的序列,那么第一次调用返回的是 satart with指定的值,
    以后每次调用都会得到当前序列值加上步长后的数字
    nextval会导致序列发生步进,且序列不能回退

    currval:获取序列当前值,即:最后一次调用nextval后得到的值,currval不会导致步进。
    但是新创建的序列至少调用一次nextval后才可以使用currval

    索引
    索引是数据库对象之一
    索引是为了提高查询效率

    索引的统计与应用是数据库自动完成的,只要数据库认为可以使用某个已创建的索引时就会自动应用。


    create index idx_emp_ename on emp(ename)


    约束

    非空约束、 not null

    唯一性约束可以保证表中该字段的值
    任何一条记录都不可以重复,null除外 unique
    constraint emp_email_uk unique(email)


    主键约束 primary key
    create table employees1(
    eid number(6) primary key,
    name varchar2(30),
    email varchar2(50),
    salary number(7,2),
    hiredate date
    );

    关联不一定需要外键约束(了解)

    检查约束

    check()
    alter table employees1
    add constraint employees1_salary_check check(salary>2000);

  • 相关阅读:
    Discuz! X3 全新安装图文教程
    https://blog.csdn.net/doegoo/article/details/50749817
    docker 网络
    Docker的网络类型和固定IP设置
    docker lamp
    MongoDB分片搭建
    iptables原理及使用教程
    VNC服务安装、配置与使用
    ssh免密码登陆
    nmap
  • 原文地址:https://www.cnblogs.com/Bighua123/p/7567326.html
Copyright © 2011-2022 走看看