Arquivos de Categoria: Tecnologias

Executando uma Select através do Excel

É possível utilizar o Excel para retornar resultados através de uma select.

No exemplo seguinte, iremos utilizar o banco de dados de exemplo AdventureWorks2008R2, que pode ser encontrado facilmente na internet.

No SSMS, executaremos a seguinte select (simples)

SELECT W.WorkOrderID, P.Name, W.OrderQty, P.StandardCost,  
       W.OrderQty * P.StandardCost as SubTotal 
FROM   Production.WorkOrder W
       INNER JOIN Production.Product P
         ON W.ProductID = P.ProductID

O resultado da consulta será o seguinte:

 

ScreenHunter_446 Jan. 23 10.58

No Excel 2013 ou 2016, abra uma nova planilha, clique no menu Dados, De Outas Fontes, Do SQL Server

ScreenHunter_447 Jan. 23 11.01

Preencha corretamente os dados de conexao, conforme o assistente de conexão pede:

Captura de tela 2018-01-23 11.03.05

Escolha do banco de dados AdventureWorks2008R2, tire a marcação de “Conectar a uma tabela específica”, e clique em [avançar]

Captura de tela 2018-01-23 11.04.27

Caso queira, altere o nome do arquivo de conexão, descricao e nome amigãvel, e clique em [Concluir]

Captura de tela 2018-01-23 11.06.32

Temporariamente, escolha uma visão a ser selecionada e clique em [OK]

Captura de tela 2018-01-23 11.08.25

Clique na opcao Proriedades, para que o Excel abra as Propriedades da Conxão.

Captura de tela 2018-01-23 11.08.50

Nas propriedades da Conexão, na aba Uso, é possível configurar por exemplo, a cada X minutos que irá ser atualizada.

Captura de tela 2018-01-23 11.14.29

Na aba Definição, altere o tipo de comando para SQL, e o Texto de comando, substitua para a Select que foi desenvolvida:

Captura de tela 2018-01-23 11.15.57

Clique em [OK] para finalizar.

A mensagem seguinte poderá ser exibida. CLique em [Sim]

Captura de tela 2018-01-23 11.16.31

O Excel voltará para a tela de inportar dados. Selecione a celula =$A$1

Captura de tela 2018-01-23 11.18.28

Dessa forma, temos os dados exibidos em planilha, a qual estes são atualizados dinamicamente, de tempos em tempos conforme configuração da conexão ou clicando sobre o botão Atualizar.

ScreenHunter_448 Jan. 23 11.20

O ideal é fazer a criação de uma View dentro do SQL Server e fazer com que o usário tenha acesso m´nimo de permissão, não deixando que usuários comuns tenham acesso a qualquer outro tipo de objeto (a não ser a view cirada)

Após importado os dados, é possível criar as formulas normalmente do Excel.

 

 

 

Anúncios

Banco de Dados I – Aula 10E

Crie no Microsoft Access para cada exercício um banco de dados dos exercícios resolvidos

Formas Normais – Formulário de manutenção técnica 

1FN (ITENS DE REPETICAO, OU MULTIVALORADOS TRANSFORMAR EM OUTRA TABELA)

EMPRESA (COD_EMP, RAZAO, ENDERECO, CIDADE, UF, CEP, FONE)

FUNCIONARIO (COD_FUN, NOME, …)

SITUACAO_SERV (TIPO)

FUNCIONARIO_CLI (RG_FUN_CLI, NOME_FUN_CLI, COD_EMP)

OBS (FUNCIONARIO_CLI. COD_EMP à CLIENTE.COD_EMP)

ACAO_SERV (TIPO, RG_FUN_CLI)

OBS (ACAO_SERV.TIPO à SITUACAO_SERV.TIPO)

OBS (ACAO_SERV.RG_FUN_CLI à FUNCIONARIO_CLI.RG_FUN_CLI)

CLIENTE (COD_EMP_CLI, RAZAO, ENDERECO, BAIRRO, COMPLEMENTO, CIDADE, UF, CEP)

TELEFONE_CLI (COD_EMP_CLI, TELEFONE)

OBS (TELEFONE_CLI.COD_EMP_CLI à CLIENTE.COD_EMP_CLI)

SOLUCAO (COD_SOL, DESC_SOL)

SERVICO (COD_SERV, DESC_SERV)

