Buscar

Administração do SGBD PostgreSQL - Unidade 1 - Conhecendo o banco de dados PostgreSQL

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 54 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 54 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 54 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
Unidade 1
Conhecendo o banco de dados PostgreSQL
Diretor Executivo 
DAVID LIRA STEPHEN BARROS
Gerente Editorial 
CRISTIANE SILVEIRA CESAR DE OLIVEIRA
Projeto Gráfico 
TIAGO DA ROCHA
Autoria 
CAMILA FREITAS SARMENTO
AUTORIA
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:
OBJETIVO:
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 ........................................................................... 15
Abstração de dados em um SGBD ................................................................ 18
Principais funções de um SGBD ...................................................................... 19
História e evolução do PostgreSQL .....................................................22
História do banco de dados ...................................................................................................22
Modelo Hierárquico ....................................................................................................24
Modelo em Rede ..........................................................................................................25
Modelo Relacional ...................................................................................26
Modelo Orientado a Objetos ...............................................................................28
Evolução do PostgreSQL ...........................................................................................................29
PostgreSQL e a linguagem SQL ANSI ................................................. 31
Data Manipulation Language (DML) ..................................................................................34
Consultas (INSERT, UPDATE, DELETE e SELECT) ...............................34
INSERT ..............................................................................................................34
UPDATE ............................................................................................................35
DELETE ............................................................................................................ 36
SELECT ............................................................................................................ 36
Subconsultas e consultas JOINS ......................................................................37
DDL – Data Definition Language ......................................................................................... 39
DCL – Data Control Language .............................................................................................. 39
DTL – Data Transaction Language ..................................................................................... 40
Instalação do PostgreSQL ....................................................................... 41
Instalação no Windows ...............................................................................................................44
Instalação no Linux ....................................................................................................................... 49
Instalação no Mac OS .................................................................................................................. 51
9
UNIDADE
01
Administração do SGBD PostgreSQL
10
INTRODUÇÃO
Você sabia que a área de administração de banco de dados 
e linguagens é essencial dentre 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 
– antes eram somente presenciais – para o atendimento remoto. O 
banco de dados de uma empresa armazena e gerencia os bens mais 
valiosos e que 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. E 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 neste universo!
Administração do SGBD PostgreSQL
11
OBJETIVOS
Olá. Seja muito bem-vindo à Unidade I. 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 sobre esse assunto incrível e que vai deixá-lo preparado para 
dar os primeiros passos em direção à satisfação profissional. Ao trabalho! 
Administração do SGBD PostgreSQL
12
Conceitos e competências gerais de um 
banco de dados
OBJETIVO:
Ao término deste capítulo você será capaz de entender 
a definição de um SGBD e suas principais características. 
Isso 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? 
Então vamos lá. Avante!
Conceitos e competências gerais de um 
banco de dados
Você sabiaque o banco de dados pode ser considerado a parte 
mais importante e valiosa de uma empresa? Pois é! Ele é responsável 
por receber dados e fornecer informações (quando bem organizado) 
essenciais para a produtividade da empresa e experiência do usuário, 
além de impactar na tomada de decisão, alinhamento de informações 
entre a equipe e nos 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 possuem nenhum significado. E o que é informação? 
Já sabe, né? 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. 
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 com base na figura 1. 
Administração do SGBD PostgreSQL
13
Figura 1 - Relacionamento entre dado, informação e conhecimento 
Conhecimento
Informação
Dado
Fonte: Elaborado pela autora (2021). 
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.
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. 
Você já teve experiência com banco de dados? Se refletirmos 
um pouco, podemos perceber que os bancos de dados estão sempre 
presentes em nossas rotinas e o acessamos constantemente, por 
exemplo: quando realizamos uma compra on-line, alguma movimentação 
financeira, serviços de e-mail, acesso às redes sociais e vários outros 
serviços em nuvem.
Administração do SGBD PostgreSQL
14
Profissionais e atividades envolvidas
Agora que você entende o que é um banco de dados, você 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, 
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, 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 software.
 • Projetista do banco de dados (DB designer): profissional que 
escolhe a estrutura mais adequada para a representação e 
armazenamento dos dados. É ele que realiza a definição das 
tabelas, índices etc.
 • Usuário final: usuário que interagem com o banco de dados 
