5. Linguagem SQL Flashcards

(41 cards)

1
Q

Quando dizem que a linguagem SQL é declarativa, o que isso quer dizer?

A

Quer dizer que os detalhes de implementação dos comandos são deixados para o SGBD.

Em SQL, você declara o que você quer e o SGBD vai achar os dados pra você no banco, caso existam.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Os comandos CREATE, ALTER, DROP e TRUNCATE são referentes a que sublinguagem de SQL?

A

DDL (data DEFINITION language), pois cruam, modificam e excluem objetos de bancos de dados

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qual o único comando da DQL (data query language)?

A

SELECT

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

INSERT, SELECT, UPDATE, DELETE e MERGE são exemplos de comandos de que sublinguagem de SQL?

A

DML (data MANIPULATION language), pois trabalham com a manipulação de dados armazenados

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

COMMIT, ROLLBACK e SAVEPOINT são exemplos de comandos de que sublinguagem de SQL?

A

DTL (data TRANSACTION language), usados para transações de dados

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

GRANT e REVOKE são comandos usados em que sublinguagem do SQL?

A

DCL (data CONTROL language), controlam permissões de controle de acesso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que a cardinalidade de uma tabela diz sobre ela?

O que é uma tabela com cardinalidade 0 (zero)?

A

Cardinalidade = número de linhas

Cardinalidade 0 = tabela vazia

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que quer dizer grau de uma tabela?
É possível ter uma tabela de grau 0 (zero)?

A

Grau = número de colunas

Não é possível ter grau zero, pois uma tabela deve ter o mínimo de 1 coluna.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qual a diferença entre CHAR e VARCHAR(XX)?

A

CHAR = número de finido de caracteres

VARCHAR = número variável de caracteres

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O que acontece, numa tabela SQL, se eu digitar PIADA num campo definido como CHAR(20)?

A

O campo será preenchido com PIADA + 15 caracteres vazios

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

As restrições FOREIGN KEY e REFERENCES servem para quê?

A

Servem para fazer a ligação entre duas tabelas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

A restrição CHECK serve para quê?

A

Serve para limitar o intervalo de valores que podem ser inseridos

Ex: CHECK (idade>=18) para maiores de idade

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qual a diferença entre os comandos DROP e TRUNCATE?

A

DROP = apaga a tabela inteira

TRUNCATE = apaga tudo o que tá escrito na tabela, mas mantém a estrutura da tabela

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Para que um usuário possa executar o comando SELECT em uma view, não é necessário que ele tenha esse privilégio diretamente na view, mas apenas na tabela a que a view faz referência.

Certo ou errado?

A

Errado.
Precisa ter o privilégio de fazer select na view.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O que são stored procedures?

A

Comandos que encapsulam tarefas repetitivas, feitos para otimização do banco de dados

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

O que é um trigger?

A

Um conjunto de instruções SQL que são executados automaticamente sempre que determinado evento ocorrer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

O que significa a instrução abaixo?

CREATE ROLE analista; GRANT create table TO analista; GRANT analista TO pedro WITH GRANT OPTION

A

A instrução:

  1. Criou o papel (role) de analista,
  2. Concedeu o privilégio de criar tabelas ao papel de analista
  3. Concedeu todas as autorizações dadas ao papel da analista a Pedro.
  4. deu a Pedro permissão para delegar suas permissões de acesso
18
Q

O que fazer, numa tabela ALUNO, onde há alunos de várias cidades e elas se repetem, se eu quiser somente as cidades?

A

Usar SELECT DISTINCT, que vai eliminar os duplicados

19
Q

O que fazer para um trigger substituir a instrução que o originou, sendo a instrução original descartada e apenas o trigger sendo executado?

A

Descrevê-lo como INSTEAD OF (ao invés de BEFORE ou AFTER)

20
Q

Uma view pode existir de forma física e permanente?

A

Não
Uma view é sempre temporária e nunca armazenada de forma física

21
Q

O operador NULL retorna o número de colunas nulas?

A

Não.
É o operador IS NULL que retorna isso

22
Q

O que é uma variável FLOAT(9,3)?

A

É um número de 9 dígitos com 3 casas decimais

23
Q

Como é o código para criar uma nova tabela aluno, com nome, CPF (chave primária), sexo e cidade?

A

CREATE TABLE ALUNO (
NOME VARCHAR(50) NOT NULL ,
CPF INT PRIMARY KEY
SEXO CHAR(1) NOT NULL
CIDADE VARCHAR(50) NOT NULL);

A estrutura é sempre:
CREATE TABLE [NOME DA TABELA] ( [abre aspas e põe cada coluna com a estrutura]:
NOME DA COLUNA TIPO DE DADO RESTRIÇÕES
) ; [ponto e vírgula]

