1 / 18

Bases de Dados

Bases de Dados. Aula 2 SGBD e Arquitectura ANSI/SPARC Transacções. 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

kai-clayton
Download Presentation

Bases de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Cod_Func = 1234 Nome = Luis Mota Salário = 120 Cod_Func = 1234 Nome = Luis Mota Salário = 130 Cod_Func = 1234 Nome = Luis Mota Salário = 110

  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> … <OPERAÇÕES SOBRE A BD> … SAVEPOINT <Y> … <OPERAÇÕES SOBRE A BD> … 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 … <OPERAÇÕES SOBRE A BD> … COMMITPOINT … <OPERAÇÕES SOBRE A BD> … 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… END TRANSACTION BEGIN TRANSACTION … END TRANSACTION BEGIN TRANSACTION … START SUBTRANSACTION… STARTSUBTRANSACTION … 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

More Related