por meio de aplicações e linguagens em diferentes níveis, seja 
realizando operações de consultas avançadas, seja 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 que há uma enorme confusão quanto à atuação de um 
profissional DB e DBA? Sobretudo em pequenas empresas nas quais 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. Pois é! Mas agora 
você já sabe e está familiarizado com a diferença. Não é mesmo? Pois, 
Administração do SGBD PostgreSQL
15
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. E a atuação das duas funções em uma empresa é 
chamada de 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 aqui.
Sistema de banco de dados e o SGBD
Agora que você entende o que é um banco de dados e os atores 
envolvidos, você pode se perguntar: “Existe algum meio em que eles 
realizam o gerenciamento de tudo isso?”. Pois é exatamente isso que vamos 
te 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), relacionamento 
com o cliente (CRM, do inglês Customer Relationship Management) ou 
controle financeiro, a base de dados de uma empresa tem alto valor 
agregado.
Quando se trata de dados é fundamental para os usuários (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. 
Para compreendermos melhor um SGBD vejamos, como exemplo, 
a figura 2. Podemos considerar uma empresa de calçados que possui 
vários sistemas, entretanto, o acesso ao banco de dados ocorre com base 
no Sistema de Gerenciamento.
Administração do SGBD PostgreSQL
http://revistas.unifenas.br/https://scorm.onilearning.com.br/scorm.php?scorm=23363e0c108d44b9f7e78e6d9f09e0ce&estudante=0&nome=&licao=&sessao=c1od13buu70rdsee5pgas1fc4n/RE3C/article/view/45
16
Figura 2 - Modelo de uma implementação SGBD 
Fonte: Elaborado pela autora (2021).
Ainda assim, para promover a segurança da informação e a 
organização dos dados que estão armazenados no banco de dados, 
é necessário realizar a abstração dos dados para os usuários a fim de 
simplificar a interaçã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 do SGBD, que, por sua vez, realiza consultas no 
banco de dados.
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 como ocorre 
a organização na figura 3.
Administração do SGBD PostgreSQL
17
Figura 3 - Visualização Simplificada do Sistema de Banco de Dados 
Fonte: Elaborado pela autora (2021).
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, tais como: funções do 
sistema, programas aplicativos, interfaces dos programas e 
funcionalidades oferecidas pelo SGBD.
 • Distribuído - em que um SGBD gerencia múltiplos banco de dados 
que estão logicamente inter-relacionados, mas em espaços físicosdiferentes, conectados por meio de uma rede de comunicação. 
Podendo ser capazes de executar, de forma autônoma, diversos 
programas.
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, oferecendo o gerenciamento de banco de dados distribuído e 
apresentar-se aos usuários de forma transparente. Agora que você já sabe 
a diferença entre um SGBD e um SBD! A seguir, veremos em detalhes a 
arquitetura de um SGBD. 
Administração do SGBD PostgreSQL
18
Abstração de dados em um SGBD 
Ainda há pouco, vimos alguns conceitos e a diferença entre um 
SBD e um SGBD. Mas 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: nível externo, nível conceitual 
e nível interno.
O primeiro nível, chamado de nível externo (ou nível de visões) 
é o nível mais alto da abstração que utiliza um esquema externo. Ele 
descreve o banco de dados, por meio de objetos e relacionamentos, 
conforme as necessidades do usuário. Faz uma ponte entre a modelagem 
e a implementação do modelo em um tipo de SGBD. 
Considerando o nível conceitual (ou nível lógico), o segundo 
nível 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.
O terceiro nível, 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.
Administração do SGBD PostgreSQL
19
Figura 4 - Esquema de níveis de abstração 
Fonte: Elaborado pela autora (2021). 
Ainda, na arquitetura de três níveis (ANSI/SPARC), além de 
considerar os vários coeficientes de conhecimento/interação do usuário 
que o banco de dados oferece, também oferece a Independência de 
Dados, isto é, caso ocorra alguma modificação em um esquema, os 
outros níveis não serão afetados. 
São considerados dois níveis em relação à Independência dos 
dados: Independência física, permite a modificação dos dados sem afetar 
os altos níveis, restringindo-se apenas à parte física; e a Independência 
lógica, é a possibilidade de modificar o esquema conceitual sem afetar os 
programas aplicativos.
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!
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 
Administração do SGBD PostgreSQL
20
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 sobre as 
funções? Você parou para se perguntar quais são as funções, propriamente 
ditas, de um SGBD? Pois é! Iremos falar exatamente sobre isso agora.
IMPORTANTE:
Um SGBD pode utilizar diversas abordagens para atender 
ao propósito da modelagem e 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 Sistema de Gerenciamento de Banco de Dados 
(SGBD) possui várias funções. Então, separamos as principais:
 • 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 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 e aprofundamento: Artigo: 
“Sistema gerenciador de banco de dados: Sgbd exist xml” 
(TANAKA et al., 2012), acessível aqui.
Administração do SGBD PostgreSQL
http://periodicos.unifacef.com.br/https://scorm.onilearning.com.br/scorm.php?scorm=23363e0c108d44b9f7e78e6d9f09e0ce&estudante=0&nome=&licao=&sessao=c1od13buu70rdsee5pgas1fc4n/resiget/article/view/288.
21
RESUMINDO:
E então? Gostou do que lhe mostramos? Aprendeu tudo? 
Agora, só para termos certeza de que você realmente 
entendeu o tema de estudo deste capítulo, vamos 
resumir tudo o que vimos: nesta Unidade, o conceito de 
dado, informação e conhecimento foi apresentado 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 atividades envolvidas com banco 
de dados e apresentamos outro conceito que muitas 
pessoas se confundem: um profissional DB e um DBA, você 
lembra qual é? Ah! Também falamos sobre abstração de 
dados e os 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.
Administração do SGBD PostgreSQL
22
História e evolução do PostgreSQL
OBJETIVO:
Olá! Agora que você já leu sobre os conceitos e definições 
sobre o SGBD e já sabe qual sua função, vamos conhecer 
um pouco mais falando sobre a evolução? Pois conhecer 
a história da evolução é fundamental para a compreensão 
da organização de um banco de dados comum. Ao 
término deste capítulo você será capaz de entender a 
história e evolução do PostgreSQL, além da evolução da 
representatividade dos dados por meio dos Modelos de 
Dados. Ficou curioso(a)? Vamos à leitura então!
História do banco de dados 
No tópico anterior vimos que o banco de dados pode ser 
considerado o bem mais valioso de uma empresa. Você lembra? Você 
viu 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 iniciava 
a partir do armazenamento dos dados em fichas de papel e organizado 
em pastas. E isso dava muito trabalho para localizar alguma informação, 
principalmente quando as pastas não estavam bem organizadas e 
catalogadas.
Vocêjá presenciou alguma empresa com um caso assim? E 
você, como 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 
seus clientes com a maior eficiência possível e, para isso, um banco de 
dados que ofereça melhores condições é essencial.
Administração do SGBD PostgreSQL
23
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). Ele foi o primeiro a 
receber o Prêmio Turing em 1973.
O prêmio Toring é 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. 
VOCÊ SABIA?
Você sabia que o sistema de passagens aéreas era 
completamente manual? Exatamente! E um simples 
processo de reserva custava entre 90 minutos até 3 horas 
para concluir. 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.
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 e uso dos serviços de banco de dados, cuja empresa 
IBM, por meio de Edgar Frank Codd (que também ganhou o prêmio 
Tuning em 1981), projetou uma nova representação de dados, o Modelo 
de Dados Relacional.
A partir de então, usuários poderiam acessar os bancos de dados 
sem que seja necessário conhecimento técnico e isso permitiu que o uso 
Administração do SGBD PostgreSQL
24
do SGBD com essa estrutura de representação fosse amplamente utilizado 
e diversas empresas ampliaram seus sistemas de armazenamento 
permitindo 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.
No final da década de 80, 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.
Mencionamos há pouco sobre alguns modelos de dados. Você 
notou? Mas você sabe o que é um Modelo de Dados? Modelo de Dados 
é uma forma de representação resultante de uma abstração. Um Modelo 
de Dados é 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
Foi o primeiro a ser estruturado. Esse modelo estrutura-se 
seguindo uma hierarquia de segmentos, isto é, utiliza árvores para a 
representatividade lógica dos dados, na qual os níveis inferiores (também 
chamados de registros-filhos) dependem dos níveis acima (ou registros-
pai) e que estão 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 possui cardinalidade 
1:N, cuja organização ocorre partindo da raiz (o registro mais alto) para os 
registros-filhos da esquerda para a direita. 
Cardinalidade 1:N significa que dentro da representatividade dos 
dados pode haver a ligação de 1 registro para vários (1:N).
Administração do SGBD PostgreSQL
25
Considere como exemplo um departamento de hospital. Então um 
departamento pode ter vários médicos e um médico ter vários pacientes. 
Nesse sentido, ocorrerá algumas inconveniências com os dados: se um 
paciente pertencer a mais de um departamento, os dados (nesse modelo) 
deverão ser replicados, ocasionando a redundância, inconsistência e 
provável perda de informações. Vejamos o esquema na figura 5.
Figura 5 - Modelo Hierárquico. 
Departamento
Médico
Paciente
Fonte: Elaborado pela autora (2021).
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.
Administração do SGBD PostgreSQL
26
O Modelo em Rede é conduzido a fim de minimizar os problemas 
do modelo antecessor, no Modelo Hierárquico, agora os registros-filhos 
podem ligar-se a mais de um registro-pai.
Sendo assim, tais ligações permitem que os dados possam ser 
acessados sem ter de 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.
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 
Calçados
Sandália
Couro
Bota
Fábrico
Fonte: Elaborado pela autora (2021).
Modelo Relacional
O Modelo Relacional é amplamente utilizado por oferecer alto grau 
de independência dos dados e proporcionar uma definição simples e com 
alto desempenho para armazenamento e recuperação de dados. Além 
disso, separa a representação conceitual dos dados do armazenamento 
físico. 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).
Administração do SGBD PostgreSQL
27
Figura 7 - Modelo em Rede
Fábrica
Funcionário
Pertence
Fonte: Elaborado pela autora (2021).
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 linhas 
(uma instância do esquema) que são chamadas de registro (tupla).
Na figura 8 podemos observar uma representação gráfica de 
uma tabela que possui cinco 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 (2021).
Vale considerar que a tabela pode conter milhares de registros 
(linhas) e é na fase inicial, Projeto do Banco de Dados, que os campos 
da tabela são preestabelecidos e cada campo possui sua classificação 
de acordo com o tipo de dado que será armazenado, tais como: texto, 
decimal, data, inteiroetc. 
Administração do SGBD PostgreSQL
28
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. 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.
Modelo Orientado a Objetos
Os Modelos Orientados a Objetos são utilizados para o tratamento 
de objetos complexos (tais como: textos e imagens) e dinâmicos (tais 
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 tratando-se das operações que podem 
ser aplicadas aos objetos.
Vamos considerar como exemplo a mesma fábrica que pode ter 
vários funcioná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.
Figura 9 - Modelo Orientado a Objetos 
Fonte: Elaborado pela autora (2021).
Administração do SGBD PostgreSQL
29
E então? O que achou desse assunto? Mais à frente iremos te 
mostrar na prática! Não é legal? Por enquanto estamos esquecendo 
de falar sobre alguma coisa? Claro! O nosso querido PostgreSQL e sua 
história não poderia ficar de fora. Vamos lá conhecer!
Evolução do PostgreSQL
O PostgreSQL é um SGBD objeto-relacional, desenvolvido 
pelo PostgreSQL Global Development Group, com mais de 30 anos de 
desenvolvimento ativo.
O PostgreQSL é um projeto de código aberto, isto é, de forma 
aberta e pública permite que desenvolvedores manipulem e modifiquem 
suas versões. Para isso, o grupo possui uma equipe de committers (uma 
equipe de 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.
O PostgreSQL admite que as funções definidas pelos 
desenvolvedores também sejam escritas em outras linguagens (tais como: 
PL/pgSQL, PL/Python, PL/Java, PL/Perl); são as 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, que foi 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 sore os releases lançadas do PostgreSQL? 
Então acesse aqui.
Administração do SGBD PostgreSQL
http://pgdocptbr.sourceforge.net/pg80/release.html#RELEASE-8-0
30
Sendo assim, 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.
 • 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 e aprofundamento: Artigo: 
“Uma reflexão sobre banco de dados orientados a objetos” 
(BOSCARIOLI et al., 2006), acessível aqui.
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 pensar em tudo o que vimos para revisar tudo o que 
aprendemos: vimos nesta Unidade o marco histórico para 
a área de bancos de dados. Lembra? Falamos do Modelo 
Hierárquico e agora sabemos que são associações entre 
dois registros. Depois vimos o Modelo em Rede, que é uma 
extensão do Modelo Hierárquico que ganha a possibilidade 
dos registros-filhos se conectarem a vários registros-pai 
e com isso permite que os dados possam ser acessados 
sem ter de 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, que é utilizado para o 
tratamento de objetos complexos e dinâmicos. Também 
conhecemos a evolução de PostgreSQL, passando por 
onde tudo começou.
Administração do SGBD PostgreSQL
https://deinfo.uepg.br/~conged/artigo4.pdf.
31
PostgreSQL e a linguagem SQL ANSI
OBJETIVO:
Se você já chegou até aqui foi porque já viu os conceitos 
e definições de SGBD e conheceu a história e 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 que você conheça a 
linguagem SQL ANSI. Mas não se preocupe, o aprendizado 
é simples e tranquilo de compreensão. Vamos lá?
O SQL (do inglês, Structured Query Language ou Linguagem de 
Consulta Estruturada) foi criado no início dos anos 1970 no laboratório 
da IBM e teve seu nome 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 
toda a documentação.
ACESSE:
Neste link, 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, 
tais 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 
Global Development Group para uma melhor compreensão da linguagem 
e como base introdutória para o PostgreSQL.
Administração do SGBD PostgreSQL
http://pgdocptbr.sourceforge.net/
32
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: especifica a tabela em que os registros serão selecionados.
 • WHERE: especifica 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.
 • 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.
Existem diversas funções SQL, são elas: funções de valores 
simples, funções de grupos de valores, funções que devolvem valores 
de caracteres, funçõesque devolvem valores numéricos, funções para 
manipular datas e funções de conversão. Contudo, separamos as mais 
usuais a fim de minimizar a quantidade de conteúdo apresentado. Haja 
vista que nosso foco é o PostgreSQL, não é mesmo? Mas vale a pena 
você conferir as demais.
Administração do SGBD PostgreSQL
33
O SQL interage com o SGBD para executar várias tarefas e permite 
que todas as transações realizadas no banco de dados possam ser 
intermediadas pelo SGBD utilizando essa linguagem.
Todavia, a linguagem SQL não possui 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, nomes de tabelas e colunas etc.
De acordo com Elmasri e Navathe (2005), a linguagem SQL é uma 
linguagem abrangente por possuir comando para definição de dados, 
consultas e atualizações. 
As empresas desenvolvedoras de Sistemas de Gerenciamento de 
Banco de Dados (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 desvio: while, IF, FOR.
 • Comandos de manipulação de telas e relatórios.
 • Comandos de manipulação de arquivos.
IMPORTANTE:
Apesar da ANSI (American National Standart Institute) 
ter publicado um padrão para a linguagem SQL, outros 
padrões surgiram, tais como: SQL2, SQL3 e o SQL99, e 
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.
Administração do SGBD PostgreSQL
34
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 sincronização 
com a prática. Dessa forma, ao longo do material, veremos as demais 
linguagens com seus respectivos exemplos. Combinado assim?
Data Manipulation Language (DML)
Data Manipulation Language (DML) (do inglês, Linguagem de 
Manipulação de Dados) é 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 possuem 
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, que o usuário 
especifica quais os dados são necessários e como obtê-los.
 • Não procedural (declarativa): o usuário especifica apenas quais os 
dados de interesse. Também são conhecidas na literatura como 
linguagem funcional ou aplicativa. 
O padrão estabelecido pela ANSI 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 no próximo item.
Consultas (INSERT, UPDATE, DELETE e SELECT)
Sabemos que o PostgreSQL nos possibilita gerenciar o banco de 
dados. Contudo, para que possamos realizar um bom gerenciamento, é 
essencial que compreendamos as consultas da linguagem SQL a fim de 
promover a manipulação dos dados. Sendo assim, vejamos:
INSERT
O INSERT é declaração utilizada para inserir registros (também 
conhecidos por tuplas ou linhas) em uma tabela de banco de dados. 
Administração do SGBD PostgreSQL
35
A sintaxe da declaração INSERT dá-se da seguinte forma:
INSERT INTO tabela (coluna1, coluna2, ..., colunaN) VALUES (valor1, 
valor2, ..., valorN);
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.
INSERT INTO tabela_pagamento (nome_produto, data_venda, valor) 
VALUES ('calculadora', '2020-08-05', 180);
Para os casos em que o comando seja para adicionar os valores 
para todas as colunas da tabela existente no banco de dados, os nomes 
das colunas podem não ser especificados. Vejamos:
INSERT INTO tabela_pagamento VALUES ('calculadora', '2020-08-05', 
'180');
Para a inserção correta, é necessário seguir a mesma ordem dos 
valores e das colunas. Também existem formas de inserção avançada, 
chamada MULTIROW INSERT.
UPDATE
O UPDATE é 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:
UPDATE tabela SET coluna1=valor1, coluna2=valor2, ..., colunaN=valorN 
WHERE condição;
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:
Administração do SGBD PostgreSQL
36
UPDATE tabela_pagamento SET nome_produto='calculadora científica', 
data_venda='2019-08-05', valor='350') WHERE ProdutoID=1;
DELETE
O DELETE é 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:
DELETE FROM tabela WHERE condição;
Vamos considerar remoção de todas as linhas da tabela em que o 
nome do produto seja calculadora científica. Vejamos:
DELETE FROM tabela_pagamento WHERE nome_produto='calculadora 
científica';
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:
DELETE FROM tabela_pagamento;
SELECT
O SELECT é 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. 
A sintaxe da declaração SELECT dá-se da seguinte forma:
SELECT coluna1, coluna2, ..., colunaN FROM tabela;
Administração do SGBD PostgreSQL
37
Vamos considerar, como exemplo, a seleção de TODOS os campos 
da tabela. Vejamos:
SELECT * FROM tabela_pagamento;
Para o caso em que desejamos selecionar apenas campos 
específicos da tabela., temos como exemplo:
SELECT data_venda FROM tabela_pagamento;
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 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: Perceba que o que está conectando 
as duas tabelas é a coluna do campo referência.
Quadro 1 – Tabela pagamento/estoque
Tabela pagamento
referência nome_produto valor
202 Calculadora 180
203 Teclado 220
204 Mouse 150
Tabela estoque
referência qtd_entrada qtd_saida
202 30 12
203 20 5
204 8 2
Fonte: Elaborado pela autora (2021).
Administração do SGBD PostgreSQL
38
Nesse caso, vejamos melhor o uso de subconsultas com o exemplo 
a seguir, 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:
DELETE FROM tabela_pagamento WHERE referência IN (SELECT 
referência FROM tabela_debito);
Todas as consultaspodem 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).
Vejamos agora um exemplo de uso de junções de tabelas, 
realizando a junção dos campos qtda_saída e valor das tabelas em que a 
referência seja a mesma. Vejamos:
SELECT qtd_saida, valor 
FROM tabela_pagamento 
INNER JOIN tabela_debito 
ON tabela_pagamento.referencia = tabela_debito.referencia;
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 (2021).
Administração do SGBD PostgreSQL
39
Em que:
 • INNER JOIN: retorna registros que possuem 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
O DDL – Data Definition Language (do inglês, Linguagem de 
Definição de Dados) é uma linguagem do SQL utilizada para manipular 
tabelas e elementos. Neste caso, temos os comandos: 
 • CREATE: criar bancos e tabelas.
 • ALTER: alterar as colunas de uma tabela no banco de dados, por 
exemplo, adicionar uma coluna em uma tabela específica.
 • DROP: utilizado para deletar um registro em uma tabela, uma 
tabela ou um banco de dados.
DCL – Data Control Language
O DCL – Data Control Language (do inglês, Linguagem de Controle 
de Dados) é uma linguagem do SQL utilizada em ambiente multiusuário, ou 
seja, para controlar o acesso aos dados. Neste caso, temos os comandos: 
 • GRANT: utilizado para autorizar usuários.
 • REVOKE: utilizado para bloquear usuários.
Veremos os comandos com exemplos na Unidade II em 
Gerenciamento de usuários.
Administração do SGBD PostgreSQL
40
DTL – Data Transaction Language
O DTL – Data Transaction Language (do inglês, Linguagem de 
Transação de Dados) é uma linguagem do SQL utilizada para gerenciar as 
transações que ocorrem dentro do banco de dados. Neste caso, possui 
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 colocar em 
prática. Ele está acessível pelo link.
RESUMINDO:
Olá! Gostou de saber sobre a linguagem SQL ANSI e 
suas declarações? Lembra de tudo o que vimos? Vamos 
relembrar para reformar 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 da ANSI 
ter publicado um padrão para a linguagem SQL, outros 
padrões surgiram, tais como: SQL2, SQL3 e o SQL99 e, 
mesmo assim, 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.
Administração do SGBD PostgreSQL
www.w3schools.com/sql/.
41
Instalação do PostgreSQL
OBJETIVO:
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? Neste capítulo, vamos aprender 
como realizar a instalação no ambiente Windows e Linux. 
Vamos ver?
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 clique aqui.
No site, é 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, Windows x86-32. 
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, 
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). 
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. 
Administração do SGBD PostgreSQL
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
42
Quanto aos requisitos de hardware, é necessário seguir um padrão 
mínimo para a 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. 
Quanto aos pré-requisitos de software, para que o Sistema 
Operacional permita a instalação, é necessário possuir 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 e 
/temp para o sistema Mac OS X.
O nome desse arquivo de log é install-postgresql.log e nele 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:
1. Desinstalar o PostgreSQL e excluir o diretório de dados na pasta 
de instalação (aquele %TEMP% que te falamos anteriormente).
2. Criar um usuário no Windows com o nome postgres e adicioná-
lo ao grupo de administradores.
3. Confirmar se a desinstalação deu certo: 
 • abrir o cmd do Windows (pressionar a tecla Windows e digitar 
cmd). Então, ao aparecer a imagem prompt de comando, clique 
no botão direito e executar como administrador (ver Figura 11).
 • 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 11). Isso significa que foi sucesso.
