Você está na página 1de 27

Capítulo 8

Acesso a arquivos e
à base de dados
Persistência de
dados
• Os computadores utilizam os arquivos como estrutura
para armazenamento, em longo prazo, de grande volume
de dados.
• Dados mantidos em arquivos são chamados de
persistentes porque continuam existindo, após o
encerramento da execução do programa, gravados em
dispositivos de armazenamento secundários, como
disquetes, discos rígidos, discos ópticos, unidades de
estado sólido etc.
Persistência de
dados
• Até agora, os exemplos apresentados armazenavam as
informações, temporariamente, na memória RAM do
computador.
• Este recurso é bastante utilizado durante a fase de
aprendizado e também quando se está desenvolvendo o
algoritmo para a resolução de um problema sem que haja
ainda a preocupação com recursos de implementação
(como persistência dos dados, interfaces e estética, entre
outros).
Arquivo-texto

• Um arquivo é um local reservado para guardar


informações escritas, para uso futuro.
• Um bom exemplo são os arquivos de aço, utilizados para
armazenar fichas de papel contendo dados de clientes,
produtos e pacientes, entre outros.
• Os arquivos podem armazenar imagens, textos ou sons.
Arquivo-texto
Tipos de arquivos
quanto às formas de
acesso
• Escrever dados em arquivos pressupõe a possibilidade de
ler, alterar, escrever e apagar, operações básicas de
manipulação, que requerem o estabelecimento de formas
de acesso.
• Basicamente, podemos considerar duas possibilidades: o
acesso sequencial e o acesso aleatório (ou randômico).
Arquivos
sequenciais
• Os arquivos sequenciais armazenam informações, em
caracteres, no formato ASCII e os dados são gravados na
ordem em que são digitados. Eles apresentam alguns
inconvenientes:
• As informações são lidas na mesma ordem em que foram
inseridas, isto é, em sequência; é necessário que o
arquivo todo seja percorrido, até que a informação seja
localizada; as informações não podem ser alteradas
diretamente no arquivo, para se alterar algum dado é
necessário copiar todas as informações do arquivo
anterior para um novo arquivo, já com as alterações; esse
tipo de arquivo não é recomendado para trabalhos com
grande volume de informações, pois é lento; não é
possível abri-lo para leitura e escrita.
Arquivos de acesso
aleatório
• Os arquivos de acesso aleatório (ou randômico) também
armazenam as informações no formato ASCII.
• Cada registro é gravado em uma posição especifica e,
assim, as informações podem ser lidas
independentemente da ordem em que foram inseridas.
Operações de
manipulação de
arquivos
sequenciais
• As informações dos arquivos, por estarem armazenadas
em um dispositivo físico, podem ser manipuladas, isto é,
o arquivo pode ser atualizado ou simplesmente
consultado.
• Para a manipulação dos arquivos, existem quatro
operações básicas: inclusão, consulta, alteração e
exclusão.
Operação de
inclusão em arquivo
sequencial
• Os arquivos-texto não impõem qualquer estrutura para o
armazenamento das informações, cabendo ao
programador estruturar os registros com campos e tipos
de dados necessários aos requisitos da aplicação que
precisa desenvolver.
• Para que seja possível manipular arquivos sequenciais,
será necessário: declarar o registro e o arquivo; declarar
as variáveis de arquivo e registro; abrir o arquivo; fechar
o arquivo.
Operação de
consulta em arquivo
sequencial
• A operação de consulta em arquivo sequencial pode ser
realizada de duas maneiras:
o Saltando manualmente de um registro para o outro: nesse
caso, o usuário visualizará todos os registros, até que se
chegue ao registro desejado.
o Saltando automaticamente para o registro desejado:
nesse caso, utiliza-se uma variável que recebe a
informação a ser encontrada no arquivo e, por meio de
uma estrutura de repetição, é provocado o avanço pelos
registros até que seja encontrado o registro desejado.
Representação da
manipulação de
arquivos de acesso
aleatório
• As informações em um arquivo de acesso aleatório têm
sua ordem definida por um campo denominado chave,
que possibilita a identificação do registro e não pode ser
repetido.
• O campo-chave deve ser declarado juntamente às demais
variáveis que vão compor o registro e é por meio dele que
se faz a busca, diretamente, sem que haja necessidade
de que todos os registros anteriores sejam percorridos.
• Um arquivo de acesso aleatório pode ser comparado a um
CD com musicas, pelo qual se pode ouvir a primeira
música, depois saltar para a décima e voltar para a
sétima, sem que haja necessidade de percorrer todas as
músicas intermediarias.
Representação da
manipulação de
arquivos de acesso
aleatório
• Para que seja possível a manipulação de arquivos de
acesso aleatório, será necessário:
1. Declarar o registro e o arquivo.
2. Declarar as variáveis de arquivo e registro.
3. Abrir o arquivo.
4. Fechar o arquivo.
Operação de
inclusão em arquivo
de acesso aleatório
Será feita a construção de um cadastro de clientes que
armazene código do cliente, nome, telefone e e-mail:
Operação de
consulta em arquivo
de acesso aleatório
Acesso à base de
dados
• Uma base de dados é uma coleção organizada de dados,
um conjunto de arquivos controlados por um Sistema
Gerenciador de Banco de Dados (SGBD) que disponibiliza
mecanismos para armazenamento, recuperação e
modificação desses dados, para muitos usuários, sem que
eles tenham a preocupação com a sua representação
interna.
• Java possui uma interface de programação de aplicações
(API, do inglês Application Programming Interface)
chamada Java Database Connectivity (JDBC) que faz
parte do pacote java.sql, com um conjunto de classes e
métodos, para se comunicar com os SGBD.
Acesso à base de
dados
A comunicação ocorre por meio de drivers, desenvolvidos
pelas empresas que distribuem ou comercializam seus
sistemas gerenciadores de bases de dados.
O driver tem funcionalidade similar aos softwares, que
possibilitam a interligação de um computador e seus
periféricos, pois é ele que faz a ponte entre o sistema
operacional e o equipamento conectado.
Bancos de dados
relacionais
• A maioria dos bancos de dados comercialmente utilizados
são denominados relacionais, pois organizam os dados
associando-os uns aos outros, independentemente de sua
estrutura física.
• Os mais conhecidos são: OracleR, Microsoft SQL ServerR,
SybaseR, IBM DB2R, Informix R, PostgreeSQLR e MySQLR.
• Este tipo de banco armazena os dados em tabelas,
formadas por linhas e colunas.
SQL (Structured
Query Language)
• SQL é a linguagem estruturada de consulta de dados para acesso
aos bancos relacionais, padronizada internacionalmente.
• Trata-se de uma linguagem declarativa, pois suas instruções são
constituídas por cláusulas construídas a partir de palavras-
chave.
• Possui diversos comandos, divididos em quatro categorias:
a) Data Definition Language (DDL), cujas declarações são
utilizadas para determinar a estrutura da base de dados,
criando tabelas, views, índices etc.
b) Data Control Language (DCL), constituída por instruções de
definição a regras de acesso, tais como os usuários e suas
permissões.
c) Data Transaction Language (DTL), utilizada para a definição de
transações, operações atômicas na base de dados.
d) Data Manipulation Language (DML), parte que é composta das
declarações para manipular os dados do banco.
Operações de
manipulação em
bases de dados
• As principais declarações DML que utilizamos são as
apresentadas a seguir:
Operação de
consulta em uma
tabela
A consulta na tabela contatos da base de dados (Figura 8.9),
por meio de um algoritmo, pode ser feita pela declaração
SQL apresentada anteriormente: SELECT * FROM contatos.
Operação de
consulta em uma
tabela
Operação de
alteração em uma
tabela
A operação de alteração em nossa tabela contatos pode ser
feita por meio da declaração SQL UPDATE, apresentada na
primeira parte da Seção 8.7 do livro, que aborda as
instruções DML.
Operação de
exclusão em uma
tabela
• Em determinadas situações, pode ser necessário excluir
linhas de nossas tabelas do banco de dados, o que pode
ser feito pela declaração DELETE.
• Além de não ser uma operação muito recomendável, pois
uma exclusão pode prejudicar a recuperação de
informação importante, um cuidado especial deve ser
tomado, uma vez que linhas de uma tabela podem ser
excluídas inadvertidamente, bastando, para tanto, que
uma referência errada seja passada para o banco.
Operação de
exclusão em uma
tabela
Operação de
exclusão em uma
tabela
• A declaração SQL, utilizada neste exemplo, passa a
identificação do contato como referência para a
exclusão, o que é recomendável, pois, por definição, este
número e único para cada contato em nossa tabela.
Operação de
exclusão em uma
tabela