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:
02 | root@localhost:~ bash apt.postgresql.org.sh |
03 | This script will enable the PostgreSQL APT repository on apt.postgresql.org on |
04 | your system. The distribution codename used will be stretch-pgdg.</code> |
06 | Press Enter to continue , or Ctrl-C to abort. |
09 | root@localhost:~ apt install postgresql -y |
10 | root@localhost:~ systemctl enable postgresql |
Agora baixe o utilitário unzip, logue no usuário postgres e crie a base de dados:
1 | root@localhost:~$ apt install unzip |
2 | root@localhost:~$ su - postgres |
4 | postgres@localhost:~$ unzip pagila-0.10.1.zip |
5 | postgres@localhost:~$ psql -c 'CREATE DATABASE PAGILA;' |
6 | postgres@localhost:~$ psql -d pagila -f pagila-0.10.1/pagila-schema.sql |
7 | postgres@localhost:~$ psql -d pagila -f psql -d pagila -f pagila-0.10.1/pagila-data.sql |
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.
1 | postgres@localhost:~$ psql -d pagila |
Para selecionar o ator que mais fez filmes, podemos executar a seguinte query:
03 | SELECT first_name, last_name, count(*) films |
05 | JOIN film_actor AS fa USING (actor_id) |
06 | GROUP BY actor_id, first_name, last_name |
10 | first_name | last_name | films |
11 | ------------+-----------+------- |
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.