Aula 4 - Sistemas Gerenciadores de Banco de Dados

1.605 visualizações

Publicada em

Aula 4 - Sistemas Gerenciadores de Banco de Dados, do curso Técnico de Informática - Pronatec Anhanguera

Publicada em: Educação
  • Seja o primeiro a comentar

Aula 4 - Sistemas Gerenciadores de Banco de Dados

  1. 1. Técnico em Informática Organização de Computadores Aula 4 – Sistemas Gerenciadores de Banco de Dados Prof. Vitor Hugo Melo Araújo
  2. 2. SGBD  Um SGBD (Sistema Gerenciador de Banco de Dados) consiste em uma coleção de dados inter-relacionados e em um conjunto de programas para acessá-los.  SGBDs são projetados para gerenciar grandes grupos de informações
  3. 3. SGBD  O gerenciamento envolve:  A definição de estruturas para o armazenamento da informação  O Fornecimento de mecanismos para manipular as informações  Quando vários usuários acessam os dados o SGBD precisa garantir a INTEGRIDADE dos dados, evitando resultados anômalos.
  4. 4. OBJETIVOS DE UM SGBD  Isolar os usuários dos detalhes mais internos do banco de dados (abstração de dados)  Prover independência de dados às aplicações (estrutura física de armazenamento e à estratégica de acesso)
  5. 5. OBJETIVOS DE UM SGBD Vantagens  Rapidez na manipulação e no acesso à informação  Redução no esforço humano (desenvolvimento e utilização)  Redução da redundância e da inconsistência de informações  Redução de problemas de integridade  Compartilhamento de dados  Aplicação automática de restrições de segurança  Controle integrado de informações distribuídas fisicamente
  6. 6. OBJETIVOS DE UM SGBD O grande objetivo de um SGBD é prover aos usuários uma visão ABSTRATA dos dados  O sistema omite certos detalhes de como os dados são armazenados e mantidos  Mas oferece mecanismos eficientes para BUSCA e ARMAZENAMENTO
  7. 7. ARQUITETURA GERAL DE UM SGBD Interface Processamento de Consultas Processamento de Transações Acesso a Arquivos Modelagem de Dados (“projeto estrutural”) Base de Dados SGBD
  8. 8. ABSTAÇÃO DE DADOS Mundo Real Modelo Conceitual (modelo abstrato dos dados) Sistema Médico  Independente do modelo de dados  Independente do SGBD Modelo Lógico (estrutura dos dados)  Dependente do modelo de dados  Independente do SGBD Médico Consulta Paciente CRM nome Relacional Orientado a Objetos Objeto-relacional Modelo Físico  Dependente do modelo de dados  Dependente do SGBD  Organisação física dos dados  Estruturas de armazenamento de dados  Índices de acesso Médico (CRM, Nome)
  9. 9. EXERCÍCIOS 1. Qual o objetivo da modelagem de um banco de dados? 2. Quais as etapas de um Projeto de Desenvolvimento de um Sistema de Banco de Dados? O que é feito em cada uma dessas etapas? 3. O que são modelos de dados? 4. Qual a diferença entre os modelos orientados a registro e os modelos orientados a objetos? Cite exemplos de cada um deles.
  10. 10. FUNÇÕES DE UM SGBD Instâncias e Esquemas  Os bancos de dados mudam a medida que informações são inseridas ou apagadas  A coleção de informações armazenadas é chamada de INSTÂNCIA do bando de dados (mudam com frequência)  O projeto geral do bando de dados é chamado ESQUEMA do banco de dados (não mudam com frequência)
  11. 11. INDEPENDÊNCIA DOS DADOS  O uso de banco de dados permite modificar o ESQUEMA dos dados em um nível sem afetar a definição do esquema em um nível mais alto. Isto é chamado de INDEPENDÊNCIA DOS DADOS. Projeto Conceitual Projeto Lógico Projeto Físico Níveis De Abstração Minimundo esquema instâncias
  12. 12. INDEPENDÊNCIA DOS DADOS  Existem 2 tipos de Independência  Independência física de dados: Habilidade de modificar o esquema físico sem a necessidade de reescrever os programas aplicativos  Estas modificações são necessárias para melhorar o desempenho  Independência lógica de dados: Habilidade de modificar o esquema conceitual sem a necessidade de reescrever os programas aplicativos  Estas modificações são necessárias quando a estrutura lógica é alterada. EX: Adição de um novo atributo
  13. 13. INDEPENDÊNCIA DOS DADOS  A independência lógica dos dados é a mais difícil de ser alcançada do que a independência física, pois os programas são bastante dependentes da estrutura lógica dos dados que eles acessam.
  14. 14. USUÁRIOS DO BANDO DE DADOS Programadores de Aplicativos:  São os usuários que escrevem os programas de aplicação através da DML (Linguagem de Manipulação de Dados) EX: Um sistema bancário são programas que geram cheques, fazem débito e crédito em contas, transferem fundos entre contas Usuários de alto nível:  Interagem com o sistema sem escrever programas  Formulam consultas em uma linguagem de consulta, e cada consulta é submetida a um processador de consulta, cuja função é gerar um comando da DML
  15. 15. USUÁRIOS DO BANDO DE DADOS Usuários especializados (especialistas)  Escrevem aplicativos especializados como sistemas especialistas Usuário ingênuos  Interagem com o sistema invocando os programas aplicativos. EX: um cliente do banco invocaria um programa para efetuar a transferência de R$50,00 da conta A para a conta B
  16. 16. USUÁRIOS DO BANDO DE DADOS Administrador do banco de dados:  Tem o controle central dos dados e dos programas de acesso aos dados
  17. 17. USUÁRIOS DO BANDO DE DADOS Funções do Administrador do banco de dados:  Definição do esquema  Definição de estruturas de armazenamento e métodos de acesso  Modificação de esquemas e de organização física  Concessão de autorização para acesso aos dados  Especificação de restrições de integridade
  18. 18. ESTRUTURA GERAL DO SGBD  Gerenciados de arquvos  Gerenciador do banco de dados  Processador de Consultas  Pré-compilador da DML  Compilador da DDL (Linguagem de Definição de Dados)  Arquivos de dados  Dicionário de dados  Índices
  19. 19. ARQUITETURA GERAL DE UM SGBD
  20. 20. ARQUITETURA DO SGBD Quanto a arquitetura o SGBD pode ser classificados dentre quatro tipos:  Arquitetura Stand-Alone (Sistema de Computador Pessoal)  Arquitetura Centralizada  Arquitetura Cliente-Servidor  Arquitetura Distribuída
  21. 21. ARQUITETURA STAND-ALONE  Os computadores pessoais trabalham em sistema stand-alone, ou seja, fazem seus processamentos sozinhos.  O SGBD roda na própria máquina.  No começo esse procedimento era bastante limitado, porém, com a evolução do hardware, tem-se PCs com grande capacidade de processamento  Eles funcionam como hospedeiro e terminais.  Desta maneira, possuem um único aplicativo a ser executado na máquina  A principal vantagem desta arquitetura é a simplicidade.
  22. 22. ARQUITETURA STAND-ALONE
  23. 23. ARQUITETURA CENTRALIZADA  Nessa arquitetura existe um computador com grande capacidade de processamento, o qual é o hospedeiro do SGBD e emuladores para os vários aplicativos.  Esta arquitetura tem como principal vantagem a de permitir que muitos usuários manipulem grande volume de dados.  Sua principal desvantagem esta no seu alto custo, pois exige ambiente especial para mainframes e soluções centralizadas.
  24. 24. ARQUITETURA CENTRALIZADA
  25. 25. ARQUITETURA CLIENTE-SERVIDOR  Nesse tipo de arquitetura o cliente (front end) executa as tarefas do aplicativo, ou seja, fornece a interface do usuário (tela, e processamento de entrada e saída)  O servidor (back end) executa as consultas no SGBD e retorna os resultados ao cliente.  Apesar de ser uma arquitetura bastante popular, são necessárias soluções sofisticadas de software que possibilitem: o tratamento de transações, as confirmações de transações (commits), desfazer transações (rollbacks), linguagens de consultas (stored procedures) e gatilhos (triggers)
  26. 26. ARQUITETURA CLIENTE-SERVIDOR  O servidor do bando de dados faz a verdadeira operação de busca e retorna somente os dados que preencham corretamente a consulta do usuário.  O sistema cliente servidor possui algumas vantagens como em arquitetura distribuída; são rápidos, pois as consultas são feitas em servidores de alta potência.  A maior desvantagem dessa arquitetura é que eles exigem que os dados sejam armazenados num único sistema
  27. 27. ARQUITETURA CLIENTE-SERVIDOR
  28. 28. ARQUITETURA DISTRIBUÍDA  Nesta arquitetura, a informação está distribuída em diversos servidores.  Cada servidor atua como no sistema cliente-servidor, porém as consultas oriundas dos aplicativos são feitas para qualquer servidor indistintamente.  Caso a informação solicitada seja mantida por outro servidor ou servidores, o sistema encarrega-se de obter a informação necessária, de maneira transparente para o aplicativo, que passa a atuar consultando a rede, independente de conhecer seus servidores, tanto os dados como as funções de processamento são distribuídos em diversos locais.
  29. 29. ARQUITETURA DISTRIBUÍDA
  30. 30. ARQUITETURA DISTRIBUÍDA  Nos sistemas distribuídos os dados podem estar replicados, ou seja, eles se repetem em cada nó da rede, o que aumenta a disponibilidade do banco, ou os dados podem estar fragmentados, ou seja, divididos por vários nós da rede, aumentando a velocidade pois permite processamento paralelo.  Dentre as vantagens dos sistemas distribuídos estão o menor risco de falhas, pois quando um nó falha, o trabalho é mantido pelos outros nós da rede entre e outras vantagens.  Como desvantagem essa arquitetura é mais complexa de ser implementada, e é mais propensa a falhas de segurança tendo em vista os dados estar espalhados em vários locais.
  31. 31. EXERCÍCIOS 1. O que é um SGBD, e qual sua principal função? 2. Umas das características de um SGBD é o gerenciamento de transações. O que é uma transação no contexto de banco de dados? 3. Explique cada uma das propriedades ACID do gerenciamento de transações do SGBD. a) Atomicidade: b) Consistência: c) Isolamento: d) Durabilidade: 4. Quando um SGBD executa um rollback? 5. Explique com suas palavras cada uma das características do SGBD. 6. Quais as principais arquitetura de SGBD? Aponte vantagens e desvantagens de cada um deles.
  32. 32. Técnico em Informática Organização de Computadores Aula 4 – Sistemas Gerenciadores de Banco de Dados Prof. Vitor Hugo Melo Araújo

×