Buscar

ADMINISTRAÇÃO DO SGBD POSTGRESQL 1

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 67 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 67 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 67 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

Administração 
do SGBD 
PostgreSQL
Camila Freitas Sarmento
Diretor Executivo 
DAVID LIRA STEPHEN BARROS
Gerente Editorial 
CRISTIANE SILVEIRA CESAR DE OLIVEIRA
Projeto Gráfico 
TIAGO DA ROCHA
Autora 
CAMILA FREITAS SARMENTO
A AUTORA
Camila Freitas Sarmento
Olá. Meu nome é Camila Freitas Sarmento. Sou formada em 
Telemática com mestrado em Ciência da Computação e, atualmente, 
doutoranda na área de Engenharia de Software, com uma experiência 
técnico-profissional na área de Soluções Digitais (Redes e Programação 
Back-End) de mais de sete anos. Atualmente sou Analista de Informática 
- Programadora Web Back-End no Instituto SENAI de Tecnologia em 
Automação Industrial (IST SENAI). Fui professora substituta na Universidade 
Estadual da Paraíba (UEPB) e atuei como professora substituta e, 
posteriormente, como tutora no Instituto Federal de Educação, Ciência 
e Tecnologia da Paraíba (IFPB). Sou apaixonada pelo que faço e adoro 
transmitir minha experiência àqueles que estão iniciando em suas 
profissões. Por isso, fui convidada pela Editora Telesapiens a integrar seu 
elenco de autores independentes. Estou muito feliz em poder ajudar você 
nesta fase de muito estudo e trabalho. Conte comigo!
ICONOGRÁFICOS
Olá. Esses ícones irão aparecer em sua trilha de aprendizagem toda vez 
que:
INTRODUÇÃO:
para o início do 
desenvolvimento de 
uma nova compe-
tência;
DEFINIÇÃO:
houver necessidade 
de se apresentar um 
novo conceito;
NOTA:
quando forem 
necessários obser-
vações ou comple-
mentações para o 
seu conhecimento;
IMPORTANTE:
as observações 
escritas tiveram que 
ser priorizadas para 
você;
EXPLICANDO 
MELHOR: 
algo precisa ser 
melhor explicado ou 
detalhado;
VOCÊ SABIA?
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias;
SAIBA MAIS: 
textos, referências 
bibliográficas e links 
para aprofundamen-
to do seu conheci-
mento;
REFLITA:
se houver a neces-
sidade de chamar a 
atenção sobre algo 
a ser refletido ou dis-
cutido sobre;
ACESSE: 
se for preciso aces-
sar um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast;
RESUMINDO:
quando for preciso 
se fazer um resumo 
acumulativo das últi-
mas abordagens;
ATIVIDADES: 
quando alguma 
atividade de au-
toaprendizagem for 
aplicada;
TESTANDO:
quando o desen-
volvimento de uma 
competência for 
concluído e questões 
forem explicadas;
SUMÁRIO
Conceitos e Competências gerais de um Banco de Dados ......12
Conceitos e competências gerais de um banco de dados ............................. 12
Profissionais e atividades envolvidas ................................................................................ 14
Sistema de banco de dados e o SGBD ........................................................................... 16
Abstração de dados em um SGBD ................................................................ 19
História e evolução do PostgreSQL .....................................................25
História do banco de dados ...................................................................................................25
Modelo hierárquico .....................................................................................................28
Modelo em rede .......................................................................................................... 30
Modelo relacional ........................................................................................................ 31
Modelo orientado a objetos .................................................................................34
Evolução do PostgreSQL .......................................................................................................... 36
PostgreSQL e a linguagem SQL ANSI ................................................. 39
DML - Data Manipulation Language ............................................................................ 43
Consultas (INSERT, UPDATE, DELETE e SELECT) ...............................44
INSERT ..............................................................................................................44
UPDATE ............................................................................................................45
DELETE ............................................................................................................ 46
SELECT .............................................................................................................47
Subconsultas e Consultas JOINS .....................................................................47
DDL - Data Definition Language ......................................................................................50
DCL - Data Control Language ...........................................................................................50
DTL - Data Transaction Language ..................................................................................51
Instalação do PostgreSQL ........................................................................53
Instalação no Windows ...............................................................................................................57
Instalação no Linux ....................................................................................................................... 64
Instalação no Mac OS .................................................................................................................66
 9
CONHECENDO O BANCO DE DADOS POSTGRESQL
UNIDADE
01
 10
INTRODUÇÃO
Você sabia que a área de administração de banco de dados e 
linguagens é essencial entre as profissões de tecnologia da informação? 
Principalmente em tempos atuais em que muitas empresas estão 
atualizando seus serviços com novas tecnologias ou migrando para o 
atendimento remoto, o que era somente presencial. O banco de dados 
de uma empresa armazena e gerencia os bens mais valiosos e precisam 
ser acessados constantemente com respostas rápidas e assertivas. Sendo 
assim, com um mercado cada dia mais competitivo e acelerado, torna-se 
imprescindível a contratação de profissionais para garantir a migração de 
sistemas, o gerenciamento dos dados, o monitoramento de desempenho 
etc. Essa será a sua principal responsabilidade, e para cumprir essas 
responsabilidades são exigidos conhecimentos adequados, pois são 
informações críticas à empresa! E então, vamos nessa compreender 
como tudo funciona? Ao longo desta unidade letiva você vai mergulhar 
nesse universo!
 11
OBJETIVOS
Olá. Seja muito bem-vindo à Unidade 1. Nosso objetivo é auxiliar 
você no desenvolvimento das seguintes competências profissionais até o 
término desta etapa de estudos:
1. Definir o conceito de banco de dados, conhecendo suas 
competências gerais e finalidades. 
2. Compreender a origem e história do PostgreSQL no contexto dos 
SGBDs. 
3. Entender como funciona a arquitetura do PostgreSQL no contexto 
das aplicações que o acessam e atualizam por meio da linguagem 
SQL. 
4. Instalar o PostgreSQL em um servidor de dados.
E aí, pronto para embarcar rumo ao sucesso? Então venha comigo 
conhecer esse assunto incrível que vai deixá-lo preparado para dar os 
primeiros passos em direção à satisfação profissional. Ao trabalho! 
 12
Conceitos e Competências gerais de um 
Banco de Dados 
INTRODUÇÃO:
Ao término deste capítulo você será capaz de entender a 
definição de um SGBD e suas principais características, o 
que será fundamental para o exercício de sua profissão. 
As pessoas que tentaram administrar um banco de dados 
sem a devida instrução tiveram problemas ao manusear o 
banco e perderam informações importantes da empresa. 
E então, motivado para desenvolver essa competência? 
Vamos lá. Avante!.
Conceitos e competências gerais de um 
banco de dados
VOCÊ SABIA?
Você sabia que o banco de dados pode ser considerado a 
parte mais importante e valiosa de uma empresa? Pois é! Ele 
é responsável por receber dados e fornecerinformações 
(quando bem organizado) essenciais para a produtividade 
da empresa e experiência do usuário, além de impactar a 
tomada de decisão, o alinhamento de informações entre a 
equipe e os resultados de uma empresa.
Antes de conhecermos a definição de um banco de dados, devemos 
ter ciência dos seguintes termos: dado, informação e conhecimento. Você 
sabia que o dado é conhecido como a matéria-prima da informação? 
Isso mesmo! Sabe por quê? Porque são informações não tratadas que, 
isoladamente, não têm nenhum significado. E o que é informação? 
Já sabe, não é? São dados agrupados e tratados para que possamos 
extrair significado e compreensão e, assim, compreender a realidade de 
determinada informação, gerando o conhecimento. 
Dito isso, podemos entender que eles se relacionam entre si de 
forma gradativa, como se fosse uma pirâmide para o conhecimento. 
 13
Sendo assim, podemos dizer que o conjunto de dado, informação e 
conhecimento pode estabelecer a tomada de decisão de uma empresa. 
Vejamos melhor a partir da Figura 1. 
Figura 1 – Relacionamento entre dado, informação e conhecimento
Fonte: Elaborado pela autora.
EXPLICANDO MELHOR:
Podemos utilizar o Censo Demográfico como exemplo. O 
Censo coleta os dados por meio de uma pesquisa com 
os habitantes de um determinado território. Então, após 
o recolhimento e a agrupação dos dados, tem-se as 
informações acerca daquela população, tais como: número 
de mulheres, média salarial etc. Sendo assim, com as 
informações reunidas e analisadas, podemos compreender 
determinado evento ou tomar alguma decisão com base 
nessas informações, isto é, identificar onde a saúde deve 
ser priorizada, qual a melhor cidade para investir em um 
polo industrial, entre outras possibilidades.
 14
