Buscar

Arquitetura 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 124 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 124 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 124 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

Arquitetura de 
banco de dados
Milton Goya
Dados Internacionais de Catalogação na Publicação (CIP)
(Simone M. P. Vieira - CRB 8ª/4771)
Goya, Milton
 Arquitetura de banco de dados / Milton Goya. – São Paulo : Editora 
Senac São Paulo, 2021. (Série Universitária)
	 Bibliografia.
 e-ISBN 978-65-5536-729-4 (ePub/2021)
 e-ISBN 978-65-5536-730-0 (PDF/2021)
	 1.	Banco	de	Dados	(Ciência	da	Computação) 2.	Sistemas	de	geren-
ciadores	de	banco	de	dados	(SGBD) I.	Título	II.	Série.
21-1317t CDD – 005.74 
 COM021000 
 COM018000 
Índice para catálogo sistemático
1. Banco de dados 005.74 
M
at
er
ia
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.
ARQUITETURA DE 
BANCO DE DADOS
Milton Goya
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Administração Regional do Senac no Estado de São Paulo
Presidente do Conselho Regional
Abram Szajman
Diretor do Departamento Regional
Luiz Francisco de A. Salgado
Superintendente Universitário e de Desenvolvimento
Luiz Carlos Dourado
Editora Senac São Paulo
Conselho Editorial
Luiz Francisco de A. Salgado 
Luiz Carlos Dourado 
Darcio Sayad Maia 
Lucila Mara Sbrana Sciotti 
Luís	Américo	Tousi	Botelho
Gerente/Publisher
Luís	Américo	Tousi	Botelho	(luis.tbotelho@sp.senac.br)	
Coordenação Editorial/Prospecção
Dolores Crisci Manzano (dolores.cmanzano@sp.senac.br)
Administrativo
grupoedsadministrativo@sp.senac.br 
Comercial
comercial@editorasenacsp.com.br
Acompanhamento Pedagógico
Mônica Rodrigues dos Santos
Designer Educacional
Patrícia	Pinheiro	de	Sant’Ana
Revisão Técnica
Alexandre Lopes Machado
Preparação e Revisão de Texto
Deborah Quintal
Projeto Gráfico
Alexandre Lemes da Silva 
Emília	Corrêa	Abreu
Capa
Antonio Carlos De Angelis
Editoração Eletrônica
Michel Iuiti Navarro Moreno
Ilustrações
Michel Iuiti Navarro Moreno
Imagens
Adobe Stock Photos
E-pub
Ricardo Diana
Proibida a reprodução sem autorização expressa.
Todos	os	direitos	desta	edição	reservados	à
Editora Senac São Paulo
Rua 24 de Maio, 208 – 3o andar 
Centro – CEP 01041-000 – São Paulo – SP
Caixa Postal 1120 – CEP 01032-970 – São Paulo – SP
Tel.	(11)	2187-4450	–	Fax	(11)	2187-4486
E-mail: editora@sp.senac.br 
Home page: http://www.livrariasenac.com.br
© Editora Senac São Paulo, 2021
M
at
er
ia
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.
Sumário
Capítulo 1
Características do sistema 
gerenciador de banco de 
dados, 7
1 Fundamentos de um ambiente de 
banco	de	dados	com	SGBD, 8
2 Modelo de dados: relacional, 
orientado a objeto e 
semiestruturado, 14
3	Característica	dos	dados:	clássicos,	
geográficos,	multimídia, 20
Considerações	finais, 23
Referências, 23
Capítulo 2
Sistemas de gerenciamento de 
banco de dados centralizados, 25
1	SGBDs	centralizados, 26
2	Arquitetura	de	três	esquemas, 28
Considerações	finais, 39
Referências, 39
Capítulo 3
Sistema de gerenciamento 
de banco de dados cliente/
servidor, 41
1 Arquitetura SGBD cliente/
servidor, 42
2 Cliente (front-end), 45
3 Servidor (back-end), 47
4 Funções, gatilhos e 
procedimentos, 48
5	Servidores	e	aplicações	Web, 52
Considerações	finais, 53
Referências, 53
Capítulo 4
Sistemas de gerenciamento de 
banco de dados distribuídos 
homogêneos, 55
1	SGBDD	homogêneo, 56
2	Transações, 58
3	Replicação:	síncrona	e	
assíncrona, 63
4 Fragmentação: horizontal, vertical e 
mista, 65
Considerações	finais, 67
Referências, 68
Capítulo 5
Multissistemas gerenciadores 
de banco de dados 
heterogêneos, 69
1 Banco de dados federados, de 
multibases	e	legados, 70
2	Processamento, 73
3	Replicação, 76
4	Otimização	de	consultas, 77
5 Serviços: agente gateway, 
conectividade	genérica, 80
Considerações	finais, 81
Referências, 81
Capítulo 6
Sistemas gerenciadores 
de banco de dados paralelos, 83
1	Técnicas	de	gerenciamento	de	
dados, 84
2 Particionamento do banco de 
dados, 87
3	Memória	compartilhada, 90
Considerações	finais, 93
Referências, 93
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Capítulo 7
Sistemas gerenciadores de 
bando de dados e a Web, 95
1	Arquitetura	em	três	camadas, 96
2 Modelagem em XML: conceitual, 
lógica	e	física, 99
3	Web	service	XML/JSON:	CGI,	POST,	
GET, 104
4	Padrões	XML, 107
5 Modelagem de dados XML: simples, 
orientada	à	especificação	do	W3C,	a	
relacionamentos, a nós, a bordas e 
genérica, 109
Considerações	finais, 112
Referências, 112
Capítulo 8
Sistemas gerenciadores de 
banco de dados 
para dispositivos móveis, 113
1	Caching	e	difusão	de	dados, 114
2 Replicação de dados e 
sincronização, 119
3	Recuperação	de	falhas, 121
4	SQLite, 123
Considerações	finais, 125
Referências, 126
Sobre o autor, 129
7
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Capítulo 1
Características do 
sistema gerenciador 
de banco de dados
Os dados fazem parte da vida de todas as pessoas. É necessário li-
dar com dados a todo momento: ao enviar uma mensagem instantânea 
por	meio	de	aplicativo	para	a	família,	ao	colocar	uma	foto	em	uma	rede	
social, ao preencher uma proposta de emprego; até na hora em que é 
feita a compra de uma pizza, há dados envolvidos. 
8 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.Para que os dados sejam mantidos organizados, é comum o uso de 
bancos de dados. Existem bancos de dados simples, como a agenda 
de contatos de um smartphone, até bancos de dados mais complexos, 
contendo o mapeamento do genoma humano.
Quanto	maior	o	ambiente,	mais	complexa	fica	a	sua	administração.	
Para facilitar a administração de dados, existem os sistemas gerencia-
dores de bancos de dados (SGBDs). 
Neste	 capítulo,	 apresentamos	 os	 modelos	 de	 banco	 de	 dados,	
o ambiente de um banco de dados com um SGBD e como eles são 
caracterizados. 
1 Fundamentos de um ambiente de banco de 
dados com SGBD
Em 2017, a revista The Economist publicou	um	artigo	intitulado	“The	
world’s	most	valuable	resource	is	no	longer	oil,	but	data”	ou,	em	tradu-
ção livre, “O recurso mais valioso do mundo não é mais o petróleo, mas 
os	dados”.	A	cada	dia	que	passa,	as	empresas	conseguem	usar	seus	
dados	 de	maneira	mais	 eficiente,	 ajudando	 no	 processo	 de	 decisão,	
prospectando novos clientes e encontrando novas oportunidades de 
negócio	(THE	ECONOMIST,	2017).	
Para que esses dados possam ser úteis e gerar valor, as organiza-
ções devem armazená-los e gerenciá-los de forma a atender a suas 
necessidades. 
Imagine	um	aluno	fazendo	matrícula	em	uma	escola.	Ao	fazer	a	ma-
trícula,	a	escola	deve	recolher	cópias	dosdocumentos	do	aluno	e	man-
ter	o	seu	registro	escolar.	Essas	 informações	devem	estar	acessíveis	
para quem precisar delas.
Existem muitas formas de armazenar esses documentos e registros: 
eles	podem	ser	estocados	em	grandes	e	antigos	armários	de	aço,	ficar	
9Características do Sistema Gerenciador de Banco de Dados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
em	pastas	de	papel	dentro	de	grandes	gavetas	e,	até	mesmo,	ficar	em-
pilhados em grandes caixas de papelão.
Figura 1 – Armazenamento de dados manual
IMPORTANTE 
Um banco de dados é uma coleção de dados relacionados. 
Os dados são fatos que podem ser gravados e que pos-
suem significado implícito. (ELMASRI; NAVATHE, 2018)
 
