vuoi
o PayPal
tutte le volte che vuoi
UPDATE: Modifica dati esistenti.
DELETE: Elimina dati.
3. DCL (Data Control Language)
Controlla i permessi.
o Comandi:
o GRANT: Concede permessi.
REVOKE: Revoca permessi.
4. TCL (Transaction Control Language)
Gestisce le transazioni.
o Comandi:
o COMMIT: Conferma le modifiche.
ROLLBACK: Annulla le modifiche.
5. Query (DQL)
Recupero dei dati.
o Comando:
o SELECT: Recupera dati con possibilità di filtrare (WHERE), ordinare
(ORDER BY), raggruppare (GROUP BY).
Normalizzazione
Processo per organizzare i dati eliminando ridondanze e migliorando l'integrità. Livelli:
1. 1NF (Prima Forma Normale): Nessun attributo con valori multipli.
2. 2NF: Ogni attributo non chiave dipende interamente dalla chiave primaria.
3. 3NF: Rimozione di dipendenze transitive.
Indici
Strutture dati che migliorano la velocità di ricerca e accesso ai dati.
Pro: Velocizzano query.
Contro: Richiedono più memoria e rallentano le operazioni di scrittura.
ACID (Transazioni)
Le proprietà ACID garantiscono coerenza e affidabilità nelle transazioni.
1. Atomicità: Tutte le operazioni sono eseguite o nessuna.
2. Consistenza: Il database rimane coerente.
3. Isolamento: Le transazioni non interferiscono tra loro.
4. Durabilità: I dati rimangono salvati anche in caso di guasto.
Esempi di Comandi SQL
1. Creazione di una tabella:
CREATE TABLE Clienti (
ID INT PRIMARY KEY,
Nome VARCHAR(50),
Email VARCHAR(100)
);
2. Inserimento di dati:
INSERT INTO Clienti (ID, Nome, Email)
VALUES (1, 'Mario Rossi', 'mario.rossi@example.com');
3. Query per filtrare dati:
SELECT Nome, Email
FROM Clienti
WHERE ID = 1;
4. Modifica di dati:
UPDATE Clienti
SET Email = 'nuova.email@example.com'
WHERE ID = 1;
5. Eliminazione di dati:
DELETE FROM Clienti
WHERE ID = 1;
Sistemi di Gestione di Basi di Dati (DBMS)
Un DBMS (Database Management System) è un software che permette la creazione,
gestione e manipolazione di basi di dati.
Funzioni principali:
Archiviazione e Recupero: Organizza i dati in modo efficiente e permette di
recuperarli rapidamente.
Manipolazione: Permette l'inserimento, modifica e cancellazione dei dati.
Sicurezza: Garantisce l'accesso ai dati solo agli utenti autorizzati.
Concorrenza: Consente a più utenti o applicazioni di accedere ai dati
contemporaneamente.
Backup e Ripristino: Protegge i dati e ne garantisce il recupero in caso di guasto.
Esempi di DBMS popolari: MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server,
MongoDB.
Architettura dei Database
1. Livello Fisico:
Dove i dati sono effettivamente memorizzati.
o Include strutture di archiviazione come file e indici.
o
2. Livello Logico (Concettuale):
Descrive cosa contiene il database e come i dati sono collegati.
o Non dipende dal livello fisico.
o
3. Livello Esterno:
Come gli utenti vedono i dati (es. tabelle, viste).
o Può variare in base ai diversi utenti o applicazioni.
o
Relazioni e Cardinalità
Relazione Uno-a-Uno (1:1): Ogni elemento di una tabella è collegato a un solo
elemento di un'altra tabella.
Relazione Uno-a-Molti (1:N): Un elemento di una tabella può essere collegato a
più elementi di un'altra tabella.
Relazione Molti-a-Molti (M:N): Più elementi di una tabella possono essere
collegati a più elementi di un'altra tabella, spesso gestita tramite una tabella
intermedia.
Operazioni Relazionali
Le principali operazioni nel modello relazionale includono:
Selezione (SELECT): Filtra le righe di una tabella.
Proiezione (PROJECT): Seleziona colonne specifiche.
Join: Combina righe di due o più tabelle in base a una relazione comune.
Unione: Combina i dati di due tabelle con lo stesso schema.
Intersezione e Differenza: Trova valori comuni o differenze tra due tabelle.
Viste
Le viste sono tabelle virtuali che presentano i dati in modo personalizzato senza
modificarli.
Utili per semplificare l'accesso ai dati e migliorare la sicurezza.
Possono essere aggiornabili o non aggiornabili.
Esempio di creazione di una vista:
sql
CREATE VIEW ClientiAttivi AS