Sei sulla pagina 1di 8

1) Na etapa de criação de uma nova tabela, defina quais opções abaixo são verdadeiras ou falsas,

marcando V ou F:
( ) Inicia com: CREATE VIEW
( ) Pode utilizar a opção ALTER PROCEDURE
( ) Pode adicionar PRIMARY KEY, UNIQUE KEY ou FOREIGN KEY dentro da criação
( ) Posso criar um campo que somente aceita um determinado conjunto de valores
( ) Preciso sempre ter uma PRIMARY KEY

2) Sobre a consulta abaixo, aponte quais opções são verdadeiras ou falsas, marcando V ou F:

SELECT fname, lname


FROM (SELECT emp_id, fname, lname,
start_date, title FROM employee) e;
( ) A parte em negrito é uma view
( ) A consulta funciona;
( ) Existem um ALIAS e está sendo utilizado corretamente
( ) Existe alguma subquery nesse T-SQL
( ) A consulta final mostra todas as colunas da tabela employee

3) É possível ter índices em uma variável do tipo tabela?


A ( ) Não
B ( ) Sim, executando o comando CREATE INDEX
C ( ) Sim, indiretamente definindo uma Primary Key
D ( ) Sim, definindo Foreign Keys

4) Na ordem de escrita de uma query, a cláusula ORDER BY deve vir depois de qual cláusula abaixo,
considerando que todos os comandos estão sendo utilizados na mesma consulta?

A ( ) GROUP BY
B ( ) WHERE
C ( ) HAVING
D ( ) FROM

5) Qual a função do comando COALESCE?

A ( ) Utilizado para fazer relacionando N para N entre tabelas


B ( ) Retorna o primeiro parâmetro não nulo
C ( ) Efetua consulta sem gerar logs de execução
D ( ) Comando MDX utilizado para realizar cálculos em determinado escopo

6) Após a criação da seguinte tabela:


CREATE TABLE T1(
ProductKey [int] NOT NULL,
OrderDateKey [int] NOT NULL,
DueDateKey [int] NOT NULL,
ShipDateKey [int] NOT NULL);
GO
Quais das alternativas você usaria para criar um índice columnstore clusterizado para toda a tabela?
A ( ) ALTER TABLE T1 (CREATE INDEX COLUMN STORE ON T1);
B ( ) CREATE CLUSTERED COLUMNSTORE INDEX cci_T1 ON T1;
C ( ) DROP ROWSTORE T1; CREATE COLUMNSTORE ALL ON 1;
D ( ) CREATE CLUSTERED COLUMNSTORE ON T1;

7) Considerando a consulta e seu resultado:


Select * from Pagamento
order by 1 , 2 , 3 desc
A ( ) A query não funciona;
B ( ) As colunas dataPagamento e tipoPagamento estão ordenadas de forma crescente;
C ( ) As colunas tipoPagamento e dataPagamento estão ordenadas de forma decrescente;
D ( ) O campo 3 exibe a descrição.

8) As consultas a seguir utilizam a tabela Pagamento e seus registros demonstrados na questão 7.

--1
DECLARE @Aux as TABLE (dt DATE, vl numeric(18,2))
--2
INSERT INTO @Aux
SELECT dataPagamento
, avg(vlPagamento) vlPagamento
FROM Pagamento p
GROUP BY dataPagamento
--3
SELECT p.dataPagamento
, p.tipoPagamento
, Sum(p.vlPagamento) vlPagamento
FROM Pagamento p
INNER JOIN @Aux a on a.dt=p.dataPagamento
GROUP BY p.dataPagamento, p.tipoPagamento, a.dt
having Sum(p.vlPagamento)>= min(a.vl)

8.1). Sobre a query abaixo do comentário 1, é correto afirmar que?


A ( ) É a declaração de uma variável do tipo tabela;
B ( ) Irá gerar erro, pois não é possível declarar variáveis como tabela;
C ( ) É o comando para criação de uma tabela temporária;
D ( ) Os campos da tabela estão entre parênteses e portanto ocorrerá erro de sintaxe.

8.2). Quantas linhas serão armazenadas na tabela @Aux?


A ( ) 1 linha;
B ( ) 2 linhas;
C ( ) 3 linhas;
D ( ) nenhuma linha.

8.3). Sobre a query do comentário 3, é correto afirmar que?


A ( ) A query executará com sucesso e trará como resultado todos os registros da tabela “Pagamento”;
B ( ) Não é possível fazer INNER JOIN com variáveis;
C ( ) A query executará com sucesso e retornará 2 linhas;
D ( ) O comando HAVING que faz parte do SQL ANSII irá gerar erro pois está em minúsculo.

9) Qual alternativa está correta:

