5. Linguagem SQL Flashcards

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

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
Q

A constraint PRIMARY KEY junta duas outras. Quais?

A

Junta NOT NULL (valores não podem ser nulos) e UNIQUE (valores têm que ser diferentes entre si)

26
Q

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?

A

O SGBD retornará um erro e não alterará a tabela

27
Q

Como o ON DELETE CASCADE se relaciona com a presença de foreign key?

A

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
Q

Como eu faço para inserir o nome, cidade e o CPF de um novo aluno na tabela ALUNO?

A

INSERT INTO ALUNO (NOME, CIDADE, CPF)
VALUES (valor do nome do aluno, valor da cidade, valor do CPF)

29
Q

Qual a sintaxe para modificar/atualizar registros de nome e cidade de uma tabela Aluno com primary key = CPF?

A

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
Q

Qual a diferença entre a sintaxe SELECT*FROM ALUNO
e
SELECT NOME, CPF FROM ALUNO
?

A
  • retorna todas as colunas da tabela

Para retornar colunas específicas de uma tabela, é preciso especificá-las

31
Q

No código:
SELECT DATA DE NASCIMENTO AS DN,
O que significa quando aparece esse AS no código SQL?

A

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