Il 0% ha trovato utile questo documento (0 voti)
6 visualizzazioni6 pagine

SQL - Parte 1

Il documento fornisce un'introduzione all'uso del linguaggio SQL con MySQL e MariaDB, spiegando i concetti fondamentali dei database relazionali e del linguaggio SQL. Vengono trattati argomenti come la creazione e gestione di database e tabelle, i vincoli di integrità, i tipi di dati e le relazioni tra tabelle. Infine, viene proposto un esercizio pratico per applicare le conoscenze acquisite.

Caricato da

Nuccio Gargano
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
6 visualizzazioni6 pagine

SQL - Parte 1

Il documento fornisce un'introduzione all'uso del linguaggio SQL con MySQL e MariaDB, spiegando i concetti fondamentali dei database relazionali e del linguaggio SQL. Vengono trattati argomenti come la creazione e gestione di database e tabelle, i vincoli di integrità, i tipi di dati e le relazioni tra tabelle. Infine, viene proposto un esercizio pratico per applicare le conoscenze acquisite.

Caricato da

Nuccio Gargano
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Dispensa introduttiva all’uso del linguaggio

SQL con MySQL / MariaDB


1. Introduzione ai Database Relazionali e al linguaggio SQL
Un database è un insieme organizzato di dati, memorizzati in modo che possano essere
facilmente consultati, aggiornati e manipolati.​
I dati vengono solitamente rappresentati in tabelle, composte da righe (record) e colonne
(campi).

Un DBMS (Database Management System) è un software che permette di creare, gestire


e interrogare un database.​
Un RDBMS (Relational Database Management System) utilizza il modello relazionale,
che organizza i dati in tabelle correlate tra loro tramite chiavi.

MySQL è un RDBMS open-source, gratuito e molto diffuso.​


MariaDB è una versione compatibile e libera di MySQL, sviluppata dalla comunità
open-source.

Caratteristiche principali: - Gratuito e open-source - Multi-piattaforma (Windows, macOS,


Linux) - Conforme allo standard ANSI SQL - Scalabile, veloce e affidabile

Esempi di utilizzo: grandi piattaforme come Facebook, Twitter, Airbnb, [Link],


YouTube e GitHub.

2. Il modello relazionale
Un database relazionale organizza i dati in tabelle collegate da relazioni.​
Ogni tabella rappresenta un’entità (ad esempio Clienti o Ordini), e le relazioni tra tabelle
permettono di collegare logicamente i dati.

Esempio di relazione tra tabelle

Tabella Clienti

Paes
ClienteID NomeCliente Città e

1 Mario Rossi Roma Italia

2 Anna Bianchi Milano Italia

Tabella Ordini
OrdineID ClienteID DataOrdine

101 1 2024-10-10

102 2 2024-10-12

La colonna ClienteID nella tabella Ordini si riferisce alla colonna ClienteID nella tabella
Clienti.

3. Il linguaggio SQL
SQL (Structured Query Language) è il linguaggio standard per interagire con database
relazionali.

Con SQL è possibile: - Creare database e tabelle - Inserire, modificare, eliminare e


visualizzare dati - Definire relazioni tra tabelle - Imporre vincoli di integrità sui dati

4. Creazione e gestione dei Database


Creare un database

CREATE DATABASE scuola;

Eliminare un database

DROP DATABASE scuola;

⚠️ Attenzione: elimina definitivamente il database e tutti i suoi dati.

5. Creazione delle Tabelle


Sintassi generale

CREATE TABLE nome_tabella (​


​ colonna1 tipo_dato,​
​ colonna2 tipo_dato,​
​ ...​
);

Esempio

CREATE TABLE studenti (​


​ ID int,​
​ Nome varchar(50),​
​ Cognome varchar(50),​
​ Città varchar(50)​
);

Eliminare una tabella

DROP TABLE studenti;

Svuotare una tabella conservandone la struttura

TRUNCATE TABLE studenti;

6. Valori NULL e vincolo NOT NULL


Un valore NULL indica l’assenza di un dato.​
Il vincolo NOT NULL impone che un campo non possa essere lasciato vuoto.

