PAGILA – Base de dados educativa para PostgreSQL

PAGILA – Base de dados educativa para 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:

root@localhost:~ wget https://anonscm.debian.org/cgit/pkg-postgresql/postgresql-common.git/plain/pgdg/apt.postgresql.org.sh
root@localhost:~ bash apt.postgresql.org.sh
This script will enable the PostgreSQL APT repository on apt.postgresql.org on
your system. The distribution codename used will be stretch-pgdg.</code>

Press Enter to continue, or Ctrl-C to abort.
#Pressione enter

root@localhost:~ apt install postgresql -y
root@localhost:~ systemctl enable postgresql

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

root@localhost:~$ apt install unzip
root@localhost:~$ su - postgres
postgres@localhost:~$ wget http://pgfoundry.org/frs/download.php/1719/pagila-0.10.1.zip
postgres@localhost:~$ unzip pagila-0.10.1.zip
postgres@localhost:~$ psql -c 'CREATE DATABASE PAGILA;'
postgres@localhost:~$ psql -d pagila -f pagila-0.10.1/pagila-schema.sql
postgres@localhost:~$ psql -d pagila -f psql -d pagila -f pagila-0.10.1/pagila-data.sql
#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.

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

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

pagila=#
#Copie e cole a seguinte query:
SELECT first_name, last_name, count(*) films
FROM actor AS a
JOIN film_actor AS fa USING (actor_id)
GROUP BY actor_id, first_name, last_name
ORDER BY films DESC
LIMIT 1;
#O resultado será:
first_name | last_name | films
------------+-----------+-------
GINA       | 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 Migração e Atualização do Moodle para o maior Sistema de Cooperativas de Crédito Rural Solidário do Brasil.
Próxima 4Linux inova mais uma vez e lança curso de Continuos Monitoring DEVOPS.

About author

Arlindo Neto
Arlindo Neto 3 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

MongoDB Aggregation

Descubra como processar documentos distintos agrupados em uma única saída para facilitar a geração de resultados e performance quando preciso efetuar buscas em banco de dados MongoDB A seguir explicarei

Infraestrutura

Instalação de uma Wiki em ambiente corporativo

Em ambientes corporativos, onde vários projetos são elaborados, algumas informações são muito importantes e muito específicas aos diretamente envolvidos, como configurações de ambiente e opções dos parâmetros. Neste contexto, a

Infraestrutura

Subutai: Uma nova maneira de pensar sobre nuvens

A famosa “Cloud Computing”, a ideia de que todos os tipos de tecnologias podem ser entregues totalmente pela Internet está crescendo cada vez mais e mudando tudo! Isso afeta nossas