Buscar

Apol Princípios de Banco de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 199 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 199 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 199 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

2013
PrincíPios de Banco 
de dados
Prof. Décio Lehmkuhl
Prof. Djayson Roberto Eger
Copyright © UNIASSELVI 2013
Elaboração:
Prof. Décio Lehmkuhl
Prof. Djayson Roberto Eger
Revisão, Diagramação e Produção:
Centro Universitário Leonardo da Vinci – UNIASSELVI
Ficha catalográfica elaborada na fonte pela Biblioteca Dante Alighieri 
UNIASSELVI – Indaial.
005.75
L523p Lehmkuhl, Décio
 Princípios de banco de dados / Décio Lehmkuhl; Djayson Roberto. 
Indaial : Uniasselvi, 2013.
 189 p. : il 
 
 ISBN 978-85-7830- 684-7
 1. Banco de dados. 
 I. Centro Universitário Leonardo da Vinci.
Impresso por:
III
aPresentação
Atualmente existem vários bancos de dados no mundo. Você já parou 
para pensar qual é a sua relação com os mesmos ou qual é a importância 
deles para a sociedade? Vamos relacionar alguns fatos para evidenciar uma 
possível resposta a este questionamento.
A sociedade vive em torno de dados. Sua conta de energia elétrica, 
água, telefone e várias outras possuem dados relacionados que formam o 
valor a ser pago na fatura. Cada fornecedor desses serviços tem em sua base 
de dados o seu cadastro e o consumo que foi utilizado. Logo, pode-se concluir 
que o seu cadastro possivelmente existe em inúmeros bancos de dados.
Pense em um documento pessoal, por exemplo, o seu CPF. Ele deve 
constar na base de dados da Receita Federal. Se você comprou algum produto 
em estabelecimento comercial, o seu CPF provavelmente existe na base de 
dados dele. Como foi mencionado acima, existe uma grande “ligação” entre 
você e vários bancos de dados.
Isso pode tornar o conteúdo desta disciplina muito interessante. 
Serão abordados vários assuntos que vão desde as primeiras formas de 
armazenamento de dados até o estado atual de evolução da tecnologia. Você 
aprenderá quais são os conceitos de bancos de dados e até poderá programar 
a sua própria base de dados.
Sendo assim, temos muito para aprender! Bons estudos!
 Prof. Décio Lehmkuhl
 Prof. Djayson Roberto Eger
IV
Você já me conhece das outras disciplinas? Não? É calouro? Enfim, tanto para 
você que está chegando agora à UNIASSELVI quanto para você que já é veterano, há novidades 
em nosso material.
Na Educação a Distância, o livro impresso, entregue a todos os acadêmicos desde 2005, é o 
material base da disciplina. A partir de 2017, nossos livros estão de visual novo, com um formato 
mais prático, que cabe na bolsa e facilita a leitura. 
O conteúdo continua na íntegra, mas a estrutura interna foi aperfeiçoada com nova diagramação 
no texto, aproveitando ao máximo o espaço da página, o que também contribui para diminuir 
a extração de árvores para produção de folhas de papel, por exemplo.
Assim, a UNIASSELVI, preocupando-se com o impacto de nossas ações sobre o ambiente, 
apresenta também este livro no formato digital. Assim, você, acadêmico, tem a possibilidade 
de estudá-lo com versatilidade nas telas do celular, tablet ou computador. 
 
Eu mesmo, UNI, ganhei um novo layout, você me verá frequentemente e surgirei para 
apresentar dicas de vídeos e outras fontes de conhecimento que complementam o assunto 
em questão. 
Todos esses ajustes foram pensados a partir de relatos que recebemos nas pesquisas 
institucionais sobre os materiais impressos, para que você, nossa maior prioridade, possa 
continuar seus estudos com um material de qualidade.
Aproveito o momento para convidá-lo para um bate-papo sobre o Exame Nacional de 
Desempenho de Estudantes – ENADE. 
 
