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.
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.
Tabelas e Tipos de Dados
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).