SGBD Banco de Dados - Professor Ivan Pires Características do Emprego de Bancos de Dados • As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: – Natureza autodescritiva do sistema de banco de dados. – Isolamento entre os programas e os dados, e a abstração dos dados. – Suporte para as múltiplas visões dos dados. – Compartilhamento de dados e processamento de transações de multiusuários Banco de Dados - Professor Ivan Pires 1 Características do Emprego de Bancos de Dados • Natureza autodescritiva do sistema de banco de dados. – Completa definição ou descrição da estrutura desse banco de dados e suas restrições – Definições armazenadas no catálogo do SGBD – Contém informações como a estrutura de cada arquivo, o tipo e o formato de armazenamento de cada item de dado e várias restrições sobre os dados. A informação armazenada no catálogo é chamada metadados e descreve a estrutura do banco de dados Banco de Dados - Professor Ivan Pires Características do Emprego de Bancos de Dados • Isolamento entre os programas e os dados, e a abstração dos dados – No processamento tradicional de arquivos, a estrutura do arquivo de dados está embutida no programa da aplicação – A estrutura dos arquivos de dados é armazenada no catálogo do SGDB separadamente do programa de acesso. – “Se quisermos adicionar outro dado ao registro de cada ALUNO, digamos, sua DatadeNascimento, esse programa não vai trabalhar por muito tempo e precisará ser alterado. – Ao contrário, em um ambiente SGBD, necessitamos al­terar apenas a descrição do registro ALUNO no catálogo para refletir a inclusão do novo item de dados DatadeNascimento; nenhum programa será modificado. – A próxima vez que um programa SGBD acessar o catálogo, a nova estrutura do registro ALUNO será acessada e utilizada.” Banco de Dados - Professor Ivan Pires 2 Características do Emprego de Bancos de Dados • Suporte para as múltiplas visões dos dados. – Um banco de dados típico tem muitos usuários, e cada qual pode solicitar diferentes perspectivas ou visões do banco de da­dos. Uma visão pode ser um subconjunto de um banco de dados ou conter uma visão virtual dos dados, derivados dos arqui­vos do banco de dados, mas não, explicitamente, armazenados. Alguns usuários podem não saber se os dados a que eles se referem são armazenados ou derivados. HISTORICO ESCOLAR NomedoAluno Smith Brown PRE_REQUISITOS NomedoCurso NumerodoCurso Pre_Requisitos Banco de Dados CC3380 CC3320 Estruturas de Dados CC3320 CC1310 Histórico Escolar do Aluno NumerodoCurso CC1310 MAT2410 MAT2410 CC1310 CC3320 CC3380 Nota Semestre C Outono B Outono A Outono A Outono B Primavera A Outono Ano 99 99 98 98 99 99 IdDisciplina 119 112 85 92 102 135 MAT2410 Banco de Dados - Professor Ivan Pires Características do Emprego de Bancos de Dados • Compartilhamento de dados e processamento de transações de multiusuários – Um SGBD multiusuário deve permitir que diversos usuários acessem o banco de dados ao mesmo tempo. – O SGBD deve incluir um software de controle de concorrência para garantir que muitos usuários, ao tentar atualizar o mesmo dado, o façam de um modo controlado, para assegurar que os resultados das atualizações sejam corretos – Uma transação é um programa em execução ou processo que inclui um ou mais acessos ao banco de dados, como a leitura ou a atualização de registros – A propriedade de isolamento garante que cada transação possa ser efetuada de forma isolada de outras transações; mesmo centenas de transações podem ser executadas simultaneamente. – A propriedade de atomicidade garante que todas as operações em um banco de dados, em uma transação, sejam executadas ou nenhuma delas Banco de Dados - Professor Ivan Pires 3 Atores no Palco • Administradores de Banco de Dados – O DBA é o responsável pela autorização para o acesso ao banco, pela coordenação e monitoração de seu uso e por adquirir recursos de software e hardware conforme necessário. – O DBA é o responsável por problemas como brechas de segurança ou tempo de resposta ruim do sistema. • Os Projetistas do Banco de Dados – São responsáveis pela identificação dos dados que serão armazenados no banco e também por escolher as estruturas apropriadas para representar e armazenar esses dados – Comunicar-se antecipadamente com todos os prováveis usuários do banco para conhecer suas necessidades (requisitos) e criar projetos que as atendam Banco de Dados - Professor Ivan Pires Atores no Palco • O Usuário Final – Os usuários finais são pessoas cujas profissões requerem o acesso a um banco de dados para consultas, atualização e relatórios • Usuários finais casuais • Iniciantes ou usuários finais parametrizáveis • Usuários autônomos (stand-alone): uso de pacote de software específico • Analistas de Sistemas e Programadores de Aplicações (Engenheiros de Software) – Os analistas de sistemas determinam as solicitações dos usuários finais, especialmente os usuários finais iniciantes e os parametrizáveis, além de desenvolver as especificações das transações customizadas que atendam a essas solicitações. – Os programadores de aplicações implementam essas especificações como programas, então eles testam, documentam e mantêm essas transações customizadas Banco de Dados - Professor Ivan Pires 4 Vantagens da Utilização de SGBD • Controle de Redundância – Banco de dados da Universidade • Secretaria • Contabilidade – Problemas: • Isso gera uma duplicação de esforço • O espaço de armazenamento é desperdiçado • Dados se tornarem inconsistentes Banco de Dados - Professor Ivan Pires Vantagens da Utilização de SGBD • Restringindo Acesso Não Autorizado – Usuários e Senha – Níveis de permissões – “O SGBD deve garantir a segurança e um subsistema de autorização usado pelo DBA para criar contas e definir as restrições de cada uma” Banco de Dados - Professor Ivan Pires 5 Vantagens da Utilização de SGBD • Garantindo o Armazenamento Persistente para Programas Orientado a Objeto – Armazenamento persistente aos objetos programas e estruturas de dados – Esse objeto é conhecido como persistente, desde que exista após o término de execução dos programas Banco de Dados - Professor Ivan Pires Vantagens da Utilização de SGBD • Garantindo o Armazenamento de Estruturas para o Processamento Eficiente de Consultas • “(...) o SGBD deve possuir estruturas de dados especializadas para aumentar a velocidade de pesquisa no disco dos registros desejados.” • Armazenamento temporário (buffering): – mantém partes do banco de dados armazenado na me­mória principal. Banco de Dados - Professor Ivan Pires 6 Vantagens da Utilização de SGBD • Garantindo Backup e Restauração – Um SGBD deve prover facilidades para a restauração de falhas de hardware ou de software. Banco de Dados - Professor Ivan Pires Vantagens da Utilização de SGBD • Fornecendo Múltiplas Interfaces para os Usuários – Interfaces Gráficas para os Usuários — Graphical User Interfaces (GUIs). Banco de Dados - Professor Ivan Pires 7 Vantagens da Utilização de SGBD • Representando Relacionamentos Complexos entre os Dados – “O SGBD deve ter a capacidade de representar a variedade de relacionamentos complexos entre os dados, bem como recuperar e atualizar os dados relacionados fácil e eficientemente.” Banco de Dados - Professor Ivan Pires Vantagens da Utilização de SGBD • Forçando as Restrições de Integridade – A maioria das aplicações de um banco de dados tem certas restrições de integridade que devem complementar os dados • Tipo de dado para cada item de dados • Valor único • Valores possíveis • “(...) um aluno recebe nota A, mas é inserida, no banco de dados, a nota C, o SGBD não pode descobrir esse erro, automaticamente, porque C é um valor válido para os tipos de dados de NOTA. (...) Porém, a nota Z pode ser rejeitada automaticamente pelo SGBD, pois ela é um valor inválido para os tipos de dados de NOTA” Banco de Dados - Professor Ivan Pires 8 Vantagens da Utilização de SGBD • Permitindo Inferências e Ações Usando as Regras • “Alguns sistemas de banco de dados oferecem capacidades para definir as regras de dedução por inferência gerando novas informações de fatos armazenados no banco de dados. Esses sistemas são chamados sistemas de banco de dados dedutivos.” • Os sistemas de banco de dados ativos oferecem funcionalidades mais potentes, pois permitem regras ativas que podem disparar automaticamente ações quando certos eventos e condições ocorrerem. • Exemplo: Aprovação de alunos. (mini-mundo muda) Banco de Dados - Professor Ivan Pires Vantagens da Utilização de SGBD • Implicações Adicionais do Uso da Abordagem de um Banco de Dados – Redução no Tempo de Desenvolvimento de Aplicações: • (ex.: Relatórios, Sistemas) – Flexibilidade: • alteração sem afetar os dados – Disponibilidade para Atualizar as Informações – Economias de Escala • Centralizar recursos Banco de Dados - Professor Ivan Pires 9 Quando Não Usar o SGBD Os altos custos de utilizar o SGBD são devidos a: • Investimentos iniciais altos em hardware, software e treinamento. • Generalidade que o SGBD fornece para a definição e processamento dos dados. • Custos elevados para oferecer segurança, controle de concorrência, recuperação e funções de integridade. Pode-se indicar o uso de arquivos convencionais nas seguintes circunstâncias: • O banco de dados e suas aplicações são simples, bem definidas e sem previsão de mudanças. • Há requisitos de tempo real (real-time) para alguns programas difíceis de serem atendidos por causa da sobrecarga (overhead) do SGBD. • O acesso de múltiplos usuários aos dados não é necessário. Banco de Dados - Professor Ivan Pires Resumo • Definimos um banco de dados como uma coleção de dados relacionados, na qual os dados significam fatos registrados. • Um típico banco de dados representa alguns aspectos da vida do mundo real e é utilizado por um ou vários grupos de usuários para propostas específicas. • Um SGBD é um pacote de software para a implementação e manutenção de bancos de dados computadorizados. • O banco de dados e o software, juntos, formam um sistema de banco de dados. • Identificamos várias características que distinguem a abordagem de um banco de dados de uma aplicação tradicional de processamento de arquivos. Banco de Dados - Professor Ivan Pires 10