Banco de Dados SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1 Prof. Leonardo Vasconcelos
- O que é um banco de dados (BD)? Um Banco de Dados (ou Base de Dados) é uma coleção de dados relacionados, organizados e armazenados visando facilitar a manipulação desses dados, permitindo realizar alterações, inserções, remoções e consultas. É uma coleção de dados operacionais usados pelas aplicações de uma determinada organização.
- O que são esses dados? - Os dados são fatos que podem ser gravados e que possuem um significado implícito. - Exemplo: nomes, números de telefones, endereços, Agenda telefônica.
- Um banco de dados possui as seguintes propriedades implícitas: Representa alguns aspectos do mundo real - Minimundo ou universo de discurso. É uma coleção lógica e coerente de dados com algum significado inerente. É projetado, construído e povoado por dados (instanciado) para uma finalidade específica.
- Os Bancos de Dados no Cotidiano... Aplicações: Engenharia, Economia, Medicina, Direito, Educação... Um banco de dados pode ter qualquer tamanho e complexidade. Exemplo: Banco de Dados da Amazon.com. Contém dados de livros, CDs, DVDs, jogos eletrônicos, roupas etc.; Ocupa mais de 2 terabytes e está armazenado em 200 servidores; Cerca de 15 milhões de visitantes acessam a Amazon.com todos os dias; O banco de dados é continuamente atualizado com novos itens; etc...
- Os Bancos de Dados no Cotidiano... Um banco de dados pode ser gerado e mantido manualmente ou pode ser automatizado (computadorizado). Um banco de dados computadorizado precisa ser criado e mantido: Sistema Gerenciador de Banco de Dados - SGBD
- SGBD Um sistema gerenciador de banco de dados (SGBD) é uma coleção de programas que permite criar e manter (manipular) um banco de dados. BD + SGBD = Sistema de Banco de Dados.
- O SGBD é um sistema de software de propósito geral que facilita os processos de: Definição: especificação dos tipos, estruturas e as restrições para os dados a serem armazenados. Construção: processo de armazenar os dados em alguma mídia controlada pelo SGBD. Manipulação: inclui funções como pesquisas em banco de dados, atualização do banco e geração de relatórios. Compartilhamento: permite aos múltiplos usuários e programas acessar, de forma concorrente, o banco de dados.
- Outras funções importantes do SGBD são a proteção e a manutenção do banco de dados por longos períodos. Proteção: compreende a proteção do sistema contra o mau funcionamento (hardware ou software) e segurança contra acessos não autorizados. Manutenção: os SGBDs devem ser capazes de manter um sistema de banco de dados que permita a evolução dos requisitos que se alteram ao longo do tempo.
- Sistema de Banco de Dados Simplificado
Exemplo e um Banco de Dados de uma Universidade
- Banco de Dados versus Processamento de Arquivos Principais características da abordagem de um banco de dados: Natureza autodescritiva de um sistema de banco de dados. Isolamento entre os programas e os dados e abstração de dados. Suporte para múltiplas visões dos dados. Compartilhamento de dados e processamento de transação multiusuário.
- Natureza Autodescritiva de um SBD Catálogo do SGBD - metadados. Possibilidade de acessar diversos bancos de dados. Processamento de arquivos: a definição dos dados faz parte dos próprios programas da aplicação.
- Isolamento entre os Programas e os Dados e Abstração de Dados Alterações na estrutura dos arquivos não exige alterações dos programas de acesso (independência programa-dados). O sistema de banco de dados deve garantir uma visão totalmente abstrata do banco de dados para o usuário.
- Isolamento entre os Programas e os Dados e Abstração de Dados
- Suporte para Múltiplas Visões dos Dados Um banco de dados pode ter vários usuários e cada um pode solicitar diferentes visões do banco de dados. Uma visão pode ser um subconjunto de um banco de dados ou conter uma visão virtual dos dados (derivados dos arquivos do banco de dados).
- Modelos de base de dados em rede
- Compartilhamento de Dados e Processamento de Transação Multiusuário O SGBD multiusuário deve permitir que diversos usuários acessem o banco de dados ao mesmo tempo (software de controle de concorrência). O SGBD multiusuário deve garantir que as transações concorrentes operem corretamente.
- Usuários de Banco de Dados Administrador (DBA) Projetista Analista de Sistemas e Programador de Aplicações Usuário Final
- Administrador (DBA) Administra BD e SGBD Responsável pela autorização para acesso ao BD, pela coordenação e monitoração de seu uso e por adquirir recursos de software e hardware. Resolver problemas como: violação de segurança e tempos de resposta ruim.
- Projetista SGBD - Sistema de Gerenciamento de Banco de Dados Responsável por identificar os dados e escolher estruturas apropriadas para representá-los e armazená-los. Essas tarefas são realizadas antes que o BD seja implementado e instanciado (alimentado com os dados).
- Analista de Sistemas e Programador de Aplicações Analista: identifica as necessidades dos usuários finais e desenvolve as especificações das transações customizadas que atendam a essas solicitações. Programador: implementam essas especificações como programas, realizam testes, manutenção e documentação.
- Usuário Final SGBD - Sistema de Gerenciamento de Banco de Dados Acessa o BD: consultas, atualizações, relatórios...
- Vantagens de Usar um Banco de Dados Controle de redundância. Controle de acesso (segurança). Armazenamento persistente dos dados. Existência de múltiplas interfaces para os usuários. Representação de relacionamentos complexos entre os dados. Manutenção de restrições de integridade. Estrutura de armazenamento e técnicas de pesquisa para o processamento de consultas. Recursos para recuperação de falhas.
- Quando Não Usar um SGBD BD e suas aplicações são simples, bem definidas e sem previsão de mudanças. Há requisitos de tempo real para alguns programas difíceis de serem atendidos por causa da sobrecarga do SGBD. Acesso de múltiplos usuários aos dados não é necessário.