Bancos de Dados Estrutura e Funcionamento de um SGBD Prof. Marcos R. Cardoso Bancos de Dados – SGBD Conceito “Um sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco de dados.” Prof. Marcos R. Cardoso Bancos de Dados - SGBD Arquitetura Níveis de um SGBD: • Nível Externo • Nível Conceitual • Nível Interno Prof. Marcos R. Cardoso Bancos de Dados - SGBD Arquitetura Nível Externo • Nível lógico do usuário • Linguagem de manipulação • Alto Nível de Abstração • Utilização de L4Gs Prof. Marcos R. Cardoso Bancos de Dados - SGBD Arquitetura Nível Conceitual • Nível Intermediário • Nível lógico comunitário • Médio nível de abstração • Visão do todo do DB Prof. Marcos R. Cardoso Bancos de Dados - SGBD Arquitetura Nível Interno • Nível físico • Esquema interno • Tipos de registro • Índices • Linguagem DDL Interna: EMP_ARMAZENADO BYTES=20 PREFIXO TYPE=BYTE(6),OFFSET=0 EMP# TYPE=BYTE(6),OFFSET=6,INDEX=EMPX DEPTO# TYPE=BYTE(4),OFFSET=12 PAGTO TYPE=FULLWORD,OFFSET=16 Prof. Marcos R. Cardoso Bancos de Dados - SGBD Arquitetura Nível Externo Usuários finais, analistas, programadores Mapeamento Nível Conceitual Programadores e DBA Mapeamento Nível Interno DBA Prof. Marcos R. Cardoso S G B D Bancos de Dados - SGBD Arquitetura Mapeamento externo/conceitual • a forma como o nível externo enxerga o dado de acordo com o contexto Mapeamento conceitual/interno • caso haja mudanças na estrutura utilizada, deve haver uma sincronia entre os níveis Prof. Marcos R. Cardoso Bancos de Dados - SGBD Arquitetura Dicionário de dados • Cátalogo do SGBD – metadados (dados • • • • sobre dados) Estrutura do esquema Integridade (restrição/autorização) Configurações e parâmetros do SGBD Estimativas de acesso sobre os dados armazenados Bancos de Dados - SGBD Arquitetura Dicionário de Dados 1. Deseja acessar ou alterar dados. Usuário, Analista ou Programador SGBD 4. Altera o dicionário conforme a mudança feita. DBA 3. Altera estrutura de uma tabela ou restrições de integridade. 2. Procura referência a estes dados. BD Dicionário de Dados Bancos de Dados - SGBD Arquitetura Dicionário de Dados 1. Deseja consultar nome e endereço do funcionário matrícula 1452. Usuário SGBD 4. Acessa e retorna os dados no formato padrão. 6. Mostra os dados formatados ao usuário. 2. Aplicação solicita dados ao SGBD. Aplicação 5. Retorna os dados solicitados à aplicação. 3. Verifica direitos de acesso a estes dados BD Dicionário de Dados Bancos de Dados - SGBD Funcionamento Usuário solicita dados • SGBD recebe e valida o pedido • SGBD percorre os níveis e mapeamento para • obter os dados solicitados SGBD retorna os dados solicitados Usuário recebe e visualiza os dados solicitados Prof. Marcos R. Cardoso Bancos de Dados – SGBD Funcionamento DBA Usuário/aplicativo Compilador de Consultas Gerenciador de Transações Compilador de DDL Registro de Log e Recuperação Controle de Concorrência Buffer Tabela de Bloqueio Plano de consulta Mecanismo de Execução Solicitações de dados Gerenciador de Arquivos Comandos de páginas Gerenciador de Buffer Leitura/ gravação de páginas Gerenciador de Armazenamento Prof. Marcos R. Cardoso BD Bancos de Dados – SGBD Funcionamento Comunicação com usuário • Troca de mensagens em ambos os sentidos • Gerenciador autônomo de comunicação de dados • Sincronizado com o SGBD Prof. Marcos R. Cardoso Bancos de Dados – SGBD Funcionamento Funções básicas • Método de acesso • DDL – definição de dados, processadas através de um compilador • DML – manipulação dos dados, otimizadas e executadas também através de um compilador Prof. Marcos R. Cardoso Bancos de Dados – SGBD Funcionamento Funções básicas • Restrições de integridade • Consistência no BD • Estados possíveis • Relacionamentos Prof. Marcos R. Cardoso Bancos de Dados - SGBD Arquitetura Restrições de Integridade 1. Solicita exclusão de um departamento. Usuário 6. Retorna informação ao usuário. 5. Retorna informação de sucesso ou mensagem de erro. Aplicação 2. Lança ordem de exclusão ao SGBD. SGBD BD 3. Verifica se usuário tem direito de exclusão. 4. Verifica restrição de integridade e valida ou não a exclusão. Dicionário de Dados Bancos de Dados – SGBD Funcionamento Funções básicas • Segurança • Autorização de acesso • Recuperação de falhas • Controle de concorrência • Evitar conflito de acesso • Estratégias de bloqueio (lock) Prof. Marcos R. Cardoso Bancos de Dados - SGBD Arquitetura Controle de Concorrência 1. Efetua depósito em uma conta corrente. Usuário 1 6. Finaliza operação. 8. Retorna informação. 3. Efetua depósito na mesma conta corrente. Usuário 2 11. Retorna informação. 5. Bloqueia alteração Usuário 2. 2. Inicia transação Usuário 1. SGBD 4. Inicia transação Usuário 2. 9. Libera alteração Usuário 2. 7. Finaliza transação Usuário 1. BD Controle de Transações Controle de Bloqueios 10. Finaliza transação Usuário 2. Bancos de Dados – SGBD Funcionamento Independência dos dados – transparência para o nível externo • Independência Física – imunidade das • aplicações a alterações na técnica de acesso Independência Lógica – imunidade das aplicações a alterações na estrutura lógica do BD (nível conceitual) Prof. Marcos R. Cardoso Bancos de Dados - SGBD Arquitetura Independência dos Dados 1. Acessa SGBD. 3. Continua acessando SGBD sem nenhuma interferência. Usuário, Analista ou Programador 5. Em determinados casos, exige alteração nas aplicações, em outros casos, continua-se acessando o SGBD. DBA 2. Otimiza métodos de acesso a determinadas tabelas. SGBD BD 4. Inclui um novo campo em uma determinada tabela.