Upload
trankien
View
214
Download
0
Embed Size (px)
Citation preview
1
Luís Paulo Reis
11FEUPFEUP BASE DE DADOS
Bases de Dados
“SISTEMAs DE GESTÃO DE BASE DE DADOS”
Luís Paulo Reis
ANO LECTIVO 2001/2002
Luís Paulo Reis
22FEUPFEUP
Sistemas de Informação
• Sistemas de Informação e organizações• Informação e Informação nas
organizações• Sistemas de Informação (SI)• Planeamento e Desenvolvimento de SI
2
Luís Paulo Reis
33FEUPFEUP
ORGANIZAÇÃO E ARMAZENAMENTO DE DADOS
• Quando se refere à organização e armazenamento de dados necessariamente teremos de definir em que consiste uma base de dados.
- “Um sistema cuja finalidade é registar, actualizar, manter edisponibilizar a informação útil para a actividade de uma organização”.
• A organização e armazenamento de dados está subentendida a nívelinterno da arquitectura ANSI/ SPARC (American National Standards Institute/ Standards Planning and Requirements Committee)
- “Que se refere ao armazenamento físico dos dados (organização deficheiros, métodos de acesso), isto é, a definição das estruturas físicas garantindo assim um excelente desempenho”.
BASE DE DADOS
Luís Paulo Reis
44FEUPFEUPORGANIZAÇÃO E ARMAZENAMENTO DE DADOS
• Um sistema de bases de dados é composto por dois componentesfundamentais:
- Estrutura lógica e física através da qual a informação é organizada; - Sistema de gestão de base de dados (SGBD) que assegura a gestão
da informação.• O SGBD gere os acessos à base de dados e permite:
- Definir dados; - Manipular dados (ler, modificar, apagar, inserir); - Implementa segurança e integridade;- Implementa concorrência e recuperação de dados.
• As transações que (consistem em várias interrogações e operações), a qualquer instante requerem os serviços do SGBD, sendo necessário que essas operações nomeadamente a consulta e actualização de dados sejam eficientes.
BASE DE DADOS
3
Luís Paulo Reis
55FEUPFEUP
MÉTODOS DE ACESSO E ORGANIZAÇÃO DE FICHEIROS
• O ficheiro é um conceito que está relacionado com o armazenamento de dados em memória secundária.• No que diz respeito aos tipos de ficheiros existem vários, tais como:
- Ficheiros ditos não estruturados - Ficheiros ditos estruturados
No contexto especifico de base de dados o tipo de ficheiro mais relevante designa-se por ficheiro estruturado. Este ficheiro permite organizar os dados de forma a descrever conceitos presentes no mundo real.• Exemplo: Num dado contexto um Arbitro é definido pelos seguintes campos: - Cod_Arbitro, - Nome_Arbitro, - Categoria_Arbitro,
- Anos_Experiência, - Associação_Arbitro
BASE DE DADOS
Luís Paulo Reis
66FEUPFEUP
MÉTODOS DE ACESSO E ORGANIZAÇÃO DE FICHEIROS
• Os ficheiros encontram-se armazenados em blocos do disco que por sua vez, armazenam um ou vários registos. Sendo o bloco uma unidade de base de acesso à memória secundária podemos afirmar que em cada acesso são transferidos os vários registos de um ficheiro.• O SGBD contem diversas organizações de ficheiros de forma a poder responder às várias situações possíveis.
• Existem dois métodos de acesso: - Sequencial e - Aleatório Quanto à organização de ficheiros existem três organizações:
- Ficheiros Sequenciais- Ficheiros Indexados- Ficheiros Directos/ Hashing
BASE DE DADOS
4
Luís Paulo Reis
77FEUPFEUP BASE DE DADOS
SGBD
“Programas que permitem gerir e manipular
B. D. em que os dados são estruturados com
independência relativamente às aplicações
que os manipulam.”
Luís Paulo Reis
88FEUPFEUP BASE DE DADOS
SGBD
SGBD:
-Cria um nível de abstracção elevado ao utilizador.
-Esconde detalhes do armazenamento físico dos dados.
-Permite ao utilizador distanciar o mais possível da máquina.
5
Luís Paulo Reis
99FEUPFEUP BASE DE DADOS
ARQUITECTURA ANSI/SPARC
- Cria padrão para o desenvolvimento B. D.
- 3 níveis independentes:
-Nível Interno;
-Nível Conceptual;
-Nível externo;
Luís Paulo Reis
1010FEUPFEUP BASE DE DADOS
ARQUITECTURA ANSI/SPARC
Dados
Nível Interno
Nível Conceptual
Nível Externo
Nível Aplicacional
}-Níveis independentes
- Cada um descreve a B.D a um nível diferente de abstracção
6
Luís Paulo Reis
1111FEUPFEUP BASE DE DADOS
ARQUITECTURA ANSI/SPARC
NÍVEL INTERNO- Refere-se ao armazenamento de dados;
-Organização de ficheiros, métodos de acesso, etc.
-Objectivo:
-Proporcionar o melhor desempenho possível de todas as operações.
Luís Paulo Reis
1212FEUPFEUP BASE DE DADOS
ARQUITECTURA ANSI/SPARC
NÍVEL CONCEPTUAL-Representa – se o modelo conceptual dos dados independente de qualquer utilizador ou aplicação particular;
Ex: definição de campos de uma tabela ou relações entre elas
-Objectivo:
-Permitir esconder do N. Aplicacional a implementação física dos ficheiros de dados
7
Luís Paulo Reis
1313FEUPFEUP BASE DE DADOS
ARQUITECTURA ANSI/SPARC
- Corresponde à forma como os dados são apresentados ao utilizador final, através de interfaces gráficos proporcionado pelo SGBD.
- Utilizador final não necessita actuar sobre a totalidade do esquema conceptual;
- Apenas os interfaces e comandos necessários para realizarem as operações que sejam necessárias.
NÍVEL EXTERNO OU VISUALIZAÇÃO
Luís Paulo Reis
1414FEUPFEUP BASE DE DADOS
ARQUITECTURA ANSI/SPARC
- Possibilidade de alteração de um nível sem ter que obrigatoriamente alterar o outro nível superior;
-Independência Física dos Dados – Alteração ao esquema interno da B. D. , sem afectar o esquema conceptual (ex: substituição de disco).
-Independência Lógica dos Dados – Possibilidade de alterar o esquema conceptual sem ter de alterar o esquema externo*.
VANTAGENS DESTA ARQUITECTURA:
*a menos que haja eliminação de componentes no esquema conceptual, pode interferir no esq. Externo.
8
Luís Paulo Reis
1515FEUPFEUP BASE DE DADOS
TRANSACÇÃO
-TRANSACÇÃO – Conjunto de operações sobre a B. D., perfeitamente delimitado com algumas características:
-Atomicidade (Atomiticity);
-Integridade (Consistency);
-Isolamento (Isolation);
-Persistência (Durability).
O SGBD deve garantir que todas as solicitações do utilizador bem como factores externos ao sistema não ponham em causa a validade da B. D.
Luís Paulo Reis
1616FEUPFEUP BASE DE DADOS
-Atomicidade (Atomiticity) – O conjunto de
operações que constituem uma transacção formam um
grupo indivisível (atómico). No sentido em que todas
são executadas com sucesso (faz o commit) ou então
todas as acções são desfeitas (faz o rollback), dando a
ilusão de que nunca existiram.
CARACTERISTICAS DA TRANSACÇÃO
9
Luís Paulo Reis
1717FEUPFEUP BASE DE DADOS
CARACTERISTICAS DA TRANSACÇÃO
- Integridade (Consistency) – Durante a sua
execução a integridade da B. D. pode ser
momentaneamente violada mas no final a sua
integridade tem de ser assegurada.
Luís Paulo Reis
1818FEUPFEUP BASE DE DADOS
CARACTERISTICAS DA TRANSACÇÃO
- Isolamento (Isolation) – Quando são executadas várias
ao mesmo tempo, o sistema deve dar a ilusão de que é a
única a ser executada.
- O sistema deve evitar que estas interfiram entre si,
garantindo que o resultado final seja o mesmo como se
fossem executadas em conjunto.
10
Luís Paulo Reis
1919FEUPFEUP BASE DE DADOS
CARACTERISTICAS DA TRANSACÇÃO
- Persistência (Durability) – Os efeitos de
uma transacção executada com sucesso passam
a efectivos na B. D., só outra transacção
posterior poderá desfazer esses efeitos.
Luís Paulo Reis
2020FEUPFEUP BASE DE DADOS
TIPOS DE TRANSACÇÃO
- FLAT TRANSACTIONS;
- SAVEPOINTS;
- CHAINED TRANSACTIONS;
- NESTED TRANSACTIONS;
11
Luís Paulo Reis
2121FEUPFEUP BASE DE DADOS
TIPOS DE TRANSACÇÃO
- FLAT TRANSACTIONS –
-Só um nível de controlo ;
-Ou todas as operações sucedem ou nenhuma sucede;
-Limitadas.BEGIN TRANSACTION
... <operações sobre a B. D.>
...END TRANSACTION ( faz commit)
Luís Paulo Reis
2222FEUPFEUP BASE DE DADOS
TIPOS DE TRANSACÇÃO- SAVEPOINTS –
-Marca pontos intermédios;
-Divide transacção em várias partes;
-Permite desfazer (rollback) ou refazer (rollforward)
partes da transacção.
-Limitação: Falha na transacção, desfaz.
12
Luís Paulo Reis
2323FEUPFEUP BASE DE DADOS
TIPOS DE TRANSACÇÃO- SAVEPOINTS –
BEGIN TRANSACTION
... <operações sobre a B. D.>
...Save point <X>
... <operações sobre a B. D.>
...Save point <Y>
END TRANSACTION ( faz commit)
Luís Paulo Reis
2424FEUPFEUP BASE DE DADOS
TIPOS DE TRANSACÇÃO
- CHAINED TRANSACTIONS –
-Guarda pontos intermédios;
-Forma transacção com vários Commits;
-Em situações de falha evita perder toda a
transacção (último Commit).
13
Luís Paulo Reis
2525FEUPFEUP BASE DE DADOS
TIPOS DE TRANSACÇÃO- SAVEPOINTS –
BEGIN TRANSACTION
... <operações sobre a B. D.>
...COMMIT POINT
... <operações sobre a B. D.>
...COMMIT POINT
END TRANSACTION ( faz commit final)
Luís Paulo Reis
2626FEUPFEUP BASE DE DADOS
TIPOS DE TRANSACÇÃO
- NESTED TRANSACTIONS –
-A mais flexível;
-Hierarquia de transacções (subtransacções);
-Subtransacções = transacção, finalizada ou
desfeita autonomamente
14
Luís Paulo Reis
2727FEUPFEUP BASE DE DADOS
TIPOS DE TRANSACÇÃO
- REPRESENTAÇÃO NESTED TRANSACTIONS –
TA
TA1
TA1.1
TA3TA2
TA1.2 TA2.1
Luís Paulo Reis
2828FEUPFEUP BASE DE DADOS
TIPOS DE TRANSACÇÃO
- PRESSUPOSTOS NESTED TRANSACTIONS –
-Subtransacção pode desfazer ou finalizar. Commit será efectivo quando a transacção – pai terminar.
-O commit de cada subtransacção apenas torna visivel os efeitos à respectiva transacção – pai.
-Quando uma subtransacção é desfeita todas as outras o são também.
15
Luís Paulo Reis
2929FEUPFEUP BASE DE DADOS
TIPOS DE TRANSACÇÃO-NESTED TRANSACTIONS –
BEGIN TRANSACTION
...
START SUBTRANSACTION
...
START SUBTRANSACTION
...
START SUBTRANSACTION
...
END TRANSACTION
BEGIN TRANSACTION
...
START SUBTRANSACTION
...
START SUBTRANSACTION
...
END TRANSACTION
TA1
BEGIN TRANSACTION
...
END TRANSACTION
BEGIN TRANSACTION
...
END TRANSACTION
TA1.1
TA1.2TA2
TA3
TA2.1
TA
Luís Paulo Reis
3030FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
O SGBD TEM A RESPONSABILIDADE DE ASSEGURAR:
-SEGURANÇA;
-INTEGRIDADE DOS DADOS;
-CONTROLO DA CONCORRÊNCIA NOS ACESSOS;
-RECUPERAÇÃO/TOLERÂNCIA ÀS FALHAS;
-GESTÃO DO ARMAZENAMENTO DOS DADOS E DA INTERFACE
16
Luís Paulo Reis
3131FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
OBJECTIVO:
-Proteger de acessos não autorizados:
-Garantir acesso apenas a utilizadores autorizados de acordo com os seus privilégios;
-PERSPECTIVAS ASSUMIDAS:
-Segurança física;
-Segurança lógica;
SEGURANÇA
Luís Paulo Reis
3232FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
SEGURANÇA FÍSICA:
-Implica que o sistema esteja fora do alcance de pessoas não autorizadas;
-Hoje a dispersão dos meios e pontos de acesso, invalidam qualquer tentativa de impedir o acesso físico;
SEGURANÇA
17
Luís Paulo Reis
3333FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
SEGURANÇA LÓGICA:
-Definição de mecanismos lógicos de controlo de acesso (usernames, passwords, etc);
-Definição de (perfil de utilizador):
-Quem tem acesso;
-A que tem acesso;
-Como pode aceder;
*O perfil de utilizador fica armazenado no Dicionário de Dados, para validação do utilizador com a B. D.
SEGURANÇA
Luís Paulo Reis
3434FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
Outras medidas:
-Identificação do utilizador e operações realizadas durante a sessão ficam registadas;
-Situações em que a confidencialidade dos dados é de tal forma importante, a solução pode passar pela encriptaçãodos dados.
SEGURANÇA
18
Luís Paulo Reis
3535FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
Conjunto de regras (RESTRIÇÕES DE INTEGRIDADE)
que pretende evitar executar operações (actualização) que
conduzam a B. D. para estados não válidos.
Contribuindo assim para uma maior robustez do sistema.
INTEGRIDADE
Ex: “o preço de venda de um produto deverá ser superior ao seu custo”
Luís Paulo Reis
3636FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
Classificação em dois grupos:
Implícitas – restrições próprias de cada modelo B. D. . Impedem as actualizações que ponham em causa o funcionamento do próprio modelo.
Explícitas - restrições próprias da realidade modelada pela B. D. , independente do modelo que a vai suportar. São classificadas em 2 grupos restrições estáticas e dinâmicas.
RESTRIÇÕES DE INTEGRIDADE
19
Luís Paulo Reis
3737FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
Estáticas – São condições que se devem verificar em cada estado para que este possa ser considerado um estado de integridade. Ex: Salário de um funcionário deve ser superior ao salário mínimo.
Dinâmicas – Definem quais as transições de estado permitidas impedindo que transições inválidas ocorram. Ex: o salário de um funcionário nunca poderá decrescer, só aumentar.
RESTRIÇÕES EXPLÍCITAS
Luís Paulo Reis
3838FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
Ex: Salário de um funcionário deve ser superior ao salário mínimo.Ex: o salário de um funcionário nunca poderá decrescer, só aumentar.Ex: o salário mínimo=100
RESTRIÇÕES EXPLÍCITAS
Cod_func = 1234Nome = JoséSalário = 120
Cod_func = 1234Nome = JoséSalário = 130
Mudança de estado válida.
20
Luís Paulo Reis
3939FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
Ex: Salário de um funcionário deve ser superior ao salário mínimo.Ex: o salário de um funcionário nunca poderá decrescer, só aumentar.Ex: o salário mínimo=100
RESTRIÇÕES EXPLÍCITAS
Cod_func = 1234Nome = JoséSalário = 120
Cod_func = 1234Nome = JoséSalário = 110
Mudança de estado inválida.
Luís Paulo Reis
4040FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
Relaciona – se com a coordenação da partilha por várias
aplicações e utilizadores da B. D..
A ideia é garantir que cada utilizador ou aplicação interage
com a B. D. Como se fosse o único a utilizar os seus serviços.
As transacções podem ser executadas de 2 formas:
- Execução em série;
- Execução concorrente;
CONTROLO DA CONCORRÊNCIA
21
Luís Paulo Reis
4141FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
Execução em série- as transacções submetidas ao sistema são
executadas sequencialmente, só se inicia uma quando a anterior
tiver terminado.
-Não existe concorrência a nível dos acessos;
-Obtendo–se um nível baixo da utilização do sistema;
CONTROLO DA CONCORRÊNCIA
Luís Paulo Reis
4242FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
Execução concorrente – execução das várias transacções, combinando e
intercalando, quando possível, as suas operações de leitura e escrita na
B. D., no sentido de maximizar a utilização do sistema.
Execução concorrente – Objectivo:
-Maximizar o nível de concorrência entre transacções sem que estas
interfiram entre si;
-Necessário definir mecanismos de controlos que impeçam duas
transacções de acederem simultaneamente aos mesmos dados
envolvendo actualizações
CONTROLO DA CONCORRÊNCIA
22
Luís Paulo Reis
4343FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
Ts – tempo total de execução em série.Tc - tempo total de execução em concorrência.Ta – Instante de tempo intermédio para comparação
T1
T2
T3
T4Ta Ts tempo
Execução série de transacções
Luís Paulo Reis
4444FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
Ts – tempo total de execução em série.Tc - tempo total de execução em concorrência.Ta – Instante de tempo intermédio para comparação
T1
T2
T3
T4Ta Tc tempo
Execução concorrente de transacções
23
Luís Paulo Reis
4545FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
ESCALONAMENTOS SERIALIZADOS
-Sequência ou ordem em que são executadas as operações de leitura/escrita, do conjunto de transacções, é designada por escalonamento.
-escalonamento série – elimina a concorrência entre transacções.
- escalonamento serializado – traduz essa concorrência de uma forma segura.
Luís Paulo Reis
4646FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
ESCALONAMENTOS SERIALIZADOS
-Testar a serialização de escalonamento utilizam – se grafos de precedência.
- grafos de precedência - representações gráficas das dependências entre transacções (dependências I/O).
-Constituído por dois tipos de elementos:
-Nodos – Representando Transacções;
- Arcos orientados – representando dependências I/O
24
Luís Paulo Reis
4747FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
ESCALONAMENTOS SERIALIZADOS
Ti Tj
(E,n)
(E,1) – quando é criado(E,n) – num estádio intermédio (n) da sua evolução.
Se o grafo não contém ciclos, isto quer dizer que as transacções não produziram interferências entre si – escalonamento serializado
Luís Paulo Reis
4848FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
ESCALONAMENTOS SERIALIZADOS
Ti Tj
(E,n)
(E,1) – quando é criado(E,n) – num estádio intermédio (n) da sua evolução.
O grafo contém ciclos, isto quer dizer que as transacções produziram interferências entre si – escalonamento não serializado
(E,n)
(E,n+1)
25
Luís Paulo Reis
4949FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
Métodos de controlo da concorrência
-Utilizam mecanismos de locking;
-Utilizam mecanismos de etiquetagem;
-Métodos optimistas.
Os dois primeiros designam – se por métodos preventivos com o objectivo:
-Permitir a execução de transacções até onde for possível, evitando que interfiram entre si.
Luís Paulo Reis
5050FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
Métodos de controlo da concorrência
Métodos optimistas
- Têm por base o pressuposto de que as interferências entre transacções são raras.
-Deixar cada transacção executar livremente, quando está completa, o sistema verifica se o seu commit não traz problemas de serialização às outras transacções.
- Cada transacção tem associados dois conjuntos (write-set e read-set) correspondentes a todas as actualizações efectuadas sobre a B. D..
26
Luís Paulo Reis
5151FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
Métodos de controlo da concorrência
Métodos optimistas
-Quando finaliza os dois conjuntos vão ser comparados com os de todas as transacções activas no sistema.
-Se não houver elementos comuns, então a transacção pode terminar.
-Caso contrário é feito o seu rollback.
Luís Paulo Reis
5252FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
Métodos de controlo da concorrência
Métodos utilizando mecanismos de etiquetagem
-Consiste na atribuição de uma etiqueta com um valor a cada transacção;
-Existe conflito a transacção mais antiga (menor valor) tem prioridade;
-Outras envolvidas no conflito são desfeitas e reiniciadas, com outro valor de etiqueta;
27
Luís Paulo Reis
5353FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
Métodos de controlo da concorrência
Métodos utilizando mecanismos de locking
-Locks binários, que assume em cada momento, 1 de 2 estados:
-Locked – correspondendo a assumir o valor um (1)
-Unlocked - correspondendo a assumir o valor um (0)
Luís Paulo Reis
5454FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
CONTROLO DA CONCORRÊNCIA
Métodos de controlo da concorrência
Métodos utilizando mecanismos de locking
-A transacção antes de aceder (leitura ou escrita) aos dados, deve fazer o locking desse elemento;
-Podem existir várias transacções com locks de leitura sobre o mesmo elemento.
-Locks de escrita dão acesso exclusivo sobre o mesmo elemento;
-Não podem existir dois locks sobre o mesmo elemento, sendo um deles de escrita.
28
Luís Paulo Reis
5555FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
RECUPERAÇÃO/TOLERÂNCIA A FALHAS
-O SGBD terá de dispor de mecanismos que suportem a recuperação da B. D..
-Formas de Redundância/duplicação da B. D.
-Backups;
-Transaction logging;
Luís Paulo Reis
5656FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
RECUPERAÇÃO/TOLERÂNCIA A FALHAS
-São cópias de segurança executadas periodicamente;
-Reconstrução da B.D. para falhas graves;
-Permite recuperação limitada (periodicidade);
-Consumidor de recursos, obriga a paragem do sistema;
BACKUPS
29
Luís Paulo Reis
5757FEUPFEUP BASE DE DADOS
REQUISITOS FUNDAMENTAIS DO SGBD
RECUPERAÇÃO/TOLERÂNCIA A FALHAS
-Ficheiro especial que guarda os dados de transacções passadas;
-Elimina desvantagem de backup;
-Este e o Backup complementam – se;
TRANSACTION LOGGING
Luís Paulo Reis
5858FEUPFEUP BASE DE DADOS
-ABSTRACÇÃO DE DADOS – o utilizador não necessita conhecer como estão definidos os dados, o programador trabalha com um modelo abstracto de dados;
-INDEPENDÊNCIA PROGRAMA/DADOS;
-PARTILHA DE DADOS – S. G. F. Existe entidade centralizadora, no SGBD é da responsabilidade das várias aplicações;
-DIMINUIÇÃO DA REDUNDÂNCIA;
SGBD vs SISTEMAS DE GESTÃO DE FICHEIROS
30
Luís Paulo Reis
5959FEUPFEUP BASE DE DADOS
- CONTROLO NO ACESSO AOS DADOS – Identificação perante o sistema e definição de “vistas” parciais sobre os dados;
- INTEGRIDADE DOS DADOS – Definição de regras que traduzem a validade dos dados, permite que seja o sistema a corrigir os dados, no SGF essa responsabilidade cabe à aplicação;
- MECANISMOS DE RECUPERAÇÃO DE FALHAS – No SGF a sua fiabilidade não é totalmente garantida;
-QUESTÕES AD HOC – É possível ao utilizador em run – time obter respostas a questões, mesmo às mais complicadas
SGBD vs SISTEMAS DE GESTÃO DE FICHEIROS
Luís Paulo Reis
6060FEUPFEUP BASE DE DADOS
- ADMINISTRADOR DA B. D. :
– Responsável máximo pela B. D.;
- Especificação do esquema conceptual e manutenção;
- Controla a segurança
-UTILIZADORES FINAIS –
-Acedem ao sistema para consultar, alterar, adicionar e remover dados;
-Não podem alterar estrutura da B. D.;
-PROGRAMADORES –
-Desenvolvem aplicações que os utilizadores finais irão utilizar;
UTILIZADORES DO SGBD
31
Luís Paulo Reis
6161FEUPFEUP BASE DE DADOS
- LINGUAGEM DE DEFINIÇÃO DE DADOS (LDD);
-LINGUAGEM DE MANIPULAÇÃO DE DADOS (LMD);
-LINGUAGEM SQL – Structured Query Language
LINGUAGENS DE B. D.
Luís Paulo Reis
6262FEUPFEUP
Modelos de Dados
• Modelos de Dados:– Hierárquico– Em Rede– Relacional– Novos Modelos
32
Luís Paulo Reis
6363FEUPFEUP
Modelo Relacional
• Tabelas, Campos, Atributos, Tuplos, Registos
• Chaves: Super-Chave, Chave Candidata, Chave Primária, Chave Estrangeira
Luís Paulo Reis
6464FEUPFEUP
Modelização de Dados
• Modelo Entidade Relação (ER)– Entidades e Atributos– Relacionamentos 1:1, 1:N e N:M– Conversão do Modelo ER para uma
Base de Dados Relacional