Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Presença dos bancos de dados em nossas vidas 1. 2. 3. 4. 5. 6. 7. 8. Nossa agenda telefônica Nossos e-mails Contas bancárias Reservas em hoteis Compras de passagens aéreas Uma biblioteca real ou virtual Uma loja de vendas real ou virtual Um supermercado . . . Presença dos bancos de dados em nossas vidas Os Bancos de Dados e sua tecnologia tem provocado um grande impacto no crescimento do uso dos computadores Presente em: negócios, comércio eletrônico, engenharia, medicina, direito, educação e todas as ciências da informação. Banco de Dados: coleção de dados relacionados. Dados: Fatos que podem ser gravados. Ex.: nomes, números, Informações: Conjunto de dados que tem um significado. Ex.: nome completo, numero do telefone, CPF, nota final... Revisão de conceitos básicos Na engenharia de conhecimento: Termômetro da Caldeira: 115º 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 ambigüidade Conhecimento Informação dentro das mentes das pessoas 115º significa a temperatura que foi medida A temperatura máxima suportada pela caldeira é de 100. Acima desse valor, pode acontecer uma explosão, Logo, a caldeira deve ser desligada! 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 Conceitos Básicos Informação X Dado Significado associado ou deduzido de um conjunto de dados e de associações entre eles. Conhecimentos que podem ser inferidos dos dados. Banco de Dados Conjunto de informações relacionadas referentes a um contexto do mundo real, geralmente mantido por um longo período de tempo! Por que usar BD? • 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 Sistema 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. Sistema 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 Sistema de Arquivos Por quê falar sobre Arquivos? 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. 1 Sistema 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) 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) 2 Sistema de Arquivos Acadêmica: Espaço Físico: Alunos Professores Disciplinas Turmas Salas Centros Departamentos Cursos Disciplinas Pessoal: Centros Departamentos Professores Funcionários 3 Sistema de Arquivos Compras Produção Arquivos de Compras Arquivos de Produção Vendas Arquivos de Vendas Sistema 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 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) Manipulação de Arquivos Definição de Arquivos Setor de CONTRATOS Programas de Aplicação IMÓVEL ( Código, Rua, Cidade, CEP, Aluguel) Entrada de Dados e Relatórios Arquivos Sistema 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. dado Sistema 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. Sistema 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. Sistema 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. 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 lêem 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. Sistema de Arquivos • desvantagens do SA: – 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 freqüentemente não amigável. Banco de Dados • Conjunto de arquivos computadorizados que se inter-relacionam atendendo à demanda Dados Informação de Banco de informações de uma aplicação ou de um Dados 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. Sistema de Arquivos X Sistemas de Banco de Dados Sistema de Banco de Dados Sistema de arquivos Dados (arquivos) Aplicativos Aplicativos SGBD Dados (arquivos) Dados (arquivos) O acesso/gerenciamento aos/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. Por quê 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 Por quê Banco de Dados? Sistema de Arquivos Aplicação 1 Aplicação 2 Aplicação 3 BD Revendo Exemplo 1 de Sistema 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) 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) Por quê Banco de Dados? Entrada de Dados e Relatórios Setor de VENDAS Programas de Aplicação Entrada de Dados e Relatórios Setor de CONTRATOS SGBD BD Dados e Metadados Programas de Aplicação IMÓVEL ( Código, Rua, Cidade, CEP, Tipo, Quartos, Aluguel, CPF_Prop) ALUGUEL ( NumContrato, Imóvel, CPF_Cli, Valor, Duração, FormaPagto) CLIENTE ( CPF, Nome, Endereço, Fone, TipoEscolhido, AluguelMax) PROPRIETARIO ( CPF, Nome, Endereço, Fone) Histórico • Etapas da evolução rumo a tomada de decisão: – Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. – Sistemas Integrados: racionalização de processos, manutenção dos dados. – Sistemas de Informação: racionalização de processos, racionalização de dados. Histórico • O desenvolvimento da teoria de Banco de Dados ajudou sobretudo na independência de dados, ou seja, qualquer mudança na estrutura física ou na estratégia de acesso não implica em alteração nos aplicativos que utilizam tal dado. 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.