24
Q

Qual a sintaxe para inserir uma coluna nova numa tabela? E para excluir uma coluna?

A

ALTER TABLE [nome da tabela]
ADD COLUMN [especificar nome da coluna, tipo de dado e restrições]

Para excluir:

ALTER TABLE [nome da tabela]
DROP COLUMN [nome da coluna]

25
A constraint PRIMARY KEY junta duas outras. Quais?
Junta NOT NULL (valores não podem ser nulos) e UNIQUE (valores têm que ser diferentes entre si)
26
O que acontece se eu tentar modificar uma coluna colocando a restrição UNIQUE (ALTER TABLE [nome da tabela] ADD UNIQUE [nome da coluna]); , mas já tiverem dois valores iguais nela?
O SGBD retornará um erro e não alterará a tabela
27
Como o ON DELETE CASCADE se relaciona com a presença de foreign key?
ON DELETE CASCADE é uma cláusula que obriga a exclusão dos registros correspondentes das tabelas filhas (que tem uma foreign key) antes de excluir algo que é uma chave primária da tabela pai
28
Como eu faço para inserir o nome, cidade e o CPF de um novo aluno na tabela ALUNO?
INSERT INTO ALUNO (NOME, CIDADE, CPF) VALUES (valor do nome do aluno, valor da cidade, valor do CPF)
29
Qual a sintaxe para modificar/atualizar registros de nome e cidade de uma tabela Aluno com primary key = CPF?
UPDATE ALUNO SET NOME = [nome que se quer colocar], CIDADE = [cidade que se quer colocar] WHERE CPF = [o CPF que já está na tabela]
30
Qual a diferença entre a sintaxe SELECT*FROM ALUNO e SELECT NOME, CPF FROM ALUNO ?
* retorna todas as colunas da tabela Para retornar colunas específicas de uma tabela, é preciso especificá-las
31
No código: SELECT DATA DE NASCIMENTO AS DN, O que significa quando aparece esse AS no código SQL?
Quer dizer que foi dado à seleção um nome temporário (como se fosse um apelido, um "Alias") No caso, a coluna data de nascimento recebeu o Alias DN
32
No comando SELECT NOME FROM TABELA 1, TABELA 2, sendo que só há nomes em uma dessas tabelas, o que acontecerá?
Dará os nomes do PRODUTO CARTESIANO das tabelas 1 e 2. Então, no mínimo, daria nomes duplicados (Para corrigir, poderia comandar SELECT DISTINCT para ter os nomes só uma vez)
33
Qual a diferença entre INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL OUTER JOIN?
INNER JOIN: retorna a intersecção LEFT JOIN: retorna a tabela da esquerda + a intersecção RIGHT JOIN: retorna a tabela da direita + a intersecção FULL OUTER JOIN: retorna todos os registros quando há uma correspondência na tabela da esquerda ou da direita
34
Qual a sintaxe do comando SELECT com JOIN?
SELECT NOME DA COLUNA desejada FROM tabela1 JOIN tabela2 ON TABELA1.NOME COLUNA = TABELA2.NOME COLUNA
35
O que quer dizer o comando SELECT PEDIDOS.ID PEDIDO, CLIENTES.NOME CLIENTE FROM PEDIDOS INNER JOIN CLIENTES ON PEDIDOS.ID CLIENTE = CLIENTES. ID CLIENTE ?
Retorna a ID do pedido e o nome do cliente a partir da junção das tabelas pedido e cliente, onde existir correspondência entre os nomes dos clientes presentes nas duas tabelas
36
O que diz o comando SELECT*FROM ALUNO WHERE CIDADE = BRASÍLIA ?
Dá todas as colunas de cada aluno que mora em Brasília
37
O que quer dizer o comando SELECT finger FROM hand WHERE id=3?
Dedo do meio hahaha
38
Qual a diferença entre SELECT NOME FROM TABELA WHERE NOME... LIKE 'A%' LIKE '%A' LIKE '%IO% LIKE'_A%' LIKE'%A_' ?
LIKE 'A%' = valores que começam com A LIKE '%A' = que terminam em A LIKE '%IO% = que tenham IO em qualquer posição LIKE'_A%' = que tenham 1 caractere e depois a letra A LIKE'%A_' = que termine em A+1 caractere
39
Que comando usar quando se quer mostrar os resultados em ordem ascendente/descendente?
ORDER BY [coluna] ASC / DESC;
40
Além de tabela e data base, o que mais o comando CREATE pode criar?
Pode criar VIEW, INDEX, TRIGGER e STORED PROCEDURE
41
O comando select faz uma seleção da álgebra relacional?
Não. O select faz uma PROJEÇÃO se quiser uma seleção da álgebrarelacional, é a condição WHERE