SlideShare uma empresa Scribd logo
VIEWS 
Wagner Bianchi 
Certified MySQL 5.0 Developer 
Certified MySQL 5.0 Database Administrator 
Certified MySQL 5.1 Cluster Database Administrator
Views 
! Uma View ou visualização é uma tabela derivada de outras tabelas 
existentes no banco de dados, chamadas de based tables ou tabelas 
base; 
! Também é composta de colunas e registros; 
! A diferença é que os dados de uma View é o resultado de um mapeamento 
de colunas e registros de outras tabelas; 
! Podem existir Views de Views; 
! Existem Views materializáveis e não-materializáveis; 
! Toda a definição de uma View é armazenado no dicionário de dados do 
MySQL, podendo ser recuperado com o seguinte SELECT: 
mysql> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS;
Views 
! Segurança 
– As aplicações acessam Views e não as tabelas; 
– Facilita o controle de acesso aos dados; 
– Usuários não são capazes de ver determinadas informações; 
! Particionamento de Dados 
– Particionamento horizontal: Subconjunto de registros; 
– Particionamento vertical: Subconjunto de colunas; 
! Facilidade o Acesso aos Dados 
– Consultas complexas pode ser mapeadas em uma View; 
– O acesso aos dados pode ser feito a partir de uma View, evitando a 
criação a criação de uma consulta complexa;
Views 
! Independência Sobre a Definição de Dados 
– Alterações na estrutura física de dados não reflete na aplicação; 
– Cria camada entre a aplicação e o banco de dados; 
– Alteração no dicionário de dados podem ser mascaradas pela View; 
– Em alguns casos não será possível manter a mesma estrutura; 
Imagine passar um dia todo escrevendo uma 
consulta para gerar um relatório, com várias 
JOINS, SubConsultas, Agrupamentos A e B, 
UNION…toda complexidade que existe em 
uma consulta. Imagine ter que escrever isso 
todos os dias?
Views 
! Comando para criação de Views 
CREATE VIEW view_name(columns_name) 
AS SELECT… 
! O comando consiste em: 
– O nome para a View (view_name); 
– O comando SELECT que realizará o mapeamento de dados 
(SELECT…); 
– Opacionalmente, o nome das colunas da View
Views 
! Utilizando o banco de dados world, segue os exemplo: 
– Uma View mostrado uma tabela inteira: 
mysql> CREATE VIEW vw_country AS SELECT * FROM Country; 
Query OK, 0 rows affected (0.00 sec) 
– Uma View com um SELECT mais complexo: 
mysql> CREATE VIEW vw_country_language 
-> AS 
-> SELECT a.Name, GROUP_CONCAT(b.language) 
-> FROM Country AS a INNER JOIN CountryLanguage AS b 
-> ON a.Code = b.CountryCode 
-> GROUP BY a.Name; 
Query OK, 0 rows affected (0.02 sec)
Views 
! Podemos renomear os nomes das colunas através de aliases – apelidos; 
mysql> CREATE VIEW vw_country_names 
-> AS 
-> SELECT DISTINCT Name AS 'Países' FROM Country; 
Query OK, 0 rows affected (0.00 sec) 
! Podemos utilizar a lista de colunas para também renomear as colunas de 
uma View; 
mysql> CREATE VIEW vw_country_names (Paises) 
-> AS 
-> SELECT DISTINCT Name FROM Country; 
Query OK, 0 rows affected (0.00 sec)
Views 
! Para mostrar os dados de uma View, já que ela é tida como uma tabela 
virtual, basta selecionarmos a mesma através do comando SELECT: 
SELECT * FROM view_name ORDER BY 1 ASC; 
! Na selecão precedente, utilizamos o ORDER BY para ordenar os resultados 
pela primeira coluna. Esse ORDER BY elimina um ORDER BY interno à 
View;
Views 
! Uma View pode ser criada a partir de qualquer comando SELECT válido, 
inclusive SubConsultas; 
! Views podem ser atualizáveis ou não; 
! Para alterar um View já existente, utilize os comandos ALTER VIEW ou OR 
REPLACE; 
ALTER VIEW… 
…ou ainda: 
CREATE VIEW OR REPLACE view_name…
Exercício 
! Artigo: Trabalhando com Views no MySQL 
! Com base no assunto apresentando “Views”, responda a LISTA 9. 
! Fonte de referência: http://dev.mysql.com/doc/refman/5.0/en/views.html

Mais conteúdo relacionado

Mais procurados

Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
Igor Alves
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
Alexandre Silva
 
Apresentação Oracle SGBD
Apresentação Oracle SGBDApresentação Oracle SGBD
Apresentação Oracle SGBD
Denis Vieira
 
Banco de dadados MySQL com PHP
Banco de dadados MySQL com PHPBanco de dadados MySQL com PHP
Banco de dadados MySQL com PHP
Leonardo Soares
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
Fábio Delboni
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
Emiliano Barbosa
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysql
Leo Frazão
 
Fundamentos de PHP, phpMyAdmin e MySQL (parte 2)
Fundamentos de  PHP, phpMyAdmin e MySQL (parte 2)Fundamentos de  PHP, phpMyAdmin e MySQL (parte 2)
Fundamentos de PHP, phpMyAdmin e MySQL (parte 2)
Breno Vitorino
 
Oracle 11g resumo
Oracle 11g resumoOracle 11g resumo
Oracle 11g resumo
marcosgama
 
Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8
Emiliano Barbosa
 
Fundamentos de SQL - Parte 1 de 8
Fundamentos de SQL - Parte 1 de 8Fundamentos de SQL - Parte 1 de 8
Fundamentos de SQL - Parte 1 de 8
Emiliano Barbosa
 
Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g
TI Infnet
 
Orm android
Orm androidOrm android
Orm android
Lucas Aquiles
 
04. manipulando dados
04. manipulando dados04. manipulando dados
04. manipulando dados
rafael-goncalves
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
Thiago Freitas
 
Aprofundamento de DDL e DML
Aprofundamento de DDL e DMLAprofundamento de DDL e DML
Aprofundamento de DDL e DML
Nécio de Lima Veras
 
Fundamentos de SQL - Parte 2 de 8
Fundamentos de SQL - Parte 2 de 8Fundamentos de SQL - Parte 2 de 8
Fundamentos de SQL - Parte 2 de 8
Emiliano Barbosa
 
Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8
André Phillip Bertoletti
 
UNIFAL - MySQL Triggers - 5.0/5.6
UNIFAL - MySQL Triggers - 5.0/5.6UNIFAL - MySQL Triggers - 5.0/5.6
UNIFAL - MySQL Triggers - 5.0/5.6
Wagner Bianchi
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
Helder Lopes
 

Mais procurados (20)

Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Apresentação Oracle SGBD
Apresentação Oracle SGBDApresentação Oracle SGBD
Apresentação Oracle SGBD
 
Banco de dadados MySQL com PHP
Banco de dadados MySQL com PHPBanco de dadados MySQL com PHP
Banco de dadados MySQL com PHP
 
TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysql
 
Fundamentos de PHP, phpMyAdmin e MySQL (parte 2)
Fundamentos de  PHP, phpMyAdmin e MySQL (parte 2)Fundamentos de  PHP, phpMyAdmin e MySQL (parte 2)
Fundamentos de PHP, phpMyAdmin e MySQL (parte 2)
 
Oracle 11g resumo
Oracle 11g resumoOracle 11g resumo
Oracle 11g resumo
 
Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8
 
Fundamentos de SQL - Parte 1 de 8
Fundamentos de SQL - Parte 1 de 8Fundamentos de SQL - Parte 1 de 8
Fundamentos de SQL - Parte 1 de 8
 
Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g
 
Orm android
Orm androidOrm android
Orm android
 
04. manipulando dados
04. manipulando dados04. manipulando dados
04. manipulando dados
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Aprofundamento de DDL e DML
Aprofundamento de DDL e DMLAprofundamento de DDL e DML
Aprofundamento de DDL e DML
 
Fundamentos de SQL - Parte 2 de 8
Fundamentos de SQL - Parte 2 de 8Fundamentos de SQL - Parte 2 de 8
Fundamentos de SQL - Parte 2 de 8
 
Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8
 
UNIFAL - MySQL Triggers - 5.0/5.6
UNIFAL - MySQL Triggers - 5.0/5.6UNIFAL - MySQL Triggers - 5.0/5.6
UNIFAL - MySQL Triggers - 5.0/5.6
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 

Destaque

UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6
Wagner Bianchi
 
MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?
MySQL Brasil
 
UNIFAL - MySQL Transações - 5.0/5.6
UNIFAL - MySQL Transações - 5.0/5.6UNIFAL - MySQL Transações - 5.0/5.6
UNIFAL - MySQL Transações - 5.0/5.6
Wagner Bianchi
 
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricksQuery Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Jaime Crespo
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016
Wagner Bianchi
 
MySQL Cluster Basics
MySQL Cluster BasicsMySQL Cluster Basics
MySQL Cluster Basics
Wagner Bianchi
 
UNIFAL - MySQL Storage Engine - 5.0/5.6
UNIFAL - MySQL Storage Engine - 5.0/5.6UNIFAL - MySQL Storage Engine - 5.0/5.6
UNIFAL - MySQL Storage Engine - 5.0/5.6
Wagner Bianchi
 

Destaque (7)

UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6
 
MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?MySQL 5.6, o que há de novidade?
MySQL 5.6, o que há de novidade?
 
UNIFAL - MySQL Transações - 5.0/5.6
UNIFAL - MySQL Transações - 5.0/5.6UNIFAL - MySQL Transações - 5.0/5.6
UNIFAL - MySQL Transações - 5.0/5.6
 
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricksQuery Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
Query Optimization with MySQL 5.7 and MariaDB 10: Even newer tricks
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016
 
MySQL Cluster Basics
MySQL Cluster BasicsMySQL Cluster Basics
MySQL Cluster Basics
 
UNIFAL - MySQL Storage Engine - 5.0/5.6
UNIFAL - MySQL Storage Engine - 5.0/5.6UNIFAL - MySQL Storage Engine - 5.0/5.6
UNIFAL - MySQL Storage Engine - 5.0/5.6
 

Semelhante a UNIFAL - MySQL Views - 5.0/5.6

Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
Luis Ferreira
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
Wagner Bianchi
 
Views Oracle Database
Views Oracle DatabaseViews Oracle Database
Views Oracle Database
Wagner Almeida
 
Java13
Java13Java13
MySQL - Wagner Bonfiglio - Navegg
MySQL - Wagner Bonfiglio - NaveggMySQL - Wagner Bonfiglio - Navegg
MySQL - Wagner Bonfiglio - Navegg
Felipe Guimarães
 
MySQL - Workshop Buscapé
MySQL - Workshop BuscapéMySQL - Workshop Buscapé
MySQL - Workshop Buscapé
Wagner Bonfiglio
 
SQL Parte 1 - Criação de Banco de Dados.pdf
SQL Parte 1 - Criação de Banco de Dados.pdfSQL Parte 1 - Criação de Banco de Dados.pdf
SQL Parte 1 - Criação de Banco de Dados.pdf
AndersonW5
 
Aula 05 acessando o mysql
Aula 05   acessando o mysqlAula 05   acessando o mysql
Aula 05 acessando o mysql
Roitier Gonçalves
 
UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6
Wagner Bianchi
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
Daniel Maia
 
Php curso de php com my sql
Php   curso de php com my sqlPhp   curso de php com my sql
Php curso de php com my sql
robinhoct
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
Art IT
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6
Erisvaldo Junior
 
ZF Básico - 5. Modelo
ZF Básico - 5. ModeloZF Básico - 5. Modelo
ZF Básico - 5. Modelo
Marcos Bezerra
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
José Henrique Sento Sé
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
Warley Silva
 
Ado
AdoAdo
Aula10 sql-ddl
Aula10 sql-ddlAula10 sql-ddl
Aula10 sql-ddl
Rafael Albani
 
Modulo-02-Aula-03-conteudo-para-cer.pptx
Modulo-02-Aula-03-conteudo-para-cer.pptxModulo-02-Aula-03-conteudo-para-cer.pptx
Modulo-02-Aula-03-conteudo-para-cer.pptx
AugustoNicolau2
 
Apostila sqlserver65v1a
Apostila sqlserver65v1aApostila sqlserver65v1a
Apostila sqlserver65v1a
Inaiane Almeida Rodrigues
 

Semelhante a UNIFAL - MySQL Views - 5.0/5.6 (20)

Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Views Oracle Database
Views Oracle DatabaseViews Oracle Database
Views Oracle Database
 
Java13
Java13Java13
Java13
 
MySQL - Wagner Bonfiglio - Navegg
MySQL - Wagner Bonfiglio - NaveggMySQL - Wagner Bonfiglio - Navegg
MySQL - Wagner Bonfiglio - Navegg
 
MySQL - Workshop Buscapé
MySQL - Workshop BuscapéMySQL - Workshop Buscapé
MySQL - Workshop Buscapé
 
SQL Parte 1 - Criação de Banco de Dados.pdf
SQL Parte 1 - Criação de Banco de Dados.pdfSQL Parte 1 - Criação de Banco de Dados.pdf
SQL Parte 1 - Criação de Banco de Dados.pdf
 
Aula 05 acessando o mysql
Aula 05   acessando o mysqlAula 05   acessando o mysql
Aula 05 acessando o mysql
 
UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
 
Php curso de php com my sql
Php   curso de php com my sqlPhp   curso de php com my sql
Php curso de php com my sql
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6
 
ZF Básico - 5. Modelo
ZF Básico - 5. ModeloZF Básico - 5. Modelo
ZF Básico - 5. Modelo
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
Ado
AdoAdo
Ado
 
Aula10 sql-ddl
Aula10 sql-ddlAula10 sql-ddl
Aula10 sql-ddl
 
Modulo-02-Aula-03-conteudo-para-cer.pptx
Modulo-02-Aula-03-conteudo-para-cer.pptxModulo-02-Aula-03-conteudo-para-cer.pptx
Modulo-02-Aula-03-conteudo-para-cer.pptx
 
Apostila sqlserver65v1a
Apostila sqlserver65v1aApostila sqlserver65v1a
Apostila sqlserver65v1a
 

Mais de Wagner Bianchi

Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18
Wagner Bianchi
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoin
Wagner Bianchi
 
Meetup São Paulo, Maxscale Implementação e Casos de Uso
Meetup São Paulo, Maxscale Implementação e Casos de UsoMeetup São Paulo, Maxscale Implementação e Casos de Uso
Meetup São Paulo, Maxscale Implementação e Casos de Uso
Wagner Bianchi
 
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Wagner Bianchi
 
NY Meetup: Scaling MariaDB with Maxscale
NY Meetup: Scaling MariaDB with MaxscaleNY Meetup: Scaling MariaDB with Maxscale
NY Meetup: Scaling MariaDB with Maxscale
Wagner Bianchi
 
Webinar: MariaDB Provides the Solution to Ease Multi-Source Replication
Webinar: MariaDB Provides the Solution to Ease Multi-Source ReplicationWebinar: MariaDB Provides the Solution to Ease Multi-Source Replication
Webinar: MariaDB Provides the Solution to Ease Multi-Source Replication
Wagner Bianchi
 
MySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source ReplicationMySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source Replication
Wagner Bianchi
 
UNIFAL - MySQL 5.6 - Replicação
UNIFAL - MySQL 5.6 - ReplicaçãoUNIFAL - MySQL 5.6 - Replicação
UNIFAL - MySQL 5.6 - Replicação
Wagner Bianchi
 
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
Wagner Bianchi
 
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi
 
Introdução ao MySQL 5.6
Introdução ao MySQL 5.6Introdução ao MySQL 5.6
Introdução ao MySQL 5.6
Wagner Bianchi
 
Mysql for IBMers
Mysql for IBMersMysql for IBMers
Mysql for IBMers
Wagner Bianchi
 
InnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQLInnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQL
Wagner Bianchi
 
MySQL Cluster Product Overview
MySQL Cluster Product OverviewMySQL Cluster Product Overview
MySQL Cluster Product Overview
Wagner Bianchi
 

Mais de Wagner Bianchi (14)

Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoin
 
Meetup São Paulo, Maxscale Implementação e Casos de Uso
Meetup São Paulo, Maxscale Implementação e Casos de UsoMeetup São Paulo, Maxscale Implementação e Casos de Uso
Meetup São Paulo, Maxscale Implementação e Casos de Uso
 
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
 
NY Meetup: Scaling MariaDB with Maxscale
NY Meetup: Scaling MariaDB with MaxscaleNY Meetup: Scaling MariaDB with Maxscale
NY Meetup: Scaling MariaDB with Maxscale
 
Webinar: MariaDB Provides the Solution to Ease Multi-Source Replication
Webinar: MariaDB Provides the Solution to Ease Multi-Source ReplicationWebinar: MariaDB Provides the Solution to Ease Multi-Source Replication
Webinar: MariaDB Provides the Solution to Ease Multi-Source Replication
 
MySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source ReplicationMySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source Replication
 
UNIFAL - MySQL 5.6 - Replicação
UNIFAL - MySQL 5.6 - ReplicaçãoUNIFAL - MySQL 5.6 - Replicação
UNIFAL - MySQL 5.6 - Replicação
 
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
 
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
 
Introdução ao MySQL 5.6
Introdução ao MySQL 5.6Introdução ao MySQL 5.6
Introdução ao MySQL 5.6
 
Mysql for IBMers
Mysql for IBMersMysql for IBMers
Mysql for IBMers
 
InnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQLInnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQL
 
MySQL Cluster Product Overview
MySQL Cluster Product OverviewMySQL Cluster Product Overview
MySQL Cluster Product Overview
 

Último

Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 

Último (6)

Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 

UNIFAL - MySQL Views - 5.0/5.6

  • 1. VIEWS Wagner Bianchi Certified MySQL 5.0 Developer Certified MySQL 5.0 Database Administrator Certified MySQL 5.1 Cluster Database Administrator
  • 2. Views ! Uma View ou visualização é uma tabela derivada de outras tabelas existentes no banco de dados, chamadas de based tables ou tabelas base; ! Também é composta de colunas e registros; ! A diferença é que os dados de uma View é o resultado de um mapeamento de colunas e registros de outras tabelas; ! Podem existir Views de Views; ! Existem Views materializáveis e não-materializáveis; ! Toda a definição de uma View é armazenado no dicionário de dados do MySQL, podendo ser recuperado com o seguinte SELECT: mysql> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS;
  • 3. Views ! Segurança – As aplicações acessam Views e não as tabelas; – Facilita o controle de acesso aos dados; – Usuários não são capazes de ver determinadas informações; ! Particionamento de Dados – Particionamento horizontal: Subconjunto de registros; – Particionamento vertical: Subconjunto de colunas; ! Facilidade o Acesso aos Dados – Consultas complexas pode ser mapeadas em uma View; – O acesso aos dados pode ser feito a partir de uma View, evitando a criação a criação de uma consulta complexa;
  • 4. Views ! Independência Sobre a Definição de Dados – Alterações na estrutura física de dados não reflete na aplicação; – Cria camada entre a aplicação e o banco de dados; – Alteração no dicionário de dados podem ser mascaradas pela View; – Em alguns casos não será possível manter a mesma estrutura; Imagine passar um dia todo escrevendo uma consulta para gerar um relatório, com várias JOINS, SubConsultas, Agrupamentos A e B, UNION…toda complexidade que existe em uma consulta. Imagine ter que escrever isso todos os dias?
  • 5. Views ! Comando para criação de Views CREATE VIEW view_name(columns_name) AS SELECT… ! O comando consiste em: – O nome para a View (view_name); – O comando SELECT que realizará o mapeamento de dados (SELECT…); – Opacionalmente, o nome das colunas da View
  • 6. Views ! Utilizando o banco de dados world, segue os exemplo: – Uma View mostrado uma tabela inteira: mysql> CREATE VIEW vw_country AS SELECT * FROM Country; Query OK, 0 rows affected (0.00 sec) – Uma View com um SELECT mais complexo: mysql> CREATE VIEW vw_country_language -> AS -> SELECT a.Name, GROUP_CONCAT(b.language) -> FROM Country AS a INNER JOIN CountryLanguage AS b -> ON a.Code = b.CountryCode -> GROUP BY a.Name; Query OK, 0 rows affected (0.02 sec)
  • 7. Views ! Podemos renomear os nomes das colunas através de aliases – apelidos; mysql> CREATE VIEW vw_country_names -> AS -> SELECT DISTINCT Name AS 'Países' FROM Country; Query OK, 0 rows affected (0.00 sec) ! Podemos utilizar a lista de colunas para também renomear as colunas de uma View; mysql> CREATE VIEW vw_country_names (Paises) -> AS -> SELECT DISTINCT Name FROM Country; Query OK, 0 rows affected (0.00 sec)
  • 8. Views ! Para mostrar os dados de uma View, já que ela é tida como uma tabela virtual, basta selecionarmos a mesma através do comando SELECT: SELECT * FROM view_name ORDER BY 1 ASC; ! Na selecão precedente, utilizamos o ORDER BY para ordenar os resultados pela primeira coluna. Esse ORDER BY elimina um ORDER BY interno à View;
  • 9. Views ! Uma View pode ser criada a partir de qualquer comando SELECT válido, inclusive SubConsultas; ! Views podem ser atualizáveis ou não; ! Para alterar um View já existente, utilize os comandos ALTER VIEW ou OR REPLACE; ALTER VIEW… …ou ainda: CREATE VIEW OR REPLACE view_name…
  • 10. Exercício ! Artigo: Trabalhando com Views no MySQL ! Com base no assunto apresentando “Views”, responda a LISTA 9. ! Fonte de referência: http://dev.mysql.com/doc/refman/5.0/en/views.html