Bons estudos!
UNI
V
VI
VII
UNIDADE 1 – FUNDAMENTOS DE BANCO DE DADOS .......................................................... 1
TÓPICO 1 – INTRODUÇÃO A BANCO DE DADOS .................................................................... 3
1 INTRODUÇÃO .................................................................................................................................... 3
2 CONCEITOS DE BANCO DE DADOS .......................................................................................... 4
2.1 DADO E INFORMAÇÃO .............................................................................................................. 4
2.2 BANCOS DE DADOS .................................................................................................................... 6
3 HISTÓRICO DO GERENCIAMENTO DOS DADOS ................................................................. 8
4 SISTEMA GERENCIADOR DE BANCO DE DADOS ................................................................ 11
4.1 DEFINIÇÕES DE UM SGBD ......................................................................................................... 11
4.2 FUNÇÕES DE UM SGBD .............................................................................................................. 13
4.3 ESTRUTURA DE UM SGBD ......................................................................................................... 14
4.4 TIPOS DE USUÁRIOS DO SGBD ................................................................................................. 16
5 PRINCIPAIS BANCOS DE DADOS DISPONÍVEIS NO MERCADO .................................... 16
5.1 MYSQL ............................................................................................................................................. 16
5.2 ORACLE ........................................................................................................................................... 17
5.3 POSTGRESQL ................................................................................................................................. 18
5.4 SQL SERVER .................................................................................................................................... 20
LEITURA COMPLEMENTAR .............................................................................................................. 22
RESUMO DO TÓPICO 1 ....................................................................................................................... 24
AUTOATIVIDADE ................................................................................................................................ 25
TÓPICO 2 – EVOLUÇÃO DOS BANCOS DE DADOS ................................................................. 27
1 INTRODUÇÃO .................................................................................................................................... 27
2 HISTÓRICO DA EVOLUÇÃO DOS BANCOS DE DADOS ..................................................... 28
2.1 PRIMEIRA GERAÇÃO .................................................................................................................. 28
2.2 SEGUNDA GERAÇÃO .................................................................................................................. 30
2.3 TERCEIRA GERAÇÃO .................................................................................................................. 32
3 ARQUITETURA DE BANCO DE DADOS ..................................................................................... 35
3.1 ARQUITETURA CENTRALIZADA ............................................................................................ 35
3.2 ARQUITETURA CLIENTE-SERVIDOR ...................................................................................... 36
3.3 ARQUITETURA PARALELA ....................................................................................................... 37
3.4 ARQUITETURA DISTRIBUÍDA ................................................................................................... 38
LEITURA COMPLEMENTAR .............................................................................................................. 41
RESUMO DO TÓPICO 2 ....................................................................................................................... 43
AUTOATIVIDADE ................................................................................................................................44
TÓPICO 3 – TENDÊNCIAS E PERSPECTIVAS ............................................................................... 45
1 INTRODUÇÃO .................................................................................................................................... 45
2 CLASSIFICAÇÃO DOS BANCOS DE DADOS .......................................................................... 46
2.1 BANCOS DE DADOS DE INFORMAÇÕES GEOGRÁFICAS ................................................. 46
2.2 BANCOS DE DADOS MULTIMÍDIA .......................................................................................... 49
2.3 BANCO DE DADOS TEMPORAL ............................................................................................... 50
2.4 BANCOS DE DADOS BIOLÓGICOS .......................................................................................... 51
sumário
VIII
2.5 BANCO DE DADOS XML ............................................................................................................. 53
3 TIPOS DE GERENCIAMENTO DE DADOS ................................................................................ 54
3.1 DATA MINING ................................................................................................................................ 55
3.2 DATA WAREHOUSE ...................................................................................................................... 58
3.3 DATA MART .................................................................................................................................... 60
3.4 DATA MARKETING ....................................................................................................................... 60
4 NOVOS CONCEITOS ........................................................................................................................ 61
4.1 BIG DATA ......................................................................................................................................... 62
4.2 NOSQL ............................................................................................................................................. 64
LEITURA COMPLEMENTAR .............................................................................................................. 65
RESUMO DO TÓPICO 3 ....................................................................................................................... 68
AUTOATIVIDADE ................................................................................................................................ 69
UNIDADE 2 – MODELAGEM DE DADOS ...................................................................................... 71
TÓPICO 1 – MODELOS DE DADOS ................................................................................................. 73
1 INTRODUÇÃO .................................................................................................................................... 73
2 MODELO CONCEITUAL .................................................................................................................. 74
3 MODELO LÓGICO ............................................................................................................................. 75
4 MODELO FÍSICO ................................................................................................................................ 75
LEITURA COMPLEMENTAR .............................................................................................................. 77
RESUMO DO TÓPICO 1 ....................................................................................................................... 80
AUTOATIVIDADE ................................................................................................................................ 81
TÓPICO 2 – MODELO ENTIDADE-RELACIONAMENTO ......................................................... 83
1 INTRODUÇÃO .................................................................................................................................... 83
2 MODELO ENTIDADE-RELACIONAMENTO ............................................................................. 83
2.1 ENTIDADE ...................................................................................................................................... 85
2.2 ATRIBUTOS ..................................................................................................................................... 86
2.3 RELACIONAMENTO .................................................................................................................... 87
3 CONSTRUINDO UM MODELO ENTIDADE-RELACIONAMENTO .................................... 88
LEITURA COMPLEMENTAR .............................................................................................................. 90
RESUMO DO TÓPICO 2 ....................................................................................................................... 91
AUTOATIVIDADE ................................................................................................................................ 92
TÓPICO 3 – TIPOS DE RELACIONAMENTOS .............................................................................. 93
1 INTRODUÇÃO .................................................................................................................................... 93
2 CONDICIONALIDADE DO RELACIONAMENTO ................................................................... 93
3 GRAU DO RELACIONAMENTO .................................................................................................... 95
3.1 RELACIONAMENTO UM PARA UM ........................................................................................ 95
3.2 GRAU UM PARA MUITOS ........................................................................................................... 96
3.3 GRAU MUITOS PARA MUITOS .................................................................................................. 96
4 AUTORRELACIONAMENTO .......................................................................................................... 97
RESUMO DO TÓPICO 3 ....................................................................................................................... 99
AUTOATIVIDADE ................................................................................................................................ 100
TÓPICO 4 – MODELO RELACIONAL .............................................................................................. 101
1 INTRODUÇÃO .................................................................................................................................... 101
2 BANCO DE DADOS RELACIONAL .............................................................................................. 101
3 TABELA ................................................................................................................................................. 101
4 CHAVE ................................................................................................................................................... 102
4.1 CHAVE PRIMÁRIA ........................................................................................................................ 102
4.2 CHAVE ESTRANGEIRA ............................................................................................................... 103
IX
4.3 CHAVE ALTERNATIVA ................................................................................................................ 105
LEITURA COMPLEMENTAR .............................................................................................................. 106
RESUMO DO TÓPICO 4 ....................................................................................................................... 108
AUTOATIVIDADE ................................................................................................................................109
TÓPICO 5 – NORMALIZAÇÃO DE DADOS .................................................................................. 111
1 INTRODUÇÃO .................................................................................................................................... 111
2 ANOMALIAS DE ATUALIZAÇÃO ................................................................................................. 113
3 APLICAÇÃO DAS FORMAS NORMALIZAÇÃO ....................................................................... 115
4 FERRAMENTAS PARA MODELAGEM DE DADOS ................................................................. 117
4.1 DBDESIGNER ................................................................................................................................. 117
4.2 ERWIN .............................................................................................................................................. 118
4.3 POWERDESIGNER ........................................................................................................................ 119
RESUMO DO TÓPICO 5 ....................................................................................................................... 121
AUTOATIVIDADE ................................................................................................................................ 122
UNIDADE 3 – SQL ................................................................................................................................. 123
TÓPICO 1 – INTRODUÇÃO À LINGUAGEM SQL ....................................................................... 125
1 INTRODUÇÃO .................................................................................................................................... 125
2 O QUE É SQL ........................................................................................................................................ 126
3 MODELO DE DADOS DESTA UNIDADE .................................................................................... 126
4 CRIANDO O BANCO DE DADOS ................................................................................................. 127
4.1 CONEXÃO AO BANCO DE DADOS .......................................................................................... 128
4.2 CRIAÇÃO DE TABELAS ............................................................................................................... 129
5 RESTRIÇÕES ........................................................................................................................................ 136
5.1 CHAVE PRIMÁRIA E RESTRIÇÃO NOT NULL ...................................................................... 136
5.2 CHAVE ESTRANGEIRA ............................................................................................................... 138
5.3 CHAVE ÚNICA .............................................................................................................................. 139
5.4 CHECAGEM DE DADOS .............................................................................................................. 140
LEITURA COMPLEMENTAR .............................................................................................................. 141
RESUMO DO TÓPICO 1 ....................................................................................................................... 144
AUTOATIVIDADE ................................................................................................................................ 145
TÓPICO 2 – MANUTENÇÃO DOS DADOS ................................................................................... 147
1 INTRODUÇÃO .................................................................................................................................... 147
2 INSERINDO, SELECIONANDO, ATUALIZANDO E DELETANDO DADOS ..................... 147
2.1 VALIDANDO AS RESTRIÇÕES DA TABELA ........................................................................... 147
2.2 TRANSAÇÕES ................................................................................................................................ 152
2.3 CONVERSÃO DE DADOS ............................................................................................................ 152
2.4 COMANDOS UPDATE E DELETE .............................................................................................. 154
3 SELEÇÃO DE DADOS ....................................................................................................................... 156
LEITURA COMPLEMENTAR .............................................................................................................. 164
RESUMO DO TÓPICO 2 ....................................................................................................................... 166
AUTOATIVIDADE ................................................................................................................................ 167
TÓPICO 3 – OUTRAS ESTRUTURAS DE DADOS ........................................................................ 169
1 INTRODUÇÃO .................................................................................................................................... 169
2 OBJETOS DE BANCOS DE DADOS .............................................................................................. 170
2.1 ÍNDICES ........................................................................................................................................... 170
2.2 SEQUENCES ................................................................................................................................... 172
2.3 VIEWS ............................................................................................................................................... 175
X
3 PL/SQL ................................................................................................................................................... 177
3.1 PROCEDURES ................................................................................................................................. 178
3.2 FUNCTION ...................................................................................................................................... 179
3.3 PACKAGES ....................................................................................................................................... 180
3.4 TRIGGERS ........................................................................................................................................ 181
LEITURA COMPLEMENTAR .............................................................................................................. 183
RESUMO DO TÓPICO 3 ....................................................................................................................... 185
AUTOATIVIDADE ................................................................................................................................ 186
REFERÊNCIAS ........................................................................................................................................ 187
1
UNIDADE 1
FUNDAMENTOS DE BANCO 
DE DADOS
OBJETIVOS DE APRENDIZAGEM
PLANO DE ESTUDOS
Esta unidade tem por objetivos:
• apresentar o que é um banco de dados;
• demonstrar como foi a evolução dos bancos de dados;
• apresentar perspectivas e tendências desta tecnologia.
Esta unidade está dividida em três tópicos e, em cada um deles, você 
encontrará atividades que proporcionarão a compreensão dos conteúdos 
apresentados.
TÓPICO 1 – INTRODUÇÃO A BANCO DE DADOS
TÓPICO 2 – EVOLUÇÃO DOS BANCOS DE DADOS 
TÓPICO 3 – TENDÊNCIAS E PERSPECTIVAS
2
3
TÓPICO 1
UNIDADE 1
INTRODUÇÃO A BANCO DE DADOS
1 INTRODUÇÃO
“O período de maior ganho de conhecimento e experiência é o período 
de maior dificuldadena vida de cada um”. (Dalai Lama)
Esse tópico tem como objetivo apresentar ao(a) acadêmico(a) conceitos de 
bancos de dados. Você aprenderá que existe uma grande diferença entre dado e 
informação e que a partir deles é possível gerar conhecimento. Compreender isso 
é requisito básico para o bom aproveitamento da disciplina.
FIGURA 1 – DADO, INFORMAÇÃO E CONHECIMENTO
FONTE: Os autores
Também será abordado um histórico do gerenciamento dos dados. O 
objetivo é que se perceba que vários ciclos de aperfeiçoamento aconteceram para 
se chegar ao nível tecnológico que temos hoje.
Para fins conclusivos, veremos quais são os principais bancos de dados 
relacionais existentes no mundo. Você perceberá que cada um deles possui focos 
diferenciados com características e particularidades que necessitam de uma análise 
aprofundada para sua melhor compreensão. 
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
4
2 CONCEITOS DE BANCO DE DADOS
2.1 DADO E INFORMAÇÃO
Para entendermos melhor o que é um banco de dados, precisamos antes 
compreender a diferença que existe entre dado e informação. Dado é um conteúdo 
que ainda não foi processado para gerar um significado. Pode-se dizer que dado é 
a menor unidade de conteúdo que tem significado no mundo real. Por exemplo, ao 
realizar uma pesquisa para mapear a qualidade de uma biblioteca, normalmente 
são feitas entrevistas com seus respectivos usuários. A figura a seguir mostra o 
formulário WEB onde os dados da pesquisa podem ser coletados.
FIGURA 2 – FORMULÁRIO DE COLETA DE DADOS PARA A PESQUISA
FONTE: Os autores
TÓPICO 1 | INTRODUÇÃO A BANCO DE DADOS
5
Assim que os usuários responderem à pesquisa, os dados vão sendo 
armazenados em um depósito de dados. A figura a seguir representa este 
depósito de dados.
FIGURA 3 – DEPÓSITO DE DADOS DA PESQUISA
FONTE: Os autores
Mesmo já possuindo os dados, eles não têm uma utilidade bem definida. 
É possível ler linhas e linhas de pesquisa, porém não se tem um real significado 
do que ela traz como resultado. A partir desse momento surgem questões como, 
por exemplo, qual é o grau de escolaridade dos usuários da biblioteca e como eles 
avaliam o atendimento?
Para responder a estas perguntas, precisamos fazer uma análise de todas 
as respostas e formatá-las de uma forma mais resumida e de fácil entendimento. 
Quando executamos esse processo estamos gerando informação, que é o 
processamento de dados para responder a algumas perguntas ou traduzir de 
uma forma mais sumarizada o significado dos mesmos. A informação sempre é 
gerada com base nos dados. A figura a seguir mostra algumas informações dos 
dados da pesquisa.
FIGURA 4 – INFORMAÇÕES DE PARTE DO RESULTADO DA PESQUISA
FONTE: Os autores
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
6
A informação gera conhecimento. Rob e Coronel (2011, p. 11) nos dizem 
que “o conhecimento implica familiaridade, consciência e compreensão das 
informações conforme se apliquem a um ambiente”. Quando conseguimos 
compreender informações e relacioná-las ao seu contexto, estamos obtendo 
conhecimento.
As informações podem ser utilizadas para tomada de decisão. No exemplo da 
pesquisa da biblioteca, pode ser feita uma análise para descobrir como está a qualidade do 
atendimento, e com base nisso, tomar decisões para melhorar os pontos fracos.
DICAS
2.2 BANCOS DE DADOS
Agora que já sabemos o que são dados, informações, conhecimento e qual 
é a diferença entre ambos, precisamos nos concentrar no local onde os dados ficam 
armazenados. Anteriormente nos referimos a esse local como depósito de dados, 
porém, o mais correto seria chamar de banco de dados. Para definir banco de 
dados, buscamos uma explanação mais genérica e abrangente escrita por Elmasri 
e Navathe (2011, p. 3):
Um banco de dados é uma coleção de dados relacionados. Com dados, 
queremos dizer fatos conhecidos que podem ser registrados e possuem 
significado implícito. Por exemplo, considere os nomes, números 
de telefone e endereço das pessoas que você conhece. Você pode ter 
registrado esses dados em uma agenda ou, talvez, os tenha armazenado 
em um disco rígido, usando um computador pessoal e um software 
como Microsoft Access ou Excel. Essa coleção de dados relacionados, 
com um significado implícito, é um banco de dados.
Um banco de dados também pode ser chamado de base de dados. Os dados 
são armazenados de uma maneira que tem como objetivo facilitar a inclusão, 
remoção, consulta e alteração. Eles representam aspectos ou fatos do mundo 
real, que muitas vezes é denominado de minimundo ou universo de discurso. Só 
devemos armazenar no banco de dados o que faz parte do seu minimundo.
Para exemplificar melhor, pense em um sistema de vendas de ingressos 
online para cinemas. Nesse minimundo existem características que são importantes 
e necessárias para a venda de ingressos, como por exemplo, o nome do filme, 
horário em que ele será reproduzido, o local, se é dublado ou legendado etc. Essas 
características precisam estar armazenadas para possíveis consultas e alterações. 
Já características como a cor das paredes ou o tipo de piso da sala do cinema não 
são fatos necessários para posterior consulta em um sistema e não precisam ser 
armazenados no banco de dados.
TÓPICO 1 | INTRODUÇÃO A BANCO DE DADOS
7
Para simplificar a definição, podemos dizer que o minimundo é tudo o que 
existe no mundo real que é pertinente para a resolução do problema. A figura a 
seguir demostra de forma visual este conceito.
FIGURA 5 – CONCEITO DE MINIMUNDO
FONTE: Os autores
Bancos de dados existem normalmente para serem utilizados por aplicações. 
Elas é que realizam consultas e fazem alterações nos dados. Para tornar esse 
processo mais simples, existe o Sistema Gerenciador de Banco de Dados (SGDB) 
que é um software responsável por manter os bancos de dados que estão sob sua 
responsabilidade. Nele existem funções pré-definidas para inserção, remoção, 
atualização e consulta dos dados armazenados. A figura a seguir nos dá uma visão 
geral da relação entre o SGDB e o seu universo.
FIGURA 6 – SGDB E SEU UNIVERSO
FONTE: Disponível em: <http://www.devmedia.com.br/conceitos-fundamentais-
de-banco-de-dados/1649>. Acesso em: 18 nov. 2012.
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
8
Detalhes do funcionamento e filosofias do SGDB serão vistos em tópicos 
posteriores. Por hora, somente memorize que SGDB é um software responsável 
pelo gerenciamento de bases de dados.
3 HISTÓRICO DO GERENCIAMENTO DOS DADOS
Conseguimos de forma introdutória definir alguns conceitos básicos 
relacionados a banco de dados. Vimos que existe um Sistema Gerenciador de Banco 
de Dados que é responsável pelo gerenciamento dos dados. Para a tecnologia 
chegar a esse patamar, passou por diversos processos evolutivos que tiveram 
como resultado a organização que temos hoje. 
Voltando no tempo, quando a informática estava dando seus primeiros 
passos, os sistemas eram desenvolvidos para atender a demandas isoladas, com 
foco na resolução de problemas dentro de determinadas áreas. 
Para evidenciar de forma mais clara essa ideia, considere a seguinte 
situação: um gerente da área de vendas de uma determinada empresa precisa ter 
informações mais detalhadas dos vendedores que ele gerencia e das vendas que 
são efetuadas. Todos os dados estão armazenados fisicamente em pastas que se 
encontram dentro de gavetas de arquivos.
Com muito trabalho, ele consegue examinar todas as suas pastas e extrair 
as informações de que necessitava. Acontece que de uma hora para outra suas 
vendas aumentaram muito, fazendo com que fosse necessária a contratação de 
novos profissionais. Nesse novo cenário, o gerente não consegue mais obter as 
informações necessárias dos vendedores e suas vendas, pois o volume cresceu de 
tal forma que tornou inviável a análise manual dos dados. 
Esse acontecimento faz com que seja necessário um sistema de computador. 
Sendo assim, é feita a conversão do sistema de arquivos manual para um sistema de 
informação. Esse novo sistema aindanão utilizava um SGBD (o conceito de SGBD será 
visto mais à frente). Todos os dados eram gravados em arquivos e cada programa que 
era construído poderia ter um formato diferente de organização para a gravação. Rob 
e Coronel (2011, p. 12) fazem um relato do que aconteceu naquela época.
 
