Installare PostgreSQL

Installazione

Dal terminale della tua macchina Linux esegui i seguenti comandi:

Prima di digitare gli altri comandi accedi con l'utente postgre:

sudo su - postgres

Crea ora un database col tuo nome di login, al quale Postgres si collegherà di default:

Interagire con un database

Ci sono diverse interfacce che puoi usare per interagire col database: da un linguaggio di programmazione, attraverso un'applicazione grafica, o dalla linea di comando.

Tutte queste interfacce hanno in comune una stessa architettura usata per interagire col database: inviano una richiesta (request) o una dichiarazione, e ricevono una risposta (response).

Un'architettura del genere viene definita "client-server".

Per capire meglio le cose useremo un'interfaccia da linea di comando, psql:

Il prompt andrea=# dice che sei collegato al database "andrea" che abbiamo creato prima (il tuo naturalmente avrà un altro nome).

Da questa console è possibile dare dei metacomandi, preceduti da una backslash, come ad esempio:

Per ora l'unico metacomando che devi ricordare è \q che permette di chiudere la connessione.

Quelli che ci interessano di più però sono i comandi SQL (Structured Query Language): SQL è un linguaggio ideato per interrogare i database, e i comandi che imparerai usando PostgreSQL ti saranno utili anche per MySQL e altri sistemi di database. Ecco un esempio:

Nota che questi comandi terminano sempre col ; in questo modo potrai scrivere lo stesso comando anche su più righe:

L'istruzione SELECT è usata per recuperare dati da un database, e la risposta potrebbe essere qualcosa del genere:

 

Un esempio: ls_burger

Vediamo un esempio concreto. Per prima cosa esci dalla console di PostgreSQL con \q e crea un nuovo database:

Ora crea un nuovo file di testo ls_burger.sql:

Si aprirà l'editor di testo nano:

Digita al suo interno con molta attenzione le seguenti istruzioni:

Le righe da 1 a 7 creano una tabella per gli ordini, le righe dalla 9 alla 13 inseriscono alcuni ordini.

Al termine usa CTRL + X per uscire da nano, rispondi y (yes) alla richiesta se salvare le modifiche, e INVIO per confermare il nome del file.

Dalla stessa cartella in cui hai creato il file digita il seguente comando, che carica i dati del file nel database:

Il database ls_burger conterrà i seguenti dati:

Connessione e selezione

Possiamo collegarci al nostro database dalla linea di comando:

Per vedere tutte le righe della tabella orders contenuta nel nostro database usiamo l'istruzione SELECT:

Selezione di colonne

Se volessimo vedere solo i contorni (sides) che sono stati ordinati:

Per selezionare più colonne:

Selezione di righe

Se volessimo selezionare solo la riga con il primo ordine:

Selezionare righe e colonne

E' possibile combinare le sintassi viste sopra; ad esempio se volessimo conoscere il nome di tutti i clienti che hanno ordinato patatine fritte (fries), potremmo scrivere:

Struttura e dati

Riguardiamo il file che abbiamo creato per costruire il database:

Possiamo distinguere due parti:

  • nella prima viene creata (CREATE) la tabella orders, specificando che ha 5 colonne:
    • id di tipo intero;
    • customer_name, che è un testo;
    • burger, testo
    • side, testo
    • drink, testo

Questo è quello che viene chiamato "schema" o struttura del database.

  • nella seconda cinque istruzioni INSERT inseriscono nella tabella appena creata i dati veri e propri, così ad esempio nel primo INSERT 1 è l'id della riga, 'Todd Perez' il nome del cliente, ecc

Esercizi

  • Scrivi una query che restituisca i nomi di tutti i clienti dalla tabella degli ordini
  • Scrivi una query che restituisca tutti gli ordini che contengono una "Chocolate Shake"
  • Scrivi una query che restituisca il panino, il contorno e la bibita per l'ordine con id pari a 2
  • Scrivi una query che restituisca i nomi di chi ha ordinato "Onion Rings"

 

  • SQL

CFP CNOS-FAP DON BOSCO - via XIII Martiri, 86 - 30027 San Donà di Piave (VE) - tel. 0421 338 980 - Organismo di Formazione accreditato dalla Regione del Veneto