Banco de Dados I
Objetivos
•
Geral:•
Adquirir o desenvolvimento de habilidades e competências na atividades relacionadas a Banco de Dados.•
Específico:•
Conhecimento dos conceitos básicos de banco de dados;•
Conhecimento e manipulação de SGBD;•
Desenvolvimento de projetos de banco de dados;Contexto
•
Qual a importância de estudar o gerenciamento de dados?•
Qual a importância do dado?•
Quem tem mais informação tem mais valor;Conceito
•
Dado:•
é qualquer elemento identificado em sua forma bruta que por si só, não conduz a uma compreensão dedeterminado fato ou situação (Oliveira, 2005)
•
elemento que representa eventos ocorridos naempresa ou circunstâncias físicas, antes que tenham sido organizados ou arranjados de maneira que as
pessoas possam entender e usar. (Rosini e Palmisano, 2003)
Conceito
•
Informação:•
é o dado trabalhado que permite ao executivo tomar decisões (Oliveira, 2005)•
dado configurado de forma adequada ao entendimento e à utilização pelo ser humano(Rosini e Palmisano,Histórico
•
Início da computação:•
Dados guardados em arquivos de texto•
Problemas:•
Redundância não-controlada de dados;•
Aplicações que se preocupam com a forma de armazenamento;Histórico
•
Primeiro Banco de dados, anos 60:•
Redundância controlada;•
Dados armazenados de forma mais consistente;Conceito
•
O que é banco de dados?•
Conjunto de dados integrados, representando informações sobre um domínio específico.•
O que é SGBD - Sistema Gerenciador de banco de dados?•
Conjunto de dados associados a um conjunto de programas para acesso a esses dados;•
O objetivo é proporcionar um ambiente tanto conveniente quanto eficiente para recuperação e armazenamento de dados.Dados
•
Os dados em um banco de dados estão integrados e compartilhados.•
Por integrado, queremos dizer que o banco de dados pode ser considerado como uma unificação de vários arquivos.•
Por compartilhado, queremos dizer que o banco dedados pode ser compartilhado entre diferentes usuários, assim eles podem ter acesso aos mesmos dados,
Hardware
•
Os componentes de hardware do sistema consistem em:•
Volumes de armazenamento secundário – usados para manter os dados armazenados.•
Processador (e) e memória principal – usados para dar suporte à execução do sistema de banco de dados.Software
•
Entre os dados fisicamente armazenados e os usuários do sistema existe uma camada de software, conhecida como sistema de gerenciamento de banco de dados(SGBD).
•
Todas as requisições de acesso ao banco de dados são tratadas pelo SGBD.•
Uma função geral fornecida pelo SGBD é a de isolar os usuários do banco de dados dos detalhes no nível de hardware.Software
•
O SGBD é o componente de software mais importante de todo o sistema.•
Atenção: as pessoas da área frequentemente usam o termo banco de dados quando, na verdade, querem se referir ao SGBD.Software
•
Outros componentes de software incluem:•
Utilitários;•
Ferramentas de desenvolvimento de aplicações;•
Recursos para auxiliar no projeto de banco de dados;•
Geradores de relatórios;Usuário
•
Há quatro classes gerais de usuários:•
Os programadores de aplicações/Analistas deSistemas – responsáveis pela escrita de programas de
aplicações de banco de dados em alguma linguagem de programação, como COBOL, PL/I, C++, Java. Esses
programas acessam o banco de dados emitindo requisições ao SGBD via SQL.
Usuário
•
Há quatro classes gerais de usuários:•
O administrador de banco de dados, ou DBA(Database Administrador) - responsável por autorizar o acesso ao banco de dados, coordenar e monitorar seu uso e adquirir recursos de software e hardware
necessários.
•
Os usuários finais - acessam o banco de dadosinterativamente. Este usuário pode acessar o banco de dados por meio de aplicações ou pode usar uma
interface fornecida como parte integrante do software do sistema, chamada processador de linguagem de consulta.
Funções do SGBD
•
Redundância controlada;•
Compartilhamento de dados;•
Concorrência;•
Reconstrução;•
Segurança;•
Restrições de integridade;•
Distribuição•
Gerência de armazenamento de dadosRedundância Controlada
•
Os diversos setores de uma empresa compartilham informações que podem estar replicadas.•
Essa redundância pode levar a um estado inconsistente, além de gastar espaço de armazenamento•
O SGBD deve oferecer mecanismos para esse controle sem prejudicar as aplicações dos diversos setoresCompartilhamento dos
dados
•
Um SGBD multi-usuário permite o acesso simultâneo de vários usuários à base de dados•
O SGBD deve oferecer um controle de concorrência para garantir que o resultado de várias modificações à base de dados seja corretoControle de concorrência
•
Limita as leituras e modificações simultâneas disparadas ao mesmo dado por diferentes usuários•
A técnica mais usada consiste em bloquear os dados envolvidos em determinada operação.•
Por ex.: Caso um passageiro queira transferir sua reserva de um vôo para outro é necessário que os dois vôosestejam bloqueados.
•
O bloqueio pode ser lógico ou físico. Lógico: linguagem de consulta. Físico: registro, página ou tabelaControle de Transações
•
Transações são unidades lógicas de trabalho numaaplicação. Por ex.: Caso da transferência da reserva de vôo.
•
A base de dados está em um estado consistente antes e depois de uma transação.•
Um mecanismo de transação garante que toda transação iniciada ou termina com sucesso ou é desfeita.•
Transações de diferentes usuários que envolvem dados compartilhados são executadas em sequencia.Reconstrução
•
Um mecanismo de reconstrução permite que a base de dados volte a um estado consistente após pane.•
Backups são a solução mais simples e antiga.•
A reconstrução associada à transação pode proporcionar soluções de backup incremental através de arquivos.Acesso controlado
•
Quando vários usuários tem acesso à base de dados, em geral eles tem privilégios diferentes quanto à manipulação dosdados.
•
Dados financeiros costumam ter acesso restrito e o SGBD deve ter um mecanismo de controle de segurança.•
O SGBD deve garantir que usuários autorizados realizam operações corretas na base de dados.Segurança
•
Proteção aos dados•
Cuida para que o conteúdo da base de dados não seja compreendido por usuários não autorizados•
Criptografia/Decriptografia•
Padrões de criptografiaRestrições de Integridade
•
Manutenção da consistência da base de dados através da validação de restrições definidas sobre os dados.•
Controle de valores que um campo pode ter.Por ex.: O número de assentos de um vôo só pode variar entre 100 e 700.
•
Controle de relacionamento entre dois registros.Por ex.: Um vôo só pode pertencer a uma Cia já cadastrada.
Gerência de
armazenamento
•
Armazenamento de tabelas•
Como os registros são armazenados nas páginas dos arquivos em disco•
Gerência do espaço do arquivo em disco•
Oferecendo técnicas de pesquisa para o processamento eficiente de consulta.Distribuição
•
Acesso remoto a bases de dados•
arquitetura cliente/servidorQuando não usar um SGBD
•
Existem situações em que esse sistema pode envolver custos adicionais desnecessários•
Em algumas circunstâncias pode ser mais desejável utilizar arquivos comuns:•
Aplicações de BD simples;•
Requisitos rigorosos de tempo;•
Capacidade de armazenamento limitada;SGBDs
•
Exemplos:•
MySQL;•
Oracle;Exercícios
•
Defina dado, banco de dados, sistema de banco de dados e sistema de gerenciamento de banco de dados.•
Cite os quatro principais componentes de um sistema de banco de dados•
Qual é a função de um SGBD?•
Sabemos que o SGBD é o principal componente de software de um sistema de banco de dados. Cite pelo menos três componentes de software auxiliares•
Quais as principais classes de usuários de um sistema de banco de dados?•
Além do banco de dados operacionais, qual o outro tipo de banco de dadosutilizado pelas empresas?