Filtrar


Questões por página:
Suponha a tabela ENSINO, descrita abaixo em SQL.
Create table ENSINO (matr integer not null, disciplina varchar(50) not null, professor varchar(60) not null, nota numeric(3,1), primary key (matr, disciplina));
Considere que sobre esta tabela existem as seguintes dependências funcionais não triviais, e apenas estas:
matr, disciplina professor, nota professor disciplina
Para cada forma normal apresentada abaixo, assinale com V (verdadeiro), se a tabela estiver nessa forma normal ou F (falso), se não estiver.
( ) Segunda Forma Normal ( ) Terceira Forma Normal ( ) Forma Normal Boyce-Codd
A ordem correta de preenchimento dos parênteses, de cima para baixo, é
Considere uma empresa multinacional de TI, com sedes em diferentes países do mundo, cujos empregados estão distribuídos por essas sedes, desempenhando diferentes funções. Tal empresa precisa determinar quais empregados poderiam preencher posições em diferentes projetos. Com esse propósito, a empresa definiu as tabelas EMPREGADOS, POSICOES e PROJETOS especificadas a seguir em SQL (padrão SQL2 ou superior), e populou-as com instâncias, conforme a sequência de comandos INSERT abaixo.

I - select * from empregados natural join posicoes natural join projetos;

II - select * from empregados left join posicoes using (funcao) left join projetos using (codp);

III- select * from empregados join posicoes using (funcao) right join projetos using (codp);

IV - select * from empregados join posicoes using (funcao) cross join projetos;


Assinale a alternativa que apresenta, na ordem correta (de cima para baixo), o número de instâncias resultante de cada comando SELECT.
As tabelas ALUNOS, MATRICULAS e DISCIPLINAS a seguir representam os alunos de um curso, as disciplinas oferecidas e as matrículas de alunos nas disciplinas. As definições SQL (padrão SQL2 ou superior) destas tabelas estão especificadas abaixo.
Create table ALUNOS (matr char(2) not null primary key, nome varchar(60) not null);
Create table DISCIPLINAS (codd char(5) not null primary key, nomed varchar(60) not null);
Create table MATRICULAS (matr char(2) not null, codd char(5) not null, nota numeric(3,1), primary key(matr, codd), foreign key(matr) references ALUNOS, foreign key (codd) references DISCIPLINAS);
Observe as instâncias abaixo das tabelas ALUNOS e MATRICULAS.


Considere a seguinte consulta SQL, que segue o padrão SQL2 (ou superior).
Select nome From ALUNOS NATURAL JOIN MATRICULAS WHERE nota >7 GROUP BY matr, nome HAVING COUNT(distinct nota) >1 ;
A consulta SQL acima retornará:
Dada uma instalação de um sistema de gerência de dados baseado em SQL (padrão SQL2 ou superior), suponha que o administrador do banco de dados tenha criado os usuários U1, U2, U3 e U4 com os privilégios default do sistema. Suponha que o usuário U1 é dono da tabela TAB1 e deseja conceder privilégios de acesso a essa tabela para outros usuários. Considere os comandos abaixo executados pelos usuários U1 e U2 na sequência especificada (1, seguido de 2, seguido de 3).
1 – USUÁRIO U1 executa o comando GRANT SELECT, INSERT ON TAB1 TO U2 WITH GRANT OPTION; 2 – USUARIO U2 executa o comando GRANT SELECT ON TAB1 TO U3; 3 – USUARIO U1 executa o comando REVOKE INSERT ON TAB1 FROM U2;
Assumindo que os comandos acima, na sequência especificada, executaram sem erros, considere cada situação abaixo, assinalando V (verdadeiro) se o usuário tem a permissão de realizar o comando especificado, ou F (falso) se não tem essa permissão.
( ) usuário U3 consulta a tabela TAB1 usando o comando SELECT ( ) usuário U3 insere uma tupla na tabela TAB1 usando o comando INSERT ( ) Usuário U2 concede o privilégio de consultar a tabela TAB1 ao usuário U4 usando o comando GRANT
A sequência correta de preenchimento dos parênteses, de cima para baixo, é
Quanto ao modelo de transações definido no padrão SQL (SQL2 ou superior), assinale com V (verdadeiro) ou F (falso) as afirmações abaixo.
( ) O comando SET TRANSACTION define as propriedades da próxima transação a ser executada e não tem efeito sobre transações já em execução. ( ) O comando ROLLBACK desfaz todas as mudanças realizadas sobre a base de dados, sempre desde o início da transação. ( ) Entre as propriedades que podem ser definidas em um comando SET TRANSACTION, estão o nível de isolamento e o nível de acesso.
A sequência correta de preenchimento dos parênteses, de cima para baixo, é