Mesmo se os dados do aluno estiverem arquivados em caixas, suas 
informações formam uma coleção de dados relacionados, caracteri-
zando, portanto, um banco de dados. Esse tipo de banco de dados é 
chamado de banco de dados manual. 
Muitas vezes, o acesso aos dados em um banco de dados ma nual 
não é muito prático. Com o advento dos sistemas informatizados, a 
maioria das escolas e empresas opta por armazenar seus dados em 
um SGBD.
10 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
. Figura 2 – Armazenamento de dados informatizado
Um SGBD é um conjunto de programas de computador que permite 
que o usuário controle o armazenamento, a organização e a recupera-
ção de dados (MACHADO, 2014).
IMPORTANTE 
Um banco de dados é uma coleção organizada de informações tratadas 
como uma unidade. O objetivo de um banco de dados é coletar, armaze-
nar e recuperar informações relacionadas para serem usadas por aplica-
tivos (apps) que precisem de seus dados (PUGA; FRANÇA; GOYA, 2013). 
 
Existem algumas vantagens em trabalharmos com o SGBD 
(ELMASRI;	 NAVATHE,	 2018;	 RAMAKRISHNAN;	GEHRKE,	 2011;	 VICCI,	
2015): controle da redundância, da consistência, do compartilhamento 
e da concorrência, segurança e backup dos dados.
11Características do Sistema Gerenciador de Banco de Dados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
1.1 Controle da redundância de dados
Em sistemas tradicionais, onde os dados são armazenados em siste-
mas convencionais de arquivos, é comum ocorrer redundância de dados. 
Isso porque os arquivos podem ser armazenados em vários locais dife-
rentes	ou,	até	mesmo,	em	sistemas	diferentes.	Por	causa	disso,	é	possí-
vel surgir cópias do mesmo arquivo, gerando redundância de dados.
A redundância de dados ocorre quando os mesmos dados são ar-
mazenados desnecessariamente em locais diferentes.
Em um SGBD, a redundância de dados é reduzida ou eliminada por-
que os dados são armazenados em um local centralizado, não havendo 
necessidade de que cada usuário ou aplicativo crie seus arquivos. 
1.2 Controle da consistência de dados
Em sistemas tradicionais, as alterações feitas por um usuário ou apli-
cativo afetam apenas seus arquivos; se existirem dados redundantes em 
outras aplicações, eles podem não ser atualizados. A consistência dos 
dados é garantida em um SGBD porque a redundância de dados é evitada. 
Quaisquer	alterações	confirmadas	na	base	de	dados	são	imediatamente	
refletidas para todos os usuários e não há inconsistência de dados.
A consistência de dados garante que os valores exibidos para deter-
minado conjunto de dados sejam os mesmos para todos os usuários 
que o visualizem em um banco de dados.
1.3 Controle de compartilhamento de dados e concorrência 
dos dados
Em um SGBD, o compartilhamento de dados permite que usuários 
e aplicativos compartilhem dados com outros aplicativos e usuários. 
Os dados são armazenados em um ou mais servidores da rede, um 
12 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.mecanismo de bloqueio (lock) de software evita que o mesmo conjunto 
de dados seja alterado por duas pessoas ao mesmo tempo. 
1.4 Segurança de dados
Um SGBD fornece mecanismos de autenticação e autorização que 
protegem a privacidade e a segurança dos dados. Apenas os usuários 
autorizados têm acesso aos dados, e existem mecanismos que ajudam 
a	definir	os	privilégios	de	acesso.
1.5 Backup e recuperação de dados
Um SGBD fornece estrutura para backup e recuperação de dados. 
Em	caso	de	falha,	é	possível	voltar	o	banco	de	dados	a	uma	condição	
anterior. Os dados alterados pelo usuário são registrados em um meca-
nismo de log que permite restaurá-los até a última posição consistente. 
De	maneira	simplificada,	a	forma	de	um	SGBD	pode	ser	representada	
pela	figura	3.	
Figura 3 – Representação simplificada de um SGBD
APLICAÇÃO
Aplicativo de banco de dados
Linguagem de consulta estruturada
SOFTWARE
Processador / Otimizador de consultas
Gerenciador de memória / Cache
HARDWARE
Dicionário de dados (metadados) armazenado
Logs
Dados armazenados
Fonte: adaptado de Elmasri e Navathe (2018).
13Características do Sistema Gerenciador de Banco de Dados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Nesta	estrutura	simplificada,	há	três	camadas:	aplicação,	software	
e hardware. 
A	 camada	 aplicação	 indica	 algumas	 formas	 de	 como	 é	 possível	
acessar o SGBD:
 • Um aplicativo de banco de dados é um software que interage com 
um banco de dados para acessar e manipular os dados. O banco 
de dados pode ser acessado por aplicativos ou através de uma 
linguagem de consulta estruturada (Structured Query Language – 
SQL) (VICCI, 2015).
 • A	linguagem	de	consulta	estruturada	deve	obedecer	o	padrão	mí-
nimo	definido	 pela	American National Standards Institute (ANSI), 
mas os fabricantes são livres para desenvolverem a linguagem e 
estabelecerem os nomes para suas funções e seus procedimen-
tos. É essa linguagem que permite que os aplicativos acessem os 
dados	(RAMAKRISHNAN;	GEHRKE,	2011).
A camada de software de um SGBD é responsável pelo gerencia-
mento de memória cache, análise, processamento e otimização das 
consultas.
 • Ao receber uma instrução SQL, sua sintaxe e semântica são anali-
sadas, uma estrutura interna conhecida como parse tree (árvore de 
análise,	em	tradução	livre)	é	criada	e	um	código	pas	sível	de	execu-
ção	pelo	computador	é	gerado	(RAMAKRISHNAN;	GEHRKE,	2011).
 • O código é otimizado através de uma série de técnicas que po-
dem reescrever a consulta, alterar a ordem de leitura das tabe-
las	e	escolher	quais	 índices	serão	utilizados	(RAMAKRISHNAN;	
GEHRKE,	2011).
 • O	conjunto	de	resultados	de	uma	consulta	fica	em	memória	ca-
che. Mesmo antes de analisar a consulta, o servidor consulta o 
cache. Se algum cliente emitir uma consulta idêntica a outra que 
14 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Sena
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.já está no cache, o servidor simplesmente pula a análise, a otimi-
zação	e	até	mesmo	a	execução,	simplesmente	exibindo	a	saída	
do	cache	(RAMAKRISHNAN;	GEHRKE,	2011).
A terceira camada contém os mecanismos de armazenamento. Eles 
são responsáveis por armazenar e recuperar todos os dados armazena-
dos.	Nessa	camada,	ficam	armazenados	os	dados,	metadados	e	logs.
 • O dicionário de dados é uma coleção somente leitura de tabelas e 
views (visualizações, em tradução livre) do banco de dados con-
tendo informações de referência sobre o banco de dados, suas 
estruturas e seus usuários. Sua manutenção é feita pelo próprio 
SGBD (PUGA; FRANÇA; GOYA, 2013). 
 • Os arquivos de log contêm todos os comandos SQL que atua-
lizaram	dados.	Utilizados	para	fins	de	 recuperação	de	dados	e	
replicação.
2 Modelo de dados: relacional, orientado a 
objeto e semiestruturado
Projetado por Charles W. Bachman na década de 1960, o Integrated 
Database System, primeiro precursor dos SGBDs, foi criado para facilitar 
a	extração	e	o	acesso	a	informações	específicas.	
2.1 Primeiros modelos
A	 primeira	 geração	 de	 SGBDs	 incluía	 dois	 tipos:	 hierárquico	 e	 de	
rede. Esses	 tipos	de	sistemas	possuem	estruturas	 rígidas	e	de	difícil	
manutenção. A ausência de data definition language (DDL – linguagem 
de	definição	de	dados)	dificultava	a	alteração	da	estrutura	de	dados,	e		a	
ausência	de	uma	linguagem	de	consulta	dificultava	o	desenvolvimento	
de aplicativos.
15Características do Sistema Gerenciador de Banco de Dados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
2.1.1 Hierárquico 
O banco de dados hierárquico organiza os dados em uma estrutura 
de	árvore,	em	que	cada	registro-pai	tem	um	ou	mais	registros-filho,	com	
estrutura	semelhante	à	de	um	sistema	de	arquivos.	
2.1.2 Rede 
Um banco de dados de rede é semelhante a um banco de dados 
hierárquico, exceto que os registros têm um relacionamento de muitos-
-para-muitos ao invés de um-para-muitos.
2.2 Relacional
Em 1970, E. F. Codd publicou o artigo “A Relational Model of Data for 
Large	Shared	Data	Banks”	(“Um	modelo	relacional	de	dados	para	gran-
des	bancos	de	dados	compartilhados”,	em	tradução	livre).	Nesse	artigo,	
Codd usa a teoria matemática dos conjuntos e da lógica de predicados 
para	definir	o	modelo	relacional.	O	nome	“relacional”	vem	da	proposição	
do uso de álgebra relacional para acessar e consultar os dados no ban-
co de dados (PUGA; FRANÇA; GOYA, 2013). 
Apesar de existirem outros modelos de banco de dados, atualmente 
o modelo relacional é o mais aceito e utilizado. Um banco de dados 
relacional,	 portanto,	 é	 aquele	 que	 segue	 as	 definições	 desse	modelo	
(ELMASRI;	NAVATHE,	2018).	Entre	suas	características	destacam-se:	
 • sólida fundamentação teórica, permitindo que as operações se-
jam	claramente	definidas,	para	que	os	aplicativos	manipulem	os	
dados e as estruturas do banco de dados; 
 • estruturas simples e uniformes, conhecidas como relacionamen-
