Introduzione al Data Definition Language (DDL)

DDL è l’acronimo di Data Definition Language, ovvero un insieme di comandi per descrivere il progetto complessivo del database in SQL (Structured Query Language). I comandi principali del DDL includono:

  • CREATE: Utilizzato per creare nuovi oggetti.
  • ALTER: Utilizzato per modificare la struttura di oggetti esistenti.
  • DROP: Utilizzato per eliminare oggetti.

Utilizzo dei Comandi CREATE, ALTER e DROP in MySQL

a. CREATE

Il comando CREATE viene utilizzato per creare nuovi database, nuove tabelle o nuove viste.

  • Esempio: CREATE DATABASE toko_buku;
  • Spiegazione: Questo comando crea un nuovo database con il nome toko_buku.

b. ALTER

Il comando ALTER viene utilizzato per modificare la struttura di una tabella già creata. Questa operazione può aggiungere, eliminare, modificare colonne, alterare la tabella o assegnare nuovi attributi alle colonne.

  • Esempio: ALTER TABLE buku ADD judul_buku varchar(20);
  • Spiegazione: Questo comando aggiunge un nuovo campo (colonna) chiamato judul_buku con tipo di dato varchar e lunghezza massima di 20 caratteri alla tabella buku.

c. DROP

Il comando DROP elimina definitivamente un oggetto dal database. L’oggetto può essere il database stesso, una tabella, una funzione, un indice, una procedura, un trigger o una vista.

  • Esempio: DROP DATABASE toko_buku;
  • Spiegazione: Questo comando elimina il database con il nome toko_buku.

Tipi di Dati in MySQL

La scelta del tipo di dato corretto è molto importante per l’efficienza dell’archiviazione del database. Di seguito sono riportate le categorie di tipi di dati in MySQL:

A. Tipi di Dati Numerici

Utilizzati per memorizzare dati numerici.

  • TINYINT: Memorizza numeri interi (positivi/negativi). Intervallo: da -128 a 127. Dimensione: 1 byte (8 bit).
  • SMALLINT: Memorizza numeri interi. Intervallo: da -32768 a 32767. Dimensione: 2 byte (16 bit).
  • MEDIUMINT: Memorizza numeri interi. Intervallo: da -8388608 a 8388607. Dimensione: 3 byte (24 bit).
  • INT: Memorizza numeri interi. Intervallo: da -2147483648 a 2147483647. Dimensione: 4 byte (32 bit).
  • BIGINT: Memorizza numeri interi su larga scala. Intervallo: da -9223372036854775808 a 9223372036854775807. Dimensione: 8 byte (64 bit).
  • FLOAT: Memorizza numeri a virgola mobile a precisione singola. Dimensione: 4 byte (32 bit).
  • DOUBLE / REAL: Memorizza numeri a virgola mobile a precisione doppia. Dimensione: 8 byte (64 bit).
  • DECIMAL / NUMERIC: Memorizza numeri a virgola fissa con precisione molto elevata. Dimensione: 8 byte (64 bit).

B. Tipi di Dati Stringa (Testo)

Utilizzati per memorizzare dati di tipo carattere o testo.

  • CHAR: Memorizza stringhe di lunghezza fissa (es. codice articolo, codice fiscale). Intervallo: da 0 a 255 caratteri.
  • VARCHAR: Memorizza stringhe di lunghezza variabile. Intervallo: da 0 a 65.535 caratteri (nelle versioni più recenti).
  • TINYTEXT: Memorizza testi brevi. Intervallo: da 0 a 255 caratteri.
  • TEXT: Memorizza testi standard. Intervallo: da 0 a 65.535 caratteri.
  • MEDIUMTEXT: Memorizza testi di media lunghezza. Intervallo: da 0 a 16.777.215 caratteri.
  • LONGTEXT: Memorizza testi molto lunghi. Intervallo: da 0 a 4.294.967.295 caratteri.

