Álgebra relacional

Aprenda álgebra relacional do zero e entenda por que as consultas a bancos de dados são escritas do jeito que são. Vamos tratar de conjuntos, relações, chaves, seleção, projeção, junções, nulos, divisão, agregação, otimização, cálculo relacional e normalização, sempre com tabelas desenhadas.

0 (0)

1 Alunos

Iniciante

Álgebra relacional

29h 55m de conteúdo

Certificado de conclusão

Acesso em todas as plataformas

Existe uma pergunta que quase ninguém faz, e é justamente ela que abre este livro: por que a gente escreve consultas a um banco de dados do jeito que escreve?

Se você nunca ouviu falar em banco de dados, tudo bem. Este livro foi escrito exatamente para você. Vamos combinar desde já uma definição bem simples, que vai crescer aos poucos ao longo dos capítulos: um banco de dados é um lugar onde uma empresa, um site ou um aplicativo guarda informações de forma organizada, para conseguir encontrá-las de novo depois. O cadastro de alunos de uma escola, a lista de produtos de uma loja, o histórico de mensagens de um aplicativo de conversa. Tudo isso mora em um banco de dados.

E a maior parte desses bancos de dados guarda as informações em tabelas. Uma tabela é aquilo que você já imagina: linhas e colunas, como uma planilha. Uma linha para cada aluno, uma coluna para o nome, outra para a cidade. Nada mais misterioso do que isso.

Agora vem a parte interessante. Para perguntar alguma coisa a essas tabelas, existe uma linguagem chamada SQL. Quem trabalha com programação escreve SQL o dia inteiro, muitas vezes sem parar para pensar de onde aquilo veio. Escreve um pedido curto, em comandos que parecem inglês, o banco responde, e a vida segue.

Só que o SQL não caiu do céu. Ele é a tradução, para uma forma parecida com o inglês, de uma matemática que veio antes. Essa matemática se chama álgebra relacional, e é sobre ela que este livro fala.

Para quem é este livro

Este livro é para quem nunca programou.

É também para quem olha para uma fórmula com letra grega e sente o corpo travar. Se a matemática da escola ficou para trás, ou se ela nunca fez muito sentido para começo de conversa, você está no lugar certo. Não vamos exigir nada que você precise ter aprendido antes, e não vai ter nenhuma conta além de contar linhas e, às vezes, multiplicar tamanhos de tabela.

Você não precisa saber SQL. Este livro não tem nenhuma linha de código, nem de SQL nem de qualquer outra linguagem. Quando for a hora de escrever uma pergunta do jeito que um banco de dados recebe, ela vai aparecer em português estruturado: comandos curtos, sempre os mesmos, em ordem fixa, com palavras em português. O capítulo 1 apresenta esse jeito de escrever com calma.

Você não precisa ter um banco de dados instalado no computador. Nada neste livro precisa ser executado em uma máquina para funcionar. Tudo é desenhado no papel, com tabelinhas pequenas, de poucas linhas, que cabem inteiras na sua cabeça.

E você não precisa ter lido nenhum outro livro antes deste.

O que você vai conseguir fazer no final

A promessa é concreta e dá para cobrar.

No final deste livro você vai olhar para uma expressão da álgebra relacional, dessas cheias de símbolos, e conseguir dizer em português o que ela pede. Vai olhar para uma pergunta escrita em português estruturado e conseguir escrever a expressão equivalente, e também fazer o caminho de volta. E, o mais útil de tudo no dia a dia, vai conseguir prever qual será o resultado de uma consulta antes de executá-la, incluindo quantas linhas ela deve devolver e quais colunas devem aparecer.

Esse último item é o que separa quem escreve consultas por tentativa e erro de quem escreve consultas com confiança. Quando você entende a matemática por trás, o banco de dados para de ser uma caixa que às vezes devolve o que você queria e às vezes devolve uma surpresa.

Como este livro conversa com o material de banco de dados

Existe um material separado, sobre banco de dados com PostgreSQL, que é a parte prática desta história. Lá você instala o banco, cria tabelas de verdade, escreve consultas de verdade em SQL e vê tudo funcionando na tela.

Aqui a ênfase é outra. Aqui a gente entende o porquê.

Os dois se completam, e a ordem não importa muito. Se você ler este primeiro, vai chegar ao PostgreSQL já sabendo o que cada comando está realmente fazendo por baixo, porque o português estruturado deste livro usa as mesmas ideias do SQL, só que com palavras em português. Se você ler o outro primeiro, vai voltar para cá e finalmente entender por que foi preciso pedir "sem repetir", por que a ligação entre duas tabelas trouxe linhas repetidas e por que aquela comparação com valor nulo não funcionou.

