BANCO DE DADOS Aonde Encontramos Banco de Dados? 1. 2. 3. 4. 5. 6. 7. 8. 9. Agenda Telefônica Emails Contas bancárias Reservas em hotéis Compras de passagens aéreas Bibliotecas Lojas Supermercados Etc. Aonde Encontramos Banco de Dados? • • • Os Bancos de Dados e sua tecnologia tem provocado um grande impacto no crescimento do uso dos computadores. Banco de Dados: coleção de dados relacionados. Dados: Fatos que podem ser gravados. Ex.: nomes, números, Conceitos Básicos Na Engenharia do Conhecimento: Dados Sinais sobre eventos e atividades Facilidade de armazenagem e manipulação Pouco valor agregado Informações Interpretações sobre os dados Maior valor agregado & maior ambiguidade Conhecimento Informação dentro das mentes das pessoas Dados e Informações Dados: são os objetos do mundo real: Universidades: UFERSA, UERN, PUC-Rio, UFRJ Cursos: Administração, Engenharia Professores:Fábio, Maria, Joana Informações: São ocorrências registradas sobre os dados: aula: “07-03-2001”, “Administração”, ”510L” nota: “20-04-2001”,”Gabriel”, “Teoria Computacional”,10 Para que serve o Banco de Dados? Conjunto de informações relacionadas referentes a um contexto do mundo real, geralmente mantido por um longo período de tempo! Exemplos: Dados de vendas, clientes, etc. Porque usar um Banco de Dados? Considere grandes organizações sem utilizar um BD: Universidades, Bancos, Multinacionais, Supermercado, Comércio... Tudo armazenado em várias divisões Grande volumes de dados Aplicações distintas manipulando mesmo tipo de dados Sistemas de Arquivos Primeira arquitetura de sistemas para armazenamento e manipulação de dados e geração de informação. São sistemas em que os dados são armazenados fisicamente separados um do outro. O acesso é feito pelos programas de aplicação, associando o nome externo dos arquivos. Sistemas de Arquivos Definição: Coleção de programas de aplicação que realizam tarefas para os usuários (e.g. impressão de relatórios). Características: Cada aplicação descreve seus dados com nomes e formatos próprios Gerenciamento Local Manipulação de dados implementados pela própria aplicação Sistemas de Arquivos O conhecimento dos problemas encontrados em sistema de arquivos é importante para evitá-los em sistemas de BD. Necessidade de conversão de um sistema baseado em arquivos para um sistema de BD. Sistemas de Arquivos Manipulação de Arquivos Definição de Arquivos Programas de Aplicação Entrada de Dados e Relatórios Setor de VENDAS Arquivos IMÓVEL ( Código, Rua, Cidade, CEP, Tipo, Quartos, Aluguel, CPF_Prop) PROPRIETARIO ( CPF, Nome, Endereço, Fone) CLIENTE ( CPF, Nome, Endereço, Fone, TipoEscolhido, AluguelMax) Sistemas de Arquivos Manipulação de Arquivos Definição de Arquivos Programas de Aplicação Entrada de Dados e Relatórios Setor de CONTRATOS Arquivos IMÓVEL ( Código, Rua, Cidade, CEP, Aluguel) ALUGUEL ( NumContrato, Imóvel, CPF_Cli, Valor, Duração, FormaPagto) CLIENTE ( CPF, Nome, Endereço, Fone) Sistemas de Arquivos Acadêmica: Alunos Professores Disciplinas Turmas Salas Pessoal: Acadêmica: Alunos Professores Disciplinas Turmas Salas Centros Departamentos Professores Funcionários Sistemas de Arquivos Produção Vendas Compras Arquivos de Produção Arquivos de Vendas Arquivos de Compras Sistemas de Arquivos - Problemas Separação e Isolamento de Dados Dificuldade no acesso aos dados porque eles são isolados em arquivos separados. Exemplo: Listar todas as casas que satisfazem os requisitos de clientes. Sistemas de Arquivos - Problemas Inconsistência e redundância de dados: Se a mesma informação está repetida em arquivos diferentes ela: está redundante, aumentando os custos de armazenamento; pode passar para um estado inconsistente, com valores divergentes nas diferentes réplicas. Sistemas de Arquivos - Problemas dado Sistemas de Arquivos - Problemas Dificuldade de acesso aos dados: Para cada sistema de arquivos, é necessário um aplicativo para acessar as informações. Tem que haver um desenvolvimento específico pra cada um deles. Isolamento de dados: Os dados estão armazenados em arquivos distintos, que não possuem qualquer tipo de relacionamento direto, e ainda podem conter diferentes formatos para o mesmo dado. Sistemas de Arquivos - Problemas Problemas de Integridade: Programas devem garantir a manutenção de restrições de integridade. Restrições de Integridade são regras que estabelecem quando uma base de dados está correta. Exemplo: “Um aluno não pode possuir duas aprovações da mesma disciplina em seu histórico”. Problemas de atomicidade: Algumas operações em um sistema devem ser “atômicas” (indivisíveis). Ou essas operações são, em seu conjunto, executadas até o fim, ou nenhuma delas deve ser executada. Problemas de segurança: Deve-se garantir regras de segurança em todos os programas de aplicação. Sistemas de Arquivos - Problemas Anomalias no acesso concorrente: Pode acontecer de haver uma execução simultânea de diversas operações. Geralmente, nos sistemas de arquivos, esta melhoria seria difícil de ser implementada sem levar a danos na consistência dos dados. Sistemas de Arquivos - Problemas Considere a seguinte situação num sistema bancário: Dois clientes A e B querem sacar dinheiro de uma conta bancária ao mesmo tempo Ambos possuem o valor 500; Um tira 50 reais (resultando 450 reais) e o outro 100 reais (resultado 400 reais); Dependendo de qual execução do programa de débito registre o saldo restante primeiro, o valor do saldo da conta será 450 ou 400 reais, quando deveria ser 350 reais. Sistemas de Arquivos - Desvantagens redundância e inconsistência de dados; dificuldade no acesso aos dados; isolamento de dados; atualização múltipla; perda de espaço de armazenamento; anomalias de acesso concorrente; problemas de segurança; linguagem de acesso é em geral única para o programa de aplicação e frequentemente não amigável. Banco de Dados Conjunto de arquivos computadorizados que se inter-relacionam atendendo à demanda de informações de uma aplicação ou de um sistema. O fato dos dados serem integrados permite a realização de relacionamentos entre informações, podendo assim fornecer informações adicionais em níveis operacional, tático ou estratégico, no caso de empresas. Arquivos x Banco de Dados O acesso/gerenciamento dos dados é feito diretamente pelos programas aplicativos. O acesso/gerenciamento aos/dos dados é feito pelo SGBD. O SGBD funciona como uma interface entre o BD e os programas aplicativos. E o banco de dados? Banco de Dados X Arquivo Dados Manipulados por vários usuários com uma única visão. Registros físicos compostos de campos Dados manipulados por vários usuários com visões diferentes Agrupamento de um conjunto de arquivos, compartilhados por usuários diferentes, concorrentes e... competidores E o banco de dados? E o banco de dados? Conceitos Banco de Dados Definição: Coleção de dados inter-relacionados Conjunto de dados estruturados que são confiáveis, coerentes e compartilhados por usuários que têm necessidade de informações diferentes. Coleção compartilhada de dados logicamente relacionados e da descrição destes dados que são projetados para satisfazer as necessidades de informação de uma organização.