CodeGym /Corsi /SQL SELF /Introduzione ai tipi di dati in PostgreSQL

Introduzione ai tipi di dati in PostgreSQL

SQL SELF
Livello 15 , Lezione 0
Disponibile

Questa è proprio la lezione con cui si poteva iniziare il nostro corso. Ma allora i tuoi primi esercizi e lezioni sarebbero stati davvero noiosi. Se decidessi di fare il muratore per un giorno, da dove vorresti cominciare: studiare i tipi e le forme dei mattoni o guidare una gru da cantiere per 30 minuti? Ecco, appunto :)

Lo studente non è un vaso da riempire, ma una torcia da accendere (e senza bruciarla)! Cerco di non raccontarti tutto quello che so, ma di farlo in modo che sia interessante. E proprio ora è il momento giusto per iniziare a conoscere i tipi di dati.

Un tipo di dati in PostgreSQL è un'indicazione di che tipo di informazione verrà salvata in una certa colonna della tabella. Per esempio, numeri, testo o date. È un po' come scegliere una scatola per conservare qualcosa: piccola per le cose minuscole, grande per le scarpe, trasparente per i fili così capisci subito cosa c'è dentro.

Esempio:

  • Se vuoi salvare l'età di una persona, ti serve un tipo di dato numerico.
  • Se devi salvare un nome, ti servono tipi di dati testuali.
  • E per segnare la data di iscrizione, ha senso usare un tipo di dato data.

Perché servono i tipi di dati?

I tipi di dati aiutano a:

  1. Limitare le informazioni inserite. Per esempio, non puoi inserire testo dove ci si aspetta un numero.
  2. Strutturare i dati. Sapendo esattamente cosa c'è in ogni colonna, è più facile scrivere query e analizzare le informazioni.
  3. Risparmiare risorse. Usando i tipi giusti, riduci il consumo di memoria.
  4. Mantenere la precisione. Ad esempio, i calcoli finanziari richiedono numeri con la virgola fissa.

Esempio per ispirarti

Immagina una tabella per salvare informazioni sugli studenti:

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

Qui id è un identificatore unico (numero), name è testo, age è il numero dell'età, e enrollment_date è la data di iscrizione dello studente. Tutti questi dati hanno tipi diversi, perché descrivono aspetti diversi dell'oggetto.

Classificazione dei tipi di dati in PostgreSQL

PostgreSQL è super flessibile quando si tratta di tipi di dati. Qui sotto trovi una breve classificazione.

Categorie principali di tipi di dati:

  1. Tipi numerici

    • Per salvare numeri interi (tipo quantità, identificatore) e numeri con la parte decimale (tipo soldi).
    • Esempi: INTEGER, NUMERIC, FLOAT.
  2. Tipi testuali

    • Per salvare testi e stringhe (tipo nomi, indirizzi).
    • Esempi: CHAR, VARCHAR, TEXT.
  3. Tipo logico

    • Per salvare valori logici TRUE (vero) o FALSE (falso).
    • Esempio: BOOLEAN.
  4. Tipi per lavorare con date e orari

    • Per salvare date, orari o la loro combinazione.
    • Esempi: DATE, TIME, TIMESTAMP.
  5. Tipi speciali

    • Identificatori unici, oggetti JSON, array e molto altro.
    • Esempi: UUID, JSONB, ARRAY.

Caratteristiche dei tipi di dati in PostgreSQL

PostgreSQL supporta una quantità enorme di tipi integrati e ti permette di creare tipi di dati custom (personalizzati). Questo rende il lavoro con questo DBMS davvero potente per sistemi complessi dove servono requisiti specifici sui dati.

Curioso, in PostgreSQL puoi anche salvare dati geografici o fare query tipo "Trova un bar nel raggio di 500 metri da me". Per queste cose si usano tipi di dati speciali.

Cosa ti dà l'indicazione esplicita dei tipi di dati?

A volte sembra comodo fare tutte le colonne di una tabella testuali — tanto il testo può contenere tutto. Ma è una pessima pratica! Indicare i tipi di dati giusti permette di:

Semplificare le query. Se PostgreSQL sa che in una colonna ci sono solo numeri, fa i calcoli più in fretta, tipo SUM().

Evitare errori. Immagina di salvare per sbaglio "trentadue" invece di 32 nella colonna dove ci sono le età. Trovare questi errori sarebbe un incubo.

2
Compito
SQL SELF, livello 15, lezione 0
Bloccato
Sottoquery in `WHERE` per escludere i record
Sottoquery in `WHERE` per escludere i record
2
Compito
SQL SELF, livello 15, lezione 0
Bloccato
Sottoquery in `FROM` con espressione aritmetica
Sottoquery in `FROM` con espressione aritmetica
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION