Unidade IV
BANCO DE DADOS
Prof. Luiz Fernando
Início
Primeiro passo: abrir o SQL Server Management Studio.
Iniciar.
Programas .
SQL Server 2012.
SQL Server Management Studio.
Botão Iniciar – Programas
Fonte: arquivo pessoal.
Criando um banco de dados
Para trabalharmos com um banco de dados, a primeira coisa
que precisamos fazer é criar um banco de dados (caso ainda
não exista).
Para isso, usamos o comando
DDL CREATE.
Criando um banco de dados
O “ ; ” no final do comando serve para dizer que o comando
termina ali.
Fonte: arquivo pessoal.
Criado com sucesso
Fonte: arquivo pessoal.
Object Explorer
Fonte: arquivo pessoal.
O comando USE
O comando USE serve para selecionar o banco de dados
que será utilizado.
Fonte: arquivo pessoal.
O comando USE
Depois de executar o comando USE, a base selecionada
passa a ser a ADS.
Fonte: arquivo pessoal.
Criando a tabela mês
Fonte: arquivo pessoal.
Carregando a tabela mês
Fonte: arquivo pessoal.
Resultado do Insert
Sempre depois de um comando, olhe no campo Messages
(ou Mensagens) para verificar se aconteceu algum erro
durante a execução do comando.
Fonte: arquivo pessoal.
Select na tabela mês
Fonte: arquivo pessoal.
Criando tabela de dia da semana
Fonte: arquivo pessoal.
Alimentando tabela dia da semana
Fonte: arquivo pessoal.
Resultado do Insert
Fonte: arquivo pessoal.
Select dia da semana
Fonte: arquivo pessoal.
Visão do Object Explorer
Fonte:
arquivo
pessoal.
Interatividade
Com base no que fizemos até o momento, é possível trabalhar com
apenas um tipo de linguagem SQL dentro do banco de dados? Se
sim, por quê?
a) Não é possível, porque dentro do banco de dados é normal
encontrarmos situações em que mais de um tipo de SQL se faz
necessário.
b) Sim, porque o trabalho do profissional de banco de dados é
segmentado.
c) Sim, porque tenho um profissional de banco de dados para criar
tabelas e outro para alimentá-las.
d) Sim, porque não existem profissionais que conheçam todos os
tipos de linguagem SQL.
e) Sim, porque é necessário um profissional especializado em
criação de chaves para as tabelas
Resposta
Com base no que fizemos até o momento, é possível trabalhar com
apenas um tipo de linguagem SQL dentro do banco de dados? Se
sim, por quê?
a) Não é possível, porque dentro do banco de dados é normal
encontrarmos situações em que mais de um tipo de SQL se faz
necessário.
b) Sim, porque o trabalho do profissional de banco de dados é
segmentado.
c) Sim, porque tenho um profissional de banco de dados para criar
tabelas e outro para alimentá-las.
d) Sim, porque não existem profissionais que conheçam todos os
tipos de linguagem SQL.
e) Sim, porque é necessário um profissional especializado em
criação de chaves para as tabelas
Procedures
Existem programas que rodam dentro
do banco de dados.
Eles são criados usando o Tipo SQL
DTL (Data Transaction Language).
Eles podem ser Procedimentos (Procedures) ou Funções
(Functions).
As duas podem receber parâmetros
de entrada.
Apenas as funções são obrigadas
a terem parâmetros de saída.
Select de data
Fonte: arquivo pessoal.
Incluindo na estrutura
Fonte: arquivo pessoal.
Com a estrutura de repetição
Fonte: arquivo pessoal.
Resultado incorreto
Fonte: arquivo pessoal.
Nova variável
Fonte: arquivo pessoal.
Aplicando a nova variável
Fonte: arquivo pessoal.
Resultado “quase” certo
Fonte: arquivo pessoal.
Forma correta
Executando o comando como está, ele irá gerar tantas linhas
quanto o número que colocarmos no WHILE.
Para um melhor controle, devemos inserir esses dados em
uma tabela.
Primeiro passo: criar uma tabela chamada TEMPO.
Segundo passo: colocar o INSERT dentro do nosso programa.
Criando a tabela tempo
Fonte: arquivo pessoal.
Colocando o Insert no programa
Como o SELECT está retornando os valores na sequência
dos campos da tabela TEMPO, podemos colocar apenas
dessa forma, sem discriminar as colunas no INSERT.
Fonte: arquivo pessoal.
Fazendo um Select na tabela tempo
Fonte: arquivo pessoal.
Mesmo Select – Aba Messages
Fonte: arquivo pessoal.
Maior data e Menor data
Fonte: arquivo pessoal.
Procedure
Vamos transformar nosso programinha em uma procedure
que aceita parâmetros?
Nosso parâmetro será a quantidade de dias que queremos que
a nossa tabela tempo possua.
Criando a Procedure
Fonte: arquivo pessoal.
Incluindo a variável
Fonte: arquivo pessoal.
Limpando a tabela tempo
Fonte: arquivo pessoal.
Vendo pelo Object Explorer
Fonte: arquivo pessoal.
Executando a Procedure
Fonte: arquivo pessoal.
Checando o resultado
Fonte: arquivo pessoal.
Interatividade
Assinale a alternativa correta.
a) Procedures recebem parâmetros de entrada e Functions não.
b) Apenas Functions possuem parâmetros de saída.
c) Procedures são mais dinâmicas, pois não possuem
obrigatoriedade de ter parâmetros de entrada e saída.
d) Procedures são mais dinâmicas, pois possuem
obrigatoriedade de ter parâmetros de entrada e saída.
e) Uma função obrigatoriamente tem parâmetros de entrada.
Resposta
Assinale a alternativa correta.
a) Procedures recebem parâmetros de entrada e Functions não.
b) Apenas Functions possuem parâmetros de saída.
c) Procedures são mais dinâmicas, pois não possuem
obrigatoriedade de ter parâmetros de entrada e saída.
d) Procedures são mais dinâmicas, pois possuem
obrigatoriedade de ter parâmetros de entrada e saída.
e) Uma função obrigatoriamente tem parâmetros de entrada.
Esquema de uma solução BI
Fonte: [Link]
Fontes de dados
ERP – Enterprise Resource Planning.
CRM – Consumer
Relationship Management.
Database – outras bases de dados.
Files – arquivos, texto, Excel, xml.
ETL
Extraction, Transformation and Load
Extrai, transforma e carrega no DW.
Fase de consolidação.
Data quality – qualidade dos dados.
Data cleansing – limpeza dos dados.
ETL – Kettle
Fonte: arquivo pessoal.
ETL – Integration Services
Fonte: arquivo pessoal.
Integration Services
Até a versão 2008, ficava dentro do BIDS (Business
Intelligence Development Studio).
A partir da versão 2012, está dentro do SQL Server Data Tools.
A interface é similar à do Visual Studio, da Microsoft, porém,
com ferramentas diferentes.
O Integration Services também é conhecido pela sigla SSIS
(SQL Server Integration Services).
Botão Iniciar – Programas
Fonte: arquivo pessoal.
Novo Projeto
Fonte: arquivo pessoal.
Business Intelligence – Integration Services
Fonte: arquivo pessoal.
Integration Services Project
Fonte: arquivo pessoal.
Tela inicial do SSIS
Fonte: arquivo pessoal.
Selecionar Data Flow Task
Em 99% dos casos, o Data Flow Task é o primeiro objeto a
ser inserido.
Fonte: arquivo pessoal.
Arrastar para o centro da tela
O SSIS é drag and drop.
Fonte: arquivo pessoal.
Duplo clique no Data Flow Task
Fonte: arquivo pessoal.
Incluir a origem dos dados
Fonte: arquivo pessoal.
Clicar em New
Fonte: arquivo pessoal.
Clicar em New
Fonte: arquivo pessoal.
Configuração da conexão
Fonte: arquivo pessoal.
Configurando a conexão
Aqui colocamos o nome do servidor.
Se sua máquina for o servidor, podemos colocar “localhost”,
ou simplesmente um ponto “ . ”
Fonte: arquivo pessoal.
Configurando a conexão
Selecionar a base de dados.
Fonte: arquivo pessoal.
Configurar a conexão
Clicar em Test connection.
Fonte: arquivo pessoal.
Selecionando a tabela
Fonte: arquivo pessoal.
Selecionando a tabela
Fonte: arquivo pessoal.
Preview dos dados da tabela
Ao clicar em Preview, você vai ver uma amostra dos dados
armazenados na tabela.
Fonte: arquivo
pessoal.
Selecionar as colunas da tabela
Fonte: arquivo pessoal.
Selecionar as colunas da tabela
Selecionar apenas as colunas que eu quero trazer da tabela.
Fonte: arquivo pessoal.
Interatividade
Um processo de ETL básico possui três etapas.
São elas:
a) Uma entrada e duas saídas.
b) Duas entradas e uma saída
c) Uma transformação e uma saída
d) Uma entrada, uma transformação e uma saída.
e) Três entradas e três saídas.
Resposta
Um processo de ETL básico possui três etapas.
São elas:
a) Uma entrada e duas saídas.
b) Duas entradas e uma saída
c) Uma transformação e uma saída
d) Uma entrada, uma transformação e uma saída.
e) Três entradas e três saídas.
Incluir dois objetos Lookup
O objeto Lookup permite que você faça uma consulta em
outras tabelas, além da tabela inicial.
Fonte: arquivo pessoal.
Amarrar os objetos
Clicar o OLE DB Source, observe as duas setas para baixo.
Fonte: arquivo pessoal.
Configurando o Lookup
Fonte: arquivo pessoal.
Configurando o Lookup
Primeiro selecionar a conexão.
Depois selecionar a tabela (MÊS).
Fonte: arquivo pessoal.
Configurando o Lookup
Clicar em MÊS e arrastar até COD_MES.
Marcar a coluna NOME_MES.
Fonte: arquivo pessoal.
Configurando o Lookup
Alterar onde está marcado para Ignore Failure.
Fonte: arquivo pessoal.
Indo para a próxima Lookup
Clicar na seta azul.
Arrastar até a próxima lookup.
Fonte: arquivo
pessoal.
Indo para a segunda Lookup
Selecionar Lookup Match Output.
Fonte: arquivo pessoal.
Indo para a segunda Lookup
Após fazer a ligação, repetir os passos da primeira Lookup.
Aqui, a única diferença será que selecionaremos a tabela
DIA_SEMANA.
A ligação será entre DIA_SEMANA
e COD_DIA_SEMANA.
Deverá ser marcado o campo NOM_DIA_SEMANA.
Derived column
Incluir o objeto DERIVED COLUMN.
Fonte: arquivo pessoal.
Criando uma coluna derivada
O DERIVED COLUMN permite que criemos novas colunas.
Vamos criar uma data sem o dado de hora (DATE e não
DATETIME).
Primeiro, convertemos o campo para STRING e depois
pegamos um pedaço dele (10 posições).
Fonte: arquivo pessoal.
Fórmula da coluna derivada
(DT_STR,10,1252)
SUBSTRING(
(DT_STR,50,1252)DATA,
1,10)
Adicionando um destino de dados
Agora você vai gravar o resultado da nossa brincadeira em um
arquivo txt.
Fonte: arquivo pessoal.
Duplo clique no Flat File Destination
Clicar em New.
Fonte: arquivo pessoal.
Selecione o tipo de arquivo de saída
Selecione delimitado como tipo
de arquivo de saída.
Fonte: arquivo pessoal.
Configurar a conexão de saída
Primeiro, você especifica o nome da conexão.
Depois, o caminho do arquivo de saída.
Marcar o flag abaixo:
Fonte: arquivo
pessoal.
Configurando as colunas
Fonte: arquivo pessoal.
Configurando as colunas
Clicar em Advanced.
Fonte: arquivo pessoal.
Criando novas colunas
Clicar em New e gerar três novas colunas:
Fonte: arquivo pessoal.
Renomeando as colunas
Renomear as colunas (DATA, MÊS e DIA_SEMANA).
Na sequência, clicar em OK.
Fonte: arquivo
pessoal.
Mapeando as colunas
Remover os mapeamentos.
Clicar em cima de cada linha e em delete.
Fonte: arquivo pessoal.
Mapeando as colunas
Fazer o mapeamento conforme a figura.
Clicar em OK.
Fonte: arquivo pessoal.
Executar o pacote
Clicar no símbolo de play.
Acompanhar a execução.
Fonte: arquivo pessoal.
Acompanhando a execução
Se ficar tudo verde, executado com sucesso.
Fonte: arquivo pessoal.
Checando o arquivo
Fonte: arquivo pessoal.
Interatividade
Assinale a alternativa correta. Uma ferramenta de ETL é útil
quando temos de fazer:
I. Uma migração entre dois (ou mais) bancos de dados iguais.
II. Uma migração entre dois (ou mais) bancos de dados
diferentes.
III. Uma integração entre duas (ou mais) fontes de dados.
Interatividade
a) Apenas a alternativa I é correta.
b) Apenas a alternativa II é correta.
c) As alternativas I, II e III são corretas.
d) Apenas as alternativas I e II são corretas.
e) Apenas as alternativas II e III são corretas.
Resposta
Assinale a alternativa correta. Uma ferramenta de ETL é útil
quando temos de fazer:
I. Uma migração entre dois (ou mais) bancos de dados iguais.
II. Uma migração entre dois (ou mais) bancos de dados
diferentes.
III. Uma integração entre duas (ou mais) fontes de dados.
c) As alternativas I, II e III são corretas.
ATÉ A PRÓXIMA!