ATENDIMENTO (NR_ORDEM, DATA_ABERTURA, HORA_ABERTURA, DATA_PREVISTA, HORA_PREVISTA, DATA_SOL, HORA_SOL, COD_EMP_CLI, COD_EMP, COD_FUN)

OBS (ATENDIMENTO.COD_EMP_CLI à CLIENTE.COD_EMP_CLI)

OBS (ATENDIMENTO.COD_EMP à EMPRESA.COD_EMP)

OBS (ATENDIMENTO.COD_FUN à FUNCIONARIO.COD_FUN)

SOL_PRESTADA (NR_ORDEM, COD_SOL)

OBS (SOL_PRESTADA.NR_ORDEM à ATENDIMENTO.NR_ORDEM)

OBS (SOL_PRESTADA.COD_SOL à SOLUCAO.COD_SOL)

SERV_PRESTADO (NR_ORDEM, COD_SERV)

OBS (SERV_PRESTADO.NR_ORDEM à ATENDIMENTO.NR_ORDEM)

OBS (SERV_PRESTADO.COD_SERV à SERVICO.COD_SERV)

 

Banco de Dados I – Aula 10D

Crie no Microsoft Access para cada exercício um banco de dados dos exercícios resolvidos

 

Formas Normais – Pedido de Compras 

PEDIDO (NR_PEDIDO, DATA, DEPTO_ORIGEM, FUNC_SOLICITANTE, DEPTO_DESTINO, FUNC_RESPONSAVEL, TOTAL_QTD)

 ITEM_PEDIDO (NR_PEDIDO, ITEM, MATERIAL, QUANTIDADE)

 

2NF (DEPENDENCIA PARCIAL DOS CAMPOS NÃO CHAVE, TRANSFORMAR EM OUTRA TABELA)

PEDIDO (NR_PEDIDO, DATA, DEPTO_ORIGEM, FUNC_SOLICITANTE, DEPTO_DESTINO, FUNC_RESPONSAVEL, TOTAL_QTD)

ITEM_PEDIDO (NR_PEDIDO, ITEM, MATERIAL, QUANTIDADE)

OBS: ITEM_PEDIDO.COD_MATERIAL à MATERIAL.COD_MATERIAL)

 

3FN (ANALISAR OS CAMPOS NÃO CHAVES SE SÃO DEPENDENTES DE OUTROS CAMPOS NÃO CHAVE. CASO SIM, TRANSFORMAR EM OUTRA TABELA)

PEDIDO (NR_PEDIDO, DATA, COD_DEPTO_ORIGEM, COD_FUNC_SOL, COD_DEPTO_DESTINO, COD_FUNC_RESP)

OBS: PEDIDO.COD_DEPTO_ORIGEM à DEPARTAMENTO.COD_DEPTO)

OBS: PEDIDO.COD_FUNC_SOL à FUNCIONARIO.COD_FUNC)

OBS: PEDIDO.COD_DEPTO_DESTINO à DEPARTAMENTO.COD_DEPTO)

OBS: PEDIDO.COD_FUNC_RESP à FUNCIONARIO.COD_FUNC)

DEPARTAMENTO (COD_DEPTO, DEPARTAMENTO)

 FUNCIONARIO (COD_FUNC, FUNCIONARIO)

 ITEM_PEDIDO (NR_PEDIDO, ITEM, COD_MATERIAL, QUANTIDADE)

OBS: ITEM_PEDIDO.COD_MATERIAL à MATERIAL.COD_MATERIAL)

 MATERIAL (COD_MATERIAL, MATERIAL)

Video

Banco de Dados I – Aula 10C

Crie no Microsoft Access para cada exercício um banco de dados dos exercícios resolvidos

Estudo de Caso 2 – Gerência Acadêmica de uma Universidade 

PROFESSOR (COD_PROF, NOME, INSCRICAO_GA, COD_DEPTO)

OBS: PROFESSOR.COD_DEPTO à DEPARTAMENTO.COD_DEPTO

PROFESSOR_HABILITADO (COD_PROF, CFE)

DEPARTAMENTO (COD_DEPTO, NOME_DEPTO)

CURSO (COD_CURSO, NOME, NR_TOTAL_HORAS, COD_DEPTO)

OBS (CURSO.COD_DEPTO à DEPARTAMENTO.COD_DEPTO)

DISCIPLINA (COD_DISC, DESCRICAO, DESC_CURRICULAR, PRE_REQUISITO, COD_DEPTO, COD_PROF)

OBS (PRE_REQUISITO à COD_DISC)

