1 / 38

Banco de Dados - Introdução

Banco de Dados - Introdução. O que são Bancos de Dados. Coleção de dados que mantém relações entre si e estão armazenadas em algum dispositivo.

mira
Download Presentation

Banco de Dados - Introdução

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. Banco de Dados - Introdução

  2. O que são Bancos de Dados • Coleção de dados que mantém relações entre si e estão armazenadas em algum dispositivo. • Exemplos: Títulos de uma Biblioteca, Filmes de uma Videolocadora, Empregados de uma Empresa (mais informações de cargos, salários, etc.), Textos sobre um determinado assunto (BD Textuais), Imagens, Sons e Vídeos (BD Multimídia), etc.

  3. O que são Bancos de Dados • Um banco de dados apresenta algumas propriedades específicas: • É uma coleção de dados com semântica própria: Não há sentido em armazenar dados em um banco senão por isso! • É projetado, construído e povoado com o fim de atender a um propósito específico. • Representa um modelo do mundo real.

  4. O que são Bancos de Dados • Um banco de dados é referido, muitas vezes, por sua instância ou por seu esquema. • Instância: “Estado” de um BD em um determinado instante. Com as operações de atualização as instâncias vão mudando. • Esquema: “Forma” de um BD. É o projeto Geral do BD, incluídas organização e dependência dos dados, dispositivos de performance e segurança. • Por representar o aspecto mais volátil do BD, diz-se que a instância é uma visão em extensão dele. De maneira análoga, por representar seu aspecto mais estável, refere-se ao esquema como o BD visto em Intenção.

  5. BD ou Arquivos? Porque? • Vamos a um breve histórico • Até 1960: Sistemas de Arquivos Integrados – ISAM, VSAM (IBM).

  6. BD ou Arquivos? Porque? • Crítica: pouco encapsulamento. Os arquivos, como entidades “passivas”, não dispunham eles mesmos de propriedades ativas e os controles de segurança, concorrência, integridade e recuperação de falhas ficavam a cargo dos programas aplicativos. • Controle de segurança: Quem pode [ver/modificar/incluir/excluir] o que no BD.

  7. BD ou Arquivos? Porque? • Controle de interidade: O que está escrito precisa ser verdadeiro e válido no modelo. • Controle de concorrência: É necessário permitir que vários usuários tenham acesso às informações. • Recuperação de falhas: Se houver um problema, é necessário dispor novamente os dados com a garantia de que eles estão de acordo com as regras de integridade.

  8. BD ou Arquivos? Porque? • Se houvesse alguma modificação no modelo, como garantir que todos os programas respeitariam a “nova ordem”? Muito trabalhoso! • Final dos aos 60: Modelo hierárquico – IMS (IBM).

  9. BD ou Arquivos? Porque? • Uma estrutura de registros pai-filho dispostos em seqüência, implementando relação um para muitos de cima para baixo. • Implementava regras de integridade, embora com limitações, e aspectos de segurança, recuperação de falhas e controle de concorrência.

  10. BD ou Arquivos? Porque? • 1970 e início dos anos 80: Modelo de redes (Codasyl) – IDMS, DBMS-II (Unisys). • Extensão do modelo hierárquico, com relações muitos para um estabelecidas e todas as direções. • Modelava toda sorte de relacionamentos com facilidade.

  11. BD ou Arquivos? Porque? • Final dos anos 70: Modelo Relacional (Codd) – SQL-DS, DB2, (IBM), Oracle, Ingres. • Relação entre dados, não através de estruturas internas do banco. • Modela, como o em Rede, toda sorte de relacionamentos.

  12. BD ou Arquivos? Porque? • Tem performance inferior • Mas tem linguagens DDL e DML como Quel e SQL mais simples. Fator decisivo. • São dominantes hoje. • Final dos anos 80: Modelo reacional-estendido. Orientado a Objeto. BDOO, O2, Oracle (a partir da versão 8) ...

  13. BD ou Arquivos? Porque? • Vê-se, portanto, que a tendência tem sido se afastar cada vez mais de arquivos, e utilizar banco de dados. Mas... porque?

  14. BD ou Arquivos? Porque? • Um paralelo entre SGBD e Sistemas de Arquivos:

  15. BD ou Arquivos? Porque? • Um paralelo entre SGBD e Sistemas de Arquivos:

  16. BD ou Arquivos? Porque? • Um paralelo entre SGBD e Sistemas de Arquivos:

  17. BD ou Arquivos? Porque? • Não há nenhuma situação em que se possa optar por sistemas de arquivos? • Existem aplicações que são inviáveis para ser suportadas em SGBD • Aplicações simples e não mutáveis (e utópicas!) • Fortes requerimentos de tempo real • Monousuário

  18. O que são Bancos de Dados. FIM! “ A forca é o mais desagradável dos instrumentos de corda” Barão de Itararé

  19. Sistemas Gerenciadores de Bancos de Dados - SGBD • Diferença BD X SGBD. • Entre o Dado e os aplicativos uma camada de programas: O Sistema Gerenciador de Banco de Dados. • Programas que se somam na execução de tarefas de manipulação de dados.

  20. Usuários/Programadores Programas e Aplicativos Programa para acessar consultas e procedimentos Programa para acessar dados armazenados Ambiente do Sistema Gerenciador de Bancos de Dados Armazenamento das definições esquemáticas do BD (Meta-Dados) + Armazenamento do Banco de Dados SGBD

  21. SGBD Hipoteticamente um usuário solicita a seguinte informação: “Qual o saldo da conta número 14577-3?” Há um programa (o aplicativo que o usuário está usando no momento) que recebe esta solicitação e a transforma em uma consulta ou uma chamada a um procedimento interno do SGBD. No caso hipotético, uma consulta.

  22. SGBD • Em SQL seria algo como Select Saldo from conta Where Conta_Num = ‘14577-3’ • Esta consulta segue até o SGBD onde é colocada na fila, junto com as demais que eventualmente existam.

  23. SGBD Trata-se então dos aspectos de escalonamento, controle de concorrência e deadlock. Escalonamento? Controle de Concorrência? deadlock?

  24. SGBD Não são escopo deste curso. Mas vamos lá: Escalonamento: Organizar as operações do BD de forma a atender a todas com a maior brevidade possível, e não deixar que nenhuma fique em espera indefinidamente.

  25. SGBD Controle de Concorrência: Cuidar para que os repositórios de informações possam ser acessados por muitos processos, garantindo não haverem leituras inconsistentes ou anomalias de atualização/inclusão/exclusão.

  26. SGBD Dead Lock: Quando um recurso está alocado para um processo, outro deverá aguardar a liberação para ter acesso. Isso pode gerar uma situação em que os recursos jamais seriam liberados (tipo A espera B, B espera C e C espera A). Um SGBD deve prever, detectar e resolver situações assim.

  27. SGBD • Voltando à consulta: • Depois de Processada, a consulta segue para o nível dos programas de acesso efetivo aos dados. (linguagem interna) • No exemplo, apenas a tradução para a linguagem interna é necessária. • Eventualmente há uma análise, ao crivo dos meta-dados, da legalidade de uma operação.

  28. SGBD Por exemplo, um controle de estoque não deve permitir a exclusão de um fornecedor que tenha algum produto cadastrado (um produto precisa ter seu fornecedor conhecido). Isto deverá estar, portanto, especificado no esquema (meta-dados) do BD.

  29. SGBD Operações ilegais são barradas, e o SGBD devolve uma mensagem de erro. Processos semelhantes de geração de erro ocorrem também se o usuário tentar acessar alguma informação que não lhe é permitida (segurança) ou se alguma situação anormal acontecer (falha de mídia, erro do sistema, etc.)

  30. SGBD Em sua arquitetura, um SGBD possui três camadas básicas

  31. Meta-dados BD SGBD Interface do Usuário Solicitação do usuário Subsist. de Proc. de Consultas Análise/Tradução Subsistema de Integridade Subsistema de Segurança Otimização Scheduler Subsistema de Recuperação Subsistema de Armazenamento Buffers de Dados

  32. SGBD • As camadas: • Interface de alto nível que provê consultas, manipulação e definição dos dados • Acessível por usuários interativamente (SQL*Plus, Query Analizer) ou por aplicativos externos • Recebe a solicitação (consulta ou chamada a procedimento) e envia à camada de Processamento de Transações

  33. SGBD • As camadas: • Uma camada de processamento de transações com • Tradutor – Linguagem Interna • Otimizador – Qual o melhor caminho? Deve-se usar Índices, Buffers, etc? • Verificação da visão do usuário do BD – O que ele está pedindo “existe” para ele? • Controle de Integridade – As regras semânticas dos dados estão sendo salvaguardadas?

  34. SGBD • As camadas: • Uma camada de processamento de transações com • Controle de Concorrência – Atender a todos • Controle de segurança – Não permitir acessos indevidos • Controle de recuperação de falhas – Caso falhe a conexão, ou uma mídia, o BD deve voltar à normalidade.

  35. SGBD • As camadas: • A camada de Processamento de Transações recebe uma consulta, ou uma chamada a procedimento e efetivamente prepara tudo para ser executado pela camada de acesso a dados.

  36. SGBD • As camadas: • Uma camada de Acesso a Dados que usa o sistema de arquivos do Sistema Operacional para armazenar o BD e prover acesso eficiente aos dados físicos. • Usa Buffers e cuida dos segmentos de RollBack e dos registros de Log (Redo) – de acordo com o que lhe foi passado pela camada de Processamento de Transações.

  37. SGBD • A divisão em camadas atende ao princípio “divide to conquest”. • Cada SGBD implementa as funcionalidades de maneira específica – uns com mais eficiência que outros – embora os algoritmos sejam basicamente idênticos. • Muitas variáveis de Administração de BD são decisivas no seu funcionamento.

  38. SGBD. FIM! “ Viva todos os dias como se fosse o último. Um dia você acerta” L. F. Veríssimo. Degas

More Related