Buscar

Introdução aos Sistemas de Bancos de Dados

Prévia do material em texto

Capítulo 1 Introdução 
A introdução dos computadores nas empresas, embora seja um evento dos mais recentes 
na história da Humanidade, produziu uma das maiores e mais rápidas transformações já 
vistas em nossa sociedade. A escala dos negócios, as relações de trabalho e de produção, 
a cultura e os meios de comunicação são apenas alguns dos aspectos de nossa vida que 
foram drasticamente modificados por esse processo. O nosso estilo de vida é hoje todo 
ele fundado, em maior ou menor grau, no suporte tecnológico oferecido pela informática, 
no que isso tem de bom e, por que não, também de ruim. Os sistemas de bancos de dados 
representam um componente importante dentro desse panorama, pois fazem parte da 
infra-estrutura sobre a qual está fundada uma grande parte das aplicações de informática 
utilizadas pelas empresas e organismos de todos os setores da economia. É uma área 
multidisciplinar que abrange um largo espectro do conhecimento, indo da ciência da 
computação à administração e filosofia, podendo por isso ser abordada por uma grande 
variedade de enfoques. O objetivo deste livro é oferecer uma visão da área de bancos de 
dados a partir de uma perspectiva de sua aplicação nos sistemas de informação, 
procurando articular os principais aspectos de interesse para o leitor que não precisará 
projetar um sistema gerenciador de bancos de dados mas sim construir aplicativos, em 
geral para resolver problemas comerciais, que façam um bom uso desses recursos e dos 
conceitos a eles subjacentes. Este primeiro capítulo procura contextualizar o emprego dos 
sistemas gerenciadores de bancos de dados nas aplicações comerciais e apresentar alguns 
conceitos básicos, que poderão ser retomados nos capítulos subseqüentes. Nosso ponto de 
partida será uma breve discussão sobre como a maneira de se construir os sistemas 
informatizados foi evoluindo ao longo do tempo. 
1.1 Evolução das abordagens no desenvolvimento de sistemas 
Os computadores têm sido efetivamente utilizados nas tarefas de processamento de dados 
das empresas basicamente a partir do início da década de 60 do século passado. Com a 
progressiva diminuição dos custos e sofisticação dos produtos de hardware e software 
verificada desde então e o processo de difusão de uma cultura de informática conduzido 
tanto por parte dos fornecedores desses produtos como pelas escolas e universidades e, 
num segundo momento, também pelos meios de comunicação de massa, a presença e 
importância dessas máquinas nas organizações tornou-se cada vez maior. Também o 
dramático aumento de escala do volume de negócios desenvolvidos pelas empresas e 
organismos de todos os setores da economia funcionou como um intensificador desse 
processo, embora nem sempre seja claro se esse crescimento dos negócios em geral 
motivou uma maior utilização dos recursos da informática ou foi motivado por ela ou, 
ainda, ambos. 
Hoje temos um imenso volume de informações sendo processado a cada momento em um 
sem número de transações, executadas por equipamentos dos mais variados portes e 
características, em empresas e instituições de todas as partes do mundo, de praticamente 
todos os tamanhos e setores de atividade. Nesse contexto, os bancos de dados e os 
software que cuidam de sua manipulação e gerenciamento desempenham um papel muito 
importante, o que faz com que sua tecnologia esteja sempre em constante evolução. A 
 
 
introdução no ambiente corporativo dos programas de computador responsáveis por esse 
tipo de processamento ocorreu inicialmente nas grandes empresas e organismos públicos 
dos países desenvolvidos, disseminando-se então pelo resto do setor produtivo e do 
mundo, podendo ser analisada, para fins didáticos, numa perspectiva histórica e técnica 
que considera a existência de três momentos ou abordagens principais: a abordagem 
inicial, a de sistemas integrados e a de sistemas gerenciadores de bancos de dados. Na 
caracterização de cada uma dessas fases estão embutidos aspectos cronológicos (ou seja, 
quem veio antes de quem) e também conceituais, que revelam toda uma evolução 
filosófica, até mais do que técnica, da Ciência e/ou Arte do desenvolvimento de sistemas 
informatizados. Merece atenção esse aspecto conceitual de cada abordagem, uma vez que 
ele desvenda práticas e visões distintas de "como se fazer a coisa" e que, em certos 
aspectos, independem do ambiente de hardware e de software disponível numa 
instalação. 
1.1.1 A abordagem inicial 
A abordagem inicial (ou tradicional ou convencional, conforme alguns autores) resulta, 
como o próprio nome pode sugerir, dos primeiros esforços na especificação e 
implantação de sistemas computacionais para o processamento de dados comerciais. 
Apesar de ser a mais antiga e apresentar uma série de inconvenientes, ainda hoje é 
adotada por alguns profissionais e empresas, principalmente para projetos isolados e de 
pequeno porte. 
Ao se comentar suas características básicas devemos ter sempre em mente o contexto 
histórico em que essa abordagem surgiu, nos primeiros anos da introdução dos 
computadores nas empresas. Nessa época, em primeiro lugar, não existia experiência 
alguma em termos de análise de sistemas baseados em computador, o que tornava a tarefa 
da especificação de sistemas muito dependente da intuição e do senso prático do analista, 
já que não haviam regras ou conceitos suficientemente testados para serem utilizados. Em 
segundo lugar, os custos para a introdução do departamento de processamento de dados 
numa empresa eram muito altos, o que gerava uma pressão sobre a equipe de 
desenvolvimento no sentido de que o retorno do investimento ocorresse rapidamente. 
Completando esse quadro inicial, todo o marketing dos computadores era feito em cima 
da sua enorme velocidade de processamento. Assim, a situação com que os primeiros 
analistas de sistemas se defrontaram levou a que objetivassem desenvolver o maior 
número possível de sistemas, priorizando-se aqueles que tivessem a maior repercussão 
dentro da empresa, já que o lema era "Mostrar serviço". Os resultados não tardaram: os 
sistemas eram projetados independentemente uns dos outros, proporcionando soluções 
setorizadas para os problemas da organização; as primeiras áreas a serem informatizadas 
eram aquelas que apresentavam tarefas repetitivas e demoradas; as aplicações, em geral, 
apenas automatizavam o que era feito manualmente, sem questionar os procedimentos em 
busca de maiores otimizações organizacionais. 
 
 
Pessoal
Vendedores
Cargos Vendas
Pedidos
Mat. prima
Fornecedores
Materiais
Clientes
Produtos
Funcionarios Pedidos
Produtos
FOLHA 
PAGTO VENDAS
PCP
Horas trab, Pagamentos
 