tos e entidade;
 • suas regras de integridade controlam as operações nos dados e 
nas estruturas de um banco de dados.
16 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.Um banco de dados relacional é também um conjunto de relações 
associadas. Essa relações podem ser representadas como tabelas, e 
cada relação possui um nome que indica que tipo de tupla a relação 
possui	(RAMAKRISHNAN;	GEHRKE,	2011).	Em	uma	relação	denomina-
da	“aluno”,	por	exemplo,	as	tuplas	conterão	dados	dos	alunos.
IMPORTANTE 
No modelo relacional, formalmente, uma linha é denominada “tupla”, o 
cabeçalho de uma coluna é denominado “atributo”, a tabela é denomina-
da “relação” e cada valor dos dados em uma tupla é denominado “cam-
po” (RAMAKRISHNAN; GEHRKE, 2011).
 
Em uma relação, cada tupla representa um conjunto de valores de 
dados relacionados, caracterizando um fato correspondente a um rela-
cionamento ou a uma entidade do mundo real. Os nomes das tabelas 
e	colunas	são	utilizados	na	interpretação	do	significado	dos	valores	de	
uma	linha	(ELMASRI;	NAVATHE,	2018).
Dizemos que um banco de dados relacional é estruturado porque 
cada linha de uma tabela possui o mesmo conjunto de colunas, e elas 
possuem o mesmo tipo de dados.
O modelo relacional é a base para um SGBD relacional. Ele armazena e 
recupera	dados	para	que	as	operações	físicas	sejam	transparentes	para	
os	aplicativos	de	banco	de	dados	(RAMAKRISHNAN;	GEHRKE,	2011).
2.3 Orientado a objeto
Já	o	modelo	orientado	a	objeto	começou	com	a	ideia	de	modificar	os	
modelos	de	dados	tradicionais,	já	que	eles	não	atendiam	às	necessida-
des das linguagens de programação orientada a objetos.
17Características do Sistema Gerenciador de Banco de Dados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Neste	modelo,	a	noção	de	objeto	é	usada	no	nível	lógico	e	possui	ca-
racterísticas	não	encontradas	nas	linguagens	de	programação	tradicio-
nais, como operadores de manipulação de estruturas, gerenciamento 
de armazenamento, tratamento de integridade e persistência de dados 
(ELMASRI;	NAVATHE,	2018).	
 O uso de bancos de dados orientados a objeto atende a sistemas 
que	tratam	estruturas	de	dados	complexas,	como	imagens,	vídeos,	da-
dos	de	áudio,	textos	longos	e	gráficos	(ELMASRI;	NAVATHE,	2018).	
IMPORTANTE 
Um SGBD que implementa recursos orientados a objetos, como tipos 
de dados definidos pelo usuário (User-Defined Type – UDT), herança e 
polimorfismo é chamado de SGBD relacional de objeto.
 
A	reusabilidade	é	uma	das	características	interessantes	do	modelo	
orientado a objeto. Ela permite que rotinas comumente usadas possam 
ser armazenadas em bibliotecas de rotinas e reutilizadas. Isso deriva de 
três	características	 importantes	do	modelo:	polimorfismo,	encapsula-
mento	e	herança	(ELMASRI;	NAVATHE,	2018).
O	polimorfismo	refere-se	à	habilidade	de	objetos	de	classes	diferen-
tes	 responderem	 à	mesma	 função	 de	maneiras	 distintas.	 Linguagens	
tradicio nais necessitam que cada função execute a mesma operação, en-
quanto lingua gens orientadas a objeto associam função a uma ou mais 
operações. Ao receber uma solicitação, o objeto determina a operação a 
ser	executada	a	partir	da	classe	desse	objeto	(ELMASRI;	NAVATHE,	2018).	
O	encapsulamento	refere-se	à	habilidade	de	um	objeto	de	proteger	
seus dados e a si mesmo de interferência externa. Espera-se que ne-
nhum objeto possa acessar dados internos de outros objetos (ELMASRI; 
NAVATHE,	2018).
18 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.A	herança	refere-se	à	habilidade	de	um	objeto	adquirir	a	funciona-
lidade e os dados de outro objeto utilizando novas classes de objetos 
criadas como descendentes.
NA PRÁTICA 
Anote:
CREATE TABLE cidade(nome TEXT, populacao FLOAT, altitude INT)
CREATE TABLE capital (uf CHAR(2)) INHERITS (cidade)
 
O exemplo, adaptado da documentação do SGBD PostgreSQL 8.3, 
permite que a tabela capital herde todas as colunas de sua tabela pai, 
cidade. As capitais dos estados também têm uma coluna extra para a 
unidade da federação (uf), que mostra o estado da cidade.
De acordo com Ramakrishnan e Gehrke (2011), podemos destacar 
as seguintes vantagens do modelo orientado a objeto:
 • as alterações em determinado objeto são refletidas nos atributos 
e nas relações com outros objetos; 
 • a identidade do objeto persiste mesmo após processamento e 
modelamento;
 • classes de objeto podem ter propriedades ou atributos herdados 
de uma parte dos objetos dentro da classe. 
2.4 Semiestruturado
O modelo de dados semiestruturados apresenta uma estrutura he-
terogênea, ou seja, os dados não são completamente não estruturados 
nem estrita mente tipados.
19Características do Sistema Gerenciador de Banco de Dados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Um bom exemplo do uso de dados semiestruturados é uma pági-
na	de	e-commerce.	Ao	acessá-la,	é	possível	encontrar	um	catálogo	de	
produtos com uma descrição uniforme baseada em linhas e colunas, 
também	é	possível	encontrar	uma	área	para	contato	com	um	padrão	
estrutural	facilmente	identificado	ou	um	arquivo	de	imagem	onde	não	
existem informações descritivas associadas (LEAL, 2015). 
Dados semiestruturados são autodescritivos, e o seu esquema de 
representação	está	presente,	de	forma	explícita	ou	implícita,	juntamente	
ao dado. É necessário que uma análise de dados seja feita para que a 
sua	estrutura	possa	ser	identificada	e	extraída	(SETZER;	SILVA,	2005).
IMPORTANTE 
Dados semiestruturados não têm um modelo de dados formal, mas têm 
padrão e estrutura aparentes e autodescritivos que permitem que sejam 
analisados.
 
As	características	principais	de	dados	semiestruturados	são:
 • Definição	à	posteriori:	a	estrutura	de	dados	semiestruturados	é	
usualmente	definida	após	a	existência	dos	dados.
 • Estrutura irregular: não existe um esquema padrão para os dados 
semiestruturados.
 • Estrutura	implícita:	a	estrutura	básica	de	dados	está	implícita	na	
forma como eles são apresentados. 
 • Estrutura parcial: a estrutura básica de dados nem sempre é com-
pleta, e nem todas as suas informações estão presentes.
 • Estrutura	evolucionária:	a	estrutura	de	dados	pode	ser	modificada	
à	medida	que	os	dados	são	atualizados	(ABITEBOUL;	BUNEMAN;	
SUCIU, 2000).
20 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.Em modelos de dados tradicionais existe uma estrutura homogênea 
de atributos e tipos. No caso do modelo de dados semiestruturados, 
cada ocorrência de dado pode ser heterogênea tanto no esquema quan-
to em seus atributos e tipos.
Uma vez que cada dado pode ter organização própria, uma estrutura 
para representar um conjunto de dados costuma ser extensa para que 
possa refletir suas particularidades. 
3 Característica dos dados: clássicos, 
geográficos, multimídia
Diferentes tipos de dados são usados em vários momentos: na cria-
ção de uma tabela, ao incluir um novo campo, ao consultar uma infor-
mação,	entre	outros.	Os	tipos	de	dados	permitem	identificar	os	valores	
possíveis	de	serem	atribuídos	a	um	campo,	quais	as	operações	que	po-
dem ser feitas com eles e a forma como serão armazenados no banco 
de dados. 
3.1 Dados clássicos
Os SGBDs oferecem vários tipos de dados para armazenar dados 
escalares. Dado escalar é um elemento de informação que pode ser 
acessado	através	de	um	identificador	(ELMASRI;	NAVATHE,	2018).	
Entre os tipos de dados escalares, temos:
 • Dados de caracteres: armazenam dados de caracteres de tama-
nho	fixo	ou	variável.	Os	tipos	de	dados	de	caracteres	de	tamanho	
fixo	são	armazenados	com	espaços	em	branco	preenchidos;	os	
tipos de dados de caracteres de tamanho variável usam apenas o 
número de bytes necessário para armazenar o valor real da coluna.
 • Dados numéricos: armazenam somente números.
21Características do Sistema Gerenciador de Banco de Dados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
 • Dados tipo data: podem armazenar datas, datas com horário e 
datas com horário e fuso horário.
3.2 Dados geográficos
Os	dados	geográficos	podem	ser	descritos	de	três	maneiras:	espa-
cial, temporal e temática (SILVA, 2003). 
 • Espacial: quando a variação muda de lugar para lugar. Um mes-