A ( ) WITH x (dataPagamento)
AS
(
SELECT dataPagamento, tipoPagamento, Sum(vlPagamento) as vlPagamento
FROM Pagamento
GROUP BY dataPagamento, tipoPagamento
)
SELECT * FROM x;
B ( ) WITH CTE x
AS
(
SELECT *
FROM Pagamento
)
SELECT * FROM x;
C ( ) WITH x (dataPagamento, tipoPagamento,vlPagamento)
AS
(
SELECT dataPagamento, tipoPagamento, Sum(vlPagamento) as vlPagamento
FROM Pagamento
GROUP BY dataPagamento, tipoPagamento
ORDER BY dataPagamento
)
SELECT * FROM x;
D ( ) WITH x (dataPagamento, tipoPagamento,vlPagamento)
AS
(
SELECT dataPagamento, tipoPagamento, Sum(vlPagamento) as vlPagamento
FROM Pagamento
GROUP BY dataPagamento, tipoPagamento
)
SELECT x.* FROM x;

10) Descreva o que faz a instrução “MERGE” (Transaction-SQL) e dê um exemplo que demonstre uma
situação na qual é recomendável a aplicação do conceito.

R – Permite executar as instruções INSERT, UPDATE e DELETE para um grupo de registros, quanto maior
for o numero de colunas para comparação melhor o desempenho desta instrução
Conceitos BI:
1) Qual a importância do Slowly Changing Dimensions (SCD) no Data WareHouse(DW)? Dê um exemplo
que ajude a demonstrar os benefícios da aplicação do conceito na modelagem do DW..

R – São dimensões que sofrem uma variação lenta e se mantem o histórico da mesma, por exemplo,
uma posição de gerente de produção em uma seguradora, durante N meses ele foi responsável por um
determinado grupo de corretores, no mês seguinte passou a gerenciar outro grupo, na SCD do gerente
de produção haveria algo assim:

ID GERENTE NOME GERENTE AREA DATAINI DATAFIM


1 JOAO 23 2017-05-10 2019-03-22
1 JOAO 45 2019-03-23 NULL

2) Defina uma Surrogate Key em um banco de Dados. Dê um exemplo que demonstre uma situação na
qual é recomendável a aplicação do conceito.
R - É a chave que substitui a chave original dos dados, normalmente sendo uma chave numérica
sequencial.

3) Quem inventou o conceito “Star Schema”? Qual a diferença entre Star Schema e Snow Flake?

R–

4) Qual diferença do OLTP com OLAP?


R- OLTP é o sistema transacional da empresa, os dados estçao organizados para atender a
funcionalidade da empresa, o OLAP é o sistema analítico, os dados são organizados para gerar
informações que permitam analise e visualização dos mesmos
SSIS - Integration Services
1) Você precisa efetuar a transferência de dados entre duas tabelas que estão no mesmo servidor e
banco de dados via SSIS. Os pacotes são executados de outro servidor e sabe-se da existência de
lentidão de rede entre os servidores.

Qual a melhor solução para otimizar a carga?


A ( ) Utilizar DataFlow Source e Destination com a opcao "Rows Per Batch" limitado a 10000
B ( ) Configurar o "Maximun Insert Commit Size" para 500
C ( ) Efetuar a carga usando a task “Merge Join” do SSIS nos relacionamentos mais complexos
D ( ) Executar a transferência via SQL Task, chamando uma stored procedure

2) Você está desenvolvendo um pacote SQL Server Integration Services (SSIS) que importa dados em um
DataWarehouse. Você tem os seguintes requisitos:
 Tabela de destino deve conter todos os dados das duas tabelas de origem.
 Mesmo os registros duplicados devem ser inseridos na tabela de destino.

Quais dos objetos abaixo devem ser substituídos pela caixa “em branco” da figura abaixo?
A ( ) Merge Join
B ( ) Derived Column
C ( ) Union
D ( ) Union All

3) Quais são os 3 grupos de componentes de um Data Flow?

A ( ) Foreach Loop, Flat File Source e Derived Column


B ( ) Source, Transformation e Destination
C ( ) SQL Task, Script Task e Conditional Split
D ( ) Connection Manager, Package Configuration e Slowly Changing Dimension

4) Qual a diferença entre Control Flow e Data Flow?


SSAS – Analysis Services
1 - As roles do __________ do Analysis Services definem o acesso administrativo ou leitura dos usuários
e grupos do Windows para um cubo.
A ( ) Database
B ( ) Server
C ( ) Deploy
D ( ) Nenhuma das mencionadas

2 - O _______ attribute é o atributo em uma dimensão que identifica as colunas na tabela de dimensão
principal que são usados em relações de chave estrangeira para a tabela fato.
A ( ) Dim
B ( ) Key
C ( ) Named
D ( ) Nenhuma das mencionadas

