Foram encontradas 1.550 questões
Resolva questões gratuitamente!
Junte-se a mais de 4 milhões de concurseiros!
A fragmentação horizontal divide uma relação segundo seus atributos, mantendo somente alguns atributos da relação. A fragmentação vertical de uma relação é um subconjunto das tuplas que pertencem a um fragmento especificado por uma condição sobre um ou mais atributos da relação.
A normalização de dados é o processo da análise de determinados esquemas de relações com base em suas dependências funcionais e chaves primárias. Esse processo visa alcançar as propriedades desejáveis de maximização da redundância e de minimização das anomalias de inserção, exclusão e atualização.
Um atributo Y possui uma dependência funcional do atributo X se, para cada valor do atributo X, existe exatamente um único valor do atributo Y. A dependência funcional é representada por

Quando um esquema de relação tem mais de uma chave, cada uma delas é denominada chave-candidata, e, nesse caso, deve-se decompor a relação com base nas dependências funcionais até que somente uma chave primária permaneça na relação.
Normalmente um objeto é criado por algum programa de aplicação em execução, pela chamada da operação construtor do objeto. Nem todos os objetos criados são armazenados permanentemente no banco de dados. Os objetos persistentes terminais existem durante a execução do programa e desaparecem quando o programa termina. Os objetos transitórios são armazenados no banco de dados e continuam a existir após o término do programa.
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.