A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aula 2 SGBD e Arquitectura ANSI/SPARC Transacções

Apresentações semelhantes


Apresentação em tema: "Aula 2 SGBD e Arquitectura ANSI/SPARC Transacções"— Transcrição da apresentação:

1 Aula 2 SGBD e Arquitectura ANSI/SPARC Transacções
Bases de Dados Aula 2 SGBD e Arquitectura ANSI/SPARC Transacções

2 Sistema de Gestão de Base de Dados
Com o SGBD aparecem novos conceitos: Modelo de dados Busca de um modelo que traduza a estrutura lógica dos dados, que satisfaz os requisitos do Sistema de Informação - Modelo Conceptual Modelo da Base de Dados - Modelo Físico, dependente do SGBD Metadados Informação sobre os dados, guardada numa entidade conhecida por Dicionário de Dados São várias as técnicas e modelos utilizados de acordo com a tecnologia a aplicar: hierárquico; rede; relacional; object-oriented;...

3 Sistema de Gestão de Base de Dados
O Sistema de Gestão de Base de Dados é o conjunto de software destinado a gerir todo o sistema de armazenamento e manipulação de dados, fazendo o interface entre o nível aplicacional e a base de dados propriamente dita; Esconde do nível aplicacional os detalhes do armazenamento físico dos dados e permite às aplicações um elevado grau de abstracção.

4 Arquitectura ANSI/SPARC
O American National Standards Institute (ANSI) através do Standards Planning and Requirements Committee (SPARC) estabeleceu um padrão para o desenvolvimento de tecnologias de base de dados, definindo uma arquitectura de 3 níveis independentes: Interno Conceptual Externo

5 Arquitectura ANSI/SPARC
Aplicações Dados Interno Conceptual Externo SGBD

6 Arquitectura ANSI/SPARC
Conceptual Nível Interno Refere-se ao armazenamento físico dos dados, organização de ficheiros, métodos de acesso e organização das estruturas físicas; Deve ser organizado para permitir um melhor desempenho nas operações que previsivelmente se realizem com maior freuquência

7 Arquitectura ANSI/SPARC
Nível Conceptual é também designado por esquema conceptual; Refere-se ao modelo conceptual dos dados, independente dos utilizadores e das aplicações; Constitui a estrutura da base de dados; É o nível que permite esconder os detalhes do armazenamento físico dos dados, do nível aplicacional

8 Arquitectura ANSI/SPARC
Nível Externo Refere-se à independência programa/dados; Como cada utilizador não necessita de trabalhar com a totalidade do esquema conceptual, o SGBD permite definir para cada um, uma view, que determina a janela de dados com que necessita de trabalhar; Este conceito aplica-se também às aplicações

9 Arquitectura ANSI/SPARC
O SGBD define o interface entre o 3 níveis da arquitectura, atravé dos mapeamentos necessários, armazenando no dicionário de dados (DD) a informação relativa a cada nível; Assim é possível alterar a estrutura ou características de um nível, sem ter de proceder a alterações ao nível superior; Todas as acções se suportam nos conceitos de: Independência Física - alterações ao nível interno não se repercutem no nível conceptual: Independência Lógica - alterações no nível conceptual não se repercutem nas views do nível externo.

10 Conceito de Transacção
Sendo a missão do SGBD servir de intermediário entre o nível aplicacional e a base de dados, torna-se esta responsável por manipular directamente os dados e garantir a sua validade. As operações sobre a base de dados só fazem sentido se forem executadas como um todo, pois só assim é possível validar se o resultado é válido. Surge assim o conceito de transacção pois todas as tarefas de gestão da base de dados vivem à custa deste conceito.

11 Transacções Conjunto bem definido de operações sobre a Base de Dados, com as seguintes características: Atomicidade - as operações que constituem uma transacção formam um conjunto indivisível (atómico): Ou terminam com sucesso - COMMIT Ou são todas desfeitas - ROLLBACK Integridade - caso envolva actualização de dados, uma transacção deverá levar a Base de Dados de um estado de integridade para outro estado de integridade;

12 Mudança de Estado Sucedida Mudança de Estado não Sucedida
Cod_Func = 1234 Nome = Luis Mota Salário = 120 Salário = 130 Mudança de Estado Sucedida Cod_Func = 1234 Nome = Luis Mota Salário = 120 Salário = 110 Mudança de Estado não Sucedida

13 Transacções Isolamento - se várias transacções ocorrerem em simultâneo, não devem as mesmas interferir entre si, tendo cada uma a ilusão de ser a única a ser executada; Persistência - todos os efeitos de uma transacção bem sucedida tornam-se persistentes e visíveis para as outras transacções;

14 Tipos de Transacções Flat Transaction (tudo ou nada) - mais simples e mais comuns, consistem em delimitar o conjunto de operações que as constituem (via nível aplicacional) Ex: BEGIN TRANSATION …. <OPERAÇÕES SOBRE A BD> END TRANSACTION /* Faz o COMMIT */ BEGIN TRANSACTION Para cada cliente Ler TOTAL_COMPRAS Ler PREMIOS PREMIOS=PREMIOS+0,1 *TOT_COMPRAS Escrever PREMIOS END TRANSACTION

15 Tipos de Transacções SAVEPOINTS TRANSACTION
BEGIN TRANSACTION <OPERAÇÕES SOBRE A BD> SAVEPOINT <X> SAVEPOINT <Y> END TRANSACTION /* FAZ COMMIT*/ Torna-se assim mais fácil reiniciar (rollforward) ou desfazer (rollback) a partir de um SAVEPOINT

16 Tipos de Transacções CHAINED TRANSACTIONS BEGIN TRANSACTION <OPERAÇÕES SOBRE A BD> COMMITPOINT END TRANSACTION /* FAZ COMMIT*/ Torna-se mais fácil reiniciar (rollforward) ou desfazer (rollback) a partir de um COMMITPOINT, reduzindo-se a amplitude das operações de rollforwars e rollback.

17 Tipos de Transacções NESTED TRANSACTIONS São as mais flexíveis e definem uma hierarquia de subtransacções, que podem ser flat ou nested transactions; Cada subtransacção pode desfazer-se ou finalizar; O commit de cada subtransacção só é efectivo após a transacção-pai ter finalizado; Os resultados de uma subtransacção só são visíveis para a sua transacção-pai; Quando uma subtransacção é desfeita, todas as suas subtransacções são desfeitas também.

18 Esquema representativo de NESTED TRANSACTIONS
BEGIN TRANSACTION START SUBTRANSACTION … STARTSUBTRANSACTION … END TRANSACTION BEGIN TRANSACTION END TRANSACTION BEGIN TRANSACTION START SUBTRANSACTION … STARTSUBTRANSACTION END TRANSACTION BEGIN TRANSACTION END TRANSACTION BEGIN TRANSACTION START SUBTRANSACTION … END TRANSACTION BEGIN TRANSACTION END TRANSACTION BEGIN TRANSACTION END TRANSACTION Esquema representativo de NESTED TRANSACTIONS


Carregar ppt "Aula 2 SGBD e Arquitectura ANSI/SPARC Transacções"

Apresentações semelhantes


Anúncios Google