DEFINIÇÃO:
Para o Banco de Dados (BD), do inglês Database, não existe 
uma definição precisamente formal. Contudo, pode-se 
dizer que um banco de dados é um conjunto, logicamente 
coerente, de dados mutuamente relacionados entre si e 
que foram armazenados com um propósito específico.
REFLITA:
Você já teve experiência com banco de dados? Se 
refletirmos um pouco, podemos perceber que eles estão 
sempre presentes em nossas rotinas e que o acessamos 
constantemente, por exemplo, quando realizamos uma 
compra online, alguma movimentação financeira, usamos 
serviços de e-mail, acessamos as redes sociais e vários 
outros serviços em nuvem.
Profissionais e atividades envolvidas
Agora que você entende o que é um banco de dados, pode se 
perguntar: “Quem vai utilizar?” ou “Quem trabalha com isso?”. Um banco 
de dados pode ser utilizado por diversos usuários e profissionais que 
podemos classificar da seguinte forma:
 • Administrador de Dados (DB): responsável pela organização 
lógica dos dados a fim de fornecer informações para a 
tomada de decisão da empresa. Mantém atualizado o 
modelo de dados da empresa garantindo a consistência 
com o modelo de negócios e assegurando a qualidade 
da informação e a representação mais fidedigna possível 
com a realidade.
 • Administrador de Bancos de Dados (DBA): responsável 
por autorizar acessos e por coordenar a manutenção e 
o monitoramento dos dados, a fim de garantir o melhor 
desempenho, acesso e segurança em plataformas de 
hardware e de software.
 15
 • Projetista do Banco de Dados (DB designer): é o 
profissional que escolhe a estrutura mais adequada para 
a representação e o armazenamento dos dados. É ele que 
realiza a definição das tabelas, dos índices etc.
 • Usuário final: é o usuário que interage com o banco de 
dados por meio de aplicações e de linguagens em 
diferentes níveis, seja realizando operações de consultas 
avançadas ou por meio de aplicações preestabelecidas 
para o acesso.
 • Analista de Sistemas e Programadores: estabelece os 
requisitos que carecem para os usuários e implementa as 
especificações desenvolvendo, testando, documentando, 
depurando e mantendo os programas.
VOCÊ SABIA?
Você sabia que há uma enorme confusão quanto à atuação 
de um profissional DB e DBA? Sobretudo em pequenas 
empresas onde a atuação não é tão requisitada. Contudo, 
em grandes empresas, essa diferença e atuação são 
bastante claras e necessárias. Agora você já sabe e está 
familiarizado com a diferença. Enquanto um cuida da parte 
técnica e física dos dados (DBA), o outro (DA) se encarrega 
da administração dos dados, focando nos aspectos de 
negócio da empresa. A atuação das duas funções em uma 
empresa é chamada processo de normalização.
SAIBA MAIS:
Quer saber mais sobre o processo de normalização? 
Recomendamos o acesso à seguinte fonte de consulta 
e aprofundamento: Artigo: “Normalização de dados: um 
desafio para o projetista de banco de dados” (BECK; LUZ, 
2010), acessível pelo link https://bit.ly/34eyLu9. (Acesso em 
20 jul. 2020).
https://bit.ly/34eyLu9
 16
Sistema de banco de dados e o SGBD
Agora que você sabe o que é um banco de dados e os atores 
envolvidos, pode se perguntar: “Existe algum meio em que eles realizam 
o gerenciamento de tudo isso?”. É exatamente isso que vamos explicar: o 
Sistema de Banco de dados e o Sistema de Gerenciamento de Banco de 
Dados que, inclusive, são distintos.
Independentemente da aplicação, seja para sistemas de gestão 
de empresas (ERP, do inglês Enterprise Resource Planning), para 
relacionamento com o cliente (CRM, do inglês Customer Relationship 
Management) ou para controle financeiro, a base de dados de uma 
empresa tem alto valor agregado.
DEFINIÇÃO:
Quando se trata de dados, é fundamental para os usuários 
(finais ou profissionais) realizar a inserção e o acesso 
desses dados que estão armazenados. Para isso, tem-se o 
Sistema de Gerenciamento de Banco de dados – SGBD 
(do inglês, Database Management System – DBMS) que 
podemos definir como um sistema que reúne o processo 
de acepção, construção, compartilhamento e manipulação 
do banco de dados.
Exemplo: Para compreendermos melhor um SGBD, vejamos um 
exemplo na Figura 2. Podemos considerar uma empresa de calçados que 
possui vários sistemas, entretanto, o acesso ao banco de dados ocorre a 
partir do Sistema de Gerenciamento.
 17
Figura 2 – Modelo de uma implementação SGBD
Fonte: Elaborado pela autora.
Ainda assim, para promover a segurança da informação e a 
organização dos dados armazenados no banco de dados, é necessário 
realizar a abstração dos dados para os usuários a fim de simplificar a 
interação. 
DEFINIÇÃO:
Para isso, temos o Sistema de Banco de dados – SBD, que 
é uma composição dos Programas de Aplicação (PA) do 
usuário (por exemplo: sistema de emissão de relatório de 
uma empresa, cálculo da média salarial dos funcionários 
etc.) e o SGBD que, por sua vez, realiza consultas no banco 
de dados.
 18
EXPLICANDO MELHOR:
Então, podemos entender que o SGBD (Sistema de 
Gerenciamento de Banco de Dados), o BD (Banco de 
Dados) e os PA (Programas de Aplicação) compõem o 
sistema de banco de dados. Vejamos na Figura 3 como 
ocorre a organização.
Figura 3 – Visualização simplificada do sistema de banco de dados
Fonte: Elaborado pela autora.
Ainda assim, o sistema de banco de dados pode apresentar-se 
como: 
 • Centralizado – em que um computador central fica 
responsável por todo o processamento da aplicação, como: 
funções do sistema, programas aplicativos, interfaces dos 
programas e funcionalidades oferecidas pelo SGBD.
 19
 • Distribuído – em que um SGBD gerencia múltiplos bancos 
de dados que estão logicamente inter-relacionados, mas 
em espaços físicos diferentes, conectados por meio de 
uma rede de comunicação, podendo ser capazes de 
executar, de forma autônoma, diversos programas.
NOTA:
Com o avanço da tecnologia e a expansão de empresas, o 
uso de um sistema de banco de dados distribuído tornou-
se amplamente utilizado e recomendado por profissionais 
da área, por ser mais eficaz e econômico, oferecer o 
gerenciamento de banco de dados distribuído e apresentar 
aos usuários de forma transparente.
Agora vocêjá sabe a diferença entre um SGBD e um SBD! A seguir, 
veremos em detalhes a arquitetura de um SGBD. 
Abstração de dados em um SGBD 
Vimos alguns conceitos e a diferença entre um SBD e um SGBD. 
Porém, como o SBGD apresenta os dados aos usuários? Falamos também 
sobre o SGBD apresentar os dados aos usuários de forma transparente. 
E como é caracterizada essa apresentação? É isso que iremos aprender 
agora.
O ANSI/SPARC – Instituto Americano de Normas Nacionais (do 
inglês, American National Standards Institute)/Comitê de Planejamento 
e Requisitos de Padrões (do inglês, Standards Planning And Requirements 
Committee) – definiu uma arquitetura baseada em três níveis de abstração 
de dados para um sistema de gerenciamento, considerando os vários 
níveis de conhecimento/interação do usuário. Sendo assim, temos os 
seguintes níveis de abstração dos dados: externo, conceitual e interno.
 20
DEFINIÇÃO:
O primeiro, chamado nível externo (ou nível de visões) é 
o mais alto da abstração que utiliza um esquema externo. 
Ele descreve o banco de dados por meio de objetos 
e de relacionamentos, conforme as necessidades do 
usuário, além de fazer uma ponte entre a modelagem e a 
implementação do modelo em um tipo de SGBD.
DEFINIÇÃO:
Considerado o nível conceitual (ou nível lógico), o segundo 
utiliza um esquema conceitual, pois descreve todos os 
dados que serão armazenados no BD, utilizando conceitos 
de entidades, atributos e relacionamentos, sem abordar a 
implementação da estrutura física de armazenamento.
DEFINIÇÃO:
O terceiro, nível interno (ou nível físico), é especificado 
conforme o SGBD e contém detalhes de implementação 
da estrutura de dados no modo físico de armazenamento e 
caminho dos dados, apresentando-se, dessa forma, como 
o nível mais baixo de abstração dos dados. 
Em um sistema de banco de dados poderá haver múltiplos níveis 
externos, pois vale salientar que o banco de dados em sua completude 
não interessa aos usuários, apenas uma visão que consista na parte dos 
dados de interesse. Vejamos o esquema na Figura 4.
 21