mo ponto pode variar, por exemplo, em altitude, declividade ou 
profundidade do solo.
 • Temporal:	 quando	a	variação	muda	com	o	 tempo.	Um	mesmo	
ponto pode variar, por exemplo, de acordo com a ocupação do 
solo	ou	a	densidade	demográfica.
 • Temática:	quando	as	variações	são	detectadas	através	de	mu-
danças	de	características	como,	por	exemplo,	na	cobertura	vege-
tal ou geologia.
IMPORTANTE 
Os fenômenos espaciais, temporais e temáticos que ocorrem na super-
fície da Terra são denominados de dados geográficos ou espaciais.
 
Dados	 geográficos	 estão	 distribuídos	 sobre	 a	 superfície	 curva	 da	
Terra,	e	seus	pontos	trabalham	com	coordenadas	x, y e z. 
De acordo com MySQL (2020), objetos do mundo podem ser repre-
sentados por:
 • Ponto: dado espacial que não possui área. Representado por um 
único par de coordenadas.
22 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
. • Linha ou arco: formado por uma sequência de pontos conecta-
dos. Por exemplo, um rio ou uma estrada.
 • Cadeias:	definem	limites	entre	polígonos.	Por	exemplo,	os	limites	
entre bairros ou cidades
 • Polígonos:	planos	que	 representam	uma	geometria	com	vários	
lados. Por exemplo, a área de uma fazenda.
Em um banco de dados MySQL, alguns tipos de dados que podem 
conter	dados	geográficos	são:	geometry, point, linestring e polygon.
3.3 Dados multimídia
Os	SGBDs	multimídias	oferecem	recursos	para	o	armazenamento	e	
a	consulta	de	informações	multimídias.	Usando	técnicas	de	identifica-
ção	de	conteúdo	das	fontes	multimídias,	é	possível	trabalhar	com	con-
sultas conhecidas, como recuperação de dados baseada em conteúdo. 
De acordo com Elmasri e Navathe (2018), os principais tipos de da-
dos	multimídias	são:
 • Texto:	normalmente	contém	o	texto	completo	de	um	artigo,	livro	
ou revista. Pode ser armazenado formatado ou não.
 • Áudio: contém mensagens de voz, como um diálogo de um opera-
dor de telemarketing com seu cliente, discursos e sons em geral.
 • Vídeo:	contém	segmentos	de	vídeo	quadro	a	quadro.	É	possível	
armazenar	vídeos	de	grande	extensão.
 • Imagens: contém imagens, normalmente armazenadas como um 
conjunto de valores em pixel.
O	grande	desafio	desse	tipo	de	dado	é	encontrarmos	dados	multi-
mídias	que	atendam	às	necessidades	de	uma	busca.	É	um	campo	que	
vem evoluindo muito nos últimos anos.
23Características do Sistema Gerenciador de Banco de Dados
M
aterial para uso exclusivo de aluno m
atriculado em
 cursode Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Considerações finais
A cada instante, é produzida uma gigantesca quantidade de dados; 
os SGBDs vieram para facilitar a administração e manutenção desse 
grande capital de informações. Esses sistemas fornecem facilidades 
que vão desde a otimização de uma consulta ao gerenciamento de es-
paço em um ambiente de produção. 
Cada modelo de dados (relacional, orientado a objeto ou semiestru-
turado) possui uma aplicação própria. Sistemas tradicionais trabalham 
com modelos relacionais; sistemas com transações muito longas ou 
com objetos complexos usam o modelo orientado a objeto; e ambientes 
mistos trabalham com o modelo semiestruturado.
A decisão sobre o tipo de modelo impacta em toda a estrutura do 
sistema e deve ser observada com cuidado.
Referências
ABITEBOUL,	S.;	BUNEMAN,	P.;	SUCIU,	D.	Gerenciando dados na Web. Rio de 
Janeiro: Campus, 2000.
ELMASRI,	R.;	NAVATHE,	S.	B.	Sistemas de banco de dados. 7. ed. São Paulo: 
Pearson, 2018.
LEAL, G. C. L. Linguagem, programação e banco de dados: guia prático de 
aprendizagem. Curitiba: InterSaberes, 2015. 
MACHADO, F. N. R. Banco de dados: projeto e Implementação. 3. ed. São Paulo: 
Saraiva, 2014.
MYSQL. MySQL 8.0	Reference	Manual.	Disponível	em:	https://dev.mysql.com/
doc/refman/8.0/en. Acesso em: 05 nov. 2020.
PUGA, S.; FRANÇA, E.; GOYA M. Banco de dados: implementação em SQL PL/
SQL e Oracle 11g. São Paulo: Pearson, 2013.
24 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.RAMAKRISHNAN,	R.;	GEHRKE,	J.	Sistemas de gerenciamento de banco de da-
dos. 3. ed. Porto Alegre: AMGH, 2011.
SETZER,	V.	W.;	SILVA,	F.	S.	C.	da.	Banco de dados: aprenda o que são, melhore 
seu conhecimento, construa os seus. São Paulo: Edgard Blucher, 2005.
SILVA, A. B.. Sistemas de informações geo-referenciadas: conceitos e funda-
mento. Campinas: Editora da Unicamp, 2003.
THE	 WORLD’S	 most	 valuable	 resource	 is	 no	 longer	 oil,	 but	 data.	 The 
Economist,	 06	 maio	 2017.	 Disponível	 em:	 https://www.economist.com/le-
aders/2017/05/06/the-worlds-most-valuable-resource-is-no-longer-oil-but- 
data. Acesso em: 05 nov. 2020.
VICCI, C. A. (org). Banco de dados. São Paulo: Pearson, 2015.
https://www.economist.com/leaders/2017/05/06/the-worlds-most-valuable-resource-is-no-longer-oil-but-data
https://www.economist.com/leaders/2017/05/06/the-worlds-most-valuable-resource-is-no-longer-oil-but-data
https://www.economist.com/leaders/2017/05/06/the-worlds-most-valuable-resource-is-no-longer-oil-but-data
25
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Capítulo 2
Sistemas de 
gerenciamento de 
banco de dados 
centralizados
Indivíduos, pequenas empresas e grandes corporações vêm desco-
brindo a importância de reunir, sistematizar, organizar, processar, anali-
sar e interpretar os seus dados. A exploração desses dados pode levar a 
tomadas de decisões mais efetivas e a novas oportunidades de negócio.
Dentro desse contexto, os dados passam a ser um recurso estraté-
gico da empresa e, como tal, possuem valor e precisam ser protegidos. 
Um sistema gerenciador de banco de dados (SGBD) centralizado ofe-
rece maior segurança, pois todos os envolvidos com acesso a esses 
dados estão submetidos a protocolos e limites de acesso que circuns-
crevem um vazamento de dados que, eventualmente, possa ocorrer.
Neste capítulo, apresentamos os modelos de banco de dados cen-
tralizados, a organização de arquivo, a alocação de disco e seus tipos de 
registro. Também veremos tipos de dados, visões do usuário, segurança 
dos dados e suas vantagens e desvantagens.
26 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.
1 SGBDs centralizados
Em um SGBD centralizado, uma unidade central é utilizada para aten-
der toda a empresa (ELMASRI; NAVATHE, 2018). Os usuários conectam 
seus computadores e terminais a esse SGBD centralizado através uma 
conexão local ou uma conexão de internet e obtêm os dados de que 
necessitam.
Usar um SGBD centralizado faz parte da estratégia de negócio de 
empresas de grande e médio porte para o gerenciamento adequado de 
seus dados. Segundo relatório de 2013 da empresa Deloitte, 42% das 
empresas pesquisadas adotaram alguma abordagem de centralização 
de dados (DELOITTE, 2013).
IMPORTANTE 
Um SGBD centralizado é aquele onde o banco de dados é localizado, 
mantido e armazenado em um único local como, por exemplo, um main-
frame.
 
Durante muito tempo, o termo mainframe indicou os computadores 
grandes e pesados dos primeiros sistemas computacionais. Por ques-
tões mercadológicas, os fabricantes passaram a denominar qualquer 
computador de uso comercial de servidor, não importando o seu porte 
(grande ou pequeno). Nesse contexto, mainframe indica o maior tipo de 
servidor, atualmente, em uso (ELMASRI; NAVATHE, 2018). 
De maneira simplificada, um SGBD centralizado pode ser representa-
do conforme figura 1.
27SGBD centralizados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Figura 1 – Representação simplificada de um banco de dados centralizado
Banco de dados
MAINFRAME
TERMINAL 3TERMINAL 1
TERMINAL 2
TERMINAL 4
Fonte: adaptado de Elmasri e Navathe (2018).
Para que os SGBDs computadorizados possam consultar, alterar, 
remover e incluir dados, primeiro eles precisam ser armazenados em 
algum tipo de mídia de armazenamento (ELMASRI; NAVATHE, 2018). 
De maneira geral, SGBDs costumam armazenar grandes quantida-
des de dados que podem ser acessados e alterados com frequência. 
Devido ao grande volume, o armazenamento dos dados é feito em dis-
cos magnéticos em estruturas denominadas arquivos (files) (ELMASRI; 
NAVATHE, 2018).
De acordo com Silberschatz, Korth e Sudarshan (2006), esses arqui-
vos podem ser organizados das seguintes maneiras:
 • heap; 
 • sequencial indexado;
 • hash;
 • sequencial.
28 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.IMPORTANTE 
O SGBD armazena todos os registros dentro de uma unidade de tama-
nho fixo que é comumente chamada de página (ou bloco). Uma página 
contém registros, mas também contém cabeçalhos e trailers.
 
2 Arquitetura de três esquemas
A arquitetura de três esquemas tem como objetivo separar o que faz 
parte do banco de dados físico do que é aplicação do usuário. É dividi-
da em três níveis: interna, conceitual e externa (ou de visão) (ELMASRI; 
NAVATHE, 2018), conforme figura 2.
Figura 2 – Arquitetura de três camadas
Esquema
ConceitualMapeamento externo/conceitual
Mapeamento conceitual/interno
Banco de Dados Armazenados
Visão
Externa
Visão
Externa
NÍVEL
EXTERNO ...
NÍVEL
INTERNO
NÍVEL
CONCEITUAL
Esquema
Interno
Usuários
Finais
Fonte: adaptado de Elmasri e Navathe (2018).
29SGBD centralizados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
2.1 Nível interno
O nível interno descreve como os dados estão realmente armazena-
dos. Neste nível, as estruturas de dados de baixo nível são descritas em 
detalhes (ELMASRI; NAVATHE, 2018).
2.1.1 Organização de arquivo heap
A forma mais simples de organização de arquivos é um arquivo não orde-
nado, também conhecido como arquivo heap (ELMASRI; NAVATHE, 2018).
IMPORTANTE 
Em uma organização de arquivo heap, os registros são colocados no 
arquivo na mesma ordem em que são inseridos. Os novos registros são 
então inseridos na última página do arquivo. Caso não exista espaço 
suficiente para o novo registro, é adicionada uma nova página ao ar-
quivo. Esse mecanismo torna as operações de inclusão de dados mais 
eficientes.
 
Como os dados incluídos no arquivo heap não estão ordenados por 
nenhum valor de campo, para localizar um registro específico, é neces-
sário fazer uma pesquisa linear em todo o arquivo.
 Uma pesquisa linear envolve a leitura do arquivo heap página por pá-
gina até que o elemento pesquisado seja encontrado. Isso torna a recu-
peração de um dado específico relativamente lenta, no entanto, ela é efi-
ciente caso seja preciso recuperar uma grande quantidade de registros.
Ao excluir um registro, a página onde ele está precisará ser recupera-
da; o registro é, então, marcado como excluído, e a página é gravada de 
volta no disco. O espaço com os registros excluídos não é reutilizado.
30 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.Caso existam muitos registros excluídos, o desempenho na recu-
peração de dados pode ser degradado, pois será necessário ler mais 
páginas do arquivo em busca da informação desejada. Por isso, o admi-
nistrador do SGBD precisa reorganizar os arquivos heap periodicamente 
para recuperar o espaço não utilizado dos registros excluídos.
Os arquivos heap são uma das melhores organizações para o car-
regamento em massa de dados em uma tabela, pois os registros são 
inseridos no final da sequência; não há, portanto, sobrecarga para cal-
cular em qual página o registro deve ficar (ELMASRI; NAVATHE, 2018) .
De acordo com Silberscatz e Sudarshan (2006), heap é uma boa es-
trutura de armazenamento nas seguintes situações:
 • Ao efetuar uma carga de dados em grande volume em uma 
relação.
 • A relação ter poucas páginas. Em situações como essa, o tempo 
de busca de uma ou várias tuplas é pequeno.
 • Todas ou quase todas as tuplas de uma relação precisem ser re-
cuperadas cada vez que a relação é acessada. 
Heap não é indicado quando apenas tuplas específicas de uma rela-
ção devem ser recuperadas.
2.1.2 Organização de arquivo sequencial indexado
Em arquivos do tipo sequencial indexado, os registros são compos-
tos por campos de tamanho fixo, gravados em disco sequencialmente e 
classificados por um índice primário (ELMASRI; NAVATHE, 2018). 
Esta estrutura é um meio-termo entre um arquivo de acesso se-
quencial e um arquivo de acesso aleatório. Nesse caso, os registros po-
dem ser processados sequencialmente ou acessados individualmente 
31SGBD centralizados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
através de um valor de chave de pesquisa que acessa o registro por 
meio do índice (ELMASRI; NAVATHE, 2018).
IMPORTANTE 
Índice é uma estrutura de dados que permite ao SGBD localizar registros 
específicos em um arquivo rapidamente e, com isso, melhorar o tempo 
de resposta das consultas efetuadas no banco de dados. 
 
Um índice elimina a necessidade de ler sequencialmente o arquivo 
sempre que for preciso encontrar um registro específico. O índice é or-
denado, e cada entrada de índice contém a chave do registro pesquisa-
do e um ou mais endereços físicos da tabela onde o registro pode ser 
encontrado (ELMASRI; NAVATHE, 2018).
Os valores no arquivo de índice são ordenados de acordo com o 
campo de indexação, que geralmente é baseado em um único atributo 
(ELMASRI; NAVATHE, 2018).
Um conjunto secundário de índices, conhecidos como tabelas hash, 
contém o endereço físico dos registros nas tabelas, permitindo que re-
gistros individuais sejam recuperados sem que seja necessário pesqui-
sar todo o conjunto de dados (ELMASRI; NAVATHE, 2018).
Arquivos sequenciais indexados também são conhecidos como 
Indexes Sequential Access Method (ISAM) ou, em tradução livre, mé-
todo de acessos sequenciais indexados (SILBERSCHATZ; KORTH; 
SUDARSHAN, 2006). 
ISAM é uma estrutura de armazenamento mais versátil e provou 
ser melhor que a hash quando as recuperações são baseadas na 
correspondência exata de chave, intervalo de valores e chave parcial 
(SILBERSCHATZ; KORTH; SUDARSHAN, 2006).
32 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.
2.1.3 Organização de arquivo hash
Em um arquivo hash, os registros não são armazenados sequencial-
mente em um arquivo, em vez disso uma função hash é usada para 
calcular o endereço da página na qual o registro deve ser armazenado 
(ELMASRI; NAVATHE, 2018).
O campo no qual a função hash é calculada é chamado de “campo 
hash”. Se esse campo atuar como a chave da relação, é denominado 
“chave hash”. Os registros são distribuídos aleatoriamente no arquivo, 
portanto, também são chamados de arquivos “de acesso aleatório” ou 
“de acesso direto”. Normalmente, uma função aritmética é aplicada ao 
campo hash para que os registros sejam distribuídos uniformemente 
por todo o arquivo (ELMASRI; NAVATHE, 2018).
Geralmente, a estrutura de arquivo hash é uma boa alternativa para 
quando as tuplas são recuperadas com base em uma correspondência 
exata do valor do campo hash (SILBERSCHATZ; KORTH; SUDARSHAN, 
2006).
2.1.4 Alocação em disco
Alocação em disco é a forma como os arquivos são armazenados 
nos blocos do disco. O método de alocação é escolhido de forma que 
a utilização do disco seja eficiente e o acesso ao arquivo seja o mais 
rápido possível (SILBERSCHATZ; KORTH; SUDARSHAN, 2006).
2.1.4.1 Alocação contígua 
Na alocação contígua, um arquivo é feito por um conjunto ligado de 
blocos. Nesta estrutura, uma consulta aos dados primeiro deve acessar 
o bloco B, depois o bloco B+1, para só depois o bloco B+2, e assim suces-
sivamente. Esse método acessa os dados rapidamente, permitindo tan-
to acesso direto quanto sequencial, no entanto, aumentar o tamanho do 
33SGBD centralizados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
arquivo pode ser problemático porque depende de existiremblocos con-
tíguos para a gravação (SILBERSCHATZ; KORTH; SUDARSHAN, 2006).
Figura 3 – Alocação contígua em disco
...B B+1 B+2 B+n
Fonte: adaptado de Elmasri e Navathe (2018).
2.1.4.2 Alocação em lista encadeada
O método de lista encadeada surge para resolver alguns problemas 
da alocação contígua. Neste método, os blocos de disco não são organi-
zados de forma contígua, mas sim através de lista encadeada. Os blocos 
podem estar espalhados no disco. A entrada do diretório contém o ende-
reço do primeiro e do último bloco do arquivo; cada bloco contém o en-
dereço do próximo bloco (SILBERSCHATZ; KORTH; SUDARSHAN, 2006). 
2.1.5 Tipo de registro
O formato mais comum de armazenamento de dados é o formato de 
registros. Um registro é formado por campos que, por sua vez, contêm 
valores (ELMASRI; NAVATHE, 2018).
34 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.2.1.5.1 Registro fixo
O tipo de registro fixo é aquele em que o tamanho de cada campo do 
registro tem o mesmo comprimento e cada registro tem exatamente o 
mesmo tamanho em bytes. Os tipos de dados CHAR e DATE são exem-
plos típicos de campos com tamanho fixo (ELMASRI; NAVATHE, 2018).
2.1.5.2 Registro variável
O tipo de registro variável é aquele em que o tamanho dos campos do 
registro tem comprimento variável e os registros podem ter tamanhos 
diferentes entre si. Os tipos de dados VARCHAR e NUMERIC são exem-
plos típicos de campos com tamanho variável (ELMASRI; NAVATHE, 
2018).
2.2 Nivel conceitual
O nível conceitual descreve as entidades, os relacionamentos, os ti-
pos de dados e as restrições, ocultando os detalhes do armazenamento 
físico (PUGA; FRANÇA; GOYA, 2013).
2.2.1 Tipos de dados armazenados
Um arquivo é composto por registros; os registros são compostos 
por, pelo menos, um campo; e cada campo possui um tipo de dado. 
Cada tipo de dado armazena valores diferentes: booleanos, data, hora, 
data e hora, números, textos e grandes objetos não estruturados (PUGA; 
FRANÇA; GOYA, 2013).
Cada tipo de dado ocupa uma quantidade diferente de bytes em um 
registro. A tabela 1, a seguir, lista o espaço ocupado por alguns tipos de 
dados.
35SGBD centralizados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Tabela 1 – Alguns tipos de dados e o número de bytes necessários para seu armazenamento
TIPO DE DADOS NÚMERO DE BYTES
TINYINT 1
SMALLINT 2
MEDIUMINT 3
INT, INTEGER 4
BIGINT 8
FLOAT(p)
4, se 0 ≤ p ≤ 24,
8, se 25 ≤ p ≤ 53
FLOAT 4
REAL, DOUBLE 8
NUMERIC Depende do tamanho declarado
YEAR 1
DATE 3
TIME 3
DATETIME 8
TIMESTAMP 4
TEXT Depende do tamanho declarado
CHAR Depende do tamanho declarado
VARCHAR Depende do tamanho declarado
Fonte: adaptado de MYSQL (2020).
Grandes objetos não estruturados, conhecidos como binary lar-
ge object (BLOB) ou, em tradução livre, objetos binários grandes, po-
dem ser armazenados em um SGDB. BLOBs normalmente são usa-
dos para armazenar imagens, vídeos, sons e grandes quantidades de 
36 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.texto. Geralmente os BLOBs são armazenados à parte do registro, e um 
ponteiro é incluído no registro indicando a sua localização (ELMASRI; 
NAVATHE, 2018).
2.3 Nível externo: visões do usuário e segurança
O nível externo descreve parte do banco de dados. Apesar do nível 
conceitual apresentar estruturas mais simples, nem todo usuário deve 
ou quer ver todas as informações. As visões de dados permitem forne-
cer ao usuário uma visão simplificada das estruturas e dos dados que 
ele deseja acessar (ELMASRI; NAVATHE, 2018).
Existem dois tipos de mecanismos de segurança que são usados 
como referência em banco de dados (ELMASRI; NAVATHE, 2018):
 • Discricionários: concedem privilégios aos usuários, permitindo 
acesso a arquivos ou registros de dados.
 • Obrigatórios: impõem segurança de acordo com o nível no qual 
determinados dados e usuários foram classificados.
Pelo mecanismo de controle de acesso discriminatório, um usuário 
pode ter direitos de acesso diferentes sobre objetos diferentes. O uso do 
mecanismo de visões pode ser usado para ocultar dados confidenciais 
de usuários não autorizados. O mecanismo de visões não permite es-
pecificar quais operações os usuários autorizados têm permissão para 
executar; as permissões devem ser concedidas através da instrução 
GRANT (RAMAKRISHNAN; GEHRKE, 2011).
2.4 Mapeamentos
Mapeamento é a denominação das transformações que uma re-
quisição do usuário sofre ao passar de uma visão de usuário de nível 
37SGBD centralizados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
externo para o nível conceitual e deste para o nível físico até chegar aos 
dados (RAMAKRISHNAN; GEHRKE, 2011). 
A arquitetura de três esquemas apenas descreve os dados, mas eles 
persistem no nível físico. Um usuário, ou grupo de usuários, acessa o 
SGBD apenas por seu esquema externo. Quando o usuário faz uma so-
licitação ao banco de dados, o SGBD a transforma em uma solicitação 
ao esquema conceitual e, depois, transforma-a em uma solicitação ao 
esquema interno para o processamento no banco de dados armazena-
do (ELMASRI; NAVATHE, 2018).
Caso a solicitação tenha sido uma recuperação do banco de dados, 
os dados obtidos deste banco serão reformatados para corresponder à 
visão externa do usuário (ELMASRI; NAVATHE, 2018). 
2.5 Independência de dados: física e lógica
Independência de dados é a capacidade de modificar a definição de 
um esquema de um nível do SGBD sem precisar alterar a definição de 
um esquema de um nível mais alto. Existem dois tipos de independên-
cia de dados (ELMASRI; NAVATHE, 2018): 
 • Lógica: habilidade de modificar o esquema conceitual sem a ne-
cessidade de reescrever os aplicativos ou esquemas externos. O 
esquema conceitual pode ser alterado durante o acréscimo ou 
remoção de tipos de registros ou itens de dados.
 • Física: habilidade de modificar o esquema interno sem alterar o 
esquema conceitual. As modificações no nível físico são ocasio-
nalmente necessárias para melhorar o desempenho.
38 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.
2.6 Vantagens e desvantagens
Cada empresa possui características diferentes e que devem ser le-
vadas em consideração na escolha por uma abordagem centralizada 
de dados.
A tabela 2 lista algumas das vantagens e desvantagens da arqui-
tetura de um SGBD centralizado (RAMAKRISHNAN; GEHRKE, 2011).
Tabela 2 – Vantagens e desvantagens da da arqui tetura de um SGBD centralizado
VANTAGENS DESVANTAGENS
O banco de dados centralizados é muito seguro. Com os dadoscentralizados em um mesmo local, fica mais simples gerenciar as 
permissões e privilégios de acesso ao banco de dados.
Falhas no servidor central afetam todos 
os usuários e processos.
O custo de equipamento de bancos de dados centralizados 
costuma ser menor do que em um ambiente distribuído, exigindo 
menos despesas de manutenção.
Expandir a capacidade de um servidor 
central pode implicar em altos custos e 
tempo de máquina ocioso.
O acesso a informações costuma ser mais rápido em ambientes 
centralizados.
Todos os usuários são afetados caso 
haja lentidão na rede ou processos que 
consomem muitos recursos.
O gerenciamento de operações de backup e a restauração de 
dados são mais simples.
Não é possível ter um servidor dedicado 
exclusivamente a operações de backup.
A redundância de dados é controlada em um banco de dados 
centralizado. Como todos os dados são armazenados em um 
mesmo local e não podem ser distribuídos em locais diferentes, 
fica mais fácil garantir que todos os dados armazenados não 
sejam duplicados, evitando, assim, a redundância.
Em caso de falha do servidor central, 
não é possível contar com servidores 
distribuídos para assumir as tarefas.
A integridade dos dados é aumentada devido ao fato de todo 
o banco de dados ser armazenado em um único local físico, 
tornando mais fácil gerenciar os dados de forma 
mais consistente e precisa.
39SGBD centralizados
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Considerações finais
A busca por maior segurança para dados estratégicos tem feito com 
que empresas optem pelo modelo centralizado de dados. Normalmente, 
adotar a arquitetura centralizada melhora a segurança do sistema ao re-
duzir o leque de potenciais ataques ao ambiente.
Um case interessante de descentralização é o das eleições muni-
cipais de 2020. Cada um dos 27 Tribunais Regionais Eleitorais (TREs) 
possuía um conjunto de aplicativos e servidores que totalizavam os vo-
tos de sua região. A partir dessa eleição, a contagem dos votos passou 
a ser feita de forma centralizada no Tribunal Superior Eleitoral (TSE), 
aumentando a segurança dos dados e reduzindo o custo da operação. 
Referências
DELOITTE. The Analytics Advantage. We’re just getting started. Deloitte’s 
Analytics Advantage Survey, 2013. Disponível em: https://www2.deloitte.com/
content/dam/Deloitte/global/Documents/Deloitte-Analytics/dttl-analytics-a-
nalytics-advantage-report-061913.pdf. Acesso em: 16 nov. 2020.
ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. 7. ed. São Paulo: 
Pearson, 2018
SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de banco de dados. 
5. ed. São Paulo: Elsevier, 2006. 
MYSQL. MySQL 8.0 Reference Manual. Disponível em: https://dev.mysql.com/
doc/refman/8.0/en/. Acesso em: 05 nov. 2020.
PUGA, S.; FRANÇA, E.; GOYA, M. Banco de dados: implementação em SQL 
PL/SQL e Oracle 11g. São Paulo: Pearson, 2013.
RAMAKRISHNAN, R.; GEHRKE, J. Sistemas de gerenciamento de banco de da-
dos. 3. ed. Porto Alegre: AMGH, 2011.
41
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Capítulo 3
Sistema de 
gerenciamento de 
banco de dados 
cliente/servidor
Atualmente, acessar informações usando dispositivos móveis como 
smartphones, tablets e laptops por meio de uma rede de dados passou 
a ser uma atividade relativamente corriqueira. Independente do hardwa-
re usado ou do sistema operacional empregado, é possível se conectar 
a um ambiente e procurar pelos dados de que precisamos.
Apesar de toda essa facilidade no acesso aos dados, eles continuam 
sendo armazenados em sistemas gerenciadores de bancos de dados 
42 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.(SGBDs) e, geralmente, usam uma aplicação que os acessa e os exibe 
para o usuário final. Existem vários modelos de SGBDs pelos quais os 
dados podem ser acessados.
Neste capítulo, apresentamos o modelo SGBD cliente/servidor, suas 
características, vantagens e desvantagens. 
1 Arquitetura SGBD cliente/servidor
A arquitetura SGBD cliente/servidor é um modelo de computação no 
qual o servidor hospeda, entrega e gerencia a maioria dos recursos e 
serviços a serem consumidos pelo cliente. Foi desenvolvida com o intui-
to de distribuir tarefas ou cargas de trabalho entre vários computadores 
conectados por uma rede (ELMASRI; NAVATHE, 2018).
O solicitante de um serviço é chamado cliente; o provedor de serviço, 
servidor. Desse modo, podemos dizer que, em um modelo cliente/ser-
vidor, um programa central atua como um servidor e vários programas 
clientes se conectam a esse servidor para fazer solicitações. Como os 
computadores, cliente e servidor são considerados dispositivos inteli-
gentes. (O modelo cliente/servidor é completamente diferente do anti-
go modelo mainframe, no qual um computador mainframe centralizado 
executava todas as tarefas para seus terminais associados.) 
Os SGBDs usam a arquitetura cliente/servidor de duas formas distin-
tas (ELMASRI; NAVATHE, 2018):
 • Arquitetura em duas camadas (two tiers) — nessa arquitetura, as 