Administração do SGBD PostgreSQL
43
Figura 11 - Imagem ao localizar o Prompt de Comando
Fonte: Elaborado pela autora (2021).
Figura 12 - Imagem do comando para desinstalar o PostgreSQL 
Fonte: Elaborado pela autora (2021).
ACESSE:
Ainda, caso você tenha executado essa etapa e revisado 
o arquivo de log, mas ainda não conseguiu solucionar o 
problema,o grupo PostgreSQL indica que você acesse os 
fóruns do EnterpriseDB acessando aqui.
Administração do SGBD PostgreSQL
www.enterprisedb.com/.
44
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, então é porque já verificou se o 
Sistema Operacional está atualizado e não há o PostgreSQL instalado. 
Sendo assim, vamos às etapas de instalação:
1. Após abrir o Prompt de Comando como administrador (mostramos 
como fazer isso na figura 13), então digite o comando: net user /
add postgres senha. Fazendo isso, você irá criar um usuário com 
o nome postgres e senha.
Substitua a palavra senha por sua senha ou uma senha padrão. 
Neste exemplo a senha foi teste.
Figura 13 - Imagem do comando de instalação do PostgreSQL 
Fonte: Elaborado pela autora (2021).
2. Adicionar o usuário e senha criados para o PostgreSQL ao grupo 
de administradores do Windows (ver figura 14) com o comando: 
net localgroup administradores postgres /add. 
Figura 14 - Comando para adicionar o usuário ao grupo de administradores do Windows
Fonte: Elaborado pela autora (2021).
3. Após usuário criado com suas devidas permissões, abrir um 
Prompt de Comando para o usuário postgres (figura 15) com o 
comando: runas /user:postgres cmd.exe
Administração do SGBD PostgreSQL
45
Figura 15 - Comando para abrir um Prompt de Comando com o nome do usuário criado 
Fonte: Elaborado pela autora (2021).
Nota: Nesta etapa, será solicitada a senha que você criou para 
o usuário. Está lembrado? Ao digitar a senha, a tela continuará sem 
apresentar nenhum símbolo, não se preocupe! Conclua a digitação e 
aperte ENTER que a nova janela irá aparecer. 
4. No novo terminal, você precisará entrar na pasta do instalador. 
Para isso, digite cd e o endereço da pasta em que se encontra o 
instalador (figura 16).
Figura 16 - Comando para entrar na pasta do instalador do PostgreSQL 
Fonte: Elaborado pela autora (2021).
Perceba que o meu endereço foi C:\Users\cfsar\Camila\postgres. 
Mas o seu pode mudar. Verifique corretamente onde está o instalador que 
você realizou o download do site do PostgreSQL e copie o endereço da 
pasta. 
Administração do SGBD PostgreSQL
46
5. Agora estamos na etapa de execução do instalador. Sendo assim, 
digite o nome do arquivo no Prompt de Comando conforme a 
figura 17. Então o guia gráfico de instalação do PostgreSQL será 
aberto (ver figura 18). 
Figura 17 - Comando para executar o instalador do PostgreSQL 
Fonte: Elaborado pela autora (2021).
Verifique o nome do arquivo corretamente, pois irá mudar conforme 
a versão que você faça o download.
Figura 18 - Imagem do guia de instalação do PostgreSQL
Fonte: Elaborado pela autora (2021).
6. Agora, a partir desse momento, você irá seguir os passos de 
instalação padrão do guia, clicando em Next>. Deixe todos os 
componentes selecionados conforme figura 19.
Administração do SGBD PostgreSQL
47
Figura 19 - Seleção dos componentes de instalação do PostgreSQL 
Fonte: Elaborado pela autora (2021).
7. Não há necessidade de modificar os caminhos dos arquivos 
indicados pelo guia (ver figura 20), sugerimos que deixe o padrão.
Figura 20 - Seleção do diretório do PostgreSQL. 
Fonte: Elaborado pela autora (2021).
Administração do SGBD PostgreSQL
48
8. Você também pode se deparar com a solicitação de usuário 
e senha (ver figura 21), mas é a mesma que você criou. Está 
lembrado(a)?
Figura 21 - Imagem do processo de inserção da senha na instalação do PostgreSQL 
9. O número da porta já vem 5432 por padrão, caso não apareça, 
você pode digitar esse mesmo número.
Figura 22 - Inserção do número da porta do PostgreSQL 
Fonte: Elaborado pela autora (2021).
Administração do SGBD PostgreSQL
49
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 e 
pronto! Para verificar se tudo foi instalado corretamente, você 
poderá abrir o Gerenciador de Tarefas (apertando a tecla ctrl + 
alt+ del) e ir na aba Serviços. Lá, você poderá visualizar o serviço 
do PostgreSQL instalado como mostrado na figura 23.
Figura 23 - Tela de confirmação da instalação do PostgreSQL 
Fonte: Elaborado pela autora (2021).
Instalação no Linux
Olá! Se está aqui, então será 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 possui suporte até o final de 2024. Vamos à prática!
Administração do SGBD PostgreSQL
50
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 24.
Figura 24 - Instalação do vim PostgreSQL 
Fonte: Elaborado pela autora (2021).
2. Depois, iremos baixar os repositórios (figura 25) 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 25 - Tela da etapa de baixar os repositórios 
Fonte: Elaborado pela autora (2021).
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.
Administração do SGBD PostgreSQL
51
Figura 26 - Tela instalação da versão 12 do PostgreSQL 
Fonte: Elaborado pela autora (2021).
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 o status de ativo (ver 
figura 27).
Figura 27 - Tela de confirmação de instalação
Fonte: Elaborado pela autora (2021).
Instalação no Mac OS
A instalação do PostgreSQL no Mac OS X difere um pouco das 
demais plataformas, pois, o instalador do Mac OS X é um App Bundle, 
que é um conjunto de arquivos e diretórios em um formato prescrito. 
Administração do SGBD PostgreSQL
52
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 e aprofundamento: Artigo: 
“The design of POSTGRES” (STONEBRAKER; ROWE, 1986), 
acessível aqui.
RESUMINDO:
Chegamos ao final da unidade. Gostou de ver todo o processo 
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(a) 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 diversões sistemas operacionais, são eles: 
Linux x86-64, Linux x86-32, Mac OS X, Windows x86-64, 
Windows x86-32. Vimos também que o PostgreSQL requer 
uma configuração mínima de hardware para a instalação e 
execução do PostgreSQL que é: 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.
Administração do SGBD PostgreSQL
https://dl.acm.org/doi/abs/10.1145/16856.16888
53
REFERÊNCIAS
BECK, R. O.; LUZ, F. D. Normalização de dados: um desafio para 
o projetista de banco de dados. 1. ed. RE3C – Revista Eletrônica 
Científica de Ciência da Computação, v. 5, n.1, 2010. Disponível em: 
https://bit.ly/3DthBHe.Acesso em: 20 jul. 2020. 
CARVALHO, V. PostgreSQL: banco de dados para aplicações web 
modernas. São Paulo: Editora Casa do Código, 2017.
FRANCO, G.; VALE, L. (s.d.). A importância e influência do setor de 
compras nas organizações. TecHoje. Disponível em: http://bit.ly/35gA60Q. 
Acesso em: 4 jul. 2017.
HASS, R. How Much maintenance_work_mem Do I Need?. 2019. 
Disponível em: https://bit.ly/3GhiVid. Acesso em: 22 ago. 2020.
Administração do SGBD PostgreSQL
	Conceitos e competências gerais de um banco de dados
	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 
	Principais funções de 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
	Data Manipulation Language (DML)
	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