Figura 4 – Esquema de níveis de abstração
Fonte: Elaborado pela autora.
IMPORTANTE:
Ainda, a arquitetura de três níveis (ANSI/SPARC), além 
de considerar os vários coeficientes de conhecimento/
interação do usuário com o banco de dados, oferece 
também a Independência de Dados, isto é, caso ocorra 
alguma modificação em um esquema, os outros níveis não 
serão afetados.
 22
DEFINIÇÃO:
São considerados dois níveis em relação à independência 
dos dados: independência física, que permite a modificação 
dos dados sem afetar os altos níveis, restringindo-se 
apenas à parte física; e a independência lógica, que é a 
possibilidade de modificar o esquema conceitual sem 
afetar os programas aplicativos.
NOTA:
Tais definições de nível nunca se tornaram um padrão 
formal, mas a ideia de independência de dados é 
amplamente adotada.
E então, está gostando do assunto? Agora vamos entender as 
principais funções de um SGBD. Vamos nessa!
1.1.1 Principais funções de um SGBD 
Falamos no início do capítulo que um banco de dados pode ser 
considerado a parte mais valiosa da empresa. Posteriormente, explicamos 
o que são Sistemas de Banco de Dados e Sistemas de Gerenciamento de 
Banco de Dados. Sendo assim, a definição você já sabe! E as funções? 
Você parou para se perguntar quais são as funções propriamente ditas de 
um SGBD? Vamos falar exatamente sobre isso agora.
IMPORTANTE:
Um SGBD pode utilizar diversas abordagens para atender 
o propósito da modelagem e a manutenção de dados. 
Contudo, fornece o mesmo conjunto de requisitos 
funcionais e é ele quem realiza a comunicação entre o 
banco de dados e os usuários do sistema, levando em 
consideração, também, os administradores de sistemas.
Sendo assim, um SGBD tem várias funções. Então, separamos as 
principais:
 23
 • Segurança: garante a segurança dos dados para que as 
informações sejam lidas/editadas apenas por usuários 
autorizados. Ainda, realiza o controle de operação de 
acesso (recuperação ou modificação).
 • Controle de integridade: consiste na especificação do 
padrão de formato para os dados ou valores assumidos 
como um padrão.
 • Controle de concorrência: assegura que as transações 
ocorram de uma forma mais segura possível e sigam as 
regras ACID (Atomicidade, Consistência, Isolamento e 
Durabilidade).
 • Recuperação e tolerância a falhas: fornece recursos 
para cópia de segurança e restauração dos dados caso 
ocorra alguma falha.
SAIBA MAIS:
Quer se aprofundar neste tema? Recomendamos o acesso 
à seguinte fonte de consulta: Artigo “Sistema gerenciador 
de banco de dados: Sgbd exist xml” (TANAKA et al., 2012), 
acessível pelo link http://periodicos.unifacef.com.br/index.
php/resiget/article/view/288 (Acesso em: 26 jul. 2020).
 24
RESUMINDO:
E então, gostou do que lhe mostramos? Aprendeu mesmo 
tudinho? Agora, só para termos certeza de que você 
realmente entendeu o tema de estudo deste capítulo, 
vamos resumir: vimos nesta Unidade o conceito de 
dado, informação e conhecimento para, posteriormente, 
definirmos banco de dados. Apresentamos o conceito 
de Sistema de Banco de Dados e os elementos que o 
compõem e mostramos a diferença entre um Sistema de 
Banco de Dados – SBD (que pode apresentar-se como 
centralizado e distribuído) e um Sistema de Gerenciamento 
de Banco de dados - SGBD. Agora você não vai se 
confundir, não é mesmo? Conversamos também sobre 
os profissionais e as atividades envolvidas com Banco 
de Dados e apresentamos outro conceito que faz muitas 
pessoas se confundirem: um profissional DB e um DBA. 
Também falamos sobre abstração de dados e níveis de 
abstração que são: físico, conceitual e externo; e ainda, 
abordamos a independência de dados no contexto da 
arquitetura ANSI/SPARC.
 25
História e evolução do PostgreSQL
INTRODUÇÃO:
Olá! Agora que você já leu os conceitos e as definições 
do SGBD e já sabe sua função, vamos falar um pouco 
mais sobre a evolução? Conhecer a história da evolução 
é fundamental para compreender a organização de 
um banco de dados comum. Ao término deste capítulo 
você será capaz de entender a história e a evolução do 
PostgreSQL, além da evolução da representatividade dos 
dados por meio dos Modelos de Dados. Ficou curioso(a)? 
Vamos à leitura!
História do banco de dados 
Revisando: No tópico anterior vimos que o banco de dados pode 
ser considerado o bem mais valioso de uma empresa. Aprendemos 
também que existe uma forma de gerenciamento dos dados para garantir 
a entrega ao usuário de forma adequada, seja profissional da área ou 
usuário final. 
Nesse sentido, você parou para se perguntar como tudo isso 
começou? Os Sistemas de Gerenciamento de Banco de Dados são uma 
evolução dos sistemas de arquivos com armazenamento em disco.
Antes disso, o conceito do surgimento de banco de dados inicia a 
partir do armazenamento dos dados em fichas de papel e a organização 
em pastas, o que dava muito trabalho para localizar alguma informação, 
principalmente quando as pastas não estavam bem organizadas e 
catalogadas.
 26
REFLITA:
Você já presenciou alguma empresa com um caso assim? 
E como você organiza seus arquivos? É muito diferente da 
realidade de antigamente? Você já deve ter visto empresas 
ainda com essa metodologia, mas, inevitavelmente, 
grandes empresas precisam atender a seus clientes com 
a maior eficiência possível e, para isso, um banco de dados 
que ofereça melhores condições é essencial.
Com a evolução dos arquivos manuais ocorreu a migração para 
os arquivos digitais que ficavam armazenados em disco com a ajuda 
do sistema de arquivos do Sistema Operacional. Contudo, surgiu a 
necessidade de maior eficiência (tempo e espaço). Sendo assim, no início 
da década de 1960, Charles Willian Bachman, projetou o primeiro Sistema 
de Gerenciamento de Banco de Dados de propósito geral, chamado 
Integrated Data Store (IDS). Com isso, foi o primeiro a receber o Prêmio 
Turing,em 1973.
NOTA:
O prêmio Turing é outorgado pela Association for 
Computing Machinery (ACM) e é destinado, anualmente, 
a uma pessoa que realizou grandes contribuições para 
a computação, cujas contribuições sejam duradouras e 
fundamentais para a área.
Posteriormente, ainda na década de 1960, uma empresa dos 
Estados Unidos, IBM (International Business Machines Corporation), 
desenvolveu o IMS (Information Management System), o SGBD, que 
utilizava (mas que ainda é utilizado em vários locais) o modelo hierárquico 
para a estruturação dos dados. 
 27
VOCÊ SABIA?
Você sabia que o sistema de passagens aéreas era 
completamente manual? Exatamente! E um simples 
processo de reserva levava entre 90 minutos até 3 horas 
para ser concluído. Então, o sistema de passagens aéreas, 
SABRE, foi desenvolvido em parceria com a IBM e hoje é a 
principal fonte de informações do setor aéreo.
IMPORTANTE:
O ano de 1970 é considerado um marco histórico para a 
área de bancos de dados que alterou todo o panorama 
comercial, pois houve uma grande evolução no uso dos 
serviços de banco de dados, e a empresa IBM, por meio de 
Edgar Frank Codd (que também ganhou o prêmio Turing, 
em 1981), projetou uma nova representação de dados, o 
Modelo de Dados Relacional.
A partir de então, os usuários poderiam acessar os bancos de 
dados sem ser necessário conhecimento técnico, permitindo que o SGBD 
com essa estrutura de representação fosse amplamente utilizado e que 
diversas empresas ampliassem seus sistemas de armazenamento, além 
de possibilitar consultas mais complexas.
Em 1976, Peter Chen projeta o modelo Entidade-Relacionamento 
(ER), proporcionando aos projetistas a possibilidade de modelar o banco 
de dados sem se preocuparem com a estrutura lógica das tabelas.
IMPORTANTE:
Ao final da década de 1980, foi desenvolvida a Linguagem 
de Consulta Estruturada,  Structured Query Language 
(SQL), que se tornou um padrão mundial, mesmo após 
o surgimento de várias outras linguagens, mas que não 
deram certo, tais como SQL92 e SQL2.
 28
DEFINIÇÃO:
Mencionamos alguns modelos de dados. Você sabe o que 
é um modelo de dados? É uma forma de representação 
resultante de uma abstração, e a descrição da estrutura 
dos dados contidos no banco de dados representados por 
meio de um modelo gráfico.
Vamos agora falar sobre eles. Veremos os principais modelos 
de dados conforme sua evolução, que são: modelo de rede; modelo 
hierárquico, modelo relacional e modelo orientado a objetos.
Modelo hierárquico
Esse foi o primeiro a modelo a ser estruturado. Ele estrutura-se 
seguindo uma hierarquia de segmentos, isto é, utiliza árvores para a 
representatividade lógica dos dados, em que os níveis inferiores (também 
chamados de registros-filhos) dependem dos níveis acima (ou registros-
pais), estando conectados por meio de ligações.
Tais ligações são associações entre dois registros (considera-se 
que um registro é uma coleção de campos ou tributos). Dessa forma, no 
modelo hierárquico, a representatividade dos dados tem cardinalidade 
1:N, cuja organização ocorre partindo da raiz (o registro mais alto) para os 
registros-filhos da esquerda para a direita.
NOTA:
Cardinalidade 1:N significa que, dentro da representatividade 
dos dados, pode haver a ligação de 1 registro para vários 
(1:N).
 29
EXPLICANDO MELHOR:
Considere como exemplo um departamento de hospital: 
ele pode ter vários médicos, e um médico pode ter 
vários pacientes. Nesse sentido, ocorrerão algumas 
inconveniências com os dados: se um paciente pertencer 
a mais de um departamento, os dados (nesse modelo) 
deverão ser replicados, ocasionando redundância, 
inconsistência e provável perda de informações. Vejamos o 
esquema na Figura 5..
Figura 5 – Modelo hierárquico
Fonte: Elaborado pela autora.
 30
Diante desse contexto, podemos entender que um registro 
(paciente) pode estar associado a outros registros (departamentos) desde 
que seus dados sejam replicados. Dessa forma, a replicação apresenta as 
seguintes desvantagens para uma base de dados: 
 • Cada registro-pai pode ter vários registros-filhos.
 • Não se admite um registro-filho com mais de um registro-
pai.
 • Dois segmentos podem ter apenas uma relação.
 • O acesso aos registros-filhos ocorre sempre a partir da 
raiz (o registro mais alto) para os registros-filhos a cada 
consulta ao banco e sempre na mesma ordem.
Modelo em rede
O modelo em rede organiza-se semelhantemente ao modelo 
hierárquico e é representado por ligações (SET) que apontam o 
relacionamento entre a coleção de registros.
IMPORTANTE:
O modelo em rede é conduzido a fim de minimizar os 
problemas do modelo antecessor, o hierárquico, então, 
agora os registros-filhos podem ligar-se a mais de um 
registro-pai.
Sendo assim, tais ligações permitem que os dados sejam acessados 
sem ter que necessariamente passar pela raiz, isto é, o acesso aos 
segmentos pode acontecer nos dois sentidos (de baixo para cima e vice-
versa), já no modelo hierárquico, o acesso ocorre somente do superior 
para o inferior.
 31
EXPLICANDO MELHOR:
Considere como exemplo uma fábrica (ver Figura 6) que 
tem os setores de Couro e Calçados, e esses dois podem 
trabalhar em conjunto e produzir botas em couro. Sendo 
assim, no modelo em rede, perde-se a restrição do modelo 
em hierarquia.
Figura 6 – Modelo em rede
Fonte: Elaborado pela autora.
Modelo relacional
O modelo relacional é amplamente utilizado por oferecer alto 
grau de independência dos dados e por proporcionar uma definição 
simples e com alto desempenho para armazenamento e recuperação de 
dados. Além disso, ele separa a representação conceitual dos dados do 
armazenamento físico.
 32
EXPLICANDO MELHOR:
Vamos considerar como exemplo a mesma fábrica (ver 
Figura 7) que pode ter vários funcionários, causando a 
relação de muitos funcionários que pertencem a uma 
fábrica. No caso de considerarmos setor, em vez de fábrica, 
a relação seria de muitos (setores) para muitos (funcionários).
Figura 7 – Modelo em rede
Fonte: Elaborado pela autora.
Nesse modelo é estruturada uma visualização dos dados em 
tabelas inter-relacionadas, cuja relação é composta por atributos (ou 
campos) que identificam o tipo de dado que o banco armazena e as linhas 
(uma instância do esquema), chamadas de registro (tupla).
 33
Na Figura 8 podemos observar uma representação gráfica de uma 
tabela que contém 5 campos, sendo: número, nome, data de nascimento, 
gênero e número do departamento.
Figura 8 – Representação gráfica de uma tabela
Fonte: Elaborado pela autora.
IMPORTANTE:
Vale considerar que a tabela pode conter milhares de 
registros (linhas), e é na fase inicial, Projeto do Banco de 
Dados, em que os campos da tabela são preestabelecidos, 
e cada campo tem sua classificação de acordo com o tipo 
de dado que será armazenado, tais como: texto, decimal, 
data, inteiro etc. 
No caso da Chave Primária, ela pode assumir um valor de 
autoincremento, ou seja, à medida que vai ocorrendo a inserção dos 
registros, o valor é autoincrementado. Dessa forma, ele se torna essencial 
para a identificação de um registro específico na tabela.
NOTA:
Para o caso de arquivos, existe um tipo de armazenamento 
chamado Binary Large Objects (BLOB) que pode ser fotos, 
documentos em PDF, vídeos etc.
 34
Modelo orientado a objetos
Os modelos orientados a objetos são utilizados para o tratamento 
de objetos complexos (como textos e imagens) e dinâmicos (como 
simulações e programas), que são organizados de forma hierárquica com 
seus respectivos tipos e subtipos e que também podem conter referências 
para outros objetos.
VOCÊ SABIA?
Você sabia que, em um projeto de banco de dados com 
o modelo orientado a objetos, o projetista tem a liberdade 
para especificar tanto a estrutura quanto a complexidade 
dos objetos quando se trata das operações que podem ser 
aplicadas aos objetos?
EXPLICANDO MELHOR:
Vamos considerar como exemplo a mesma fábrica que 
pode ter váriosfuncionários. Contudo, a descrição do 
modelo de dados é análoga ao desenvolvimento de 
um modelo de classe no formato UML (Unified Modeling 
Language). Vejamos melhor na Figura 9.
 35
Figura 9 – Modelo orientado a objetos
Fonte: Elaborado pela autora.
E então, o que achou desse assunto? Mais à frente iremos te mostrar 
na prática! Não é legal? Por enquanto estamos nos esquecendo de falar 
sobre alguma coisa? Claro! O nosso querido PostgreSQL e sua história não 
poderiam ficar de fora. Vamos lá conhecer!
Evolução do PostgreSQL
DEFINIÇÃO:
O PostgreSQL é um SGBD objeto-relacional, desenvolvido 
pelo PostgreSQL Global Development Group, com mais de 
30 anos de desenvolvimento ativo.
 36
O PostgreSQL é um projeto de código aberto, isto é, de forma aberta 
e pública que permite que desenvolvedores manipulem e modifiquem 
suas versões. Para isso, o grupo tem uma equipe de committers 
(desenvolvedores) para avaliar o código fornecido pelo editor voluntário 
e, posteriormente, aceitar ou recusar uma nova versão.
O PostgreSQL teve início com o projeto chamado Ingres no 
Departamento de Ciência da Computação da Universidade de Berkeley, 
na Califórnia, sob a liderança de Michael Stonebraker. Em 1986, a equipe 
publicou uma série de documentos que descrevia a base do sistema e, 
daí em diante, várias outras versões com novos suportes foram lançadas.
NOTA:
O PostgreSQL admite que as funções definidas pelos 
desenvolvedores também sejam escritas em outras 
linguagens (como PL/pgSQL, PL/Python, PL/Java, PL/
Perl) chamadas Linguagens Procedurais (PLs).
Na documentação do PostgreSQL, o grupo afirma que, em 
1994, Andrew Yu e Jolly Chen adicionaram um interpretador da 
linguagem  SQL  ao  POSTGRES chamado Postgres95, totalmente escrito 
em ANSI C. Posteriormente, em 1996, escolheram um novo nome 
para o Postgres95, o PostgreSQL, para refletir o relacionamento entre 
o  POSTGRES  original e as versões mais recentes com capacidade da 
linguagem SQL.
ACESSE:
Quer saber mais sobre as versões lançadas do PostgreSQL? 
Acesse: https://bit.ly/3lM8l8E.
Considerando a evolução história do PostgreSQL, temos:
 • 1986-1995: início do projeto na Universidade de Berkeley.
 • 1996-1998: novas correções de bugs.