A conversão de um sistema de arquivos manual para um sistema de 
arquivos computadorizado correspondente pode ser tecnicamente 
complexa (como as pessoas estão habituadas as interfaces relativamente 
amigáveis dos computadores de hoje, se esqueceram de quão hostis 
eram essas máquinas!). Isso gerou um novo tipo de profissional, 
conhecido como especialista em processamento de dados (PD), que 
devia ser contratado ou “desenvolvido” a partir da equipe atual. O 
especialista em PD criava as estruturas de arquivos computacionais 
necessárias, escrevendo o software que gerenciava os dados dentro 
dessas estruturas e projetava aplicativos que produziam relatórios 
com base nos dados dos arquivos. Assim, surgiram vários sistemas 
computadorizados “domésticos”.
 
TÓPICO 1 | INTRODUÇÃO A BANCO DE DADOS
9
De uma forma resumida, podemos dizer que existiam programas de 
computadores gravando dados em arquivos e eles eram responsáveis por toda a 
estrutura e complexidade de gravação. A figura a seguir ilustra essa abordagem.
FIGURA 7 – GERENCIAMENTO DE DADOS EM SISTEMA DE ARQUIVOS
FONTE: Os autores
Seguindo essa linha, podemos concluir que se a estrutura de dados de 
um arquivo fosse alterada, todos os programas que utilizassem esse arquivo 
precisariam ser atualizados, pois deixariam de funcionar. Para fins de exemplo, 
imagine que existe um arquivo com os dados de clientes. Foi solicitado que seja 
inclusa uma observação para cada cliente. Tomando como base a figura anterior, é 
feita uma alteração no programa que está rodando no computador 1 e logicamente 
no arquivo cliente. A partir desse momento o programa que está no computador 
2 para de funcionar, pois ele ainda trabalha com a estrutura de dados antiga. Em 
casos mais complexos, ele poderia “corromper” o arquivo cliente, porque não tem 
conhecimento da nova estrutura de armazenamento.
Esse problema é conhecido pelo nome de dependência estrutural, em que 
independente do tipo de alteração que seja feita no arquivo, todos os programas 
precisarão ser alterados. Isso abre margem para erros, tornando todo o processo 
mais caro e difícil de ser executado. O desejado seria a independência estrutural, 
em que qualquer alteração de estrutura não influenciaria no acesso aos dados.
Como foi mencionado anteriormente, na época, quando o armazenamento 
de dados era feito em simples arquivos, os sistemas eram desenvolvidos de forma 
isolada, com focos bem distintos. Isso significa que o gerente da área de vendas 
tinha o seu sistema, o de recursos humanos tinha outro e o financeiro poderia 
ter outro específico para a sua necessidade. Conhecendo este cenário, podemos 
imaginar que o gerente de vendas possui dados dos seus vendedores e que o de 
recursos humanos também. Como ambos trabalham em sistemas distintos, cada 
um tem a sua versão dos dados, ou seja, o nome do vendedor está armazenado no 
sistema de vendas e no de recursos humanos.
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
10
Redundância de dados é o termo utilizado quando temos o mesmo dado 
armazenado em mais de um local. Rob e Coronel (2011, p.18) fazem um alerta para 
possíveis problemas que a redundância de dados pode gerar.
A estrutura do sistema de arquivos dificulta a combinação de dados 
a partir de várias fontes e sua falta de segurança torna o sistema de 
arquivos vulnerável a falhas. A estrutura organizacional realiza o 
armazenamento dos mesmos dados em locais diferentes. Os profissionais 
de bancos de dados utilizam o termo ilhas de informação para se referir 
a essa localização dispersa dos dados. Como é improvável que os dados 
armazenados em locais diferentes sejam sempre atualizados de modo 
consistente, as ilhas de informação, em geral, contém versões diferentes
dos mesmos dados [...].
Pode acontecer, por exemplo, que um vendedor tenha uma alteração no seu 
nome. Essa alteração pode ter sido feita apenas no sistema de vendas, enquanto 
que no de recursos humanos o nome continua desatualizado. A figura a seguir 
documenta essa estrutura.
FIGURA 8 – REDUNDÂNCIA DE DADOS
FONTE: Os autores
A complexidade do gerenciamento de dados é alta no exemplo apresentado 
acima. Seria mais correto o dado estar armazenado em um único local para que 
todas as aplicações o consumissem.
TÓPICO 1 | INTRODUÇÃO A BANCO DE DADOS
11
Outro ponto a ser observado quanto ao armazenamento de dados em 
arquivos se refere à concorrência de acesso, ou seja, mais de um usuário tentando 
acessar o mesmo dado em um mesmo momento. Um exemplo clássico dessa 
situação é a manutenção de saldo de uma conta bancária. 
Imagine uma conta bancária que tem um saldo de R$ 1.500,00. Se dois 
clientes retirarem dinheiro dessa conta ao mesmo tempo, teremos um problema 
de inconsistência dos dados. Vamos ver na prática como isso acontece: o cliente 1 
e o cliente 2 fazem uma busca no saldo da conta e ambos têm como resultado R$ 
1.150,00. O primeiro retira R$ 300,00 da conta e o segundo R$ 150,00. Dependendo 
de qual cliente finalize a operação por último o saldo da conta poderá ser R$ 850,00 
(R$ 1.500,00 – R$ 300,00) ou R$ 1.000,00 (R$ 1.150,00 – R$ 150,00).
O correto seria que quando está sendo feita a manutenção do saldo pelo 
cliente 1, o cliente 2 ficasse aguardando a manutenção terminar para daí sim 
iniciar o seu procedimento. Em um sistema de arquivos isso é muito complicado 
de gerenciar.
Até agora vimos como era o armazenamento de dados em arquivos 
juntamente com algumas características negativas desse modelo. Percebemos 
que a dependência estrutural dos dados, a redundância e o acesso concorrente 
são fatores dificultadores que podem causar vários erros nos sistemas. Visando 
diminuir a complexidade no gerenciamento de dados surge o SGBD ou Sistema 
Gerenciador de Banco de Dados. Esse será o nosso próximo assunto. Por enquanto, 
entenda que compreender o funcionamento de sistemas que gravam dados em 
arquivos é muito útil para evitarmos os mesmos problemas quando iniciarmos o 
trabalho com SGBD.
4 SISTEMA GERENCIADOR DE BANCO DE DADOS
4.1 DEFINIÇÕES DE UM SGBD
Um Sistema Gerenciador de Banco de Dados é um software responsável pelo 
gerenciamento de base de dados. Uma das principais características dele é retirar 
da aplicação à estruturação dos dados, deixando de forma transparente o acesso 
aos mesmos. A figura a seguir mostra graficamente onde o SGBD está inserido.
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
12
FIGURA 9 – SGBD
FONTE: Os autores
O SGBD elimina boa parte da complexidade do gerenciamento de dados, 
fazendo com que o programador tenha um foco maior na lógica da sua aplicação 
do que no armazenamento dos dados.
Ao falarmos de SGBD precisamos entender como funciona a forma básica 
de armazenamento nesse novo tipo de organização. Ao invés de gravarmos dados 
em arquivos, gravamos em tabelas. Uma tabela possui colunas e registros. Vamos 
resumir a organização de armazenamento de dados de um SGBD:
• Um banco de dados é formando por uma ou mais tabelas.
• Tabelas são locais onde os dados ficam logicamente armazenados.
• Colunas são campos que armazenam um determinado tipo de dado.
• Registros são linhas, que de uma forma mais resumida, pode-se dizer que são 
conjuntos de campos preenchidos.
A figura a seguir esclarece esse conceito.
FIGURA 10 – FORMA BÁSICA DE ARMAZENAMENTO DE DADOS
FONTE: Os autores
TÓPICO 1 | INTRODUÇÃO A BANCO DE DADOS
13
4.2 FUNÇÕES DE UM SGBD
A seguir listamos algumas funções do SGBD: 
• Manutenção do dicionário de dados – toda aplicação que desejar trabalhar com 
o banco de dados fará isso por intermédio do SGBD. Ele mantém definições 
de estruturas de dados e como eles estão relacionados. Qualquer alteração de 
estrutura é automaticamente atualizada no dicionáriode dados. Isso retira 
a responsabilidade dos programas que necessitam dos dados de manter a 
estrutura de organização dos mesmos. Essa é a função do SGBD que tem toda 
a estrutura dos dados em seu dicionário de dados. A figura a seguir traz um 
exemplo do dicionário de dados de um banco Mysql.
FIGURA 11 – DICIONÁRIO DE UM BANCO DE DADOS MYSQL
FONTE: Os autores
• Segurança – O SGBD é responsável por garantir regras de segurança no que 
diz respeito ao acesso a dados e a objetos do banco. Cada usuário deve utilizar 
algum meio para se autenticar no SGBD, seja por login e senha ou através de 
leitura biométrica. Ao se autenticar, existem regras que definem os acessos, ou 
seja, quais bases estão visíveis, quais tabelas ou qualquer outra característica que 
estará disponível. Também existem controles em nível de objeto. O usuário pode 
ter acesso somente à leitura em um determinado objeto e gravação/leitura em 
vários outros.
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
14
• Apresentação dos dados em vários formatos – Um exemplo clássico deste 
conceito se refere ao trabalho com datas. Para clarificar, vamos pensar em uma 
data: 21 de dezembro de 2012. Essa data aqui no Brasil pode ser digitada por 
um usuário como 21/12/2012, enquanto que nos Estados Unidos a mesma seria 
12/21/2012. O SGBD consegue manipular ambas as datas de forma transparente, 
desde que configurado corretamente.
• Controle de acesso simultâneo ao mesmo dado – garante a integridade e 
consistência dos dados armazenados no banco quando acessados de forma 
concorrente. Isso resolve o problema apresentado no título “3 HISTÓRICO DO 
GERENCIAMENTO DOS DADOS”, que descrevia o acesso de dois usuários na 
manutenção do saldo de uma conta bancária em um sistema de arquivos.
• Gerenciamento de backups – o SGBD fornece ferramentas para que o administrador 
do banco de dados possa configurar e efetuar backups. Se for feito o backup, outra 
funcionalidade existente é a de retornar os dados que o mesmo salvou. Isso pode 
ser necessário por vários motivos como, por exemplo, falhas de hardware ou 
manipulação da base de dados de forma incorreta.
• Linguagem de acesso e manipulação dos dados – é fornecida pelo SGBD uma 
linguagem estruturada para consulta e alteração dos dados. Através dela, é possível 
que o utilizador tenha acesso aos dados de uma forma mais simplificada. O SQL 
(Structured Query Language) é uma espécie de linguagem padrão para este fim. 
Alguns SGBDs fornecem outra linguagem de programação para possibilitar 
a implementação de rotinas que executem no servidor do banco. Isso pode 
viabilizar a criação de aplicações mais performáticas, pois ao invés de consumir 
processamento e recursos de rede da máquina do usuário, boa parte do programa 
roda no servidor.
4.3 ESTRUTURA DE UM SGBD
Os sistemas gerenciadores de bancos de dados são compostos, de uma 
forma geral, por módulos com funcionalidades bem definidas. Cada módulo 
tem sua responsabilidade no processo de gerenciamento dos dados. Usuários e 
programadores interagem com esses módulos a fim de obter seus resultados. A 
figura a seguir detalha essa estrutura.
TÓPICO 1 | INTRODUÇÃO A BANCO DE DADOS
15
FIGURA 12 – ESTRUTURA DE UM SGBD
FONTE: Disponível em: <http://www.ime.usp.br/~andrers/aulas/bd2005-1/aula5.html>. 
Acesso em: 18 nov. 2012.
Vamos detalhar os módulos apresentados na figura anterior.
• Programas aplicativos/consultas – Um usuário comum normalmente utiliza 
um sistema e é através desse sistema que o acesso ao banco de dados é feito. 
Já um programador tem ferramentas que são específicas para trabalhar com 
a tecnologia que o SGBD disponibiliza. Essas ferramentas tem um foco mais 
centrado na visualização de dados e manutenção de suas estruturas.
• Processador/otimizador de consultas – Interpreta todos os acessos que são feitos 
na base de dados com um foco maior em otimização. Em outras palavras, ele é 
responsável por processar e definir “caminhos” para que o usuário tenha uma 
resposta a sua solicitação com performance.
• Software para acessar os dados – Esse módulo é o responsável por recuperar 
os dados do local onde eles estão armazenados. Esses dados são divididos em 
dois grupos: os dados armazenados e a definição dos dados armazenados. O 
primeiro grupo se refere aos dados que um usuário comum manipula, como 
por exemplo, nomes de pessoas, cidades, endereços, telefones etc. Já o segundo 
define a forma de organização dos dados do primeiro grupo. É composto por 
tabelas, índices, relacionamentos etc.
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
16
4.4 TIPOS DE USUÁRIOS DO SGBD
Existem vários tipos de usuários que acessam bancos de dados. Alguns têm 
um foco mais gerencial, enquanto outros apenas se concentram na manipulação 
de dados da base. A seguir detalhamos alguns tipos de usuários e suas 
responsabilidades ou necessidades.
• Administrador do banco de dados (DBA – Database Administrator) – Essa figura 
é responsável por toda a administração do banco de dados. Atividades como 
instalação, configuração e melhorias em performance fazem parte do seu dia 
a dia. Também possui tarefas relacionadas ao gerenciamento de acesso de 
usuários na base e um constante monitoramento visando garantir uma alta 
disponibilidade do sistema.
• Projetista ou analista de dados – É o profissional que tem como tarefa fazer o 
mapeamento dos dados que deverão ser armazenados no banco. Em seguida, 
vem à definição da estrutura onde os mesmos serão “organizados”. Isso envolve 
a criação/manutenção de tabelas e demais objetos de acordo com a tecnologia 
do SGBD. Este usuário tem um grande foco em performance, pois quando vai 
definir a estrutura de organização dos dados é crucial que ela seja performática.
• Programador – É a figura que constrói o sistema que irá acessar o banco de 
dados. É imprescindível que o sistema desenvolvido manipule os dados de 
forma correta, para evitar a perda ou falta de confiança neles.
• Usuário comum – Utiliza o sistema que foi desenvolvido pelo programador para 
acessar o banco de dados. Normalmente desconhece as estruturas onde os dados 
estão armazenados. Consegue manipular somente o que o sistema permite. Ele é 
a sua fronteira com o SGBD.
5 PRINCIPAIS BANCOS DE DADOS DISPONÍVEIS NO 
MERCADO
Atualmente existem vários fornecedores de bancos de dados. Isso 
significa que é necessária uma boa análise antes de decidir qual banco utilizar. 
Cada um tem as suas características e peculiaridades. Alguns são apropriados 
para projetos menores, outros não. O custo para implantação também deve ser 
levado em conta. A seguir, vamos ver uma breve descrição dos principais SGBDs 
disponíveis no mercado.
5.1 MYSQL
É um dos SGBDs mais populares do mundo. Inicialmente foi desenvolvido 
para aplicações de pequeno porte, porém já superou há muito tempo essa barreira.
TÓPICO 1 | INTRODUÇÃO A BANCO DE DADOS
17
5.2 ORACLE
Hoje, é um dos bancos de dados mais robustos e confiáveis do mundo 
corporativo. Nasceu da ideia de um homem que percebeu que o mercado 
precisava desse tipo de tecnologia.
O MySQL teve origem quando os desenvolvedores David Axmark, 
Allan Larsson e Michael “Monty” Widenius, na década de 90, 
precisaram de uma interface SQL compatível com as rotinas ISAM que 
utilizavam em suas aplicações e tabelas. Em um primeiro momento, 
tentaram utilizar a API mSQL, contudo a API não era tão rápida quanto 
eles precisavam, pois utilizavam rotinas de baixo nível (mais rápidas 
que rotinas normais). Utilizando a API do mSQL, escreveram em C e 
C++ uma nova API que deu origem ao MySQL. 
Com o ótimo resultado gerado por essa nova API, o MySQL começou a 
ser difundido e seus criadores fundaram a empresa responsável por sua 
manutenção, que é a MySQL AB. (MILANI, 2007, p. 23).
Como foi citado acima, a empresa que mantinha inicialmente o Mysql era 
a Mysql AB. Ela foi comprada pela Sun em janeiro de 2008. Em abril de 2009, a 
Oracle, que é uma das gigantes do mundo de bancos de dados comprou a Sun, 
sendo hoje responsável pela manutençãodo MySql.
Atualmente, o Mysql se encontra na versão 5.6 e é muito utilizado em 
aplicações WEB. Roda em várias plataformas como Linux e Windows. É livre para 
uso não comercial. O site oficial é <http://www.mysql.com>.
Há quase trinta anos, Larry Ellison vislumbrou uma oportunidade que 
outras companhias não haviam percebido, quando encontrou uma descrição 
de um protótipo funcional de um banco de dados relacional e descobriu que 
nenhuma empresa tinha se empenhado em comercializar essa tecnologia. 
Ellison e os cofundadores da Oracle, Bob Miner e Ed Oates, perceberam que 
havia um tremendo potencial de negócios no modelo de banco de dados 
relacional, mas não se deram conta de que mudariam a face da computação 
empresarial para sempre. Hoje a Oracle (Nasdaq: ORCL) continua à frente de 
seu tempo. A tecnologia Oracle pode ser encontrada em quase todos os setores 
do mundo inteiro e nos escritórios de 98 das empresas citadas na lista “Fortune 
100”. A Oracle é a primeira empresa de software a desenvolver e empregar 
software empresarial totalmente habilitado para Internet em toda a sua linha 
de produtos: banco de dados, aplicativos empresariais e ferramentas para 
desenvolvimento de aplicativos e suporte a decisões. A Oracle é o principal 
fornecedor de software para gerenciamento de informações e a segunda maior 
empresa de software independente do mundo.
FONTE: Disponível em: <http://www.oracle.com/br/corporate/press/story-346137-ptb.html>. 
Acesso em: 16 jan. 2013.
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
18
5.3 POSTGRESQL
O Oracle possui uma vasta lista de recursos. Tem a linguagem PL/SQL para 
desenvolvimento de funcionalidades internas. Integra-se com outras linguagens 
de programação como JAVA, C, C++ etc. Roda em várias plataformas. O site oficial 
é <http://www.oracle.com>.
É conhecido pela sua robustez e confiabilidade e tem uma característica 
bem interessante: é um SGBD de código fonte aberto. O texto a seguir descreve 
esse banco de dados com uma maior riqueza de detalhes.
Leia a seguir um texto retirado do site da comunidade brasileira de 
PostgreSql.
UNI
O QUE É O POSTGRESQL?
Para alguns pode parecer um assunto batido, mas esse é um artigo 
introdutório, voltado principalmente àqueles que conhecem pouco ou nada 
sobre o PostgreSQL. O PostgreSQL é um SGBD (Sistema Gerenciador de 
Banco de Dados) objeto-relacional de código aberto, com mais de 15 anos 
de desenvolvimento. É extremamente robusto e confiável, além de ser 
extremamente flexível e rico em recursos. Ele é considerado objeto-relacional 
por implementar, além das características de um SGBD relacional, algumas 
características de orientação a objetos, como herança e tipos personalizados. 
A equipe de desenvolvimento do PostgreSQL sempre teve uma grande 
preocupação em manter a compatibilidade com os padrões SQL92/SQL99.
HISTÓRICO DO POSTGRESQL
O PostgreSQL (conhecido anteriormente como Postgres95) derivou 
do projeto POSTGRES da universidade de Berkley, cuja última versão foi 
a 4.2. O POSTGRES foi originalmente patrocinado pelo DARPA (Agência 
de Projetos de Pesquisa Avançada para Defesa), ARO (Departamento 
de Pesquisa Militar), NSF (Fundação Cinetífica Nacional) e ESL Inc. A 
implementação do projeto POSTGRES iniciou em 1986, já em 87 tornou-se 
TÓPICO 1 | INTRODUÇÃO A BANCO DE DADOS
19
operacional. A primeira versão lançada para o público externo foi em 1989. 
Devido a uma crítica feita ao seu sistema de regras, o POSTGRES teve essa 
parte reimplementada e lançada em uma segunda versão em 1990. Em 1991 
foi lançada a versão 3, com melhorias no executor de consultas e algumas 
partes do código foram reescritas. As versões subsequentes, até o Postgres95, 
foram focadas em confiabilidade e portabilidade. O POSTGRES foi utilizado 
para diversos sistemas de pesquisa e de produção, uma aplicação de 
análise financeira, um banco com rotas de asteroides, e diversos sistemas 
de informações geográficas. O código do POSTGRES foi aproveitado 
em um produto comercializado pela Illustra Information Technologies 
(posteriormente incorporada à Informix, que agora pertence à IBM).
A versão seguinte, o Postgres95, teve mudanças radicais em relação ao 
projeto original. O seu código foi totalmente revisado, o tamanho das fontes foi 
reduzido em 25%, e a linguagem SQL foi implementada como interface padrão. 
A performance foi consideravelmente melhorada e vários recursos foram 
adicionados. Em 1996. o nome Postgres95 tornou-se inadequado, o projeto foi 
rebatizado “PostgreSQL”, para enfatizar a relação do POSTGRES original com 
a linguagem SQL. A numeração da versão voltou a seguir o padrão anterior 
ao Postgres95 (considerada a 5.0), e a primeira versão do PostgreSQL foi a 6.0. 
Enquanto a ênfase do Postgres95 tinha sido a correção de falhas e otimização do 
código, o desenvolvimento das primeiras versões do PostgreSQL foi orientada 
à melhoria de recursos e implementação de novos recursos, sempre seguindo 
os padrões de SQL anteriormente estabelecidos.
O POSTGRESQL HOJE
A equipe do projeto cresceu e se espalhou pelo mundo. O Grupo Global de 
Desenvolvimento do PostgreSQL tem membros nos Estados Unidos, Canadá, 
Japão, Rússia, vários países da Europa e alguns outros. Esse grupo é formado 
essencialmente por empresas especializadas em PostgreSQL, empresas usuárias 
do sistema, além dos pesquisadores acadêmicos e programadores independentes. 
Além da programação, essa comunidade é responsável pela documentação, 
tradução, criação de ferramentas de modelagem e gerenciamento, e elaboração 
de extensões e acessórios.
Pela riqueza de recursos e conformidade com os padrões, ele é um 
SGBD muito adequado para o estudo universitário do modelo relacional, 
além de ser uma ótima opção para empresas implementarem soluções de alta 
confiabilidade sem altos custos de licenciamento. É um programa distribuído 
sob a licença BSD, o que torna o seu código fonte disponível e o seu uso 
livre para aplicações comerciais ou não. O PostgreSQL foi implementado em 
diversos ambientes de produção no mundo, entre eles, um bom exemplo do 
seu potencial é o banco de dados que armazena os registros de domínio .org, 
mantido pela empresa Afilias.
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
20
Alguns recursos presentes na versão mais recente:
Subconsultas.
Controle de concorrência multiversão (MVCC).
Integridade Referencial.
Funções armazenadas (Stored Procedures), que podem ser escritas em 
várias linguagens de programação (PL/PgSQL, Perl, Python, Ruby, e outras).
Gatilhos (Triggers).
Tipos definidos pelo usuário.
Esquemas (Schemas).
Conexões SSL.
Áreas de armazenamento (Tablespaces).
Pontos de salvamento (Savepoints).
Commit em duas fases.
Arquivamento e restauração do banco a partir de logs de transação.
Diversas ferramentas de replicação.
Extensões para dados geoespaciais, indexação de textos, xml e várias outras.
COMO COMEÇAR?
No site nacional do projeto podem ser encontrados tutoriais de instalação 
nas plataformas Linux e Windows, além do manual de referência traduzido. 
No site oficial, você encontra toda a documentação. Para baixar o código fonte 
do PostgreSQL, você pode utilizar o mirror brasileiro. Depois de seguir as 
instruções de instalação do tutorial, você pode escolher uma boa ferramenta 
gráfica de gerenciamento.
Alguns links úteis:
Site Oficial (<http://www.postgresql.org>)
Site de marketing (<http://advocacy.postgresql.org/?lang=br>)
Site nacional (<http://www.postgresql.org.br>)
Lista de discussão nacional (<http://br.groups.yahoo.com/group/
postgresql-br>)
FONTE: Disponível em: <http://wiki.postgresql.org.br/Introdu%C3%A7%C3%A3o_e_hist%C3%B3rico>. 
Acesso em: 16 jan. 2013.
5.4 SQL SERVER
É o banco de dados da empresa Microsoft. É considerado um dos principais 
concorrentes da Oracle. O texto a seguir descreve o SQL Server.
TÓPICO 1 | INTRODUÇÃO A BANCO DE DADOS
21
TODA A HISTÓRIA DO SISTEMA SQL DA MICROSOFT
Você sabe o que é o SQL Server? Se você tem um blog ou um site que utiliza 
banco de dados já deveter, pelo menos, ouvido falar nele. O MS SQL Server 
é um sistema de gerenciamento de banco de dados relacional desenvolvido 
pela Microsoft. A partir da versão 2008 a plataforma de dados com alta 
confiabilidade e que permite a redução de custos com eficiência e robustez. 
Tudo começou em março de 1987 quando a Microsoft comprou os direitos 
do DataServer da Sysbase para o sistema operacional OS/2. O objetivo era 
provocar o interesse e chamar a atenção da comunidade do dBase. Por isso a 
Microsoft traçou um acordo com a Ashton-Tate como forma de endossar esse 
novo processo. Assim, a primeira versão do SQL Server se chamava Ashton-
Tate/Microsoft SQL Server e chegou ao mercado na metade final de 1988. Em 
maio do ano seguinte a versão 1.0 para OS/2 era lançada com parca participação 
da Microsoft (limitando-se apenas a poucas ferramentas, testes e o projeto 
visando tornar o aplicativo mais simples de ser instalado). Na segunda metade 
de 1990 a união da Microsoft com a Ashton-Tate se encerrou e a versão 1.1 
do SQL Server passou a oferecer suporte para o Windows 3.0 (que era uma 
novidade na época). Apesar disso, a base do SQL era produzida pela Sysbase 
e a Microsoft sequer tinha acesso ao código-fonte. Qualquer defeito tinha que 
ser relatado para a Sysbase e corrigido apenas por ela. Só em 1991 a Microsoft 
passou a poder acessar a fonte do SQL apenas para leitura.
Com o lançamento da versão 4.2 para OS/2 no fim de 1991 a Microsoft 
já desenvolvia o banco de dados em conjunto com a Sysbase, o que só mudou 
em agosto de 1993 quando a Microsoft finalmente conseguiu a totalidade da 
criação do SQL Server e lançou a versão para o Windows NT 3.1. Essa nova 
versão já era em 32-bit. Assim, pouco tempo depois, a parceria entre as duas 
empresas acabava.
Podemos declarar como principais vantagens do SQL Server o 
fornecimento de uma plataforma de grande confiabilidade e robustez capaz de 
suportar aplicações de missão crítica de grande exigência. A possibilidade de 
encriptação dos dados contidos em todo o banco de dados ou nos arquivos de 
log. Isso protege os dados das solicitações não autorizadas sem a necessidade 
de aplicativos complementares. Além disso, ele permite o espelhamento do 
banco de dados a recuperação automática da página de dados e a compressão 
do fluxo de logs. Um aumento na produtividade com a rapidez e simplicidade 
de instalação, manutenção e uso. Também possui uma enorme versatilidade 
na aceitação de informações e no oferecimento de respostas previsíveis as 
demandas dos usuários.
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
22
As aplicações vão desde criar aplicações que se utilizem de um banco 
de dados de forma rápida e simples até aplicações de alta complexidade com 
a mesma facilidade. Da mesma forma o SQL Server garante que seus dados 
podem ser acessados de qualquer lugar mesmo estando baseados a distância e 
serem acessados por uma enorme variedade de aplicativos diferentes o que o 
torna muito prático e de fácil uso para hospedagem de sites na internet.
FONTE: Disponível em: <http://www.artigonal.com/advertising-artigos/toda-a-historia-do-sistema-
sql-da-microsoft-1845126.html>. Acesso em: 16 jan. 2013.
Caro(a) acadêmico(a)! A Leitura Complementar a seguir traz uma visão clara 
de questões relacionadas à utilização de um sistema de banco de dados. A seguir serão 
apresentados alguns fatores que devem ser analisados quando trabalhamos com esse tipo de 
tecnologia.
UNI
GERENCIAMENTO DO SISTEMA DE BANCO DE DADOS: UMA 
MUDANÇA DE FOCO
A introdução de um sistema de banco de dados em um ambiente de sistema 
de arquivos fornece um modelo no qual podem ser aplicados procedimentos e 
padrões rígidos. Como consequência, o papel do componente humano muda da 
ênfase em programação (no sistema de arquivos) para focar nos aspectos mais 
amplos de gerenciamento dos recursos de dados da organização e na administração 
do próprio software do banco de dados complexo.
O sistema de banco de dados torna possível atingir usos muito mais 
sofisticados dos recursos de dados contanto que seja projetado para aproveitar 
esse poder disponível. Os tipos de estruturas de dados criados no banco de dados 
e a extensão dos relacionamentos entre elas desempenham um papel poderoso na 
determinação da eficiência do sistema.
Embora o sistema de banco de dados apresente vantagens consideráveis em 
relação à abordagem de gerenciamento anteriores, também trazem desvantagens 
significativas. Por exemplo:
LEITURA COMPLEMENTAR
TÓPICO 1 | INTRODUÇÃO A BANCO DE DADOS
23
Aumento de custos: os sistemas de banco de dados exigem hardware e 
software sofisticado e pessoal altamente treinado. O custo de manutenção do 
hardware, software e pessoal necessários para operar e gerenciar um sistema de 
banco de dados pode ser substancial. Os custos de treinamento, licenciamento 
e atendimento as regulamentações costumam ser negligenciados quando da 
implementação desses sistemas.
Complexidade do gerenciamento: os sistemas de banco de dados apresentam 
interfaces com muitas tecnologias diferentes e têm um impacto significativo sobre 
os recursos e a cultura de uma empresa. As alterações introduzidas pela adoção do 
sistema de banco de dados devem ser adequadamente gerenciadas para garantir 
que ajudem no progresso dos objetivos da empresa. Levando em conta o fato que 
os bancos de dados mantêm dados fundamentais da empresa que são acessados 
a partir de várias fontes, as questões de segurança deve ser uma constante 
preocupação.
Manutenção de banco de dados atualizado: para maximizar a eficiência 
do sistema de banco de dados, deve-se manter o sistema atualizado. Portanto, é 
necessário fazer atualizações frequentes e aplicar os últimos pacotes e medidas de 
segurança a todos os componentes. Como a tecnologia do banco de dados avança 
rapidamente, os custos com treinamento de pessoal tendem a ser significativos.
Dependência do fornecedor: Em virtude do alto investimento em tecnologia 
e treinamento de pessoal, as empresas podem hesitar em trocar os fornecedores de 
banco de dados. Por essa razão, é menos provável que estes ofereçam vantagens 
de preço aos clientes existentes, que ficarão restritos quanto a suas escolhas de 
componentes de sistema de banco de dados.
Ciclos frequentes de atualização/substituição: os fornecedores de SGBDs 
atualizam seus produtos adicionando novas funcionalidades. Em geral, esses 
recursos são integrados a novas versões de atualização de software. Algumas 
dessas versões exigem atualizações de hardware. Não são apenas as atualizações 
que geram custo, mas também o treinamento dos usuários e administradores para 
que utilizem e gerenciam adequadamente os novos recursos.
FONTE: Rob e Coronel (2011, p. 18)
24
RESUMO DO TÓPICO 1
Neste tópico, você viu que:
• Existe uma grande diferença entre dado, informação e conhecimento.
• Bancos de dados relacionais predominam no mundo do desenvolvimento de 
software.
• SGBD ou Sistema Gerenciador de Bancos de Dados foi uma evolução do 
paradigma de armazenamento em arquivos.
• Algumas dicas são importantes para ter sucesso na escolha do banco de dados 
a ser utilizado.
25
1 De acordo com o conteúdo estudado, defina o conceito de dado, informação 
e conhecimento.
2 O que é um SGBD ou Sistema Gerenciador de Bancos de Dados e qual é a sua 
melhoria em relação ao armazenamento de dados em arquivos? 
3 Dê quatro exemplos de bancos de dados relacionais disponíveis no mercado. 
4 Cite as principais funções de um SGBD.
5 O que faz uma pessoa que tem o cargo de Administrador do Banco de Dados 
(DBA – Database Administrator)?
AUTOATIVIDADE
26
27
TÓPICO 2
EVOLUÇÃO DOS BANCOS DE DADOS
UNIDADE 1
1 INTRODUÇÃO
“O descontentamento é o primeiro passo na evolução de um homem 
ou de uma nação”. (Oscar Wilde)
Relembrando um pouco do Tópico 1, vimos que inicialmente os bancos de 
dados eram simples sistemas de arquivos. Tudo o que era desenvolvido tinha uma 
finalidade específica, não existindo muita integração entre sistemasdistintos. Isso 
gerou vários problemas, como redundância de dados e concorrência de acessos. 
Outro ponto negativo nesse tipo de estrutura é que toda a organização dos dados 
ficava armazenada no programa que fazia a sua utilização. Questões relacionadas 
à alteração dessa estrutura ficavam relacionadas a inconsistências e trabalho árduo.
Também foi apresentado o conceito de SGBD, que é a evolução do modelo 
de sistemas de arquivos. Os principais SGBDs da atualidade fizeram parte desta 
apresentação e todos são considerados SGBDs relacionais ou objeto relacional. 
Esse tipo de tecnologia é o que predomina hoje no mercado quando tratamos de 
aplicações tradicionais.
Para entendermos o futuro é interessante conhecermos o passado. Por isso 
esse tópico trata da evolução dos bancos de dados, dividindo-se em três grupos: 
histórico da evolução, arquitetura e níveis de abstração dos bancos de dados. 
O primeiro trata as gerações dos bancos de dados (três gerações), o segundo 
as arquiteturas (centralizadas, distribuídas, cliente-servidor etc.) e o terceiro a 
abstração (três níveis).
Bons estudos!
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
28
2 HISTÓRICO DA EVOLUÇÃO DOS BANCOS DE DADOS
2.1 PRIMEIRA GERAÇÃO
A evolução ou o histórico da evolução dos bancos de dados estão divididos 
em três gerações: a primeira trata dos bancos hierárquicos e em rede, a segunda 
dos relacionais e a terceira dos bancos orientados a objetos e objeto relacional. 
Vamos estudar cada geração para entender melhor todo o processo de evolução.
Foi na década de 60 que “nasceram” os primeiros bancos de dados. Existiam 
basicamente duas formas de organização: o modelo hierárquico e o em rede. Ambos 
trabalhavam com o conceito de registro, que segundo Korth e Silberschatz (1995), 
é uma coleção de campos (atributos) os quais contêm apenas um valor de dado.
Também existe a ideia de ligação entre registros. Korth e Silberschatz (1995) 
definem que uma ligação é uma associação entre exatamente dois registros.
Um banco de dados hierárquico consiste basicamente em um conjunto de 
registros conectados por meio de ligações. Toda a estrutura está organizada em um 
modelo de árvore ou também conhecido como modelo hierárquico. Cada registro 
filho pode ter apenas um registro pai. Um registro pai pode ter vários registros 
filho. Exemplificamos isso na figura a seguir.
FIGURA 13 – RELAÇÃO ENTRE REGISTRO PAI E REGISTROS FILHOS
FONTE: Os autores
Para simplificar o conceito de um banco de dados hierárquico observe a 
figura a seguir. Nela apresentamos uma estrutura típica de clientes de um banco 
com suas contas e saldo. Esse exemplo é muito utilizado em livros que tratam 
desse assunto.
PAI
FILHO FILHO FILHO
TÓPICO 2 | EVOLUÇÃO DOS BANCOS DE DADOS
29
FIGURA 14 – ESTRUTURA DE UM BANCO DE DADOS HIERÁRQUICO
FONTE: Os autores
A figura a seguir demostra a estrutura dos dados que estão na figura 
anterior.
FONTE: Os autores
FIGURA 15 – ESTRUTURA DE DADOS DA FIGURA 14
Os dados da conta e saldo podem ser acessados somente a partir do nó 
raiz (registro falso), seguindo os registros da esquerda para a direita. É necessário 
navegar por toda a estrutura para chegar a esses valores. Um dos problemas se 
refere à duplicidade de dados. Por exemplo, se uma conta pertencesse a mais de 
um cliente, os dados da conta provavelmente precisariam ser duplicados. Isso, 
segundo Korth e Silberschatz (1995) gera dois inconvenientes: a inconsistência dos 
dados quando acontecerem atualizações e a perda de espaço em disco.
Marcando presença ainda na primeira geração estão os bancos de dados 
que seguem o modelo em rede. São considerados como sendo uma evolução do 
modelo hierárquico. Embora o nome sugira ligação com redes de computadores 
(um computador “ligado” ao outro), o conceito não tem relação com isso.
Esse modelo surgiu com o benefício de que o registro possa fazer parte de 
várias associações, o que não era possível no hierárquico (a não ser que o registro 
fosse duplicado). Também eliminou a hierarquia quando ao acesso dos dados. A 
figura a seguir mostra uma estrutura de dados no modelo rede.
RAIZ
RAIZ
Marcos Silva
NOME CPF
Nº CONTA Nº CONTASALDO SALDO
CPFNOME
João Trindade469.206.617-21 227.428.671-04
R$ 150,00R$ 700,0070948 12496
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
30
FIGURA 16 – ESTRUTURA DE DADOS NO MODELO REDE
FONTE: Os autores
Na parte esquerda da figura 16 temos o nome do cliente e seu CPF. No 
lado direito a conta e o saldo. Note que agora é possível associar uma conta a dois 
clientes sem ter que duplicá-la (a conta 70948 pertence ao Marcos e ao João). Não 
temos a presença de um registro falso (raiz), sendo que agora se podem acessar os 
dados de qualquer parte do grafo.
Apesar de uma aparente melhoria em relação aos bancos de dados 
hierárquicos, o modelo em redes apresenta alguns problemas. É complicado para 
o programador trabalhar com esse modelo, pois ele tem que pensar em ligações de 
registros e como percorrê-las para buscar os dados que necessita.
Sendo assim, podemos concluir que a primeira geração de bancos de dados 
deixou pontos a serem melhorados. Entretanto, na época, existiam sistemas que 
eram referência para os modelos hierárquicos e de redes. Como exemplo, Kort 
e Silberschatz (1995) citam o IMS – sistema de gerenciamento de informações da 
IBM (hierárquico) e o IDMS (rede).
2.2 SEGUNDA GERAÇÃO
No início da década de 70, surge um novo conceito em banco de dados: o 
modelo de dados relacional. Esse modelo é largamente utilizado até os dias de hoje por 
aplicações de processamento de dados comerciais mais padronizadas (ERPs, CMDs 
etc.). Date (2003) nos diz que a introdução do modelo relacional em 1969-1970 foi sem 
dúvida o evento mais importante em toda a história da área de bancos de dados.
Rob e Coronel (2011) fazem um breve relato sobre este modelo.
O modelo relacional foi apresentado em 1970 por E. F. Codd (da IBM) 
em seu famoso artigo “A Relational Model Data for Large Shared 
Databanks” (Um modelo relacional de dados para grandes bancos de 
dados compartilhados) (Comunicações da ACM, junho de 1970, p. 377-
387). O modelo relacional representava uma importante ruptura tanto 
para usuários como para projetistas. Para utilizar uma analogia, esse 
modelo produziu um banco de dados de “câmbio automático” para 
substituir os de “câmbio manual” que o precederam. Sua simplicidade 
conceitual preparou o terreno para a verdadeira revolução dos bancos 
de dados. (ROB; CORONEL, 2011, p. 40).
Marcos Silva
João Trindade
469.206.617-21
227.428.671-04 R$ 150,00
R$ 700,0070948
12496
TÓPICO 2 | EVOLUÇÃO DOS BANCOS DE DADOS
31
O modelo relacional trabalha na sua forma mais básica com tabelas. Podem 
existir relações entre as mesmas para buscas de registros. A definição das tabelas 
pode envolver restrições para garantir dados confiáveis. Este modelo elimina a 
complexidade de navegação ou busca de dados presentes nos hierárquicos e nos 
de rede. A figura a seguir traz um exemplo de dados organizados sob o modelo 
relacional. Neste exemplo são listados os clientes de um banco com seus respectivos 
gerentes de conta.
FIGURA 17 – ORGANIZAÇÃO DE DADOS NO MODELO RELACIONAL
FONTE: Os autores
Note que na figura anterior existe um relacionamento entre as tabelas cliente 
e gerente. Para tal, é utilizada a coluna CD_GERENTE. Neste caso, significa que 
um cliente pode ter somente um gerente e que um gerente pode ter vários clientes. 
Podem ser adicionadas restrições em ambas as tabelas para que, por exemplo, não 
se permita o cadastro de mais de um gerente ou cliente com o mesmo CPF.
Quando trabalhamos com um modelo relacional é comum a utilização de 
um diagrama relacional ou MER – Modelo Entidade Relacionamento. A figura a 
seguir traz o MER da estrutura apresentada na figura anterior.
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
32
FIGURA 18 – MODELO ENTIDADE RELACIONAMENTO FIGURA 17
FONTE: Os autores
A presença de uma chave ao lado das colunas CD_CLIENTE E CD_
GERENTE indicaque os campos são identificadores únicos de registros, ou seja, 
o dado que está nessas colunas não poderá se repetir na tabela. Diz-se que esses 
campos são chaves primárias.
Boas partes dos conceitos apresentados aqui serão revistos e aprofundados 
na Unidade 2, que vai tratar exclusivamente do modelo de dados relacional.
2.3 TERCEIRA GERAÇÃO
A terceira geração é datada em meados do ano de 1980 e vai até os dias 
atuais. Como em todas as outras, essa geração também têm o seu destaque 
tecnológico. O nome deste novo conceito é banco de dados orientado a objetos.
Para detalhar melhor qual foi a origem deste tipo de banco de dados, 
Silberschatz, Korth e Sudarshan (2006) nos apresentam um breve relato.
As aplicações tradicionais de bancos de dados consistem em tarefas de 
processamento de dados, como transações bancárias e gerenciamento de 
folha de pagamento, com tipos de dados relativamente simples, que são 
adequados ao modelo de dados relacional. Uma vez que os sistemas de 
bancos de dados foram aplicados a uma faixa mais ampla de aplicações, 
como projeto auxiliado por computador e sistemas de informações 
geográficas, as limitações compostas pelo modelo relacional se 
apresentaram como um obstáculo. A solução era a introdução dos bancos 
de dados baseados em objeto, que permitem lidar com tipos de dados 
complexos. (SILBERSCHATZ; KORTH; SUDARSHAN, 2006 p. 241).
Esse novo tipo de estruturação permite uma adaptação menos dolorosa, 
porque vários programadores já estão familiarizados em linguagens orientadas a 
objeto, o que em termos de conceito são iguais a este tipo de banco. Tudo “gira” 
em torno de objetos, que possuem atributos e propriedades com mais uma gama 
de recursos para atingir seus objetivos.
TÓPICO 2 | EVOLUÇÃO DOS BANCOS DE DADOS
33
Existe também uma variação do modelo orientado a objetos “puro”. Ele 
se chama modelo de dados objeto-relacional, que é um meio termo entre bancos 
relacionais e bancos orientados a objetos. Elmasri e Navathe (2011) explicam 
essa nova ideia.
Vendedores de SGBD relacional (SGBDR) também reconheceram a 
necessidade de incorporar recursos que foram propostos para bancos 
de dados de objeto, e versões mais novas de sistemas relacionais 
incorporaram muitos desses recursos. Isso levou a sistemas de bancos 
de dados que são caracterizados como objeto relacional ou SGBDORs. 
A versão mais recente do padrão SQL (2008) para SGBDRs inclui muitos 
desses recursos, que eram conhecidos originalmente como SQL/Object e 
agora têm sido incorporados na especificação SQL principal, conhecida 
como SQL/Foundation. (ELMASRI; NAVATHE, 2011, p. 236).
Entretanto, os bancos de dados orientados a objetos ainda não têm um 
uso massivo em virtude da grande popularidade de sistemas relacionais e objeto 
relacional. Fernando Amaral faz algumas análises evidenciando essa situação.
Leia a seguir um texto que faz uma análise sobre o motivo pelo qual bancos de 
dados orientados a objetos não são utilizados em larga escala.
IMPORTANT
E
POR QUE NÃO ESTAMOS UTILIZANDO BANCO DE DADOS 
ORIENTADOS A OBJETOS?
A orientação a objetos, mesmo que não da forma purista encontrada 
no mundo acadêmico, é uma realidade irreversível no mundo do 
desenvolvimento de software. Mesmo o próprio Visual Basic, uma das 
linguagens mais utilizadas do mundo e que sempre foi rotulada como 
linguagem “para fracos”, sem tipagem e sem qualquer recurso de OO, 
ganhou, com o lançamento da plataforma. NET, uma versão totalmente 
reformulada e OO, onde restou pouca semelhança com o VB clássico.
Agora, e quanto ao universo dos Bancos de Dados? A esmagadora maioria 
dos gerenciadores de banco de dados existentes hoje no mercado são relacionais, 
e não há qualquer evidência de uma tendência em contrário, ou seja, parece 
que no futuro vamos continuar utilizando banco de dados relacionais. Porque o 
mercado de banco de dados continua predominantemente relacional, enquanto 
utilizamos cada vez mais linguagens de programação OO?
UNIDADE 1 | FUNDAMENTOS DE BANCO DE DADOS
34
O QUE ACONTECEU?
Diante desta indagação, resolvi investigar os motivos, e descobri que 
são muitos. Inicialmente um bom OODBMS é muito, muito mais caro que um 
produto relacional “Top” de linha, além disso:
- O modelo relacional é mais simples
- O modelo OO não tem a escabilidade de um banco de dados relacional
- O modelo OO possui dependência de linguagem: um banco de dados OO 
deve ser acessado através de uma API específica, normalmente através de uma 
linguagem específica. Por outro lado, nos OODBMS a linguagem e o banco de 
dados utilizam os mesmo tipos de dados.
- Consultar um banco de dados relacional, devido a sua natureza, é mais simples. 
Em um banco de dados OO não é possível fazer joins ou consultas “Ad-Hoc”.
Outro fato que não deve ser esquecido é que o modelo relacional é mais 
antigo, possui uma padronização maior e um maior número de ferramentas. Os 
bancos de dados OO se mostraram superiores em aplicações específicas, como, 
por exemplo, CAD, multimídia etc.
CONSEQUÊNCIAS: IMPEDANCE MISMATCH
Então tudo indica que os bancos de dados relacionais vão continuar 
predominantes por muito tempo, e que, cada vez as linguagens de programação 
serão OO (repetindo: mesmo que não da forma purista encontrada no mundo 
acadêmico). Mas como trabalhar corretamente com uma linguagem OO e um banco 
de dados relacional? Na OO temos objetos, que representam entidades do mundo 
real e atributos, que são suas características. No modelo relacional temos Entidades 
(ou tabelas), com atributos (campos). Na OO, o relacionamento entre objetos é 
através de referências, no relacional, através de chaves primárias e estrangeiras.
A implementação de uma classe terá que contornar todos os problemas 
desta diferença entre universos tão heterogêneos. Para uma simples classe 
poderá parecer fácil, mas para um sistema complexo com dezenas ou centenas 
de classes e relacionamentos, pode virar um pesadelo.
Este conflito objeto X relacional é conhecido com “The Object-Relational 
Impedance Mismatch”, ou simplesmente Impedance Mismatch, algo como 
um problema de adaptação, numa tradução livre. Estudos afirmam que a 
Impedance Mismatch podem consumir até 25 % do tempo de desenvolvimento 
de um software e ainda prejudicar consideravelmente seu desempenho.
TÓPICO 2 | EVOLUÇÃO DOS BANCOS DE DADOS
35
O obra Agile Database Techniques: Effective Strategies for the Agile 
Software Developer, (Scott W. Ambler, ISBN:0471202835), dedica o capítulo 7 
de título The Object-Relational Impedance Mismatch a debater esse assunto, e é 
uma leitura altamente recomendada.
FONTE: Disponível em: <http://www.fernandoamaral.com.br/Default.aspx?Artigo=17>. Acesso 
em: 22 jan. 2013.
Com o passar do tempo é possível que esta situação mude. Existem grandes 
iniciativas para que isso aconteça. O cache da empresa Intersystems é um exemplo 
disto. Outra tendência é que o uso desta tecnologia se limite apenas a situações 
onde existem dados complexos, como informações geográficas, aplicações que 
trabalham com imagens, entre outras.
3 ARQUITETURA DE BANCO DE DADOS
3.1 ARQUITETURA CENTRALIZADA
A arquitetura de um banco de dados está diretamente ligada a questões 
de hardware e sistema computacional existentes na estrutura em questão. O 
poder de processamento, a estrutura de rede, a memória e diversos outros 
componentes, são características que fazem parte da análise de toda arquitetura 
para bancos de dados.
Sendo assim, vamos nos concentrar em quatro tipos de arquitetura: 
centralizada, cliente-servidor, paralela e distribuída. Cada um destes tipos teve 
grande importância na história da evolução dos bancos de dados.
Os primeiros bancos de dados estavam implementados nesse tipo de 
arquitetura. Na década de 1970, eles tinha a implementação centralizada, 
normalmente em mainframes. Para os usuários acessarem os dados utilizavam 
terminais sem capacidade de processamento. Esses computadores se conectavam 
em mainframes (onde era feito todo o processamento) e ali

Outros materiais