Escolar Documentos
Profissional Documentos
Cultura Documentos
PARTE I
3. Comente entre os conceitos e diga se existe uma relação, caso existe descreva:
a) Base de Dados e Sistemas de Gestão de base de dados.(0.75 V)
R:Base de Dados é uma colecção organizada de dados; esses dados são organizados
de modo a modelar aspectos do mundo real, para que seja possivel efectuar
processamento que gere informações relavantes para usuários a partir desses dados,
enquanto que o SGBD é um programa ou conjunto de programas de software que
permitem a criação e a manutenção de uma base de dados bem como o acesso à
mesma por parte de todos os seus utilizadores. Podemos relacionar a BD e o SGBD,
pois uma vez definido o SGBD teremos a criação, manutenção, a protecção e a
evolução da BD, isto é, “a vida” da BD é em torno dum SGBD, etc.
b) Arquivos de dados e arquivo de logs.(0.75 V)
R: Uma database é uma estrutura formada por pelo menos dois arquivos: um
para armazenamento de dados (Master Data File, extensão .MDF) e outro
reservado para o log de transações (Log Data File, extensão .LDF).
Os arquivo de dados: contêm dados e objectos, como tabelas, índices,
procedimentos armazenados e exibições(visões), isto é, utilizados para
armazenar os dados e os diversos objectos da base dados, enquanto que os
arquivos de logs armazenam os registros das operações efectuadas nos dados
da base de dados, isto é, contêm informações necessárias para recuperar todas
as transações na base dados.Relacionando este dois conceitos consta que O log
de transações é um componente crítico da base de dados e, houver uma falha
do sistema, será necessário que o log de transações retorne a base de dados a
um estado consistente.
c) Arquivo de dados e Filegroups. (0.75 V)
R: Filegroup é uma estrutura lógica definido dentro da base de dados que
mapea a base de dados e os seus objectos para os data file. Relacionando estes
dois conceitos consta que a utilização de um Filegroup permite que os
arquivos de dados duma base de Dados sejam agrupados para facilitar o
gerenciamento, bem como a distribuição ao longo de volumes redundantes e
de melhor desempenho.
PARTE II
c) Selecione código, nome, salario, comissao, em seguida somar o sal e a comissão para
obter o salario mensal para Vendedor.(1.5 V)
select codigo,nome,salario,comissao, salario+ISNULL(commissao,0) as
salario_mensal from Vendedor
OR
select codigo,nome,salario,comissao, salario+commissao as
salario_mensal from Vendedor
d) Apresente uma visão que tenha o número do pedido, a data de entrega, o nome do
cliente e o seu contacto. (1.5 V)
create view vw_dados as
select p.numero as nr_pedido , p.prazoEntrega as data ,c.nome asNome,
co.numero as contacto
from pedido p, cliente c, contacto co
where p.codigoCliente=c.codigo and
c.codigo=co.codigoCliente
--Modo de executar
select * from vw_dados
e) Crie uma função para imprimir o número total de pedidos de um cliente cujo número
é fornecido como parâmetro da função. A função deve lançar uma expceção caso o
nome fornecido não estiver na tabela cliente. (1.5 V)
f) Criar uma trigger que evita que sejam inseridos novos clientes na tabela Clientes, da
Base De Dados em causa, em que a cidade seja igual a Matola, Quelimane. Esta
trigger verifica se o campo de cidade é igual a Matola ou Quelimane. Em caso
afirmativo, um Rollback será chamado para cancelar a inserção do registo, caso
contrário a transação será concluída. (2.5 V)
create trigger TgExcluiMatolaQuelimane
on cliente
for insert
AS
if exists(select * from inserted where cidade
IN('Matola','Quelimane'))
begin
print'Nao pode ser inserido pois, cidade em causa!!!!'
ROLLBACK
end
else
print 'Pode inserir pois nao faz parte!!!!!'
-- Modo de executar
insert into cliente (codigo,nome,endereco,cidade) values
(6,'Antonio','Rua 15 hulene A','Quelimane');
Bom Trabalho