Você está na página 1de 3

1/3

CENTRO UNIVERSITÁRIO DA GRANDE DOURADOS

Curso: Tecnologia em Análise e Desenvolvimento de Sistemas


Semestre: 3º
Disciplina: Banco de Dados II
ATIVIDADE AVALIATIVA ESPECIAL (AAE) 1 - referente as aulas 1 a 4
Professor: Felipe Pereira Perez
Aluno: Ricardo Antunes Cristovão
RGM: 343.5107
Pólo: Lisboa
Data: 31/05/2021
ORIENTAÇÕES
Cada Atividade respondida de forma correta terá até 2,5 pontos por anotação correta

1º) Qual a finalidade da utilização da cláusula COLLATE:


R: COLLATE é a maneira que o FIREBIRD utiliza para ordenar e/ou comparar strings no
banco de dados, é utilizada somente para as colunas (campos) que possuírem o tipo CHAR E
VARCHAR. Nada mais é que a codificação de caracteres existente no Banco de Dados.
Quando se realiza a migração do conteúdo de um banco de dados, algumas vezes, pode haver
conflitos no collation do banco migrado. 
 O resultado deste conflito é a ausência de caracteres especiais quando informações são
consultadas no banco.
 Por exemplo: Você cadastrou a palavra 'Chapéu' no seu banco de dados, mas quando a
programação do seu site busca este item, retorna o resultado 'Chap?u'.
 Ou seja, os caracteres com acentuação como (é, ã, õ, etc.) são substituídos pelo sinal '?'
(interrogação).

2º) Defina o que é Cálculo Relacional.


R: O Cálculo Relacional (CR) é uma linguagem de consulta formal. Utilizando-se de uma
expressão declarativa pode-se especificar uma consulta. Uma expressão de cálculo permite a
descrição da consulta desejada sem especificar os procedimentos para obtenção dessas
informações, ou seja, é não-procedural. Contudo, tal consulta deve ser capaz de descrever
formalmente a informação desejada, com exatidão.
Existem dois tipos: Cálculo Relacional de Tuplas (CRT) e Cálculo Relacional de Domínio
(CRD). Eles são subconjuntos simples de lógica de primeira ordem.
No Cálculo Relacional existem variáveis, constantes, operadores lógicos, de comparação e
quantificadores. As expressões de Cálculo são chamadas de fórmulas. Uma tupla de respostas
é essencialmente uma atribuição de constantes às variáveis que levam a fórmula a um estado
verdadeiro.
Em CRT, as variáveis são definidas sobre tuplas. Já em CRD, variáveis são definidas sobre o
domínio dos elementos (ou seja, sobre os valores dos campos).

3º) Sobre os Domínios(Domains) é correto afirmar:


a. Os Domínios são tipos de dados personalizados definidos a partir de um tipo de dados novo criado
pelo usuário;
b. Os Domínios são usualmente definidos antes da criação das tabelas, para que você possa utilizá-los
na criação das Stored-Procedures;
c. Os Domínios são tipos de dados personalizados definidos a partir de um tipo de dados já existente;
d. Uma vez que a coluna (campo) já esteja definida com um domínio qualquer alteração no domínio
não se reflete na coluna especificada com este tipo;
2/3

4º) Sobre Chaves Estrangeiras(Foreing Key) é correto afirmar:


a. Quando criamos os relacionamentos entre FK x FK entre as duas colunas(campos) das duas tabelas
teremos então assegurado a integridade do nosso banco de dados;
b. Em um relacionamento de chave estrangeira(FK) não é importante, pois ele não ajuda a manter a
integridade do banco de dados;
c. Quando definimos a nossa chave estrangeira(FK), exitem suas cláusulas opcionais ON ALTER e
ON DROP;
d. Quando Criamos os relacionamentos entre PK x FK entre as duas colunas (campos) das duas
tabelas teremos então assegurado a integridade do nosso banco de dados;