http://https://bit.ly/3lM8l8
 37
 • 1999-2001: relacionamento do Postgres e o Padrão SQL.
 • 2002-2005: suporte nativo para windows.
 • 2005-2011: novas funcionalidades avançadas.
SAIBA MAIS:
Quer se aprofundar neste tema? Recomendamos o acesso 
à seguinte fonte de consulta: Artigo: “Uma reflexão sobre 
banco de dados orientados a objetos” (BOSCARIOLI et al., 
2006), acessível pelo link https://deinfo.uepg.br/~conged/
artigo4.pdf (Acesso em 29 jul. 2020).
RESUMINDO:
Como foi sua leitura? Gostou de saber toda essa evolução 
que aconteceu? Viu a importância de conhecer a história da 
evolução da organização de um banco de dados comum? 
Vamos revisar tudo o que aprendemos: vimos nessa 
Unidade o marco histórico para a área de bancos de dados, 
falamos do modelo hierárquico e agora sabemos que 
são associações entre dois registros. Depois vimos que o 
modelo em rede é uma extensão do modelo hierárquico que 
ganha a possibilidade dos registros-filhos se conectarem 
a vários registros-pais, e com isso permite que os dados 
sejam acessados sem ter que necessariamente passar pela 
raiz. Também conhecemos o famoso e utilizado modelo 
relacional que proporciona uma definição simples e com 
alto desempenho para armazenamento e recuperação de 
dados e, depois, o modelo orientado a objetos, utilizado 
para o tratamento de objetos complexos e dinâmicos. 
Também conhecemos a evolução de PostgreSQL passando 
por onde tudo começou.
 38
PostgreSQL e a linguagem SQL ANSI
Olá! Se você já chegou até aqui foi porque já viu os conceitos e 
as definições de SGBD e conheceu a história e a evolução do banco de 
dados e do PostgreSQL. Está preparado para o que vem agora? Antes 
de você realizar a prática do PostgreSQL, é um pré-requisito conhecer a 
linguagem SQL ANSI, mas não se preocupe, o aprendizado é simples e 
tranquilo de compreensão. Vamos lá?
DEFINIÇÃO:
O SQL (do inglês, Structured Query Language ou Linguagem 
de Consulta Estruturada) foi criado no início dos anos 70 
no laboratório da IBM e foi nomeado SEQUEL. É uma 
linguagem utilizada para manipular banco de dados do tipo 
relacional por meio de um Sistema de Gerenciamento de 
Banco de Dados.
O PostgreSQL Global Development Group desenvolveu um projeto 
de tradução para o português do Brasil e disponibilizou de forma pública 
a toda a documentação.
ACESSE:
Neste link http://pgdocptbr.sourceforge.net/, você terá 
acesso a todo o material da documentação sobre a 
linguagem SQL. Por meio dele, você pode consultar, 
baixar, copiar e distribuir (conforme sua licença TPL – The 
PostgreSQL License). Além disso, por meio do site, você 
terá acesso a atualizações da documentação, como a 
comparação entre o PostgreSQL e os gerenciadores de 
banco de dados Microsoft SQL Server, Oracle e IBM DB2. 
Ainda há seções sobre convenção da linguagem e vários 
exemplos de utilização. Atualmente, a versão 8.0.0 já se 
encontra traduzida na íntegra.
Sendo assim, estruturamos o material sobre a linguagem SQL 
fazendo uma compilação do material disponibilizado pelo PostgreSQL 
http://http://pgdocptbr.sourceforge.net/
 39
Global Development Group para uma melhor compreensão da linguagem 
e como base introdutória para o PostgreSQL.
Antes de entrarmos no conceito das declarações da linguagem, 
devemos conhecer os operadores aritméticos, as cláusulas e as funções 
do SQL, que são:
 • Operadores aritméticos 
 • Lógicos: AND, OR, NOT
 • Aritméticos: +, -, *, /
 • Relacionais: = (igual a), > (maior que), < (menor que), 
>= (maior igual a), <= (menor igual a), <> (diferente de), 
LIKE, BETWEEN
 • Conjunturais: ANY, ALL, EXIST, NOT EXIST, IN, NOT 
IN 
 • Cláusulas
 • FROM: específica a tabela em que os registros serão 
selecionados.
 • WHERE: específica a condição de seleção dos 
registros.
 • GROUP BY: agrupa os registros especificados.
 • HAVING: expressa a condição de seleção dos 
grupos de registros.
 • ORDER BY: ordena os registros especificados.
 • DISTINCT: seleciona os registros não repetidos.
 • Funções
 • AVG (n): calcula o valor médio de uma coluna 
específica.
 40
 • COUNT (n): calcula a soma da quantidade de linhas 
(registros).
 • MAX (n): retorna o maior valor de uma coluna 
buscada.
 • MIN (n): retorna o menor valor de uma coluna 
buscada.
 • SUM (n): calcula a soma dos valores de uma coluna.
NOTA:
Existem diversas funções SQL, que são: funções de valores 
simples, funções de grupos de valores, funções que 
devolvem valores de caracteres, funções que devolvem 
valores numéricos, funções para manipular datas e funções 
de conversão. Porém, separamos as mais usuais a fim de 
minimizar a quantidade do conteúdo apresentado, pois 
nosso foco é o PostgreSQL (mas vale a pena você conferir 
as demais).
O SQL interage com o SGBD para executar várias tarefas e 
permite que todas as transações realizadas no banco de dados sejam 
intermediadas pelo SGBD utilizando essa linguagem.
IMPORTANTE:
A linguagem SQL não tem uma padronização rígida, mas, 
apesar disso, é essencial seguir o padrão mais utilizado por 
motivos de boas práticas. Sendo assim, temos a seguinte 
convenção:
 • Convém a utilização de letra maiúscula 
para os comandos: SELECT, WHERE, AND, 
OR, ORDER BY, HAVING, CREATE, ALTER, 
INSERT, UPDATE, DELETE, entre outros.
 • Convém a utilização de letra minúscula 
para os nomes de funções, de tabelas, de 
colunas etc.
 41
De acordo com Elmasri e Navathe (2005), a linguagem SQL é 
abrangente por ter comando para definição de dados, de consultas e de 
atualizações. 
As empresas desenvolvedoras de SGBD podem expandir a 
linguagem SQL padrão ANSI para aceitar outros recursos que não são 
suportados na linguagem nativa, tais como:
 • Laços de repetição e de desvio: while, IF, FOR.
 • Comandosde manipulação de telas e de relatórios.
 • Comandos de manipulação de arquivos.
IMPORTANTE:
Apesar de a ANSI (American National Standart Institute) 
ter publicado um padrão para a linguagem SQL, 
surgiram outros padrões, como: SQL2, SQL3 e SQL99. 
Independentemente da versão, a SQL disponibiliza quatro 
tipos de linguagens: DML (Linguagem de Manipulação 
de Dados); DDL (Linguagem de Definição de Dados); DCL 
(Linguagem de Controle de Dados) e DTL (Linguagem de 
Transação de Dados).
Diante desse contexto, apresentaremos as respectivas definições 
das linguagens. Entretanto, neste capítulo abordaremos em detalhes 
somente a DML, por questões de organização do conteúdo e de 
sincronização com a prática. Dessa forma, ao longo do material, veremos 
as demais linguagens com seus respectivos exemplos. Combinado?
 42
DML - Data Manipulation Language
DEFINIÇÃO:
DML - Linguagem de Manipulação de Dados (do inglês Data 
Manipulation Language) é uma linguagem do SQL utilizada 
para a realização de inclusões de informações, consultas de 
informações armazenadas no Banco de Dados, modificações 
de informações e exclusões de dados presentes em 
registros. Ainda, as DMLs contêm tipos diferentes conforme 
os distribuidores de BD, e há dois tipos de DML:
 • Procedural: nesse tipo de linguagem, 
o código do programa é escrito como 
uma sequência de instruções. O usuário 
especifica quais dados são necessários e 
como obtê-los.
 • Não-procedural (declarativa): o usuário 