regras de negócio ficam no cliente ou no servidor. Se estiverem no 
cliente, farão parte do aplicativo instalado; caso estejam no servi-
dor, estarão em procedimentos armazenados (stored procedures). 
43SGBDs Client/Server
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Figura 1 – Representação simplificada da arquitetura em duas camadas do modelo cliente/servidor 
Servidor de
Banco de Dados
Clientes
Fonte: adaptado de Elmasri e Navathe (2018).
 • Arquitetura em n-camadas (n-tiers) — nessa arquitetura, as regras 
de negócio ficam em uma camada intermediária, separadas dos 
dados e da interface com o usuário. A vantagem dessa arquite-
tura é que os processos podem ser implantados e gerenciados 
em separado do banco de dados e da interface com o usuário e 
podem integrar dados de diversas fontes.
Figura 2 – Representação simplificada da arquitetura em n-camadas do modelo cliente/servidor
Camada
Intermediária
Clientes
Servidor de
Banco de Dados
Fonte: adaptado de Elmasri e Navathe (2018).
44 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.O fluxo de dados entre o cliente e o servidor é unidirecional e forma 
um ciclo. Geralmente, esse fluxo é iniciado pelo cliente ao solicitar al-
gum tipo de dado; então o servidor processa a solicitação e envia dados 
de volta ao cliente por meio de um protocolo (VICCI, 2015). 
Clientes não se conectam diretamente uns com os outros. De acor-
do com Vicci (2015), um fluxo de dados típico pode ser feito conforme o 
modelo exemplificado na figura 3.
Figura 3 – Fluxo de dados típico
O cliente solicita
dados do servidor 
O servidor processa
a solicitação do cliente 
O servidor consulta
o banco de dados 
O bancode dados retorna
os dados ao servidor 
O servidor envia
os dados ao cliente
Servidores especializados com funcionalidades específicas atendem 
às solicitações dos clientes. Quando o cliente envia uma solicitação de 
dados ao servidor pela internet, o servidor aceita o processo solicitado 
e entrega os pacotes de dados solicitados de volta ao cliente. Os clien-
tes não compartilham nenhum de seus recursos locais com o servidor 
(MACHADO, 2014). 
45SGBDs Client/Server
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
2 Cliente (front-end)
Front-end é o nome dado ao software que interage com os clientes, 
mesmo que eles estejam em plataformas diferentes usando tecnolo-
gias diferentes. Em uma arquitetura cliente/servidor, geralmente os mó-
dulos front-ends são projetados para interagir com vários e diferentes 
tipos de dispositivos do mercado (VICCI, 2015).
SGBDs podem ser instalados e executados em diversos sistemas 
operacionais, já que a comunicação entre cliente e servidor não se limita 
a ambientes onde todos os computadores executam o mesmo sistema 
operacional. 
Clientes podem se conectar a um servidor em execução no mesmo 
host ou em um host diferente e não precisam usar o mesmo sistema 
operacional. Host é a máquina física onde o programa do servidor é 
executado. 
A arquitetura cliente/servidor é feita em uma rede de computado-
res na qual muitos clientes solicitam e recebem serviços de um ser-
vidor centralizado (conhecido como host). Os clientes fornecem uma 
interface, que permite a um usuário solicitar serviços do servidor, e 
exibem os resultados que o servidor retorna. Geralmente, essa interfa-
ce é composta por telas de login, menus, telas de dados e relatórios 
(RAMAKRISHNAN; GEHRKE, 2011). 
Os clientes geralmente estão localizados em estações de trabalho, 
tablets, telefones ou em computadores pessoais, enquanto os servido-
res estão localizados em outro lugar da rede, geralmente em máqui-
nas mais potentes. Esse modelo de computação é especialmente efi-
caz quando os clientes e o servidor têm tarefas distintas executadas 
rotineiramente.
No processamento de dados escolares, por exemplo, um cliente 
pode executar um programa para inserir as informações de um aluno 
46 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.enquanto o servidor pode executar outro programa que gerencia o ban-
co de dados no qual as informações estão armazenadas (VICCI, 2015). 
Muitos clientes podem simultaneamente acessar as informações de 
um servidor de banco de dados ao mesmo tempo em que um cliente 
pode estar realizando outras tarefas, como enviar e-mail (MACHADO, 
2014).
Gormalmente, o processo de instalação de um SGBD inclui tanto os 
programas servidor quanto os programas cliente. Nesse caso, os pro-
gramas cliente são usados para fazer a comunicação com o servidor e 
manipular os bancos de dados nele. O SGBD MySQL (2020), por exem-
plo, fornece os seguintes clientes:
 • mysql — programa de linha de comando. Atua como um front-
-end baseado em texto para o servidor. Usado para emitir consul-
tas e visualizar os resultados interativamente em uma janela de 
terminal.
 • mysqladmin — cliente para realizar operações administrativas. 
Usado, entre outras funções, para verificar a configuração do ser-
vidor e seu status a fim de criar e eliminar bancos de dados.
 • mysqlcheck — cliente para verificar, reparar, otimizar ou analisar 
tabelas.
 • mysqldump — cliente para executar backups lógicos, produzindo 
um conjunto de instruções SQL que podem ser executadas para 
reproduzir as definições de objeto de banco de dados e dados de 
tabela originais.
 • mysqlshow — cliente para verificar quais bancos de dados exis-
tem, suas tabelas, colunas ou índices de uma tabela.
Os programas clientes podem ser acessados de diversas formas, 
com ou sem passagem de parâmetros. No exemplo a seguir é mostra-
do como usar o programa cliente mysql para conectar-se ao servidor 
47SGBDs Client/Server
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
no host local, com o nome de usuário meunome, e solicitando que seja 
digitada a senha do usuário.
mysql --host=localhost --password --user=meunome
Onde:
 • mysql: nome do programa cliente.
 • --host (ou -h): usado para indicar o nome do host onde o servidor 
MySQL está sendo executado. Esta opção é seguida pelo sinal de 
igual (=) e pelo nome do host.
 • --password (ou -p): usado para indicar a senha do usuário que 
acessará o servidor MySQL. O valor da senha pode ser omitido 
após o nome da opção. Se o valor da senha for omitido, o progra-
ma cliente solicitará ao usuário uma senha.
 • --username (ou -u): usado para indicar o nome de usuário da con-
