Compilação perguntas téoricas

Propaganda
BASE DE DADOS - TEÓRICA
(a 1ª pergunta dos exames!)

Explique o processo global de desenvolvimento de uma aplicação contendo uma Bases de
Dados, tendo em particular consideração as diferentes fases da modelação dos dados.
Etapas de modulação de uma Base de Dados

Um dos conceitos fundamentais em sistemas de bases de dados é o conceito de transacção.
Explique este conceito, bem como as suas características mais importantes. Apresente três exemplos
típicos de transacções.
Transação é um dos conceitos mais importantes num sistema de base de dados. Praticamente todas as tarefas
de gestão de base de dados vivem à custa deste conceito. Um exemplo típico é a transferência de valores entre
duas contas bancárias: Debitar de A e creditar em B. Onde, só a execução conjunta produz um resultado válido.
Por definição, uma transacção é um conjunto de operações sobre a base de dados, perfeitamente delimitado,
que exibe algumas características importantes:
– Atomicidade (Atomicity) – o conjunto de operações que constituem uma transacção formam um grupo
indivisível (atómico), no sentido em que ou todas elas são executadas com sucesso ou nenhuma é executada.
– Consistência (Consistency) – uma transacção, se envolver actualização de dados, deve transportar a base de
dados de um estado de integridade para outro estado também de integridade.
– Isolamento (Isolation) – apesar de as transacções executarem concorrentemente, o sistema deve dar a cada
transacção a ilusão de que é a única a executar no sistema
– Executa isoladamente das outras.
– Durabilidade (Durability) – o sistema deve assegurar que todos os efeitos provocados por uma transacção
bem sucedida se tornam persistentes na base de dados e visíveis para as outras transacções.

Diga o que entende por integridade de uma base de dados. Diga, também, o que entende por
stored procedure e trigger, bem como de que forma julga que estes dois “instrumentos” podem
contribuir para a integridade de uma base de dados.
Uma base de dados está num estado de integridade se, e só se, contiver apenas dados válidos. Os dados
armazenados devem estar de acordo com a realidade. Um Trigger permite que uma determinada sequência de
comandos SQL seja accionada quando um determinado evento ocorre. O evento pode ser INSERT, UPDATE, ou
DELETE. O trigger pode ser accionado mediatamente antes (BEFORE) ou imediatamente depois (AFTER) de cada
evento. Stored Procedures são o semelhante a subrotinas desenvolvidos noutras linguagens de programação
mas que são guardados no servidor. Aceitam parâmetros de entrada e retornam resultados. Isto é, como
qualquer subprograma, um procedimento permite a passagem de parâmetros de entrada e de saída, aceitando
valores e devolvendo algum tipo de resultado à entidade que o invocou, que pode ser um outro procedimento,
um gatilho ou mesmo uma aplicação externa cliente. Retornam, também, um valor de status indicando se
aconteceu um erro, e qual foi. Stored Procedures são basicamente blocos de instruções SQL compiladas num
único plano de execução.
Propósitos/Vantagens
Diminuição do tráfego na rede: A execução destes programas no seio de um servidor permite reduzir
substancialmente o tráfego de rede provocado por aplicações que solicitem ao servidor a execução de
instruções SQL. O servidor passa a ser assim não só servidor de dados, mas também servidor de programas para
a manipulação dos dados.
Programação por módulos: Um Stored Procedure após ser guardado na BD, pode ser invocado várias vezes
(recursivo) num programa. Pode também ser alterado sem que haja necessidade de alterar em todos os lados.
Execução mais rápida: Se uma operação tem muitas instruções T-SQL e/ou é executada muitas vezes, os stored
procedures conseguem ser mais rápidos, pois são compilados e optimizados no momento da sua criação.
Segurança: Pode ser dada permissão aos utilizadores para executar um stored procedure, mesmo que não
tenham permissão para utilizar o mesmo código directamente através de um editor.

No contexto do modelo relacional de bases de dados, quais os objectivos da normalização de
dados? De que forma o processo de normalização poderá afectar, posteriormente, o desempenho da
respectiva implementação?
A normalização é um processo sistemático, com um conjunto de regras bem definidas que visa eliminar
fontes de redundância nos dados. Esta redundância tem problemas associados que a normalização visa eliminar,
tipo: - problemas de manutenção; - custos do espaço de armazenamentos; - e, obviamente, problemas no
desempenho da própria Base de Dados.
O processo de normalização ocorre através de um conjunto de fases que conduzem a Base de Dados a estados
onda a redundância se torna cada vez menor. A cada um destes estados dá-se o nome de Forma Normal (FN).
Uma relação diz-se que está na Primeira Forma Normal (1FN) quando: Não contém atributos multivalor, nem
contém grupos repetitivos. Uma relação diz-se que está na Segunda Forma Normal (2FN) quando: Está na
Primeira Forma Normal (1FN) e todos os atributos não chave mas dependem funcionalmente da totalidade da
chave. Uma relação diz-se que está na Terceira Forma Normal (3FN) quando: Está na Segunda Forma Normal
(2FN) e todos os atributos não chave nem dependem funcionalmente uns dos outros.

Em termos de desenvolvimento e manutenção de sistemas, compare as facilidades obtidas
pela utilização de tecnologia de bases de dados relativamente aos sistemas de gestão de ficheiros.
Dados são apenas elementos ou valores discretos que, isoladamente, não têm qualquer valor, só se
transformando em informação quando analisados de alguma forma. Com o evoluir do tempo e das tecnologias,
a gestão informática de dados passou da técnica de gestão de ficheiros para modernos sistemas de Base de
Dados
Utilizando sistemas de gestão de ficheiros, as organizações começaram por automatizar algumas tarefas
até aí realizadas manualmente. Estes sistemas surgiram no panorama informático das organizações sem
qualquer relação com os sistemas já existentes, constituindo assim “ilhas isoladas” entre si.
Os dados como são actualizados independentemente pelas respectivas aplicações, existe uma grande
probabilidade de ocorrência de incoerências – redundância não controlada.
Outra consequência grave deste tipo de gestão de dados: o acesso concorrente aos dados partilhados
tem de ser feito ao nível das aplicações, utilizando funções de baixo-nivel disponibilizadas pelo sistema
operativo – o que vem por em causa a fiabilidade dos próprios sistemas.
Os sistemas de bases de dados surgem como tentativa de resolver estes problemas. A abordagem pelos
sistemas de bases de dados tem uma característica fundamental – os dados são organizados num único
conjunto. Isto é, em vez de estarem separados por várias unidades independentes, os dados encontram-se
integrados numa só unidade (lógica) de armazenamento.
Todos os acessos aos dados passam sempre por uma entidade designada Sistema de Gestão de Bases de
Dados (SGBD), que centraliza em si o acesso físico à base de dados.
A interface lógica entre o nível aplicacional e a base de dados é conseguida à custa do armazenamento na base
de dados, não só dos dados propriamente ditos, mas também das suas descrições (metadados), numa entidade
conhecida por dicionário de dados (também chamado catálogo).
Download