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

Você pode gostar também

Infraestrutura 0 Comentários

Backup PITR centralizado com Barman

O backup PITR(Point-In-Time-Recovery) que é uma ferramenta que permite um arquivamento contínuo das transações ocorridas no banco, para que seja possível a recuperação de qualquer posição dos dados desde o

Infraestrutura 3 Comentários

Por que usar firewall pfSense?

Entre as soluções opensource, pfSense é a mais popular do mundo, devido a sua robustez, gestão simplificada e uma grande lista de recursos. O pfSense é a solução mais adequada

Infraestrutura 1Comments

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

0 Comentários

Ainda não há comentários!

Você pode ser o primeiro a comentar este post!

Deixe uma resposta