especifica apenas os dados de interesse. 
Também é conhecida na literatura como 
linguagem funcional ou aplicativa.
IMPORTANTE:
O padrão estabelecido pela ANSI (American National 
Standart Institute) para a SQL é o não-procedural, e 
cada declaração SQL é um comando declarativo, cuja 
capacidade funcional é organizada pela palavra inicial da 
declaração. Vejamos seus principais comandos:
Consultas (INSERT, UPDATE, DELETE e SELECT)
Sabemos que o PostgreSQL nos possibilita gerenciar o banco 
de dados. Contudo, para realizar um bom gerenciamento, é essencial 
 43
compreender as consultas da linguagem SQL, a fim de promover a 
manipulação dos dados. Sendo assim, vejamos:
INSERT
DEFINIÇÃO:
O INSERT é declaração utilizada para inserir registros 
(também conhecidos como tuplas ou linhas) em uma 
tabela de Banco de Dados.
A sintaxe da declaração INSERT dá-se da seguinte forma:
A formatação do comando é essencial, pois, caso ocorra algum erro 
de sintaxe, a nova linha não é adicionada à tabela do banco de dados e é 
retornado um erro. Já para os casos em que a coluna não for especificada, 
o valor padrão é utilizado.
Exemplo:
Para os casos em que o comando seja para adicionar os valores em 
todas as colunas da tabela existente no Banco de Dados, os nomes das 
colunas podem não ser especificados. Vejamos:
IMPORTANTE:
Para a inserção correta, é necessário seguir a mesma 
ordem dos valores e das colunas.
INSERT INTO tabela (coluna1, coluna2, ..., colunaN) 
VALUES (valor1, valor2, ..., valorN);
INSERT INTO tabela_pagamento (nome_produto, data_venda, 
valor) VALUES (‘calculadora’, ‘2020-08-05’, 180);
INSERT INTO tabela_pagamento VALUES (‘calculadora’, 
‘2020-08-05’, ‘180’);
 44
NOTA:
Também existem formas de inserção avançada, chamada 
MULTIROW INSERT.
UPDATE
DEFINIÇÃO:
O UPDATE é a declaração utilizada para modificar/editar 
registros (tuplas) em uma tabela de Banco de Dados. Vale 
salientar que com o UPDATE é possível alterar um ou mais 
registros que obedeçam à condição estabelecida.
A sintaxe da declaração UPDATE dá-se da seguinte forma:
Exemplo: Vamos considerar a atualização da tabela anterior para 
todos os campos. Lembrando que, caso a atualização seja apenas para 
uma coluna, as demais colunas não precisam constar na declaração SQL 
de atualização. Vejamos:
DELETE
UPDATE tabela SET coluna1=valor1, coluna2=valor2, ..., 
colunaN=valorN WHERE condição;
UPDATE tabela_pagamento SET nome_produto=’calculadora 
científica’, data_venda=’2019-08-05’, valor=’350’) 
WHERE ProdutoID=1;
 45
DEFINIÇÃO:
O DELETE é a declaração utilizada para deletar registros 
(tuplas) em uma tabela de banco de dados. Vale salientar 
que com o DELETE também é possível alterar um ou mais 
registros que obedeçam à condição estabelecida.
A sintaxe da declaração DELETE dá-se da seguinte forma:
Exemplo: Vamos considerar a remoção de todas as linhas da tabela 
em que o nome do produto seja calculadora científica. Vejamos:
Já para o caso em que todas as linhas da tabela precisam ser 
removidas, isto é, esvaziando a tabela, mas mantendo sua integridade, 
temos a seguinte declaração:
SELECT
DEFINIÇÃO:
O SELECT é a declaração utilizada para obter um conjunto 
de resultados de registros (tuplas) pertencentes a uma ou 
mais tabelas do banco de dados. Vale salientar que com 
o SELECT também é possível consultar diferentes tabelas.
DELETE FROM tabela WHERE condição;
DELETE FROM tabela_pagamento WHERE nome_produto=’ 
calculadora científica’;
DELETE FROM tabela_pagamento;
 46
A sintaxe da declaração SELECT dá-se da seguinte forma:
Exemplo: 
Vamos considerar como exemplo a seleção de TODOS os campos 
da tabela. Vejamos:
Para o caso em que desejamos selecionar apenas campos 
específicos da tabela, temos:
Subconsultas e Consultas JOINS
No caso de consultas mais avançadas, é possível realizar 
subconsultas utilizando mais de uma instrução em uma declaração, 
ou melhor, consultas dentro de consultas. Também é possível realizar 
junções de tabelas, as chamadas consultas JOINS, combinando linhas 
de duas ou mais tabelas.
Para ambos os casos, vamos utilizar as seguintes tabelas como 
exemplo para todos os casos:
SELECT coluna1, coluna2, ..., colunaN FROM tabela;
SELECT * FROM tabela_pagamento;
SELECT data_venda FROM tabela_pagamento;
 47
NOTA:
Perceba que o que está conectando as duas tabelas é a 
coluna do campo referência.
Exemplo: Nesse caso, vejamos melhor o uso de subconsultas com 
o exemplo a seguir, em que realiza a remoção dos registros da tabela_
pagamento em que os registros que contenham o nome do produto da 
tabela_pagamento sejam os mesmos da tabela_débito. Sendo assim, 
podemos criar a seguinte instrução de subconsulta:
NOTA:
Todas as consultas podem ser realizadas como 
subconsultas, ou seja, entre parênteses, que retorna os 
registros e seus campos e que também podem ser utilizadas 
expressões de subconsultas (EXISTS) e combinações 
(CASE e EXISTS).
DELETE FROM tabela_pagamento WHERE referência IN 
(SELECT referência FROM tabela_debito);
 48
Exemplo: Vejamos agora um exemplo de uso de junções de 
tabelas, realizando a junção dos campos qtd_saída e valor das tabelas 
em que a referência seja a mesma. Vejamos:
Existem diferentes tipos de junções de tabelas, tais como: LEFT 
JOIN, RIGHT JOIN, FULL JOIN. Sendo assim, podemos resumir os 
comandos visualizando a Figura 10.
Figura 10 – Diagrama dos diferentes tipos de JOIN
Fonte: Elaborado pela autora.
Em que:
 • INNER JOIN retorna registros que têm valores 
correspondentes nas duas tabelas.
 • LEFT (OUTER) JOIN retorna todos os registros da tabela 
da esquerda (tabela 1) e os correspondentes da tabela da 
direita (tabela 2).
 • RIGHT (OUTER) JOIN retorna todos os registros da tabela 
da direita (tabela 2) e os correspondentes da tabela da 
esquerda (tabela 1).
 • FULL (OUTER) JOIN retorna todos os registros de ambas 
as tabelas quando houver uma correspondência.
DDL - Data Definition Language
DEFINIÇÃO:
O DDL - Linguagem de Definição de Dados (do inglês Data 
Definition Language) é uma linguagem do SQL utilizada 
para manipular tabelas e elementos.
 49
Nesse caso, temos os comandos: 
 • CREATE: cria bancos e tabelas.
 • ALTER: altera as colunas de uma tabela no banco de 
dados, por exemplo, adiciona uma coluna em uma tabela 
específica.
 • DROP: deleta um registro em uma tabela, uma tabela ou 
um banco de dados.
DCL - Data Control Language
DEFINIÇÃO:
O DCL - Linguagem de Controle de Dados (do inglêsData 
Control Language) é uma linguagem do SQL utilizada em 
ambiente multiusuário, ou seja, para controlar o acesso aos 
dados.
Nesse caso, temos os comandos: 
 • GRANT: utilizado para autorizar usuários.
 • REVOKE: utilizado para bloquear usuários.
NOTA:
Veremos os comandos com exemplos na Unidade 2, em 
Gerenciamento de usuários.
DTL - Data Transaction Language
DEFINIÇÃO:
O DTL - Linguagem de Transação de Dados (do inglês Data 
Transaction Language) é uma linguagem do SQL utilizada 
para gerenciar as transações que ocorrem dentro do banco 
de dados.
 50
Nesse caso, temos três comandos:
 • BEGIN TRANSACTION: utilizado para iniciar uma transação.
 • COMMIT: utilizado para enviar as alterações no banco de 
forma permanente.
 • ROLLBACK: utilizado para cancelar as alterações realizadas 
