AV2 Questionario Sobre SQLite Gabarito

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 6

Questionário sobre SQLite.

1 - O que significa SQL?


R: SQL significa Structured Query Language ou Linguagem de Consulta em
Banco de Dados. Ela é usada para acesso a banco de dados relacionais como
SQL Server, MySQL, Oracle, PostgreeSQL, entre outros.

2 - A linguagem SQL é a mesma em todos os bancos de dados?


R: Não. O SQL foi padronizado pela ANSI, contudo as empresas de banco de
dados tem autonomia sobre seus bancos e uma versão adaptada para cada
banco é comum encontramos. Mas boa parte dos comandos funcionam da
mesma forma.

3 - É possível usar SQL em todos os bancos?


R: Em tese sim. Todos os bancos relacionais a usam, mas há outras formas de
armazenar dados sem o uso de um software de banco relacional. Neste caso
não se aplicaria.

4 - O que é DML?
R: DML é Data Manipulation Language, ou Linguagem de Manipulação de
Dados. Faz parte os comandos usados para inserir (INSERT INTO), atualizar
(UPDATE), excluir (DELETE) e realizar consultas ao banco (SELECT). Eles
manipulam ou trabalham com os dados em si.

5 - O que é DDL?
R: DDL é Data Definition Language, ou Linguagem de Definição de Dados. Faz
parte os comandos usados para criar objetos no banco (CREATE), modificar as
estruturas de um objeto (ALTER) e apagar objetos (DROP).
Não lidam com os dados diretamente, mas prepara o ambiente para o uso deles.
6 - Os comandos SQL precisam ser escritos em letras maiúsculas?
R: Não, mas frequentemente encontramos exemplos assim. O motivo é
pedagógico e não técnico. Embora seja possível encontrar em muitos cenários
os comandos escritos em letras maiúsculas e os complementos dos comandos
em letras minúsculas.

7 - Comandos SQL podem ser escritos em uma única linha ou precisa ser
separado em várias linhas?
R: Pode ser colocado em várias linhas ou escritos em uma única linha. O que
finaliza um comando em SQL é o ponto-e-vírgula, portanto não importante se ele
está escrito em uma única linha ou em várias linhas.
É evidente que fica muito mais fácil de ler e empreender o código se ele for
escrito em várias linhas, respeitando a devida sintaxe do comando, mas para
efeito de execução, tanto faz.

8 - Para que serve o ponto-e-vírgula no final das linhas?


R: Como dito acima, serve para terminar um comando ou instrução SQL. Quando
você tem um único comando, pode-se executar sem o ponto-e-vírgula, já que
neste caso após encerrar este comando não há mais nada a fazer. Mas quando
há vários comandos é necessário incluir o ponto-e-vírgula para encerrar cada um
deles.

9 - Para que serve a PK (chave primária) e FK(chave estrangeira)?


R: Uma PK – Primary Key ou chave primária serve para identificar uma entidade
ou seja, permitir que o objeto seja identificado de forma única. Para isso, quando
um campo é marcado como PK o banco não permitirá que valores suplicados
sejam gravados ali.
Já a FK – Foreign Key ou chave estrangeira serve para identificar um objeto que
está sendo usado ou referenciado em outra tabela. Este é o princípio de banco
de dados relacionais. Uma chave estrangeira só poderá ser estrangeira se ela
for primária em outra tabela e a partir deste relacionamento o banco faz o
gerenciamento, inclusive impedindo que uma chave primária seja alterada ou
removida caso ela tenha referência com uma chave estrangeira.
10. É possível fazer uma subconsulta?
R: Sim. Subconsulta é uma consulta dentro de outra consulta e é usada quando
se deseja um refinamento bem maior da consulta. Deve-se tomar certo cuidado,
pois em alguns casos, pode se tornar a execução demorada. Veja um exemplo:
SELECT produto, quantidade, (SELECT sum(valor) from pedidos where
idProduto=produtos.idProduto) as total

11 - O que são funções de grupo?


R: São funções usadas para realizar agrupamento de valores em uma consulta.
Sempre que uma função de grupo for usada, deverá também ser usado o
GROUP BY conforme modelo abaixo.
SELECT produto, sum(valor) as total
FROM produtos
GROUP BY produto
Algumas funções:
 SUM – Soma valores de um campo
 AVG – Realiza a média aritmética dos valores de um campo
 COUNT – Conta a quantidade de registros

12 - O que são operadores lógicos?


R: O uso de um operador lógico faz com que duas condições tenham de produzir
um resultado único. Uma linha só poderá ser retornada se o resultado global da
condição for verdadeiro.
A tabela abaixo mostra os operadores lógicos disponíveis em SQL:
 AND Retorna TRUE se ambas as condições forem verdadeiras
 OR Retorna TRUE se uma das condições for verdadeira
 NOT Retorna TRUE se a condição seguinte for falsa
 No exemplo abaixo uma linha será retornada se o empregado for do
