Questões de Concurso Sobre banco de dados
Foram encontradas 16.281 questões
Em um sistema de banco de dados orientado a objetos, cada objeto independente armazenado no banco de dados tem geralmente uma identidade única implementada por meio de um identificador de objeto único gerado pelo sistema. A principal propriedade de um identificador de objeto é que ele seja imutável ao longo de sua existência.
Estruturas de objetos complexos podem ser construídas recursivamente, aplicando-se um conjunto de construtores básicos como tuple, set, list e bag.
Uma restrição importante das entidades de um tipo entidade é a chave ou restrição de unicidade. Um tipo entidade tem, geralmente, um ou mais atributos, denominado atributo-chave, cujos valores são distintos para cada uma das entidades do conjunto de entidades e podem ser usados para identificar cada entidade univocamente.
A restrição de integridade de entidade estabelece que nenhum valor de chave primária e chave estrangeira pode ser nulo. Se houver valores nulos para as chaves, então não será possível identificar alguma tupla.
Atributos derivados são atributos cujos valores estão relacionados aos atributos armazenados. Como exemplo, tem-se o atributo idade, que está relacionado ao atributo data de nascimento; assim, armazena-se o atributo data de nascimento e o atributo idade é derivado do atributo armazenado.
A propriedade de durabilidade de uma transação estabelece que, uma vez completada a transação com sucesso, todas as atualizações realizadas no banco de dados persistirão, até mesmo se houver uma falha de sistema após a transação ser completada.
O gerenciamento de transações deve prever a manutenção da atomicidade de todos os atributos ou campos da transação. Um domínio é atômico se elementos desse domínio são considerados indivisíveis.
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.
O privilégio INSERT não pode ser utilizado para se especificar uma lista de atributos, pois qualquer inserção na relação deve referir-se a todos os atributos. Também não há atributos nulos em tuplas e em registros de uma tabela.
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.
O desempenho das consultas depende de quais índices ou esquemas de hash existem para acelerar o processamento de seleções e junções. Porém, durante operações de inclusão, exclusão ou atualização, a existência de índices acrescenta uma sobrecarga que é compensada pelo ganho em eficiência por meio da aceleração das consultas e das transações.
Para otimizar a consultas, devem-se construir tantos índices primários ou clustering quantos forem os tipos de consultas com atributos diferentes.
Um índice pode ser construído com base em um ou em múltiplos atributos. Se múltiplos atributos de uma tabela forem envolvidos em um conjunto de diversas consultas em um banco de dados, justifica-se criar um índice de múltiplos atributos. O índice supõe que as consultas sejam embasadas em uma ordem igual às restrições da cláusula de seleção.
(
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.