nas transações desde o último COMMIT ou ROLLBACK 
realizado no banco.
SAIBA MAIS:
Ficou curioso sobre muitos comandos e já quer praticar 
antes de instalar um SGBD no seu computador? É fácil! No 
site da w3schools é possível ver exemplos e colocá-los em 
prática. Ele está acessível pelo link www.w3schools.com/
sql/ (Acesso em: 03 ago. 2020).
RESUMINDO:
Olá! Gostou de saber mais sobre a linguagem SQL 
ANSI e suas declarações? Vamos relembrar tudo o que 
aprendemos: vimos nessa Unidade que o nome original do 
SQL era SEQUEL. Também falamos sobre os operadores 
aritméticos, as cláusulas e as funções do SQL, e vimos que, 
apesar de a ANSI ter publicado um padrão para a linguagem 
SQL, outros padrões surgiram, como: SQL2, SQL3 e SQL99, 
e então soubemos que a SQL disponibiliza quatro tipos de 
linguagens: DML (Linguagem de Manipulação de Dados); 
DDL (Linguagem de Definição de Dados); DCL (Linguagem 
de Controle de Dados) e DTL (Linguagem de Transação de 
Dados). Também falamos que a linguagem DML apresenta-
se de forma procedural e não-procedural (que é o padrão 
estabelecido pela ANSI). Além disso, mostramos as 
declarações com exemplos de INSERT, UPDATE, DELETE 
e SELECT, além de alguns exemplos de subconsultas e 
consultas JOINs.
http://www.w3schools.com/sql/
http://www.w3schools.com/sql/
 51
Instalação do PostgreSQL
Olá! Você sabia que o PostgreSQL é um SGBD e que é o mais 
utilizado no mundo para desenvolvimento com banco de dados? Pois é! 
E agora que você já conhece a linguagem SQL ANSI, vamos à prática? 
Nesse capítulo, vamos aprender a realizar a instalação nos ambientes 
Windows e Linux.
Há muitas informações e tutoriais sobre como instalar e manipular 
o PostgreSQL por meio da documentação oficial. A comunidade do 
PostgreSQL fornece muitos fóruns para você se familiarizar, tirar dúvidas 
e descobrir o funcionamento, além da possibilidade de encontrar 
oportunidades de trabalho.
ACESSE:
Para iniciar o processo de instalação, acesse o site do 
PostgreSQL para realizar o download da versão desejada, 
conforme o sistema operacional: https://bit.ly/342vgXB.
No site, como podemos ver na Figura 11, é possível realizar o 
download de várias versões para os seguintes sistemas operacionais: Linux 
x86-64, Linux x86-32, Mac OS X, Windows x86-64 e Windows x86-32. 
Figura 11 – Versões de distribuição do PostgreSQL
Fonte: enterprisedb.com
http://https://bit.ly/342vgXB
 52
O site do PostgreSQL também fornece um guia de instalação para 
a versão 12.0, em que é possível encontrar as plataformas suportadas e 
os requisitos de hardware e software, além da instalação/desinstalação 
e troubleshooting. A própria documentação afirma que o PostgreSQL 
na versão 12.0 é suportada em Windows de 64 bits (Windows 2012R2, 
Windows 2016, Windows 2019) e Mac OS X (OS X Server 10.12, 10.13 e 
10.14). 
NOTA:
No caso dos usuários Linux, O EDB deixou de fornecer 
instaladores Linux a partir do PostgreSQL 11, pois o 
grupo incentiva os usuários a usar os pacotes nativos da 
plataforma. Contudo, as versões posteriores terão suporte 
até o final da vida útil.
IMPORTANTE:
Quanto aos requisitos de hardware, é necessário seguir um 
padrão mínimo para instalação e execução do PostgreSQL, 
que requer um processador de 1 GHz com 2 GB de 
memória RAM e 512 MB de HDD. Ainda, deve-se considerar 
espaço de memória em disco adicional para os dados ou 
componentes de suporte.
IMPORTANTE:
Quanto aos pré-requisitos de software, para que o sistema 
operacional permita a instalação, é necessário ter privilégios 
de superusuário (em sistema Mac) ou de administrador (em 
sistema Windows).
E então, compreendeu tudo? Vamos partir para as instalações nos 
sistemas operacionais? Lembrando que, caso tenha problemas com a 
instalação, não desista! Você pode verificar o arquivo de log da instalação 
que é criado nos seguintes caminhos: %TEMP% para o sistema Windows 
 53
e /temp para o sistema Mac OS X. O nome desse arquivo de log é install-
postgresql.log e, junto a ele, você encontrará a senha do superusuário 
especificada durante a instalação que, no caso, deve ser trocada antes do 
compartilhamento do log com qualquer pessoa.
No caso do Windows, certifique-se de aplicar as atualizações do 
sistema operacional antes de chamar o instalador do PostgreSQL, pois, 
caso (durante o processo de instalação) o instalador encontre erros, então 
você deve:
 • Desinstalar o PostgreSQL e excluir o diretório de dados na 
pasta de instalação (a %TEMP% mencionada acima).
 • Criar um usuário no Windows com o nome  postgres e 
adicioná-lo ao grupo de administradores.
 • Confirmar se a desinstalação deu certo: 
 • Abrir o cmd do Windows (pressionar a tecla Windows 
e digitar cmd). Ao aparecer a imagem prompt de 
comando, clicar no botão direito e executar como 
administrador (ver Figura 12).
 • Quando abrir o prompt de comando, digitar net user 
postgres /delete. Então, aparecerá a mensagem: não 
foi possível localizar o nome de usuário (ver Figura 
13). Isso significa que a instalação foi concluída com 
sucesso.
 54
Figura 12 – Imagem ao localizar o prompt de comando
Fonte: Elaborado pela autora.
Figura 13 – Imagem do comando para desinstalar o PostgreSQL
Fonte: Elaborado pela autora.
 55
ACESSE:
Caso você tenha executado essa etapa e revisado o arquivo 
de log, mas ainda não tenha conseguido solucionar o 
problema, o grupo PostgreSQL sugere que você acesse os 
fóruns do EnterpriseDB pelo link www.enterprisedb.com/.
Visto os possíveis problemas e como solucioná-los, vamos aos 
passos da instalação nos sistemas operacionais?
Instalação no Windows
Olá! Se você já chegou até aqui, é porque já verificou se o sistema 
operacional está atualizado e não há o PostgreSQL instalado. Sendo 
assim, vamos às etapas de instalação:
Passo a passo:
1. Após abrir o prompt de comando como administrador 
(mostramos como fazer isso na Figura 12), digitar o 
comando: net user /add postgres senha. Ver a Figura 
14. Fazendo isso, você irá criar um usuário com o nome 
postgres e senha.
NOTA:
Substituir a palavra senha por sua senha ou uma senha 
padrão. Nesse exemplo, a senha foi teste.
Figura 14 – Imagem do comando de instalação do PostgreSQL
Fonte: Elaborado pela autora.
http://www.enterprisedb.com/
 56
2. Adicionar o usuário e senha criados para o PostgreSQL ao 
grupo de administradores do Windows (ver Figura 15) com 
o comando net localgroup administradores postgres /add. 
Figura 15 – Comando para adicionar o usuário ao grupo de administradores do Windows
Fonte: Elaborado pela autora.
3. Após o usuário ser criado com suas devidas permissões, 
abrir um prompt de comando para o usuário postgres 
(Figura 16) com o comando runas /user:postgres cmd.exe
Figura 16 – Comando abrir um Prompt de Comando com o nome do usuário criado
Fonte: Elaborado pela autora.
 57
NOTA:
Nesta etapa, será solicitada a senha que você criou para 
o usuário. Ao digitá-la, a tela continuará sem apresentar 
nenhum símbolo, mas não se preocupe! Conclua a 
digitação e aperte ENTER para a nova janela aparecer.
4. No novo terminal, você precisará entrar na pasta do 
instalador. Para isso, digitar cd e o endereçoda pasta em 
que se encontra o instalador (Figura 17).
Figura 17 – Comando para entrar na pasta do instalador do PostgreSQL
Fonte: Elaborado pela autora.
NOTA:
Perceba que o meu endereço foi C:\Users\cfsar\Camila\
postgres, mas o seu pode mudar. Verifique corretamente 
onde está o instalador do qual você realizou o download do 
site do PostgreSQL e copie o endereço da pasta. Caso não 
se lembre, vá para a Figura 11.
5. Agora estamos na etapa de execução do instalador. 
Digitar o nome do arquivo no prompt de comando 
conforme a Figura 18. Então, o guia gráfico de instalação 
do PostgreSQL será aberto (Figura 19). 
 58
Figura 18 – Comando para executar o instalador do PostgreSQL
Fonte: Elaborado pela autora.
NOTA:
Verifique o nome do arquivo corretamente, pois irá mudar 
conforme a versão do download.
Figura 19 – Imagem do Guia de instalação do PostgreSQL
Fonte: Elaborado pela autora.
 59
