Questões de Concurso
Comentadas sobre sql em banco de dados
Foram encontradas 3.247 questões
Quando uma transação é abortada, todas as mudanças que ocorreram no banco de dados devem ser desfeitas. Essa operação pode ser executada por meio do comando ROLLBACK da linguagem SQL.
Na linguagem SQL, o privilégio SELECT permite a consulta aos dados e o privilégio REFERENCES permite a declaração de chaves estrangeiras estabelecida pelo usuário.
A autorização UPDATE pode tanto ser conferida a todos os atributos da relação como a apenas um deles. Se houver autorização UPDATE em uma declaração GRANT, a lista de atributos estará escrita entre parênteses, imediatamente após a palavra-chave UPDATE.
(
id numeric(7,0),
nome varchar(50),
local varchar(150),
mnemonico varchar(10),
CONSTRAINT pk_sede PRIMARY KEY (id),
CONSTRAINT uq_sede UNIQUE (mnemonico)
);
CREATE TABLE salas
(
id numeric(7,0) NOT NULL,
local varchar(10),
descricao varchar(50),
area numeric(10,2),
CONSTRAINT pk_salas PRIMARY KEY (id),
CONSTRAINT fk_sede_sala FOREIGN KEY (local)
REFERENCES sede (mnemonico)
);
A expressão abaixo permite excluir um registro da tabela sede, desde que não exista registro de salas para essa sede.
delete from sede where id = 1.
(
id numeric(7,0),
nome varchar(50),
local varchar(150),
mnemonico varchar(10),
CONSTRAINT pk_sede PRIMARY KEY (id),
CONSTRAINT uq_sede UNIQUE (mnemonico)
);
CREATE TABLE salas
(
id numeric(7,0) NOT NULL,
local varchar(10),
descricao varchar(50),
area numeric(10,2),
CONSTRAINT pk_salas PRIMARY KEY (id),
CONSTRAINT fk_sede_sala FOREIGN KEY (local)
REFERENCES sede (mnemonico)
);
A consulta a seguir permite obter o nome da sede da escola, com a área da sala e sua descrição.
select nome, area, descricao from salas, sede where sede.local=salas.local
(
id numeric(7,0),
nome varchar(50),
local varchar(150),
mnemonico varchar(10),
CONSTRAINT pk_sede PRIMARY KEY (id),
CONSTRAINT uq_sede UNIQUE (mnemonico)
);
CREATE TABLE salas
(
id numeric(7,0) NOT NULL,
local varchar(10),
descricao varchar(50),
area numeric(10,2),
CONSTRAINT pk_salas PRIMARY KEY (id),
CONSTRAINT fk_sede_sala FOREIGN KEY (local)
REFERENCES sede (mnemonico)
);
Considerando o código acima, que utiliza a linguagem de definição de dados para criar as relações da sede e das salas de determinada escola, julgue o item que se segue.
A consulta abaixo apresentará como resultado o local da sede da escola, a área da sala e a descrição da sala que tem a maior área.
select c1.local, c1.nome, c2.descricao
from sede as c1,
(
select local, descricao, area from salas as c1
where area = (select max(area) from salas as c2 where area>0)
) as c2 where c2.local = c1.mnemonico;
A identificação de um esquema SQL inclui o nome e a autorização do usuário ou conta a que o esquema pertence, bem como os descritores de cada elemento.
Uma restrição de integridade referencial pode ser violada quando as tuplas forem inseridas ou excluídas, ou quando forem modificados os valores dos atributos referentes às chaves estrangeira ou primária. Todas as restrições devem ser nomeadas e o nome de cada uma das restrições de um catálogo, em particular, deve ser único.
Para os atributos das tabelas, não é possível criar domínios próprios de dados, mas é necessário utilizar dados padronizados, que podem ser do tipo numérico, cadeia de caracteres, cadeia de bits, boolianos, timestamp, date e time, blog e clog.
De acordo com o conceito de catálogo, as restrições de integridade, tal como a referencial, podem ser definidas entre as relações somente se existirem em esquemas dentro do mesmo catálogo.
fname lname age
Paulo Silva 53
Dara Carvalho 15
Fátima Silva 57
Tendo como referência a tabela acima, julgue o item seguinte, referente a SQL.
Em um comando SQL, a cláusula DISTINCT faz que sejam retornados apenas atributos exclusivos na consulta.
fname lname age
Paulo Silva 53
Dara Carvalho 15
Fátima Silva 57
Tendo como referência a tabela acima, julgue o item seguinte, referente a SQL.
O operador ROLLUP, quando combinado ao comando SQL SELECT com GROUP BY, no SQL Server 2008 R2, permite obter totais parciais e geral nos agrupamentos de colunas do tipo text.
fname lname age
Paulo Silva 53
Dara Carvalho 15
Fátima Silva 57
Tendo como referência a tabela acima, julgue o item seguinte, referente a SQL.
Os comandos SQL mostrados abaixo, executados no SQL Server 2008 R2, permitem criar duas tabelas temporárias: #temp1 e ##temp2, respectivamente, dos tipos local e global.
CREATE TABLE #temp1 (col1 INT PRIMARY KEY)
GO
CREATE TABLE ##temp2 (col1 INT PRIMARY KEY)
fname lname age
Paulo Silva 53
Dara Carvalho 15
Fátima Silva 57
Tendo como referência a tabela acima, julgue o item seguinte, referente a SQL.
O comando SQL mostrado abaixo, se executado no SQL SERVER 2008 R2, permite que se adicione uma coluna, col2, à tabela cliente.
ADD COLUMN col2 int NOT NULL ON TABLE cliente
fname lname age
Paulo Silva 53
Dara Carvalho 15
Fátima Silva 57
Tendo como referência a tabela acima, julgue o item seguinte, referente a SQL.
O comando SQL mostrado abaixo, construído a partir dos dados da tabela cliente e executado no PostgreSQL 8.2, retornará apenas um registro, concatenando os atributos fname e lname.
SELECT fname+lname FROM cliente WHERE age >56
fname lname age
Paulo Silva 53
Dara Carvalho 15
Fátima Silva 57
Tendo como referência a tabela acima, julgue o item seguinte, referente a SQL.
No Oracle 10g, é possível combinar, em uma mesma instrução SELECT do SQL, os argumentos HAVING e WHERE.
fname lname age
Paulo Silva 53
Dara Carvalho 15
Fátima Silva 57
Tendo como referência a tabela acima, julgue o item seguinte, referente a SQL.
O comando SQL mostrado abaixo, construído a partir dos dados da tabela cliente e executado no Oracle 10g, retornará apenas um registro.
SELECT fname FROM cliente WHERE SAL ^= 53
itens.
T1 (a, b, c, d)
T2 (d, e)
Considere que:
• os atributos sublinhados de forma contínua são chaves primárias de suas respectivas tabelas;
• todos os atributos em todas as tabelas são numéricos;
• o atributo d na tabela T1 é chave estrangeira do atributo d da tabela T2; e
• as tabelas T1 e T2, ambas inicialmente não contendo tuplas, tenham sobre elas executados, respectivamente, os seguintes comandos:
INSERT INTO T2
VALUES (10,40),(23,52),(60,37),(31,13),(45,54),(35,10);
INSERT INTO T1
VALUES (1,0,4,60),(2,3,5,35), (3,4,8,31),(4,21,6,60),(5,7,7,10), (6,9,21,31),(7,3,2,23),(8,6,5,45),(9,0,0,31),(10,1,8,60);
SELECT Y.e
FROM T1 X JOIN T2 Y ON X.d = Y.d
GROUP BY Y.e
HAVING max(c) > (SELECT avg(c) FROM T1 Y)
Quantas linhas há na tabela resultante da execução do comando SELECT?