Aulas 12, 13 e 14 – Introdução a bancos de dados – O modelo relacional – Jurimetria e Análise Estatística do Direito na Prática

Leitura e links para a aula:

Dados dos alunos em CSV e SQL (Postgres) no Github

Bancos de Dados Relacionais

Bancos de dados (Sistemas de Gerenciamento de Bancos de Dados – SGBDs) são softwares especializados no armazenamento de dados. Nesta aula iremos transportar os dados dos alunos em CSV para um tipo específico de banco de dados que obedece ao modelo de dados relacional.

PostgreSQL é um SGBD Livre (Free Software – Open Source) e será usado em nossos exemplos.

Visão intuitiva de bancos de dados

Um banco de dados bem construído deve garantir a consistência e a integridade dos dados. Estes termos são bastante amplos e sua definição é objeto de discussões teóricas que fogem ao escopo deste texto introdutório.

Ao invés de oferecermos definições formais, optamos por apresentar uma visão intuitiva do que sejam essas propriedades. Em seguida, usaremos os exemplos de um diagrama de banco de dados. 

Imaginemos um banco de dados como um quarto que contém caixas que guardam diversos objetos. Este banco é um banco bem simples, constituído por apenas uma caixa. Chamamos estes quartos de bases de dados, e cada uma dessas caixas de tabelas. Bancos de dados em produção contém dezenas ou centenas dessas caixas.

Cada caixa possui um nome que a identifica de modo único. Imaginemos tabém que cada caixa possui um formato (estrutura) diferente, destinada a armazenar objetos (registros) diferentes.

Uma base de dados pode ser pensada como um quarto que contém diversos tipos de caixas. (Designed by Vectorpocket)

Tabelas e Tipos de Dados

Diagrama de Entidades e Relacionamentos do banco de dados de alunos.

Chaves primárias e estrangeiras

Um registro em um banco de dados deve ser sempre recuperável. Ou seja, dada a inserção de um registro no banco, devo ser capaz de lê-lo novamente de modo único. Chamamos à coluna ou ao conjunto de colunas que identifica cada registro de modo único de chave primária (Primary Key – PK).

Uma tabela pode se relacionar com outras embutindo a chave primária da tabela alvo nela mesma. A chave primária de outra tabela se chama chave estrangeira (Foreign Key – FK).