Softwares Aplicativos – Banco de Dados INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. 2. 3. 4. 5. Definições Serviços Usuários Evolução Exemplos Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 03 Definições Serviços Usuários Evolução Exemplos Banco de Dados X SGBD Qual a diferença entre Banco de Dados e Sistema Gerenciador de Banco de Dados (SGBD)? Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 04 Definições Serviços Usuários Evolução Exemplos Banco de Dados É uma coleção de dados inter-relacionados, representando informações sobre um domínio específico. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 05 Definições Serviços Usuários Evolução Exemplos Exemplos de Bancos de Dados: •Agenda Telefônica •Cadastro de Fornecedores •Lista de Pedidos •Catálogo de Produtos Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 06 Definições Serviços Usuários Evolução Exemplos SGBD É uma coleção de programas que permite aos usuários criar e manter um banco de dados. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 07 Definições Serviços Usuários Evolução Exemplos Conjunto de Programas •Descrever •Armazenar •Manipular •Consultar •Tratar Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 08 Definições Serviços Usuários Evolução Exemplos Alguns serviços de um SGBD •Redundância Controlada •Compartilhamento dos Dados •Controle de Concorrência •Mecanismo de Reconstrução •Acesso controlado •Restrições de Integridade Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 09 Definições Serviços Usuários Evolução Exemplos Redundância Controlada Os diversos setores de uma empresa compartilham informações que podem estar replicadas. Por ex.: Nome de Cia Aérea Essa redundância pode levar a um estado inconsistente, além de gastar espaço de armazenamento. O SGBD deve oferecer mecanismos para esse controle sem prejudicar as aplicações dos diversos setores. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 10 Definições Serviços Usuários Evolução Exemplos Compartilhamento dos Dados Um SGBD multiusuário tem que permitir o acesso simultâneo de vários usuários à base de dados O SGBD deve oferecer um controle de concorrência para garantir que o resultado de várias modificações à base de dados seja correto Exemplo: reserva de vôos Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 11 Definições Serviços Usuários Evolução Exemplos Controle de Concorrência Limita as leituras e modificações simultâneas disparadas ao mesmo dado por diferentes usuários A técnica mais usada consiste em bloquear os dados envolvidos em determinada operação. Por ex.: Caso um passageiro queira transferir sua reserva de um vôo para outro é necessário que os dois vôos estejam bloqueados. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 12 Definições Serviços Usuários Evolução Exemplos Controle de Transações Transações são unidades lógicas de trabalho numa aplicação. Por ex.: Caso da transferência da reserva de vôo. A base de dados está em um estado consistente antes e depois de uma transação. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 13 Definições Serviços Usuários Evolução Exemplos Controle de Transações Um mecanismo de transação garante que toda transação iniciada ou termina com sucesso ou é desfeita. Transações de diferentes usuários que envolvem dados compartilhados são executadas em seqüência. Transações controlam melhor a concorrência e a reconstrução. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 14 Definições Serviços Usuários Evolução Exemplos Reconstrução Um mecanismo de reconstrução permite que a base de dados volte a um estado consistente após pane. Backups são a solução mais simples e antiga. A reconstrução associada à transação pode proporcionar soluções de backup incremental através de arquivos tipo log. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 15 Definições Serviços Usuários Evolução Exemplos Acesso controlado Quando vários usuários tem acesso à base de dados, em geral eles tem privilégios diferentes quanto à manipulação dos dados. Dados financeiros costumam ter acesso restrito e o SGBD deve ter um mecanismo de controle de segurança. O SGBD deve garantir que usuários autorizados realizam operações corretas na base de dados. autenticação de usuários manutenção da matriz de autorização Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 16 Definições Serviços Usuários Evolução Exemplos Restrições de Integridade O SGBD deve oferecer dois mecanismos: •Especificação de restrições de integridade •Validação das restrições de integridade Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 17 Definições Serviços Usuários Evolução Exemplos Linguagem •Linguagem de definição de dados •Linguagem de manipulação de dados •Linguagem de consulta (SQL) Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 18 Definições Serviços Usuários Evolução Exemplos Usuários •Administrador do Banco de Dados •Usuário Final •Analistas de Sistemas e Programadores de Aplicação •Pessoal de Suporte Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 19 Definições Serviços Usuários Evolução Exemplos Evolução dos bancos de dados •Sistemas de Arquivos •Sistema Gerenciador de Banco de Dados (SGBD) •SGBD Hierárquicos •SGBD em Rede •SGBD Relacionais Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 20 Definições Serviços Usuários Evolução Exemplos Gerenciamento de Banco de Dados Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 21