ta MySQL. Para determinar a qual conta se aplica, o servidor usa 
o valor do nome de usuário em conjunto com o nome do host a 
partir do qual a conexão é feita. Isso significa que podem haver 
contas diferentes com o mesmo nome de usuário, que podem ser 
usadas para conexões de hosts diferentes.
3 Servidor (back-end)
Back-end é o nome dos servidores de banco de dados que recebem 
as solicitações dos clientes e as respondem. Chamamos o software 
instalado em um host de servidor (VICCI, 2015).
Um servidor deve fornecer uma interface transparente padronizada 
para os clientes, de modo que os clientes não precisem estar cientes 
48 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.das especificações de hardware e software do ambiente que está forne-
cendo o serviço (ELMASRI; NAVATHE, 2018).
Em computação, usa-se a palavra deamon para indicar um progra-
ma que executa um processo em segundo plano (background proces-
ses), em vez de estar sob o controle direto de um usuário interativo. 
Geralmente, um processo daemon é responsável por lidar com as cone-
xões de rede, distribuir solicitações e gravar os dados em disco (VICCI, 
2015).
Por convenção, indica-se que um programa é deamon incluindo a 
letra “d” ao final de seu nome. Por exemplo, o executável mysqld é o pro-
grama servidor de banco de dados MySQL. Nesse contexto, esse ser-
vidor indica uma instância em execução do programa mysqld (MYSQL, 
2020).
Apesar de existirem outros conjuntos de protocolos de comuni-
cação, atualmente o mais usado para conectar hosts na internet é o 
Transmission Control Protocol/Internet Protocol (TCP/IP) (VICCI, 2015). 
4 Funções, gatilhos e procedimentos
É comum que os programas de banco de dados sejam desenvolvi-
dos para serem executados em um computador cliente ou, nos casos 
em que é utilizada uma arquitetura cliente/servidor em n-ca madas, na 
camada intermediária do computador servidor. Em outros casos, o pro-
grama de banco de dados não deve ser executado no servidor de banco 
de dados (ELMASRI; NAVATHE, 2018). 
Existem situações em que é necessário diminuir a transferência de 
dados e os custos de comunicação entre o cliente e o servidor. Nesses 
casos, pode ser útil criar módulos no programade banco de dados e 
armazená-los no servidor (PUGA; FRANÇA; GOYA, 2013). 
49SGBDs Client/Server
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Tradicionalmente, os programas armazenados e executados pelo 
SGBD no servidor de banco de dados são denominados procedimentos 
ar mazenados (stored procedures). Eles podem ser funções (functions), 
gatilhos (triggers) ou procedimentos (procedures) (PUGA; FRANÇA; 
GOYA, 2013). 
Procedimentos armazenados são um conjunto de instruções SQL e 
podem ser úteis para desenvolver módulos acessados por vários progra-
mas, para criar restrições mais complexas e melhorar o poder de modela-
gem fornecido pelos mecanismos de visão (ELMASRI; NAVATHE, 2018). 
Geralmente, sua execução é mais rápida por estar armazenada e 
pré-compilada diretamente no SGBD (VICCI, 2015).
Conforme pontuam Elmasri e Navathe (2018), de maneira geral, um 
procedimento armazenado pode ser declarado da seguinte forma:
CREATE PROCEDURE <nome do procedimento> (<parâmetros>)
<declarações locais>
<corpo do procedimento>
Onde:
 • <nome do procedimento>: define o nome do procedimento.
 • <parâmetros>: especifica os parâmetros do procedimento.
 • <declarações locais>: define as variáveis locais. 
 • <corpo do procedimento>: especifica o código do procedimento.
Tanto as declarações locais quanto os parâmetros são opcionais.
O exemplo a seguir mostra a criação de um procedimento armaze-
nado em um SGBD MySQL (MYSQL, 2020).
50 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.
CREATE PROCEDURE conta_empregados ()
SELECT ‘Total empregados = ‘, COUNT(*)
FROM empregados;
CALL conta_empregados;
Esse exemplo cria um procedimento armazenado identificado pelo 
nome conta_empregados. Procedimentos podem ser chamados usan-
do a instrução CALL.
Já a criação de uma função difere da de um procedi mento porque, 
para a função, é necessário algum tipo de retorno (ELMASRI; NAVATHE, 
2018): 
CREATE FUNCTION <nome da função> (<parâmetros>)
RETURNS <tipo de retorno>
<declarações locais>
<corpo da função>
Onde:
 • <nome da função>: define o nome da função.
 • <tipo de retorno>: especifica o tipo de retorno da função.
 • <parâmetros>: especifica os parâmetros da função.
 • <declarações locais>: define as variáveis locais. 
 • <corpo da função>: especifica o código da função.
O exemplo a seguir mostra a criação de uma função simples em um 
SGBD MySQL (MYSQL, 2020).
51SGBDs Client/Server
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
CREATE FUNCTION valeu (nome CHAR(50))
RETURNS CHAR(60)
RETURN CONCAT ( ‘Valeu, ‘, nome, ’!’ );
 
SELECT VALEU(‘Patricia’);
SELECT VALEU(nome) FROM empregados;
O exemplo cria a função valeu. O tipo de dado a ser retornado é 
CHAR, com tamanho de 60 bytes, e foi especificado em RETURNS. O 
corpo de uma função precisa da chamada RETURN () para retornar um 
valor único.
Um gatilho (trigger) é um objeto do banco de dados as sociado a uma 
tabela e ativado quando determinado evento ocorre sobre essa tabela. 
Conforme Puga, França e Goya (2013), de maneira geral, um gatilho 
pode ser criado da seguinte forma:
CREATE TRIGGER <nome do gatilho>
<tempo de ação do gatilho> <evento do gatilho>
ON <nome da tabela> FOR EACH ROW
<corpo do gatilho>
Onde:
 • <nome do gatilho>: define o nome do gatilho.
 • <tempo de ação do gatilho>: indica se o gatilho é acionado antes 
ou depois da execução de cada linha. Aceita os valores AFTER ou 
BEFORE.
 • <evento do gatilho>: indica o tipo de operação que aciona o gati-
lho. Aceita os valores INSERT, UPDATE ou DELETE.
 • <nome da tabela>: indica o nome da tabela à qual o gatilho estará 
associado. A tabela deve ser do tipo permanente. Não é possível 
52 Arquitetura de Banco de Dados Ma
te
ria
l p
ar
a 
us
o 
ex
cl
us
ivo
 d
e 
al
un
o 
m
at
ric
ul
ad
o 
em
 c
ur
so
 d
e 
Ed
uc
aç
ão
 a
 D
ist
ân
ci
a 
da
 R
ed
e 
Se
na
c 
EA
D,
 d
a 
di
sc
ip
lin
a 
co
rre
sp
on
de
nt
e.
 P
ro
ib
id
a 
a 
re
pr
od
uç
ão
 e
 o
 c
om
pa
rti
lh
am
en
to
 d
ig
ita
l, 
so
b 
as
 p
en
as
 d
a 
Le
i. 
©
 E
di
to
ra
 S
en
ac
 S
ão
 P
au
lo
.associar um gatilho a uma tabela temporária ou a um mecanismo 
de visão.
 • <corpo do gatilho>: especifica o código do gatilho.
O exemplo a seguir mostra a criação de um gatilho em um SGBD 
MySQL (MYSQL, 2020).
CREATE TRIGGER soma_sal BEFORE INSERT ON empregados
FOR EACH ROW SET @soma = @soma + NEW.salario;
 
SET @soma=0;
INSERT INTO empregados VALUES (1, 10.2), (2, 20.3), (3, 
30.4);
SELECT @soma;
O exemplo cria o gatilho soma_sal. A cada inclusão de dado na tabe-
la empregados, ele soma o valor do salario inserido. 
5 Servidores e aplicações Web
Aplicações Web podem se beneficiar da arquitetura de n-camadas 
ao incluir uma camada intermediária entre o cliente e o servidor de ban-
co de dados. Essa camada intermediária pode ser chamada de servidor 
de aplicação, servidor de objetos, servidor de páginas ou servidor Web, 
dependendo do tipo de aplicação (ELMASRI; NAVATHE, 2018).
Esse servidor pode melhorar a segurança do SGBD ao verificar as 
credenciais de um cliente antes de direcionar uma solicitação ao ser-
vidor, também pode armazenar as regras de negócio e restrições da 
aplicação. Em ambientes distribuídos, pode exercer a função de balan-
cear a carga de conexões aos diversos servidores (ELMASRI; NAVATHE, 
2018). 
É comum que aplicações Web não tenham a aplicação cliente ins-
talada em seu dispositivo Nessas situações, os módulos do aplicativo 
53SGBDs Client/Server
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
são instalados nessa camada intermediária, que se conecta ao banco 
de dados e interage com usuários.
Considerações finais
Em um mundo cada vez mais competitivo, é comum que as organi-
zações busquem manter a qualidade de seus serviços e procurem sus-
tentar sua posição no mercado com a ajuda da tecnologia. 
O uso do modelo cliente/servidor em uma organização aumenta po-
sitivamente a produtividade por meio do uso de interfaces de usuário 
econômicas, armazenamento de dados aprimorado, ampla conectivida-
de, segurança e serviços de aplicativos confiáveis. 
Referências
ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. 7. ed. São Paulo: 
Pearson, 2018.
MACHADO, F. N. R. Banco de dados: projeto e implementação. 3. ed. São Paulo: 
Saraiva, 2014.
MYSQL. MySQL 8.0 Reference Manual. Disponível em: https://dev.mysql.com/
doc/refman/8.0/en/. Acesso em: 05 nov. 2020.
PUGA, S.; FRANÇA, E.; GOYA, M. Banco de dados: implementação em SQL 
PL/SQL e Oracle 11g. São Paulo: Pearson, 2013.
RAMAKRISHNAN, R.; GEHRKE, J. Sistemas de gerenciamento de banco de da-
dos. 3. ed. Porto Alegre: AMGH, 2011.
VICCI, C. A. (org). Banco de dados. São Paulo: Pearson, 2015.
55
M
aterial para uso exclusivo de aluno m
atriculado em
 curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o com
partilham
ento digital, sob as penas da Lei. ©
 Editora Senac São Paulo.
Capítulo 4
Sistemas de 
gerenciamento de 
banco de dados 
distribuídos 
homogêneos
É comum que empresas

Outros materiais