3 - Quando você inclui uma dimensão many-to-many, é necessário aplicar a seguinte regra:
A ( ) Você deve adicionar um “Measure Group” intermediário
B ( ) Você deve adicionar acesso “Admin” aos usuários que irão consultar os dados da many-to-many
C ( ) Você deve adicionar uma Fact Dimesion
D ( ) Todas as mencionadas

4 - Quais as vantagens de particionar um Cubo?


A ( ) Economia de espaço em disco
B ( ) Agilidade no desenvolvimento do Cubo
C ( ) Ganho de performance de consulta e processamento
D ( ) Todas as mencionadas

5 - Você está criando um cubo SQL Server Analysis Services (SSAS). Você precisa criar uma “Time
Dimension”e ela deve estar associada a um measure group de Vendas no nível de granularidade “Day”.
O cubo também deve conter um measure group de Salário no nível de granularidade “Month”. O que
você deveria fazer?

A ( ) Criar várias dimensões. Em seguida, adicionar cada dimensão ao cubo.


B ( ) Criar uma dimensão. Em seguida, adicionar uma dimensão no cubo e vinculá-lo várias vezes às
measure groups.
C ( ) Criar uma dimensão. Criar um relacionamento “Regular” entre a dimensão e a measure group e
configurar relacionamentos para utilizar diferentes atributos da dimensão
D ( ) Criar uma dimensão com uma hierarquia de atributo. Definir a propriedade “IsAggregatable” para
False e em seguida, usar uma relação “Regular” entre a Dimension e a measure group
6 - Você está criando um MDX para calcular a “receita projetada” em um cubo. Para o “Cliente A”, a
receita é definida como 150% do total de vendas e para todos os outros clientes como 110% do total de
vendas. Você precisa calcular a receita projetada da forma mais eficiente quanto possível. Qual cálculo
que você deve usar? (Mais de uma opção de resposta pode estar correta. Escolha a melhor resposta)
() A
()B
() C
() D

7 - Indique a declaração errada:


A ( ) A cláusula WHERE descreve o eixo slicer em uma consulta MDX
B ( )A sintaxe MDX distingue conjuntos ao redor de tuplas ou membros com chaves
C ( ) consultas MDX podem ter três eixos de consulta na instrução SELECT
D ( ) Nenhuma das mencionadas
8 – Qual a diferença entre NON EMPTY e NONEMPTY em MDX?
R-
SSRS – Reporting Services
1 – Qual a diferença entre uma Matrix e uma Table?
A ( ) Não existe diferença entre os objetos
B ( ) Apenas a Table permite o agrupamento de dados
C ( ) Apenas a Matrix permite agrupamento de colunas
D ( ) A Table não é capaz de fazer consultas MDX

2 – Como criar um Drillthrough?


A ( ) Adicionando uma nova Table ou Matrix ao report existente
B ( ) Desenvolvendo um novo relatório e criando um “Action” no relatório principal
C ( ) Efetuando o deploy de um outro arquivo .rdl no servidor de relatórios
D ( ) Adicionando um novo DataSet ao report em questão para buscar os dados necessários para o
SubReport
PBI – Power BI
1 - No Power BI é possível utilizar fontes SQL? Quais são as diferenças entre "DirectQuery" e "Import"?
Sim, o Direct Query mantem o

2 - O Power Query Editor permite alterar a estrutura de uma fonte SQL? Justifique sua resposta.
Não permite alterar a fonte, mas permite manipular internamente o conjunto de dados recebidos
criando colunas com qualquer mudança necessária, por exemplo dividir uma coluna em duas, realizao o
unpivot das informações , etc,

3 - Qual a diferença entre os comandos DAX "SUM" e "SUMX"?


O SUM ira realizar a soma dos dados de uma coluna, o SUMX ira totalizar uma coluna usando o filtro de
outra coluna

4 - Qual a função dos comandos "DATEADD", "DATESYTD" e "TOTALMTD", exemplifique via DAX.
DATEADD – Soma (ou subtrai se for passado parâmetro negativo) a uma determinada data conforme o
parâmetro, ou seja, posso adicionar, dias, meses, semanas, etc.
EXEMPLO: DATANOVA = DATEADD([origem].[data], -4, MONTH)

DATESYSTD – Retorna o conjunto de datas ate uma data expecificada


EXEMPLO: DATA = DATASYSTD ([datalimite])

TOTALMTD -

PS. Assumi que o separador está configurado como virgula

5 - É possível criar regras de acesso dentro da solução Power BI em nível de linha? Se sim, explique.

Sim, é possível usando RLS, mas sendo sincero nunca usei este recurso, apenas sei que existe

Potrebbero piacerti anche