
Introduzione a SQL
è un estratto dal corso SQL e Database Relazionali che puoi trovare sempre su Udemy.
Creare database e tabelle utilizzando phpMyAdmin
È possibile modificare la struttura di un database esistente e delle sue tabelle in phpMyAdmin utilizzando sia l'interfaccia grafica che le istruzioni SQL dirette.
Inserimento dati all'interno del nostro databse.
La chiave primaria (Primary Key, PK) è un concetto fondamentale nella progettazione dei database relazionali. Svolge un ruolo cruciale nell'identificazione e nell'organizzazione dei dati all'interno delle tabelle.
Nel contesto di un database, il termine "Unique" (Vincolo di Unicità) si riferisce a una regola che garantisce che tutti i valori in una colonna (o in una combinazione di colonne) siano diversi l'uno dall'altro. Questo vincolo impedisce l'inserimento di dati duplicati, contribuendo a mantenere l'integrità e l'accuratezza delle informazioni.
I riferimenti ad altre tabelle sono un concetto centrale nei database relazionali e vengono implementati utilizzando le Chiavi Esterne (Foreign Key). Questi riferimenti creano collegamenti tra i dati in tabelle diverse, garantendo la coerenza e l'integrità delle informazioni.
Il JOIN (unione di tabelle) è un'operazione fondamentale in SQL che permette di combinare righe provenienti da due o più tabelle in base a una colonna correlata (solitamente la chiave esterna che fa riferimento a una chiave primaria).
In phpMyAdmin, l'uso dei JOIN avviene principalmente tramite la scheda "SQL", dove si scrivono le query.
Il termine NULL in SQL e nei database relazionali (inclusi MySQL e MariaDB gestiti tramite phpMyAdmin) non significa zero, né una stringa vuota, né uno spazio vuoto.
NULL è un marcatore di valore sconosciuto o inesistente. Rappresenta l'assenza di dati in un campo specifico.
Il termine DEFAULT (valore predefinito) in SQL e phpMyAdmin viene utilizzato per specificare un valore che deve essere inserito automaticamente in una colonna se non viene fornito esplicitamente alcun altro valore durante l'inserimento di una nuova riga.
È un modo efficace per garantire che un campo non rimanga vuoto (se impostato su NOT NULL) o per fornire un valore comune senza che l'utente debba digitarlo ogni volta.
DBeaver è un potente strumento universale e multipiattaforma per la gestione e l'amministrazione di database, rivolto a sviluppatori, amministratori e analisti.
A differenza di strumenti specifici come phpMyAdmin (solo per MySQL/MariaDB e basato sul web), DBeaver è un'applicazione desktop che supporta una vasta gamma di sistemi di database, inclusi SQL, NoSQL e cloud database, purché dispongano di un driver JDBC (Java Database Connectivity).
PostgreSQL (spesso abbreviato in Postgres) è un sistema di gestione di database relazionali a oggetti (ORDBMS) open source, noto per la sua robustezza, affidabilità e aderenza rigorosa agli standard SQL. È considerato uno dei database open source più avanzati al mondo, spesso paragonato a sistemi commerciali come Oracle e SQL Server per il suo set di funzionalità di livello enterprise.
In DBeaver, la creazione di un database dipende dal tipo di sistema a cui sei connesso (MySQL, PostgreSQL, SQLite, ecc.), poiché la sintassi SQL cambia leggermente e la procedura grafica si adatta al driver specifico.
In DBeaver, puoi creare tabelle sia tramite l'interfaccia grafica avanzata sia utilizzando l'editor SQL. Entrambi i metodi sono efficaci e dipendono dalle tue preferenze.
L'istruzione INSERT INTO è il comando SQL standard utilizzato per aggiungere nuove righe (record) di dati in una tabella esistente del database.
In DBeaver (o phpMyAdmin), puoi eseguire questa operazione sia tramite l'interfaccia grafica che tramite l'editor SQL.
In DBeaver, l'implementazione del vincolo di integrità Primary Key (Chiave Primaria) può essere gestita sia visivamente, tramite l'editor grafico delle proprietà della tabella, sia tramite l'editor SQL.
La chiave primaria è fondamentale per garantire che ogni record (riga) nella tua tabella sia identificato in modo univoco e che non esistano duplicati.
In DBeaver, il vincolo di integrità UNIQUE (unicità) assicura che tutti i valori in una colonna specifica (o in un gruppo di colonne) siano distinti. A differenza della chiave primaria, che identifica l'intera riga e non ammette NULL, un vincolo UNIQUE garantisce l'unicità ma solitamente permette un singolo valore NULL.
Ecco come gestire il vincolo UNIQUE in DBeaver, sia graficamente che tramite SQL.
deve essere vera per ogni riga della tabella. Se la condizione non è soddisfatta, il database impedirà l'inserimento o l'aggiornamento del record, garantendo così l'integrità logica dei dati.
Ad esempio, puoi usare un vincolo CHECK per assicurarti che l'età di un dipendente sia sempre maggiore di 18 anni, o che il prezzo di un prodotto sia un valore positivo.
In DBeaver, i vincoli NOT NULL e DEFAULT sono gestiti insieme, in quanto entrambi definiscono il comportamento di una colonna quando non viene fornito esplicitamente un valore.
NOT NULL: Un vincolo di integrità che impedisce a una colonna di contenere un valore sconosciuto o mancante (NULL). Se un campo è NOT NULL, deve avere un valore valido in ogni riga.
DEFAULT: Un vincolo che specifica un valore predefinito da utilizzare automaticamente se l'utente o l'applicazione non fornisce un valore esplicito durante l'inserimento di un nuovo record.
In DBeaver, i riferimenti ad altre tabelle sono gestiti tramite il vincolo FOREIGN KEY (Chiave Esterna). Questo vincolo è fondamentale per stabilire e mantenere le relazioni tra tabelle diverse, garantendo l'integrità referenziale.
In DBeaver, il vincolo FOREIGN KEY (Chiave Esterna) è il meccanismo fondamentale per stabilire riferimenti di integrità referenziale tra tabelle in un database relazionale.
Questo vincolo assicura che un valore inserito nella "tabella figlio" (quella che contiene la FK) esista effettivamente come chiave primaria nella "tabella padre".
In DBeaver, puoi eseguire operazioni di TRUNCATE TABLE e DROP TABLE sia tramite l'interfaccia grafica che tramite l'editor SQL. È fondamentale capire la differenza tra i due comandi, poiché hanno effetti molto diversi sui tuoi dati.
In DBeaver, l'istruzione ALTER TABLE viene utilizzata per modificare la struttura di una tabella esistente. È un comando SQL fondamentale che consente di aggiungere, eliminare o modificare colonne, nonché di aggiungere o eliminare vincoli (come Primary Key, Foreign Key, Unique, Check, Not Null e Default).
È possibile eseguire ALTER TABLE in DBeaver principalmente tramite l'interfaccia grafica avanzata o direttamente nell'editor SQL.
In DBeaver, i vincoli (Constraints) sono regole applicate alle colonne delle tabelle di un database per limitare il tipo di dati che possono essere memorizzati. Essi garantiscono l'integrità dei dati e la validità delle informazioni memorizzate.
DBeaver ti permette di gestire tutti i tipi principali di vincoli sia tramite un'interfaccia grafica intuitiva che tramite l'editor SQL.
In DBeaver, il modo più affidabile per aggiungere un vincolo CHECK a una tabella esistente è tramite l'uso dell'Editor SQL, poiché l'interfaccia grafica per questo specifico vincolo può variare o essere limitata a seconda del driver di database utilizzato.
L'operazione richiede l'uso dell'istruzione ALTER TABLE.
In DBeaver, l'operazione per rinominare una tabella esistente si esegue utilizzando l'istruzione RENAME TO (o RENAME TABLE in MySQL) tramite l'editor SQL.
Sebbene DBeaver non abbia un pulsante dedicato "Rinomina" nel menu contestuale come per altre operazioni, il modo più pulito e diretto è utilizzare il comando SQL appropriato per il tuo database specifico.
In DBeaver, quando definisci tipi di dati per colonne numeriche intere, i termini INT e INTEGER sono generalmente sinonimi e intercambiabili nella maggior parte dei sistemi di database supportati (MySQL, PostgreSQL, Oracle, SQLite, ecc.).
L'uso effettivo del nome dipende dal sistema di database specifico a cui sei connesso. DBeaver visualizza automaticamente i tipi di dati nativi di quel sistema.
In DBeaver, i termini INT e INTEGER sono considerati sinonimi e si riferiscono allo stesso tipo di dato standard per numeri interi nella maggior parte dei sistemi di database (MySQL, PostgreSQL, SQLite, ecc.).
L'uso effettivo di uno rispetto all'altro dipende principalmente dalle convenzioni del database specifico a cui sei connesso. DBeaver gestisce entrambi i nomi in modo intercambiabile.
Introduzione a SQL
è un estratto dal corso SQL e Database Relazionali che puoi trovare sempre su Udemy.
Lezioni di questo corso:
PHPMYADMIN E PRIMI ESEMPI
Primo progetto: panoramica
Creazione database e tabelle
Modifica struttura database
Inserimento dati
Chiave primaria
Unique
Riferimenti ad altre tabelle
Join table
Ottimizzazioni progetto
NULL
Default
DBMS, SQL
DBeaver
PostgreSQL
Disinstallare Xampp
DBeaver e postgres
Lavoriamo con il codice
Impostazione DBeaver tutti i database
Create database
Create table e SQL data types
Insert into
Vincoli integrita primary key
Vincoli integrita unique
Vincoli di integrita Check
Vincoli di integrita not null e default
Vincoli di integrità References
Vincoli di integrità foreign key
Truncate e drop table
Alter table
Constraint
Alter table add check
Alter table rename to
Type int using col integer
Type date using col date
Completato questo corso potrai decidere se acquistare il corso completo SQL e Database Relazionali che puoi trovare sempre su Udemy.
All'interno del corso completo saranno affrontate anche concetti di algebra relazionale, progettazione concettuale ed il modello E/R.
Dopo una sezione di approfondimento, ci sarà una intera sezione dedicata agli Esercizi con alcune varianti di risoluzione in modo da poter ottenere lo steso risultato con tecniche diverse.
Nella parte finale saranno affrontate invece alcune esperienze pratiche con connessione da remoto di un database di un CSM reale.