Aprenda a usar a base de dados Pagila para testes no PostgreSQL

Aprenda a usar a base de dados Pagila para testes no PostgreSQL

Quando comecei aprender sobre banco de dados, senti falta de bases de dados prontas para fins de teste com o PostgreSQL. Eu queria aplicar conceitos aprendidos sobre SELECT, INSERT, UPDATE e DELETE em uma base pronta para aprofundar meu aprendizagem mas não tinha uma base funcional. Depois de muita procura encontrei a base de dados PAGILA, uma massa de dados voltada para testes e desenvolvimento.

Neste post, você irá aprender a usar esta base de dados Pagila para que possa aplicar seus próprios testes e alavancar seu aprendizado.

Pagila é uma base de dados de exemplo para PostgreSQL pronta para uso e é baseada na base Sakila feita para mySQL

Este post se baseia na versão 10.3 do PostgreSQL, mas os comandos apresentados servirão em qualquer versão superior à 9.1.

Ative a base de dados Pagila

Com usuário root, execute os comandos a seguir:

02root@localhost:~ bash apt.postgresql.org.sh
03This script will enable the PostgreSQL APT repository on apt.postgresql.org on
04your system. The distribution codename used will be stretch-pgdg.</code>
05 
06Press Enter to continue, or Ctrl-C to abort.
07#Pressione enter
08 
09root@localhost:~ apt install postgresql -y
10root@localhost:~ systemctl enable postgresql

Agora baixe o utilitário unzip, logue no usuário postgres e crie a base de dados:

1root@localhost:~$ apt install unzip
2root@localhost:~$ su - postgres
4postgres@localhost:~$ unzip pagila-0.10.1.zip
5postgres@localhost:~$ psql -c 'CREATE DATABASE PAGILA;'
6postgres@localhost:~$ psql -d pagila -f pagila-0.10.1/pagila-schema.sql
7postgres@localhost:~$ psql -d pagila -f psql -d pagila -f pagila-0.10.1/pagila-data.sql
8#Observação: Os arquivos pagila-data.sql e pagila-insert-data.sql fazem a mesma coisa, porém de formas diferentes. O primeiro insere dados através do comando COPY, e o seguinte, através de simples INSERTs.

A partir deste ponto, temos uma base de dados completamente funcional.

Alguns comandos básicos

A base de dados Pagila consiste na modelagem de um schema para uma locadora de filmes, à estilo Blockbuster. Nele temos as tabelas atores (actors), filmes(films), tabelas de relacionamento entre os mesmos, além de um inventário geral que conecta filmes, lojas e aluguéis.

Para listar as tabelas, logue no banco de dados pagila e execute o comando \dt.

1postgres@localhost:~$ psql -d pagila
2pagila=# \dt

Para selecionar o ator que mais fez filmes, podemos executar a seguinte query:

01pagila=#
02#Copie e cole a seguinte query:
03SELECT first_name, last_name, count(*) films
04FROM actor AS a
05JOIN film_actor AS fa USING (actor_id)
06GROUP BY actor_id, first_name, last_name
07ORDER BY films DESC
08LIMIT 1;
09#O resultado será:
10first_name | last_name | films
11------------+-----------+-------
12GINA       | DEGENERES |    42

No post a seguir, vamos aprender como usar o pgAdmin4, uma ferramenta web para consultas no PostgreSQL através do Docker, conectando-se ao bando de dados Pagila.

Anterior Transformação Digital em Cooperativa de Crédito com Plataforma de Ensino a Distância
Próxima Novo curso DevOps: Práticas de Continuos Monitoring na 4Linux

About author

Arlindo Neto
Arlindo Neto 7 posts

Arlindo Neto é administrador de banco de dados apaixonado por PostgreSQL. Cursa Ciência da Computação. Atua com foco em banco de dados open-source, possuindo 3 anos de experiência profissional em análise e engenharia de dados. Acumula experiência em projetos envolvendo PostgreSQL, MariaDB, MySQL e MongoDB. No momento vem atuando com Python, com ênfase em aplicações para Big Data. Possui expertise como professor, desenvolvendo e aplicando cursos sobre Linux e tecnologias Open Source, detém certificação EnterpriseDB PostgreSQL 9.6

View all posts by this author →

Você pode gostar também

Infraestrutura TI

Entenda o que é e como funciona uma Máquina Virtual

O que é uma Máquina Virtual? Uma máquina virtual (VM) é um ambiente virtual que funciona como uma simulação de um computador, com sua própria CPU, memória, interface de rede

DevOps

Descubra como o Ansible e o IaC podem revolucionar sua infraestrutura de TI

O termo IaC – Infrastructure as Code – dá nome aos processos de provisionamento de infraestrutura tecnológica (principalmente em Cloud Computing) através de códigos, viabilizando o versionamento e a colaboração

Infraestrutura TI

Primeiros passos com o Vault da HashiCorp

O Vault é uma ferramenta de código aberto desenvolvida pela HashiCorp e projetada para ajudar na gestão de segredos e proteção de informações sensíveis em ambientes de computação modernos.  Ele