33
1 Luís Paulo Reis 1 1 FEUP FEUP 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 2 2 FEUP FEUP 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

“SISTEMAs DE GESTÃO DE BASE DE DADOS” Luís Paulo Reislpreis/ib2004/documents/sgbd_Slides.pdf · O SGBD deve garantir que todas as solicitações do utilizador bem como factores

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

33

Luís Paulo Reis

6565FEUPFEUP

Utilização do Access XP

• Criação de:– Tabelas– Consultas– Formulários– Relatórios

• Construção de Aplicações Completas