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

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

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

Apresentações semelhantes


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

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

2 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;... Sistema de Gestão de Base de Dados

3 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. Sistema de Gestão de Base de Dados

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 Dados Interno Conceptual Externo SGBD Aplicações

6 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 Conceptual Arquitectura ANSI/SPARC

7 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 Arquitectura ANSI/SPARC

8 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 Arquitectura ANSI/SPARC

9 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. Arquitectura ANSI/SPARC

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 Cod_Func = 1234 Nome = Luis Mota Salário = 120 Cod_Func = 1234 Nome = Luis Mota Salário = 130 Mudança de Estado Sucedida Cod_Func = 1234 Nome = Luis Mota Salário = 120 Cod_Func = 1234 Nome = Luis Mota 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 …. … 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 … … SAVEPOINT … … SAVEPOINT … … 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 … … COMMITPOINT … … 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 BEGIN TRANSACTION … START SUBTRANSACTION … STARTSUBTRANSACTION … STARTSUBTRANSACTION … END TRANSACTION BEGIN TRANSACTION … START SUBTRANSACTION … END TRANSACTION BEGIN TRANSACTION … START SUBTRANSACTION … END TRANSACTION BEGIN TRANSACTION … END TRANSACTION BEGIN TRANSACTION … END TRANSACTION BEGIN TRANSACTION … END TRANSACTION BEGIN TRANSACTION … END TRANSACTION Esquema representativo de NESTED TRANSACTIONS


Carregar ppt "Bases de Dados Aula 2 SGBD e Arquitectura ANSI/SPARC Transacções."

Apresentações semelhantes


Anúncios Google