Esempio

CREATE TABLE prodotti (​


​ ID int NOT NULL,​
​ Nome varchar(100) NOT NULL,​
​ Descrizione varchar(255),​
​ Prezzo decimal(10,2) NOT NULL​
);

7. Tipi di dati principali in MySQL/MariaDB


Tipo di dato Descrizione Esempio

INT Numero intero 123

DECIMAL(p,s) Numero con parte decimale 12.34


precisa (p = cifre totali, s =
cifre decimali)

FLOAT Numero a virgola mobile 3.14


(approssimato)

VARCHAR(n) Stringa di lunghezza 'Mario'


variabile, fino a n caratteri

CHAR(n) Stringa di lunghezza fissa 'IT'


BOOL / BOOLEAN Valore logico (TRUE/FALSE) TRUE

DATE Data nel formato '2025-10-27'


YYYY-MM-DD

DATETIME Data e ora YYYY-MM-DD '2025-10-27 14:30:00'


HH:MI:SS

8. Chiave primaria (PRIMARY KEY)


La chiave primaria identifica in modo univoco ciascun record della tabella.

Esempio 1 – PRIMARY KEY alla fine

CREATE TABLE studenti (​


​ ID int NOT NULL,​
​ Nome varchar(50),​
​ Cognome varchar(50),​
​ PRIMARY KEY (ID)​
);

Esempio 2 – PRIMARY KEY inline

CREATE TABLE studenti (​


​ ID int PRIMARY KEY,​
​ Nome varchar(50),​
​ Cognome varchar(50)​
);

9. Incremento automatico (AUTO_INCREMENT)


Il modificatore AUTO_INCREMENT genera automaticamente un valore crescente per ogni
nuovo record.

Esempio

CREATE TABLE studenti (​


​ ID int NOT NULL AUTO_INCREMENT,​
​ Nome varchar(50),​
​ Cognome varchar(50),​
​ PRIMARY KEY (ID)​
);

10. Chiavi esterne (FOREIGN KEY) e relazioni tra tabelle


Una chiave esterna (FOREIGN KEY) serve a creare relazioni tra tabelle e garantire la
coerenza dei dati.

Esempio senza nome del vincolo

CREATE TABLE ordini (​


​ OrdineID int NOT NULL AUTO_INCREMENT,​
​ NumeroOrdine int NOT NULL,​
​ ClienteID int,​
​ PRIMARY KEY (OrdineID),​
​ FOREIGN KEY (ClienteID) REFERENCES clienti(ClienteID)​
);

Esempio con nome del vincolo

CREATE TABLE ordini (​


​ OrdineID int NOT NULL AUTO_INCREMENT,​
​ NumeroOrdine int NOT NULL,​
​ ClienteID int,​
​ PRIMARY KEY (OrdineID),​
​ CONSTRAINT fk_cliente_ordine​
​ FOREIGN KEY (ClienteID)​
​ REFERENCES clienti(ClienteID)​
);

11. Eliminare un vincolo di chiave esterna


Per rimuovere un vincolo FOREIGN KEY è necessario conoscerne il nome.

Esempio

ALTER TABLE ordini​


DROP FOREIGN KEY fk_cliente_ordine;

12. Conclusione
Il linguaggio SQL è lo strumento fondamentale per la gestione dei dati nei sistemi
informativi.​
Comprendere tabelle, tipi di dati, vincoli e relazioni permette di progettare database
coerenti e affidabili.

13. Esercizio pratico suggerito


1. Creare un database chiamato negozio.​

2. Creare le tabelle:

– clienti (ClienteID, Nome, Città)​


– ordini (OrdineID, NumeroOrdine, ClienteID)​


3. Impostare le chiavi primarie e la chiave esterna ClienteID nella tabella ordini.​


4. Inserire alcuni record di esempio.​


5. Verificare che non sia possibile inserire un ordine con un ClienteID inesistente.​

6. Eliminare e ricreare la chiave esterna con un nome personalizzato.

Potrebbero piacerti anche