Figura 1.1: Sistemas informatizados desenvolvidos segundo a abordagem inicial. 
Assim, podemos resumir as principais características dessa abordagem inicial: 
a) Cada aplicação tem seus próprios arquivos: como o projeto do sistema baseia-se 
numa visão isolada do problema, ele não prevê forma alguma de integração com 
outras aplicações já existentes ou a serem desenvolvidas. Devido à ênfase nos 
processos, os programas tornam-se mais importantes que os dados, e temos cada 
aplicação administrando seus próprios arquivos. O resultado é, em primeiro lugar, 
o surgimento de redundâncias, com vários arquivos duplicados dentro da empresa 
mas sendo de "donos" diferentes. Isso acaba gerando inconsistências, pois 
freqüentemente ocorre que uma informação é atualizada num arquivo mas não em 
outro. Os métodos de armazenamento e as linguagens de programação 
tradicionais forçam as aplicações a conhecerem muito tanto da estrutura física 
como da localização dos arquivos a serem manipulados. Isso acaba levando a uma 
excessiva dependência dos programas em relação aos arquivos. Com isso, 
qualquer modificação na estrutura ou mesmo na localização de um arquivo de 
dados implica em alterações às vezessubstanciais no código fonte da aplicação. 
b) Sistemas pouco flexíveis: a introdução de alterações nas aplicações é 
problemática devido a vários fatores: a estreita ligação entre programas e 
arquivos; a falta de metodologias para o desenvolvimento de sistemas, que torna 
certos analistas "donos" das aplicações que geram; a existência de projetos 
totalmente despreocupados com a alterabilidade, etc. Sempre que a manutenção é 
difícil, também é demorada e cara e muitas vezes um sistema produzido com 
essas características precisa ser abandonado pois torna-se inviável administrar a 
sua manutenção. 
 
 
c) Ausência de dispositivos de segurança para os dados: uma vez que toda aplicação 
deve ser construída a partir da estaca zero, os procedimentos de segurança 
necessários ao sistema também ficam inteiramente a cargo do analista / 
programador, o que demanda recursos de tempo e máquina. Muitas vezes tais 
dispositivos são deixados para o final do projeto e, devido às pressões dos prazos 
e aos imprevistos, nunca são implementados adequadamente. 
1.1.2 Abordagem de sistemas integrados 
Esta filosofia surgiu como conseqüência e em resposta a alguns dos inúmeros problemas 
decorrentes da abordagem inicial. A principal diferença reside na definição de bases de 
dados sob uma óptica mais ampla, permitindo que um mesmo arquivo seja utilizado por 
mais de um sistema, o que a faz caracterizar-se pela implantação de sistemas corporativos 
nas empresas, onde há uma grande preocupação com a integração das informações das 
principais áreas operacionais. Ocorrem também esforços no sentido da padronização de 
algumas tarefas inerentes ao desenvolvimento de sistemas, embora muitos conceitos 
relacionados à especificação de sistemas apoiem-se ainda em bases empíricas. 
Constitui um avanço em relação à abordagem anterior, pois leva à uma maior 
coordenação entre os sistemas e à diminuição das redundâncias na base de dados, mas 
ainda apresenta alguns problemas sérios, pois os programas continuam fortemente 
acoplados aos arquivos, agora com o agravante de que qualquer alteração na estrutura 
física da base de dados envolve a correção de programas de vários sistemas. Além disso a 
ênfase continua sendo dada aos processos (programas) e não aos dados e com isso as 
aplicações tornam-se menos estáveis, exigindo maiores esforços da equipe de 
desenvolvimento para sua adaptação às mudanças nas regras de negócios da organização. 
Isso ocorre porque num mundo competitivo como o dos negócios, as práticas comerciais 
são modificadas com uma freqüência muito grande, e possuem um reflexo maior sobre os 
programas que as implementam do que sobre os dados por elas requeridos. 
Cargos
Vendas Mat. prima
Fornecedores MateriaisClientesFuncionarios Pedidos
Produtos
FOLHA 
PAGTO VENDAS PCP
Horas trab, Pagamentos 
Figura 1.2: Os sistemas informatizados segundo a abordagem integrada. 
1.1.3 Abordagem de sistemas gerenciadores de bancos de dados 
As duas abordagens anteriores, apesar de apresentarem diferenças até certo ponto 
significativas, têm em comum uma característica determinante: ao se desenvolver uma 
aplicação comercial informatizada, a ênfase é dada aos processos, e isso gera dificuldades 
de manutenção, em parte como conseqüência do forte acoplamento dos programas aos 
 
 
arquivos de dados. Além disso, é importante reconhecer que existe uma grande carga de 
processamento que é requerida pelos dados em si, independentemente dos propósitos 
gerais do sistema como, por exemplo, autenticação de acesso e controle de concorrência 
sobre os arquivos, manutenção de consistências básicas dos dados, funcionalidades para 
recuperação de falhas e cópias de segurança, processamento de consultas, etc. Nos 
sistemas desenvolvidos segundo as duas primeiras abordagens, esse conjunto de 
funcionalidades encontra-se codificado em cada programa, constituindo uma espécie de 
redundância de processos: as mesmas rotinas, que não são específicas de nenhum 
aplicativo em particular, acabam sendo mantidas, repetidas, em todos os sistemas, 
criando suas próprias dificuldades de manutenção e desempenho em execução. A 
necessidade da construção de sistemas cada vez mais complexos, flexíveis e confiáveis, 
integrando com robustez os dados de toda a organização (e não apenas de alguns 
departamentos) fez surgir a abordagem de Sistemas Gerenciadores de Bancos de Dados 
(SGBD), considerada a mais adequada atualmente, que faz uma separação ainda mais 
drástica entre a base de dados e as aplicações finais por meio da introdução de um 
software específico, o SGBD, cujo papel é concentrar as funcionalidades básicas de 
acesso e gerenciamento dos dados. Com isso alivia-se a carga de trabalho dos programas 
destinados ao usuário final, centraliza-se a administração da base de dados e elimina-se 
redundâncias de processos. 
Cargos
Vendas Mat. prima
Fornecedores MateriaisClientesFuncionarios Pedidos
Produtos
FOLHA 
PAGTO
VENDAS PCP
Horas trab, Pagamentos
SGBD
 
Figura 1.3: Os sistemas informatizados na abordagem baseada em SGBDs. 
Existem duas preocupações principais ao se trabalhar nesse novo enfoque. A primeira, 
num nível mais conceitual, consiste na definição de um modelo de dados em termos da 
empresa como um todo, contemplando os diversos setores da organização numa visão de 
médio e longo prazos. Nesse modelo deve estar retratada toda a inter-relação entre as 
diversas áreas componentes do negócio e todas as suas necessidades de informação. Só 
com base nisso pode-se garantir que as aplicações a serem desenvolvidas individualmente 
terão o comportamento desejado em termos de integração com outros sistemas e os dados 
serão sempre confiáveis. A segunda preocupação diz respeito à forma de implementação 
 
 
física dos dados em termos dos programas que os irão manipular. É necessário que os 
programas tenham uma visão de alto nível dos dados, o mais independente possível dos 
fatores físicos ligados à forma de armazenamento dos dados (como tipo e tamanho de 
cada dado, localização física dos arquivos, etc). Assim, nos sistemas gerenciadores de 
bancos de dados, existe uma separação interna entre o local onde se armazena a definição 
física (e mesmo lógica) dos dados e aquele onde eles são realmente utilizados, inclusive 
originando os conceitos de Linguagem de Definição dos Dados (LDD), utilizada para 
construir, destruir e modificar a estrutura dos objetos do banco de dados; Linguagem de 
Manipulação dos Dados (LMD, também chamada de linguagem de consulta), voltada 
para a atualização e leitura dos dados contidos nos objetos e Linguagem de Controle de 
Dados (LCD), para o gerenciamento dos direitos de acesso lógico aos dados. Para que 
esse tipo de isolamento possa ocorrer o SGBD deve utilizar um repositório onde são 
armazenadas todas essas definições, também chamadas de metadados, de forma que 
fiquem externas ao código da aplicação. Esse repositório apresenta-se na forma de um 
catálogo ou dicionário de dados cuja aparência e transparência para o analista / 
programador / usuário é bastante variável de SGBD para SGBD. Esses software também 
chamam para si a responsabilidade pela implementação de controles de transação, de 
segurança de acesso e de concorrência, que são complexos e de difícil manutenção e 
representam aquele tipo de redundância lógica observada nas abordagens mais antigas. 
Ao trabalhar sob a abordagem de banco de dados é então necessário que o pessoal ligado 
ao desenvolvimento comprometa-se com certos princípios e requisitos, em troca de 
alguns importantes benefícios. A seguir estão resumidas as principais exigências e 
vantagens determinadas pela utilização do enfoque de banco de dados. 
Vantagens: 
a) desenvolvimento mais flexível e produtivo ; 
b) integração dos dados em nível corporativo ; 
c) transparência dos dados quanto às aplicações; 
d) maior controle sobre a integridade dos dados ; 
e) maiores recursos para garantir a segurança dos dados. 
Requisitos: 
a) aquisição e utilização de um SGBD ; 
b) centralização da definição de dados ; 
c) centralização do projeto das bases de dados ; 
d) capacitação da equipe de desenvolvimento numa plataforma mais complexa. 
 
 
 