5º) Sobre a utilização do operador de Concatenação é correto afirmar:


a. O operador de concatenação, pode ser utilizado para unir dados de colunas, no Firebird você pode
criar novas colunas em uma instrução UPDATE;
b. Apenas as colunas do tipo CHAR e NUMERIC suportam a concatenação, visto que elas são as
únicas que fazem esta união dos campos;
c. Apenas as colunas do tipo CHAR e VARCHAR suportam a concatenação;
d. O operador de concatenação utilizado no Firebird é '%'. Ele é colocado antes do campo informando
o parâmetro a ser passado;

6º) Sobre as funções Agregadas do Firebird é correto Afirmar:


a. A consulta AVG permite retornar a média analítica de uma grupo de tuplas (linhas); A função
MAX retorna o máximo valore entre as tuplas (linhas) e a função Min retorna o mínimo valore
entre as tuplas (linhas).
b. A consulta AVG permite retornar a média ponderada de uma grupo de tuplas (linhas); A função
MAX retorna o máximo valore entre as tuplas (linhas) e a função Min retorna o mínimo valore
entre as tuplas (linhas).
c. A consulta AVG permite retornar a média aritmética de uma grupo de tuplas (linhas); A função
MAX retorna o máximo valore entre as tuplas (linhas) e a função Min retorna o mínimo valore
entre as tuplas (linhas). Podemos utilizar a cláusula Distinct para juntar os valores duplicados;
d. A consulta AVG permite retornar a média aritmética de uma grupo de tuplas (linhas); A função
MAX retorna o máximo valore entre as tuplas (linhas) e a função Min retorna o mínimo valore
entre as tuplas (linhas).

7º) Utilizando os conceitos de álgebra relacional qual o SQL para a operação abaixo:
Consulta = π nomevend,codsetor,salario(VENDEDOR)

a. SELECT NOMEVEND,CODSETOR,SALARIO FROM VENDEDOR


b. SELECT * FROM VENDEDOR WHERE NOMEVEND,CODSETOR,SALARIO
c. SELECT * FROM VENDENDOR
d. SELECT NOMEVEND,CODSETOR,SALARIO FROM VENDEDOR IS NOT NULL

8º) Em Algebra Relacional é incorreto afirmar sobre as operações SELECT e PROJECT


a. A operação Select é utilizada pra selecionar um subconjunto de tuplas de uma relação, sendo que
estas tuplas devem satisfazer uma condição de seleção;
b. Pensando na relação como uma entidade, operador Select seleciona algumas colunas da entidade
enquanto descartam outras. O operador Project, por outro lado, selecionas certas linhas da entidade
e descartam outras;
c. Outra característica do Project é que ele elimina tuplas repetidas;
d. A letra grega PI representa a operação Project e todos os operadores relacionais são aplicados na
cláusula Select.

9º) Concatene os campos da tabela CLIENTE (nome, endereço, email) e da tabela CIDADE (nomecid).
3/3

R:
SELECT NOME || ' / ' || ENDERECO || ' / ' || EMAIL || ' / ' || NOMECID FROM CLIENTE
INNER JOIN CIDADE ON CLIENTE.CODCID = CIDADE.CODCID

10º) Utilizando os conceitos de álgera relacional qual o SQL equivalente para a operação abaixo:
Consulta = π nomevend,codsetor,salario(σ (salario > 500).AND.(codsetor=”1”)(VENDEDOR))
a. SELECT * FROM VENDEDOR WHERE SALARIO=500 AND CODSETOR=1
b. SELECT NOMEVEND,CODSETOR,SALARIO FROM VENDEDOR WHERE SALARIO >500
AND CODSETOR=1
c. SELECT NOMEVEND,CODSETOR,SALARIO FROM VENDEDOR WHERE VENDEDOR IS
NOT NULL
d. SELECT * FROM VENDEDOR

Você também pode gostar