6. A partir de agora, você irá seguir os passos de instalação 
padrão do guia, clicando em Next>. Deixar todos os 
componentes selecionados, conforme Figura 20.
Figura 20 – Seleção dos componentes de instalação do PostgreSQL
Fonte: Elaborado pela autora.
7. Não há necessidade de modificar os caminhos dos 
arquivos indicados pelo Guia (ver Figura 21), sugerimos 
que deixe o padrão.
 60
Figura 21 – Seleção do diretório do PostgreSQL
Fonte: Elaborado pela autora.
8. Você também pode se deparar com a solicitação de 
usuário e senha (ver Figura 22), mas é a mesma que você 
criou.
Figura 22 – Imagem do processo de inserção da senha na instalação do PostgreSQL
Fonte: Elaborado pela autora.
 61
9. O número da porta já é 5432 por padrão (Figura 23), mas 
caso não apareça, você pode digitar esse mesmo número.
Figura 23 – Inserção do número da porta do PostgreSQL
Fonte: Elaborado pela autora.
10. Em todos os próximos passos você poderá ir aceitando 
o padrão de instalação e clicando em próximo, até a 
tela de finalização. Para verificar se tudo foi instalado 
corretamente, você poderá abrir o Gerenciador de Tarefas 
(apertando Ctrl+alt+del) e acessar a aba Serviços. Lá você 
vai visualizar o serviço do PostgreSQL instalado, como 
mostrado na Figura 24.
 62
Figura 24 – Tela de confirmação da instalação do PostgreSQL
Fonte: Elaborado pela autora.
Instalação no Linux
Olá! Se você está aqui é porque irá instalar o PostgreSQL no sistema 
operacional Linux. Sendo assim, iremos te apresentar o passo a passo da 
instalação da versão 12, a mais atual, que foi lançada em outubro de 2019 
e tem suporte até o final de 2024. Vamos à prática!
Passo a passo:
1. O primeiro passo é instalar o Vim (um editor de texto do 
Linux) com os seguintes comandos: sudo apt -y install 
vim bash-completion wget e depois: sudo apt -y upgrade 
conforme podemos visualizar na Figura 25.
 63
Figura 25 – Instalação do Vim PostgreSQL
Fonte: Elaborado pela autora.
2. Depois, iremos baixar os repositórios (Figura 26) com os 
comandos: 
wget --quiet -O - https://www.postgresql.org/media/keys/
ACCC4CF8.asc | sudo apt-key add – 
e
echo “deb http://apt.postgresql.org/pub/repos/apt/ `lsb_
release -cs`-pgdg main” |sudo tee /etc/apt/sources.list.d/
pgdg.list
Figura 26 – Tela da etapa de baixar os repositórios
Fonte: Elaborado pela autora.
3. Após isso, você irá dar o comando de atualização dos 
repositórios com sudo apt update e, posteriormente, sudo 
apt -y install postgresql-12 postgresql-client-12 para realizar 
a instalação do PostgreSQL na versão 12 (Figura 27).
 64
Figura 27 – Tela de instalação da versão 12 do PostgreSQL
Fonte: Elaborado pela autora.
4. Por fim, você pode verificar se a instalação ocorreu com 
sucesso com o seguinte comando: systemctl status 
postgresql.service, que será apresentado na tela com o 
status de ativo (ver Figura 28).
Figura 28 – Tela de confirmação de instalação
Fonte: Elaborado pela autora.
Instalação no Mac OS
A instalação do PostgreSQL no Mac OS X difere um pouco das 
demais plataformas, pois o instalador é um App Bundle, que é um 
conjunto de arquivos e diretórios em um formato prescrito. 
 65
O instalador está disponível no site como um arquivo de  imagem 
de disco (.dmg) ou como um arquivo com extensão (.zip) do Stack Builder. 
Para extrair o instalador, simplesmente monte a imagem do disco e copie 
o instalador no local desejado ou execute-o por meio do homebrew com 
o seguinte comando: brew install postgresql
SAIBA MAIS:
Quer se aprofundar neste tema? Recomendamos o 
acesso à seguinte fonte de consulta: Artigo: “The design of 
POSTGRES” (STONEBRAKER, Michael; ROWE, Lawrence 
A., 1986), acessível pelo link https://dl.acm.org/doi/
abs/10.1145/16856.16888 (Acesso em 06 ago. 2020).
RESUMINDO:
Chegamos ao final da unidade. Gostou de ver todos 
o processos de instalação nos diferentes sistemas 
operacionais? Você realizou a instalação na sua máquina? 
Se não, não perca tempo! Mãos à obra! E caso já tenha 
instalado, parabéns! Aposto que está curioso para o que 
virá na próxima Unidade, não é mesmo? Vamos relembrar 
o que acabamos de ver para fixar melhor: vimos que a 
comunidade do PostgreSQL fornece muitos fóruns para 
que possamos nos familiarizar com o ambiente. Além 
disso, oferece versões para diversos sistemas operacionais: 
Linux x86-64, Linux x86-32, Mac OS X, Windows x86-64 e 
Windows x86-32. Vimos também que o PostgreSQL requer 
uma configuração mínima de hardware para a instalação e 
a execução do PostgreSQL: um processador de 1 GHz com 
2 GB de memória RAM e 512 MB de HDD. Depois disso, 
apresentamos toda a prática de instalação nos sistemas 
Windows, Linux e Mac OS.
 66
REFERÊNCIAS
Apêndice E. Release Notes. PostgreSQL, 2019. Disponível em: http://
pgdocptbr.sourceforge.net/pg80/release.html#RELEASE-8-0. Acesso 
em: 7 ago. 2020.
BECK, R. O.; LUZ, F. D. Normalização de dados: um desafio para o projetista 
de banco de dados. (1 ed., Vol. 5). RE3C - Revista Eletrônica Científica de 
Ciência da Computação. 2010. Disponível em: http://revistas.unifenas.br/
index.php/RE3C/article/view/45. Acesso em: 20 jul. 2020.
BOSCARIOLI, C.; BEZERRA, A. Uma reflexão sobre banco de dados 
orientados a objetos. Disponível em: https://deinfo.uepg.br/~conged/
artigo4.pdf. Acesso em: 29 jul. 2020.
ELMASRI, R.; NAVATHE, S. Sistemas de Banco de Dados. Ed. Addison-
Wesley: São Paulo, 2005. 
PostgreSQL Database Download. EDB. Disponível em: https://www.
enterprisedb.com/downloads/postgres-postgresql-downloads. Acesso 
em: 7 ago. 2020.
STONEBRAKER, M.; ROWE, L. The design of POSTGRES. Disponível em: 
https://dl.acm.org/doi/abs/10.1145/16856.16888. Acesso em: 6 ago. 2020.
TANAKA, L. C.; CAMARGO, F. M.; GOTARDO, R. A. Sistema gerenciador 
de banco de dados: Sgbd exist xml. Revista Eletrônica de Sistemas de 
Informação e de Gestão Tecnológica, v. 2, n. 1, 2012. Disponível em: http://
periodicos.unifacef.com.br/index.php/resiget/article/view/288. Acesso 
em: 24 jul. 2020.
TRADUÇÃO da Documentação para o português do Brasil. PostgreSQL. 
Disponível em: http://pgdocptbr.sourceforge.net/. Acesso em: 7 ago. 2020.
RAMAKRISHNAN, R.; GEHRKE, J. Sistemas de gerenciamento de banco de 
dados-3. AMGH Editora, 2008.
 67
Administração 
do SGBD 
PostgreSQL
Camila Freitas Sarmento
	_Hlk47624161
	Conceitos e definições sobre SGBD 
	Conceitos e competências gerais de um banco de dados
	Profissionais e atividades envolvidas
	Sistema de banco de dados e o SGBD
	Abstração de dados em um SGBD 
	História e evolução do PostgreSQL
	História do banco de dados 
	Modelo hierárquico
	Modelo em rede
	Modelo relacional
	Modelo orientado a objetos
	Evolução do PostgreSQL
	PostgreSQL e a linguagem SQL ANSI
	DML - Data Manipulation Language
	Consultas (INSERT, UPDATE, DELETE e SELECT)
	INSERT
	UPDATE
	DELETE
	SELECT
	Subconsultas e Consultas JOINS
	DDL - Data Definition Language
	DCL - Data Control Language
	DTL - Data Transaction Language
	Instalação do PostgreSQL
	Instalação no Windows
	Instalação no Linux
	Instalação no Mac OS

Continue navegando