1.2 Bancos de Dados e Sistemas Gerenciadores de Bancos de 
Dados 
Chamamos de “Banco de Dados” ou de “Base de Dados” a um conjunto de dados 
relacionados entre si, que podem estar, em princípio, em qualquer formato ou meio físico. 
No atual contexto tecnológico entretanto, e nesta obra em particular, esses termos estarão 
associados com dados representados em formato digital e armazenados em algum 
dispositivo eletrônico. 
Dá-se o nome de “Sistema Gerenciador de Banco de Dados” ao conjunto de programas 
responsável pela definição e operacionalização de uma base de dados, proporcionando 
um ambiente para o acesso da comunidade de usuários às informações armazenadas nos 
seus diversos arquivos. 
Tabela 1
Tabela 4
Tabela NTabela 3 Tabela 5
...
AAAA BBBB CCCC
Tabela 2
SGBD
Banco de Dados
Aplicações finais
 
Figura 1.4: Contexto de utilização de um SGBD. 
1.2.1 Arquitetura em 3 níveis 
Um banco de dados pode ser caracterizado inicialmente por dois aspectos principais: 
a) sua instância, que é o conjunto de informações contidas no banco de dados em um 
determinado momento. A instância reflete o estado do banco de dados em um 
instante específico do tempo, e é extremamente dinâmica, pois é modificada a 
cada operação de inclusão, exclusão ou alteração de dados por parte dos usuários 
finais. 
 
 
b) seu esquema, ou seja, a sua estrutura ou lay-out básico, que determina quais os 
dados que podem ser nele armazenados, seu formato e detalhes de 
implementação. O esquema é descrito em termos de metadados, e pode expressar 
a estrutura do banco de dados em diferentes níveis de detalhe. O esquema permite 
saber quais as tabelas ou objetos existentes em um banco de dados e também 
quais os tipos de informação capazes de serem guardados nesses objetos. 
Conforme a necessidade dos diferentes tipos de usuário do banco de dados, é interessante 
expressar sua estrutura geral (seu esquema) em diferentes níveis de abstração. O grupo de 
estudos em sistemas de bancos de dados do comitê ANSI/SPARC propôs, em 1978, uma 
arquitetura que prevê 3 níveis de abstração para um banco de dados. Cada nível 
corresponde a um esquema e por esse motivo essa proposta recebeu o nome de 
Arquitetura de 3 Esquemas, ilustrada na figura 1.5. 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 1.5: A arquitetura ANSI/SPARC. 
O esquema interno representa os detalhes físicos específicos sobre como os dados estão 
realmente gravados nos dispositivos de armazenamento utilizados pelo sistema. Indica os 
arquivos empregados, a estrutura de bytes utilizada (formato de cada registro e campo) e 
os meios auxiliares de acesso (índices, hashing, etc). 
O nível externo procura mostrar a percepção que cada aplicação ou grupo de usuários 
possui do banco de dados. Essa percepção nada mais é do que uma visão particular (e 
geralmente parcial) do conteúdo do banco de dados, na qual os detalhes sobre a forma 
real de armazenamento são irrelevantes. Como co-existem diversos aplicativos fazendo 
uso do banco de dados, e para cada aplicativo podem existir diferentes classes de 
usuários, cada uma com necessidades de informação específicas, o nível externo é 
Nível Externo 
(ou de Visão) 
Nível Conceitual 
Nível Interno 
(ou Físico) 
Armazenamento 
Esquema Interno 
Visão N 
Esquema Conceitual 
Visão 2 Visão 1 ... 
 
 
composto por diversos esquemas de alto nível, um para cada aplicativo ou classe de 
usuário identificada. 
O esquema conceitual, algumas vezes chamado de esquema lógico comunitário, procura 
representar, em um nível intermediário de abstração, a estrutura geral do banco de dados, 
fazendo o mapeamento entre as diversas visões de usuário com o esquema físico 
subjacente. 
1.2.2 Princípios para um SGBD 
Ao utilizar-se um SGBD estão implícitos certos objetivos fundamentais, como a 
integração das atividades gerenciais e operacionais da empresa, a obtenção de maior 
segurança em termos do armazenamento dos dados, a facilitação da tarefa de 
desenvolvimento de sistemas, a melhor adequação da base de dados à realidade do dia-a-
dia, a melhoria das condições de administração do conjunto de dados, etc. Para que tudo 
isso seja possível é necessário que o SGBD obedeça a alguns princípios básicos que são 
resumimos a seguir: 
a) Independência de dados: é o principal objetivo de um SGBD e consiste na 
capacidade de tornar as características do esquema de um nível do banco de dados 
transparentes para o esquema de nível imediatamente superior. Com isso, 
modificações no arranjo físico dos dados (como sua localização, estrutura, 
tamanho, etc) devem ser tão transparentes quanto possível para o nível conceitual, 
indicando com isso, o grau de independência de dados física daquele banco de 
dados. O esquema conceitual, por sua vez, deve garantir independência de dados 
lógica, por permitir que modificações em suas características tenham mínimo 
impacto sobre as correspondentes visões de usuário, viabilizando assim que os 
programas aplicativos venham dispor apenas de uma visão de alto nível da base 
de dados, que não é influenciada (ou é pouco influenciada) por eventuais 
modificações na forma de armazenamento dos dados. 
b) Compartilhamento de dados: deve ser possível que, num determinado momento, 
mais de um usuário possa acessar os dados armazenados pelo SGBD. 
c) Garantia de integridade de dados: apesar de permitir que os dados sejam 
compartilhados, o SGBD deve oferecer serviços que evitem que atualizações 
concorrentes tornem a base de dados inconsistente. 
d) Garantia de segurança de dados: o SGBD deve oferecer meios que resguardem a 
base de dados nos casos de falha de programa, equipamento ou sinistros. Também 
deve ser possível que alterações indevidas feitas pelos usuários durante a 
operação dos aplicativos sejam desfeitas sem prejuízo da coerência dos dados. 
Considera-se igualmente como um item de segurança a ser proporcionado pelo 
software gerenciador o controle dos níveis de acesso dos usuários aos dados do 
sistema. 
e) Relacionamento entre os dados: a implementação dos diversos relacionamentos 
previstos na base de dados deve ser controlada automaticamente pelo SGBD, 
externamente à aplicação. 
 
 
f) Controle da redundância de dados: devem ser proporcionados meios para que seja 
possível o controle da repetição de dados pelos diversos arquivos administrados 
pelo SGBD. Isso é conseguido por meio da centralização da definição dos dados 
num Dicionário de Dados ou Catálogo, que serve como base para a operação do 
SGBD. 
Evidentemente, tais princípios existem interligados entre si, sendo que o descuido com 
relação a um deles geralmente apresenta reflexos sobre todos (ou quase todos) os demais. 
1.2.3 Modelos de SGBDs 
Os produtos SGBDs podem ser classificados em 5 categorias principais: os de estrutura 
hierárquica; os de estrutura de rede; os relacionais; os orientados a objeto e os objeto-
relacionais. Cada um desses modelos corresponde a um estágio na evolução do hardware 
disponível para as aplicações comerciais e no estado da arte na área da teoria de Banco de 
Dados e da Engenharia de Software e diferem entre si por 5 aspectos principais: a ordem 
cronológica em que surgiram; os tipos de elos (ligações) utilizados para implementar 
internamente os relacionamentos entre os dados; as modalidades de relacionamento 
suportados; a variedade de conteúdo que pode ser colocado dentro do banco de dados e, 
finalmente, o tipo de linguagemutilizada para implementar as aplicações que interagem 
com a base de dados. Os modelos hierárquicos e de rede já são considerados 
ultrapassados; e a abordagem orientada a objetos ainda é uma tecnologia em maturação, 
embora promissora e em rápida evolução. Os SGBDs mais utilizados hoje em dia foram 
concebidos com base em um modelo matemático derivado da Teoria dos Conjuntos e que 
teve um grande desenvolvimento a partir da década de 70. Esse modelo é chamado 
Modelo Relacional e os SGBD que operam aplicando tais conceitos são chamados de 
Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDR). São exemplos de 
SGBDR os seguintes produtos, entre outros: MS-Access, MS-SQL Server, Oracle, 
Sybase, Informix, CA-Ingres, IBM-DB2, Borland-Interbase, MySQL, etc. Os SGBDs 
objeto-relacionais, por sua vez, implementam conceitos orientados a objeto sobre 
mecanismos relacionais, e ganharam alguma importância nos últimos anos. 
1.2.4 Classes de usuários dos SGBDs 
Existem 3 tipos básicos de usuários dos sistemas gerenciadores de bancos de dados: os 
administradores de bancos de dados, os desenvolvedores de aplicativos e os usuários 
finais. Cada um possui seu próprio perfil de utilização e necessidades que devem ser 
atendidas pelo sistema. 
a) Administradores de banco de dados: também chamados de DBA, que é a sigla 
para a denominação em inglês database administrator, são os responsáveis por 
criar e tornar operacional o banco de dados, ficando a seu encargo uma série de 
tarefas essenciais para o bom funcionamento do sistema e boa parte do suporte 
técnico requerido pelos outros tipos de usuário. Possui um perfil bastante técnico, 
pois precisa conhecer a fundo os conceitos de bancos de dados e a forma como 
são implementados no particular produto SGBD por ele utilizado. Um maior 
detalhamento das atribuições de um administrador de banco de dados é 
encontrado no capítulo 999. 
 
 
b) Desenvolvedores de aplicações: são os analistas, programadores e engenheiros de 
software responsáveis pela especificação da estrutura do banco de dados e pelo 
projeto e construção dos programas de computador que automatizarão o acesso 
aos dados. Possuem também um perfil bastante técnico e devem dominar os 
recursos da linguagem de manipulação de dados, principalmente, mas não 
precisam conhecer tão a fundo os detalhes internos do SGBD, embora isso possa 
ser desejável na criação e manutenção de alguns tipos de sistemas. 
c) Usuários finais: são as pessoas para as quais os aplicativos são construídos e a 
razão de ser de toda essa tecnologia. Existem algumas variedades importantes de 
usuários finais: o usuário comum, regular, que trabalha em seu dia a dia com um 
software criado pelos desenvolvedores e que em sua operação faz acessos 
programados ao SGBD, embora nem sempre ele tenha consciência disso; o 
usuário final que precisa fazer consultas aleatórias e interativas ao banco de 
dados, através de ferramentas de consulta mais poderosas, tipicamente para 
aplicações de suporte à decisão e os usuários mais sofisticados, que precisam 
conhecer mais a fundo alguns recursos de banco de dados para poderem trabalhar 
ou que utilizam aplicações mais específicas, como sistemas especialistas ou 
multimídia, por exemplo. 
1.3 Um curso de bancos de dados 
Para um profissional que desenvolve ou dá suporte técnico a sistemas de informação, ou 
para um futuro candidato a esse tipo de função, o estudo da matéria “Banco de Dados” 
pode ser encarado, após a rápida explanação feita anteriormente neste capítulo, como 
procurar compreender as principais questões e possibilidades que gravitam em torno da 
utilização de um sistema gerenciador de bancos de dados em um ambiente de produção e 
desenvolvimento. E são várias as questões que merecem boas respostas para esse 
profissional: 
a) Como definir o que deve ser armazenado no banco de dados? 
b) Como organizar esse conteúdo no interior do banco de dados? 
c) De que forma o conteúdo de um banco de dados pode ser manipulado pelo 
SGBD? 
d) Quais são as tarefas executadas por um SGBD? Em linhas gerais, como elas são 
executadas? 
e) Internamente como está estruturado um SGBD, em termos de sua arquitetura? 
f) De que forma uma aplicação final pode interagir com o SGBD? 
g) O que faz um administrador de banco de dados? 
h) Como um SGBD pode administrar a utilização dos mesmos dados por mais de um 
usuário ao mesmo tempo? 
 
 
i) O que pode ser feito para minimizar os problemas decorrentes de falhas e 
interrupções indesejadas na operação do sistema? 
j) Quais são as novas aplicações e tecnologias de bancos de dados que têm surgido 
nos últimos tempos? 
k) Para onde vai a tecnologia de bancos de dados? 
Todas essas questões serão tratadas neste livro, algumas com maior profundidade, outras 
com maior abrangência. Compreender como funcionam os bancos de dados e seus 
sistemas gerenciadores e qual o papel que desempenham nos planos tecnológico e de 
negócios é crucial para os atuais e futuros profissionais de informática.

Continue navegando