estado de SP e o seu salário maior que 2200.
 SELECT nome, salario, cidade, estado
 FROM empregados
 WHERE estado=***SP*** and salario > 2200
13 - O que são operadores matemáticos?
R: São os operadores tradicionais da matemática que podem ser usados em
expressões SQL para trabalhar com valores matemáticos. São eles:
 +(somar)
 -(subtrair)
 *(multiplicar)
 /(dividir)

14 - O que são operadores de comparação?


R: Os operadores de comparação são usados em condições que comparam uma
expressão a outro valor ou expressão. A tabela abaixo mostra os operadores:
 = Igual a
 > Maior que
 >= Maior ou igual a que
 < Menor que
 <= Menor ou igual a que
 <> Diferente de
Exemplo:
SELECT idEmpregado, nome, salario
FROM empregados
WHERE idEmpregado=8
No exemplo acima, usamos o igual para criar um filtro na cláusula where, este
filtro diz que os dados retornados deverão ser do código de empregado IGUAL
a 8.

15 - Como fazer consulta em duas ou mais tabelas ao mesmo tempo?


R: Para isso é necessário usar o operador JOIN (junção). Os operadores de
JOIN podem ser:
 CROSS JOIN
 INNER JOIN
 LEFT JOIN
 RIGHT JOIN
 FULL OUTER JOIN
Exemplo de INNER JOIN:
SELECT nome, modelo, cor, ano
FROM marcas INNER JOIN carros
ON carros.idMarca = marcas.idMarca

16 - O que é stored procedure?


R: Stored procedures ou procedimentos armazenados são instruções SQL que
podem ser gravadas no banco e chamadas a qualquer momento. Elas são úteis
quando uma instrução SQL é usada com muita frequência ou para a
padronização do acesso ao banco. Uma SP pode ser acessada por um aplicativo
externo.

17 - O que são visões?


R: View ou visão é uma tabela virtual no banco de dados. Em uma view
poderemos combinar dados de uma ou mais tabelas, inserir dados ou fazer
outras operações DML. Uma view não armazena os dados em si, ou seja, ela
sempre ficará dependente da tabela real.
Exemplo de criação de uma view:
CREATE VIEW fiat as
SELECT * FROM carros WHERE marca=***fiat***

18 - Consulta muito elaborada pode comprometer o desempenho do


banco?
R: Sim. Se for mal elaborada ela poderá trazer problemas para o bom
funcionamento do banco. Quando se usa diversas tabelas em uma mesma
consulta usando os operadores JOIN é necessário ter bastante cuidado e
observar a lógica do banco, relacionamento entre as tabelas, tamanho das
mesmas, entre outras coisas. Mas o fator que mais compromete o banco é uma
modelagem de dados mal feita.

19 - O que é SQL Injection?


R: São instruções SQL que são enviadas ao banco de dados por um invasor
SOS sistema com a finalidade de provocar algum dano. Existem situações,
especialmente em sistemas web onde as informações que são recebidas do
usuário, como formulário e parâmetros da URL podem vir acompanhadas de
códigos SQL colocados pelo próprio usuário ou invasor. Nesses casos a
recomendação e tratar as entradas de dados e eliminar esses códigos maliciosos
antes de enviar as instruções para o banco.

20 - Qual a importância de aprender SQL?


R: Eu a considero muito importante, pois seu uso não se limita a um banco
específico, logo, conhecer bem SQL significa muito para quem quer trabalhar
diretamente com banco de dados e para desenvolvedores de sistemas e web.

21 - No contexto do ambiente Android, considere as seguintes afirmativas


a respeito do SQLite.
I. Deve ser utilizado com o apoio de um servidor de bancos de dados
separado.
II. II. Suporta transações (ACID).
III. III. Sua instalação requer cuidados, haja vista o número de arquivos
que devem ser preparados. Está correto o que se afirma em:
R: Alternativas
a) somente I;
b) somente II;
c) somente III;
d) somente I e III;
e) I, II e III.

22 - Atualmente, diversos bancos de dados estão disponíveis aos mais


variados fins. Cada um com especificações, propósitos, modelos e
arquiteturas diferentes. Dentre eles, um se destaca como o mais popular
banco de dados Open Source do mundo, administrado atualmente pela
Oracle Corparation. De qual banco de dados trata essa referência?
R: Alternativas
a) NoSQL.
b) SQLite.
c) MySQL.
d) DB2.
e) PostgreSQL.

Você também pode gostar