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

Descubra o Jitsi: a solução completa para videoconferências

Logo do Jitsi Introdução Durante o momento que vivemos, basicamente todas nossas interações se tornaram virtuais, com o home office sendo a alternativa primaria para muitas empresas, tivemos um súbito

Desenvolvimento

Entenda o Middleware: A espinha dorsal da conectividade digital

No cenário tecnológico atual, a conectividade é a espinha dorsal que sustenta nossa vida digital. Imagine um ecossistema complexo de aplicativos, serviços e dispositivos, todos operando em conjunto perfeito. Essa

Containers

Como Resolver Recursos Presos em ‘Terminating’ no Kubernetes

  Gerenciar clusters Kubernetes é sempre um trabalho árduo, e dentre os processos de gestão é comum precisar excluir objetos ou recursos que não são mais necessários. Quem faz esta