Nenhum dos dois depende do outro. Este livro se sustenta sozinho.

Como o conteúdo é apresentado

Do capítulo 5 em diante, toda operação da álgebra relacional aparece aqui em quatro passos, sempre na mesma ordem. Os capítulos 2, 3 e 4 vêm antes e preparam o terreno, por isso ainda não seguem esse formato.

Primeiro, a pergunta em português. Alguma coisa do tipo "quais alunos moram em Piracicaba?". Uma pergunta que qualquer pessoa entende, sem símbolo nenhum.

Segundo, a tabela desenhada. Você vê a tabela de entrada e a tabela de saída, uma embaixo da outra, e enxerga com os olhos o que a operação fez. Linhas que sumiram, colunas que ficaram, valores que mudaram de lugar.

Terceiro, a notação formal. Só depois que a ideia já está clara é que o símbolo entra. E quando ele entra, vem com o nome escrito por extenso e com a leitura em voz alta, para você não travar. Não existe símbolo neste livro que apareça sem apresentação.

Quarto, a mesma pergunta em português estruturado. É o jeito de escrever a pergunta do mesmo modo que um banco de dados de verdade recebe: comandos curtos, sempre os mesmos, em ordem fixa. A linguagem real que os bancos usam é o SQL, escrito em inglês, e o material prático de PostgreSQL ensina essa linguagem. Aqui usamos as mesmas ideias, com palavras em português, colocadas ao lado da notação para você ver que são a mesma coisa dita de dois jeitos.

Algumas operações pedem um caminho um pouco diferente, e quando isso acontece a abertura do capítulo avisa logo de cara.

Não há demonstração formal em lugar nenhum deste livro. Não há exercício de prova. Isso é matéria de curso de graduação e não ajuda em nada quem está começando.

Um aviso sobre o exemplo que atravessa o livro

Para você não precisar aprender um cenário novo a cada capítulo, quase tudo aqui gira em torno da mesma escolinha de cursos online, com quatro tabelas pequenas: alunos, cursos, matrículas e professores. Elas aparecem no capítulo 1 e continuam sendo a base até o capítulo 20.

São poucas linhas de propósito. Quatro alunos, três cursos. Com tabelas desse tamanho, você consegue conferir cada resultado no dedo e nunca precisa acreditar em mim por fé.

Duas coisas mudam no caminho, e é melhor você saber desde já. A partir do capítulo 12, a tabela de matrículas ganha uma quinta linha: o Bruno se matricula em Banco de dados e ainda não tem nota. Essa linha fica até o fim do livro. E, quando um assunto exigir alguma coisa que as quatro tabelas não têm, como outra coluna, outra pessoa ou as mesmas tabelas com muito mais linhas para falar de velocidade, o texto avisa sempre do mesmo jeito: "Para este exemplo, imagine que…". Tudo o que vier depois dessa frase é uma variação de mentirinha, que vale só para aquele exemplo.

Como percorrer o material

Leia na ordem. Este livro é um daqueles que constrói cada capítulo em cima do anterior, e pular vai custar caro lá na frente. Os capítulos 2, 3 e 4 são a fundação: conjuntos, relações e chaves. Do capítulo 5 em diante começam as operações, cada capítulo respondendo a um tipo de pergunta diferente. O capítulo 20 aponta para onde ir depois, e o capítulo 21 fecha o livro com um apêndice de referência rápida, para consultar a qualquer momento, e com a conclusão.

Quando aparecer uma tabela desenhada, resista à vontade de passar por cima. Cubra o resultado com a mão, tente prever o que vai sair, e só depois confira. É esse exercício, repetido muitas vezes ao longo do livro, que constrói a intuição que a promessa lá em cima está prometendo.

Esse treino também tem lugar próprio. Depois de cada sessão vem uma aula de exercícios, com tudo para resolver no papel, usando as mesmas tabelinhas, e com as respostas no fim, cada uma com a conta ou o raciocínio que leva até ela. Faça todos antes de olhar as respostas: errar ali, com calma, é muito mais barato do que errar numa consulta de verdade.

E todo capítulo termina com um quiz de dez perguntas, cada uma com quatro alternativas e só uma certa. Ele não serve para dar nota. Serve para você descobrir, antes de seguir, se alguma ideia do capítulo ficou mal amarrada. Se errar uma pergunta, volte à aula daquele assunto antes de começar o próximo capítulo.

Vamos começar entendendo por que alguém, um dia, resolveu inventar uma matemática só para tabelas.