Banco de Dados e Aplicações em Negócios: Introdução evandro@usp.br
Motivação Extenso uso de Banco de Dados (BD) no cotidiano Bancos, serviços, comércio em geral (comércio eletrônico) Web e seus serviços aplicações comércio eletrônico, webmail, redes sociais Sistemas de Informações Geográficas (SIS) Data warehouse
Tópicos desta apresentação 1. Conceitualização de Banco de Dados 2. Sistemas Gerenciadores de BD Caracterização Utilização
O que é um BD? É uma coleção de dados relacionados Os dados possuem significado implícito
O que é um BD? É uma coleção de dados relacionados Os dados possuem significado implícito Dê exemplos de BD...
Exemplos Agenda: nome, telefone e endereço Mesma agenda, significados diferentes Agenda pessoal Agenda empresarial. Relacionamento entre empresas, pagamentos, produção etc. Agenda de profissional autônomo Mesma agenda em mídias diferentes
+ exemplos Lista de relacionamentos de uma rede social (Facebook, Twitter) Lista de emails, calendário de atividades
Um BD tem Coleção lógica e coerente dos dados
Um BD tem Coleção lógica e coerente dos dados Regras para inserção e recuperação de dados
Um BD tem Coleção lógica e coerente dos dados Regras para inserção e recuperação de dados Estruturação regrada
BD e o tempo BD podem ser difíceis de serem mantidos manualmente O que significa manter um BD?
Manutenção de um BD Preservar o relacionamento entre dados
Manutenção de um BD Preservar o relacionamento entre dados Manter coerência dos dados
Manutenção de um BD Preservar o relacionamento entre dados Manter coerência dos dados Facilitar a construção e manipulação de registros
Manutenção de um BD Preservar o relacionamento entre dados Manter coerência dos dados Facilitar a construção e manipulação de registros Proporcionar compartilhamento de dados com outras aplicações
O que é um SGBD? Sistema Gerenciador de Banco de Dados Dados + software de gerenciamento É um software (ambiente) de gerenciamento + dados
SGBD atuação SGBD protegem os dados contra falhas no sistema, proporciona segurança SGBD podem manter os dados promovem a inserção, remoção e consulta dos dados
SGBD = BD + software para gerenciamento do BD
SGDB: exemplo de atuação Cadastro de usuários de um plano de saúde
SGDB: exemplo de atuação Departamento de Casos Médicos Departamento Contábil
SGDB: exemplo de atuação Departamento de Casos Médicos Nome usuário Verifica se plano permite procedimento Autoriza procedimento Departamento Contábil Nome usuário Controle da fatura de acordo com procedimento Cada procedimento = % da tabela de serviços médicos
SGDB: exemplo de atuação Departamento de Casos Médicos Nome usuário Verifica se plano permite procedimento Autoriza procedimento Própria tabela de usuários Programas para manter usuários e gerar dados (guias) Departamento Contábil Nome usuário Controle da fatura de acordo com procedimento Cada procedimento = % da tabela de serviços médicos Própria tabela de usuários Programas para manter usuários e gerar dados (faturas)
SGDB: exemplo de atuação Departamento de Casos Médicos Departamento Contábil Nome usuário Verifica se plano permite procedimento Autoriza procedimento Como as alterações de dados de Própria tabela de usuários Programas para manter usuários e gerar dados (guias) um departamento podem ser usadas noutro departamento? Nome usuário Controle da fatura de acordo com procedimento Cada procedimento = % da tabela de serviços médicos Própria tabela de usuários Programas para manter usuários e gerar dados (faturas)
Usando um SGDB Permite e facilita a criação de um único repositório compartilhado Isola Programas X Dados
SGBD: 3 características 1. Natureza autodescritiva 2. Isolamento entre dados e programas 3. Múltiplas visões para usuários
SGBD: 3 características 1. Natureza autodescritiva Importante 2. Isolamento entre dados e programas 3. Múltiplas visões para usuários
SGBD: características Natureza autodescritiva BD = Dados + definição e descrição da estrutura dos dados Catálogo: armazena a descrição de um BD (esquema) Informação=Metadados descrição da estrutura do BD primário (baixo nível) Quais tipos de dados de cada campo Como é descrito um Estado de um país, um nome, a filiação, uma doença, telefones de contato
SGBD: características Isolamento: Dados X Programas X Abstração Programação tradicional procedural: dados + código Arquivos de dados embutidos no programa SGDB: estrutura de arquivo é separada do programa de acesso Num SGDB programas podem operar dados de um registro, dados de uma tabela
(Abstração de dados) É a independência entre programas e dados SGDB oferece representação conceitual dos dados Não inclui detalhes de como os dados são representados (quantos bytes ocupa?) Modelo de dados é um tipo de abstração de dados. Esconde detalhes de programação.
SGBD: características Suporte para múltiplas visões Visão Subconjunto de um BD Visão virtual de dados Dados derivados do arquivo de BD mas não explicitamente armazenados
SGBD: características Suporte para múltiplas visões Exemplo de visão virtual de dados Mostrar uma visão das disciplinas cursadas + as disciplinas que devem ter sido cursadas por serem pré-requisito
SGBD: + características Compartilhamento de dados e transações de múltiplos usuários SGDB deve incluir controle de concorrência dado que vários usuários podem acessar os mesmos dados SGDB deve garantir que transações concorrentes operem corretamente (Aplicações de processamento online)
SGBD: profissionais Administrador de BD Organizações com múltiplos usuários tem adminsitrador-chefe que gerencia recursos (dados) DBA (Database Administrator) gerencia: Dados, o SGDB e softwares relacionados
SGBD: profissionais Usuários finais Profissionais que necessitam acessar o BD (consulta, atualização e relatórios) 1. Iniciantes ou parametrizáveis 2. Casuais
SGBD: profissionais 1. Iniciantes ou parametrizáveis 1. Consultas e atualizações padronizadas. Tarefas esperadas 2. Exe: verificam saldo, depósito em contas, transferências, compras de passagens etc.
SGBD: profissionais 2. Usuários Casuais 1. Precisam informações diferentes a cada acesso 2. Podem necessitar de uma linguagem ou forma sofisticada de acesso a dados 3. Realizam visões distintas dos dados
SGBD: profissionais Analistas de Sistemas e Programadores de Aplicações Analistas: determinam solicitações de usuários e modelam/implementam transações específicas, customizadas Programadores: implementam, testam e documentam programas
Vantagens de um SGDB 1. Controle de redundância 1. Redundância: armazenamento repetido de dados (múltiplas cópias) 2. Exemplo: cadastro de usuários de plano de saúde Cadastro Médico X Cadastro Contábil
Redundância indesejada Cadastro Médico X Cadastro Contábil Atualização dos dados deve ser realizada em duplicidade Espaço de armazenamento desperdiçado Possibilidade de inconsistência nos dados (atualização num cadastro somente)
Redundância desejada Para melhorar o desempenho de um SGDB podemos usar a redundância Redundância controlada pode evitar consultas complexas num SGDB
Vantagens de um SGDB 2. Controle de acesso: dados e operações 1. Dados: grupos de usuários podem visualizar alguns dados, outros não 2. Operações: grupos de usuários podem atualizar dados, outros não 3. Senhas: garantia ou restrição a privilégios
Vantagens de um SGDB 3. Estruturas de dados promovem eficiência no processamento de operações num SGDB 1. Tabelas de dados implementadas como árvores e hash tables (tabelas associativas) 2. Arquivos auxiliares implementam os registros dos BD (indexes)
Vantagens de um SGDB 4. Backup e restauração 1. Facilidades para recuperação de falhas: software ou hardware 2. Backup: cópia de segurança 3. Restauração: recuperação dos subsistemas do SGDB 4. Pode recupar falha ocorridas inclusive durante uma transação
Vantagens de um SGDB 5. Fornece múltiplas interfaces para usuários 1. s tipos de usuários acessam um BD 2. SGDB pode oferecer s interfaces 3. Pode ser uma GUI (Graphical User Interface) 4. Capacitação para uso web é comum
Vantagens de um SGDB 6. Força restrição de integridade 1. Restrição de integridade: cuidado para que seja armazenado o dado correto no BD 2. Tipo + simples de restrição de integridade: verificação do tipo de dado. Exemplo: verificar se CPF é válido 3. Restrições podem ser semânticas
Por hoje é só!