OBS (DISCIPLINA.COD_DEPTO à DEPARTAMENTO.COD_DEPTO)

OBS (DISCIPLINA.COD_PROF à PROFESSOR_HABILITADO.COD_PROF)

DISCIPLINA_OBRIGATORIA (COD_DISC, HORA_OBRIGATORIA)

COMPOR (COD_CURSO, COD_DISC, TIPO_DISCIPLINA)

ALUNO (NR_MATRICULA, TIPO_ADMISSAO, NOME, ENDERECO, COD_CURSO)

OBS (ALUNO.COD_CURSO à CURSO.COD_CURSO)

HISTORICO (NR_MATRICULA, COD_DISC, DATA_DISC_CURSADA, NOTA)

OBS (HISTORICO.NR_MATRICULA à ALUNO.NR_MATRICULA)

OBS (HISTORICO.COD_DISC à DISCIPLINA.COD_DISC)

Video

Banco de Dados I – Aula 10B

Criando um banco de dados no Microsoft-Access

 

Para ilustrar a criação simples de banco de dados, iremos utilizar os exemplos normalizados:

Primeiramente, crie um banco de dados vazio no Microsoft Access;

Untitled

Dê um nome ao banco de dados:

Untitled2

Como criamos um banco de dados vazio, o MS-Access irá pedir os dados para a nova tabela;

Classificando o tipo de dados

 

Usaremos os tipos básicos de dados que o MS-Access oferece. Os tipos de dados servem para classificarmos os mesmos. Determinado dado tem certa característica(s). Por exemplo: “DQF-2134”, “15/07/2000”, “16”, “Ana Cristina da Silva”, “13.200-015”, “São Paulo”. Podemos observar que os dados possuem caracteres numéricos e alfanuméricos.  Observando os valores dos dados, podemos classificar o seu tipo.

O MS-Access possui alguns outros tipos de dados:

Untitled3

Iremos criar as tabelas abaixo, conforme exercício passado:

ESTOQUE_ITENS(NR_CONTROLE,ITEM, COD_PECA, QUANTIDADE, TIPO_MOVIMENTACAO, COD_SETOR)

PECA(COD_PECA, DESCRICAO_PECA)

SETOR(COD_SETOR, DESC_SETOR)

ESTOQUE(NR_CONTROLE, DATA, COD_FUNC_REP, COD_FUNC_RESP)

FUNCIONARIO(COD_FUNC, NOME_FUNC)

Criando tabelas no MS-ACCESS

Tabelas a serem criadas:

Untitled4

Untitled5

Untitled6

Untitled7

Realize após a construção das tabelas testes de inserção de dados. Perceba que ainda não haverá nada que impeça o usuário colocar um dado que não exista nas tabelas bases.

Relacionamento entre tabelas

Para fazer o relacionamento no ACCESS, vá no menu “Ferramentas de Banco de Dados” / Relações

Untitled8

Selecione todas as tabelas e pressione “Adicionar”

Untitled9

Após a inclusão de todas as tabelas, aparecerá as tabelas “não-relacionadas”, conforme figura abaixo:

Untitled10

Arraste o campo “NR_CONTROLE” da tabela “ESTOQUE” para o campo “NR_CONTROLE” da tabela “ESTOQUE_ITENS”. A seguinte tela aparecerá:

Untitled11

Faça o mesmo processo para os demais itens do banco de dados, deixando igual a figura abaixo:

Untitled12

Teste novamente a inserção de dados;

Vídeo

learningdatabase.com.br

Tecnologias em Banco de Dados Relacionais, Modelagem de dados dimencionais, tecnologias SQL Servere e Oracle

Aprendendo Programação

Algorítmos, Linguagem C, C++,Pascal, Python, R

WikiDBA

by Virendra Yaduvanshi - Microsoft SQL Server Database Architect | Consultant | Blogger | Specialist | DBA | Speaker

Blog - Fabiano Neves Amorim

SELECT * FROM [Coisas Da Minha Cabeça] WHERE dbo.fn_TempoParaPost() < dbo.fn_TempoLivre()

ROMANO DBA

Administração de Bancos de Dados

Tércio Costa, Oracle Developer, OCE SQL, ACE Associate

Guia de estudos para certificação ORACLE SQL(1Z0-047, 1Z0-051, 1Z0-061 e 1Z0-071) e PL/SQL(1Z0-144, 1Z0-146 e 1Z0-148)

Strate SQL

Data Adventures with an Architect