C. Tipi di Dati Data e Ora

Utilizzati per memorizzare dati relativi a data e ora.

  • DATE: Memorizza una data (Formato: AAAA-MM-GG). Intervallo: da ‘1000-01-01’ a ‘9999-12-31’. Dimensione: 3 byte.
  • TIME: Memorizza un’ora (Formato: HH:MM:SS). Intervallo: da ‘-838:59:59’ a ‘+838:59:59’. Dimensione: 3 byte.
  • DATETIME: Combinazione di data e ora (Formato: AAAA-MM-GG HH:MM:SS). Intervallo: da ‘1000-01-01 00:00:00’ a ‘9999-12-31 23:59:59’. Dimensione: 8 byte.
  • YEAR: Memorizza un anno (Formato: AAAA). Intervallo: da 1900 a 2155. Dimensione: 1 byte.

D. Tipi di Dati BLOB (Binari)

BLOB è l’acronimo di Binary Large Object. Viene utilizzato per memorizzare dati binari puri, è sensibile alle maiuscole/minuscole ed è ideale per file multimediali come immagini, documenti o audio.

  • BIT: Memorizza dati binari. Intervallo: 64 cifre binarie.
  • TINYBLOB: Dimensione massima di 255 byte.
  • BLOB: Dimensione massima di 65.535 byte.
  • MEDIUMBLOB: Dimensione massima di 16.777.215 byte.
  • LONGBLOB: Dimensione massima di 4.294.967.295 byte.

Tipi di Chiavi in SQL

Una chiave in SQL è una combinazione di uno o più attributi (colonne) che serve a distinguere univocamente le righe di dati in una tabella o a collegare (mettere in relazione) una tabella con un’altra.

  • Superchiave: Un insieme di attributi che può essere utilizzato per identificare univocamente ogni riga di dati in una tabella.
  • Chiave Candidata: Una superchiave minimale che non ha attributi ridondanti. Una chiave candidata viene scelta dalla combinazione più piccola di campi in grado di identificare valori univoci.
  • Chiave Primaria: La chiave candidata selezionata come identificatore principale di un record. I dati in una chiave primaria non possono essere vuoti (Not Null) e non possono duplicarsi. Ogni tabella può avere una sola Chiave Primaria.
  • Chiave Alternativa: Una chiave candidata che non è stata scelta come Chiave Primaria.
  • Chiave Esterna: Una chiave utilizzata per mettere in relazione una tabella con un’altra, formando una relazione parent-child. La Chiave Primaria nella tabella principale (parent) viene referenziata dalla Chiave Esterna nella tabella correlata (child).
  • Chiave Composita: Una chiave composta da due o più attributi per identificare univocamente un’entità. Solitamente viene utilizzata quando nessuna singola colonna soddisfa i requisiti per una Chiave Primaria.

Tipi di Vincoli in MySQL

vincoli sono regole applicate a colonne o tabelle per mantenere l’integrità e la validità dei dati.

  • NOT NULL: Garantisce che una colonna non possa essere lasciata vuota durante l’inserimento di un record. La colonna deve essere obbligatoriamente riempita.
  • UNIQUE: Garantisce che ogni valore in una colonna sia diverso dagli altri (nessun record duplicato).
  • PRIMARY KEY: Combinazione dei vincoli NOT NULL e UNIQUE. Identifica univocamente ogni riga in una tabella. È consentita una sola PRIMARY KEY per tabella.
  • FOREIGN KEY: Mantiene l’integrità referenziale tra le tabelle. Garantisce che il valore nella colonna child abbia un riferimento valido nella colonna parent (in un’altra tabella).
  • CHECK: Esegue una validazione o un controllo prima che i dati vengano salvati nel database. I dati vengono valutati con un valore booleano; se soddisfano la condizione, il valore è true e vengono salvati, ma se è false, SQL li rifiuta e visualizza un messaggio di errore.

Shares:
Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *