CodeGym /Cursos /SQL SELF /Introdução aos tipos de dados no PostgreSQL

Introdução aos tipos de dados no PostgreSQL

SQL SELF
Nível 15, Lição 0
Disponível

Essa é aquela aula que até dava pra ser a primeira do nosso curso. Mas aí tuas primeiras tarefas e aulas iam ser bem chatinhas. Se você resolvesse ser pedreiro por um dia, o que ia preferir fazer primeiro: estudar tipos e formatos de tijolo ou pilotar um guindaste de torre por 30 minutos? Pois é, né? :)

Aluno não é um vaso pra encher, é uma tocha pra acender (e sem queimar, hein)! Eu tento não despejar tudo que sei, mas fazer de um jeito que fique massa pra você. E agora é a hora perfeita pra começar a conhecer os tipos de dados.

Tipo de dado no PostgreSQL é basicamente dizer que tipo de informação vai ficar numa coluna da tabela. Tipo, números, texto ou datas. É tipo escolher uma caixa pra guardar as coisas: pequena pra miudeza, grandona pra sapato, transparente pra linha, pra já sacar o que tem dentro.

Exemplo:

  • Se você quer guardar a idade de uma pessoa, vai de tipo numérico.
  • Se precisa salvar o nome, vai de tipo texto.
  • E pra marcar a data de cadastro, faz sentido usar tipo de dado de data.

Pra que servem os tipos de dados?

Os tipos de dados ajudam a:

  1. Restringir o que pode ser inserido. Por exemplo, não dá pra colocar texto onde espera um número.
  2. Organizar os dados. Sabendo certinho o que tem em cada coluna, fica mais fácil montar query e analisar info.
  3. Economizar recursos. Usando o tipo certo, você gasta menos memória.
  4. Manter a precisão. Tipo, cálculos financeiros precisam de número com vírgula fixa.

Exemplo pra inspirar

Imagina uma tabela pra guardar info dos estudantes:

id name age enrollment_date
1 Otto Mars 22 2023-01-15
2 Anna Song 19 2023-02-10

Aqui id é um identificador único (número), name é texto, age é o número da idade, e enrollment_date é a data de matrícula do estudante. Cada um desses dados tem um tipo diferente, porque cada um descreve um aspecto diferente do objeto.

Classificação dos tipos de dados no PostgreSQL

O PostgreSQL é super flexível pra lidar com tipos de dados. Olha só uma classificação rapidinha.

Categorias principais de tipos de dados:

  1. Tipos numéricos

    • Pra guardar números inteiros (tipo quantidade, id) e números com parte decimal (tipo grana).
    • Exemplos: INTEGER, NUMERIC, FLOAT.
  2. Tipos de texto

    • Pra guardar textos e strings (tipo nomes, endereços).
    • Exemplos: CHAR, VARCHAR, TEXT.
  3. Tipo lógico

    • Pra guardar valores lógicos TRUE (verdadeiro) ou FALSE (falso).
    • Exemplo: BOOLEAN.
  4. Tipos pra datas e horários

    • Pra guardar datas, horários ou os dois juntos.
    • Exemplos: DATE, TIME, TIMESTAMP.
  5. Tipos especiais

    • Identificadores únicos, objetos JSON, arrays e muito mais.
    • Exemplos: UUID, JSONB, ARRAY.

Características dos tipos de dados no PostgreSQL

O PostgreSQL tem uma variedade gigante de tipos nativos e ainda deixa você criar tipos de dados customizados (personalizados). Isso deixa o banco super poderoso pra sistemas complexos, onde os dados precisam de requisitos bem específicos.

Curioso que no PostgreSQL dá até pra guardar dados geográficos ou fazer query tipo "Acha um café num raio de 500 metros de mim". Pra isso, rolam tipos de dados especiais.

O que muda ao declarar tipos de dados explicitamente?

Às vezes parece que seria mais fácil deixar todas as colunas como texto — já que texto guarda tudo. Mas isso é má prática! Declarar o tipo certo permite:

Facilitar as queries. Se o PostgreSQL sabe que a coluna só tem número, ele faz contas mais rápido, tipo SUM().

Evitar erro bobo. Imagina que você salva "trinta e dois" em vez de 32 na coluna de idade. Achar esse erro depois é osso.

2
Tarefa
SQL SELF, nível 15, lição 0
Bloqueado
Subconsulta em `WHERE` com exclusão de registros
Subconsulta em `WHERE` com exclusão de registros
2
Tarefa
SQL SELF, nível 15, lição 0
Bloqueado
Subconsulta no `FROM` com expressão aritmética
Subconsulta no `FROM` com expressão aritmética
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION