1. Ver:
1. O que é uma visão: O banco de dados contém uma variedade de objetos. Tabelas e visões são pensamentos aleatórios no banco de dados. A visão pode ser entendida como uma tabela virtual. A visão essencialmente substitui uma instrução de consulta sql;
Por que usar visualizações: como algumas consultas de dados precisam gravar um grande número de instruções SQL, é difícil escrever todas as vezes. Usar uma visualização é equivalente a salvar um grande número de instruções SQL. Da próxima vez que você consultar de uma visualização, não escreverá muitas instruções SQL. Assim, melhorando a eficiência do desenvolvimento, você também pode ocultar campos sensíveis.
Formato de visualização:create view 视图名 as (子查询);
2. Visualização e comparação de tabelas:
1) Salve os resultados da subconsulta em uma nova tabela (tabela), o que equivale a salvar duas cópias dos dados, depois que os dados originais forem excluídos, os dados da nova table_emp_10 ainda existirão;
create table table_emp_10 as(select * from emp where deptno = 10);
2) A visualização apenas salva a instrução SQL. Cada vez que a visualização é executada, é equivalente a executar a instrução SQL salva. Há apenas uma cópia dos dados e nenhum dado novo é salvo. Depois que os dados originais são excluídos, os dados na visualização desaparecem.
create view view_emp_10 as(select * from emp where deptno=10);
3. Classificação das visualizações:
1) Visualização simples: ao criar uma visualização, a visualização que não inclui: desduplicação, agrupamento, função e consultas relacionadas é chamada de visualização simples. A visualização simples pode adicionar, excluir, modificar e verificar os dados na visualização (os dados na tabela original são alterados );
2) Visualização complexa: ao contrário da visualização simples, apenas operações de consulta podem ser realizadas;
4. Poluição de dados: inserir um dado na visualização que não é exibido na visualização, mas exibido na tabela original, é chamado de poluição de dados.
Exemplo: crie uma visualização:
create view v_emp_10 as (select * from emp where deptno = 10);
Insira os dados:
insert into v_emp_10(empno,ename,deptno)values(10011,'小张','10');
Inserindo dados: poluição de dados
insert into v_emp_10(empno,ename,deptno)values(10011,'小李','20');
Solução: Use a palavra-chave com opção de verificação para resolver o problema de poluição de dados.
Teste: com opção de verificação
create view v_emp_20 as(select ename,name from emp where deptno = 20) with check option;
insert into v_emp_20(empno,ename,deptno)values(10013,'刘备',20);//成功
insert into v_emp_20(empno,ename,deptno)values(10013,'张飞',30);//(数据污染)失败
5. Excluir e modificar: apenas os dados existentes na vista podem ser operados;
6. Alias: Se um alias for usado ao criar uma visualização, apenas o alias poderá ser usado ao operar a visualização;
2. Veja o resumo:
- O objeto no banco de dados pode ser entendido como uma tabela virtual, que é essencialmente uma instrução SQL.
- Função: Reutilizar SQL e ocultar campos sensíveis.
- Classificação: visão simples e visão complexa.
- Resolva o problema de poluição de dados com a opção de verificação.
- Exclua e modifique apenas os dados existentes na visualização.
- Se você tiver um alias, só poderá usar um alias.