<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://it.wikijournal.org/w-wiki/index.php?action=history&amp;feed=atom&amp;title=Basi_di_dati_relazionali_per_principianti</id>
	<title>Basi di dati relazionali per principianti - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="https://it.wikijournal.org/w-wiki/index.php?action=history&amp;feed=atom&amp;title=Basi_di_dati_relazionali_per_principianti"/>
	<link rel="alternate" type="text/html" href="https://it.wikijournal.org/w-wiki/index.php?title=Basi_di_dati_relazionali_per_principianti&amp;action=history"/>
	<updated>2026-04-29T11:34:27Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://it.wikijournal.org/w-wiki/index.php?title=Basi_di_dati_relazionali_per_principianti&amp;diff=54&amp;oldid=prev</id>
		<title>Philip: Creata pagina con &quot;== Cos&#039;è un database relazionale? == Immagina di gestire un negozio online. Hai informazioni sui clienti, i loro ordini e i prodotti. Come puoi organizzare tutti questi dati? Un database relazionale consente di archiviare informazioni in tabelle collegate tra loro, simili ai fogli di calcolo di Excel, ma molto più potenti.  == Concetti di base ==  === Tabelle === Ogni tabella rappresenta un&#039;entità specifica. Ad esempio:  * Tabella degli utenti (users) * Tabella degli...&quot;</title>
		<link rel="alternate" type="text/html" href="https://it.wikijournal.org/w-wiki/index.php?title=Basi_di_dati_relazionali_per_principianti&amp;diff=54&amp;oldid=prev"/>
		<updated>2025-01-15T22:27:19Z</updated>

		<summary type="html">&lt;p&gt;Creata pagina con &amp;quot;== Cos&amp;#039;è un database relazionale? == Immagina di gestire un negozio online. Hai informazioni sui clienti, i loro ordini e i prodotti. Come puoi organizzare tutti questi dati? Un database relazionale consente di archiviare informazioni in tabelle collegate tra loro, simili ai fogli di calcolo di Excel, ma molto più potenti.  == Concetti di base ==  === Tabelle === Ogni tabella rappresenta un&amp;#039;entità specifica. Ad esempio:  * Tabella degli utenti (users) * Tabella degli...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Cos&amp;#039;è un database relazionale? ==&lt;br /&gt;
Immagina di gestire un negozio online. Hai informazioni sui clienti, i loro ordini e i prodotti. Come puoi organizzare tutti questi dati? Un database relazionale consente di archiviare informazioni in tabelle collegate tra loro, simili ai fogli di calcolo di Excel, ma molto più potenti.&lt;br /&gt;
&lt;br /&gt;
== Concetti di base ==&lt;br /&gt;
&lt;br /&gt;
=== Tabelle ===&lt;br /&gt;
Ogni tabella rappresenta un&amp;#039;entità specifica. Ad esempio:&lt;br /&gt;
&lt;br /&gt;
* Tabella degli utenti (users)&lt;br /&gt;
* Tabella degli ordini (orders)&lt;br /&gt;
* Tabella dei prodotti (products)&lt;br /&gt;
&lt;br /&gt;
=== Campi (Colonne) ===&lt;br /&gt;
Ogni tabella è composta da campi. Ad esempio, per la tabella degli utenti, questi potrebbero essere:&lt;br /&gt;
&lt;br /&gt;
* id (identificativo univoco)&lt;br /&gt;
* nome&lt;br /&gt;
* email&lt;br /&gt;
* telefono&lt;br /&gt;
* data di registrazione&lt;br /&gt;
&lt;br /&gt;
=== Record (Righe) ===&lt;br /&gt;
Questi sono i dati concreti in una tabella. Una riga = un record su un utente, un ordine o un prodotto.&lt;br /&gt;
&lt;br /&gt;
== Come sono collegate le tabelle? ==&lt;br /&gt;
&lt;br /&gt;
=== Chiavi primarie ===&lt;br /&gt;
Ogni tabella deve avere un identificativo univoco per ogni record. In genere, questo è il campo &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;:&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE TABLE users (&lt;br /&gt;
    id INT PRIMARY KEY AUTO_INCREMENT,&lt;br /&gt;
    name VARCHAR(100),&lt;br /&gt;
    email VARCHAR(100)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Chiavi esterne ===&lt;br /&gt;
Sono campi che collegano una tabella a un&amp;#039;altra. Ad esempio, nella tabella degli ordini, memorizziamo l&amp;#039;&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; dell&amp;#039;utente:&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE TABLE orders (&lt;br /&gt;
    id INT PRIMARY KEY AUTO_INCREMENT,&lt;br /&gt;
    user_id INT,&lt;br /&gt;
    order_date DATETIME,&lt;br /&gt;
    total_amount DECIMAL(10,2),&lt;br /&gt;
    FOREIGN KEY (user_id) REFERENCES users(id)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tipi di relazioni tra tabelle ==&lt;br /&gt;
&lt;br /&gt;
=== Uno a uno (One-to-One) ===&lt;br /&gt;
Ad esempio, un utente può avere un profilo con informazioni aggiuntive:&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE TABLE user_profiles (&lt;br /&gt;
    user_id INT PRIMARY KEY,&lt;br /&gt;
    address TEXT,&lt;br /&gt;
    phone VARCHAR(20),&lt;br /&gt;
    FOREIGN KEY (user_id) REFERENCES users(id)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Uno a molti (One-to-Many) ===&lt;br /&gt;
Il tipo di relazione più comune. Ad esempio, un utente può avere molti ordini:&lt;br /&gt;
&lt;br /&gt;
* Un utente → Molti ordini&lt;br /&gt;
* Un prodotto → Molti commenti&lt;br /&gt;
* Una categoria → Molti prodotti&lt;br /&gt;
&lt;br /&gt;
=== Molti a molti (Many-to-Many) ===&lt;br /&gt;
Ad esempio, un ordine può contenere molti prodotti e un prodotto può essere incluso in molti ordini. Per fare ciò, si crea una tabella intermedia:&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE TABLE order_items (&lt;br /&gt;
    order_id INT,&lt;br /&gt;
    product_id INT,&lt;br /&gt;
    quantity INT,&lt;br /&gt;
    FOREIGN KEY (order_id) REFERENCES orders(id),&lt;br /&gt;
    FOREIGN KEY (product_id) REFERENCES products(id),&lt;br /&gt;
    PRIMARY KEY (order_id, product_id)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vantaggi del modello relazionale ==&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Integrità dei dati&amp;#039;&amp;#039;&amp;#039;: Il sistema garantisce che tutte le relazioni siano valide.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Nessuna duplicazione&amp;#039;&amp;#039;&amp;#039;: Le informazioni vengono archiviate in un unico posto e collegate tramite chiavi.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Flessibilità&amp;#039;&amp;#039;&amp;#039;: È facile aggiungere nuove relazioni e modificare la struttura.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Efficienza&amp;#039;&amp;#039;&amp;#039;: Ricerca e gestione dei dati rapide grazie agli indici.&lt;br /&gt;
&lt;br /&gt;
== Esempio pratico ==&lt;br /&gt;
Vediamo un esempio semplice di un sistema di blog:&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
-- Tabella degli utenti&lt;br /&gt;
CREATE TABLE users (&lt;br /&gt;
    id INT PRIMARY KEY AUTO_INCREMENT,&lt;br /&gt;
    username VARCHAR(50),&lt;br /&gt;
    email VARCHAR(100),&lt;br /&gt;
    created_at DATETIME&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
-- Tabella degli articoli&lt;br /&gt;
CREATE TABLE posts (&lt;br /&gt;
    id INT PRIMARY KEY AUTO_INCREMENT,&lt;br /&gt;
    user_id INT,&lt;br /&gt;
    title VARCHAR(200),&lt;br /&gt;
    content TEXT,&lt;br /&gt;
    published_at DATETIME,&lt;br /&gt;
    FOREIGN KEY (user_id) REFERENCES users(id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
-- Tabella dei commenti&lt;br /&gt;
CREATE TABLE comments (&lt;br /&gt;
    id INT PRIMARY KEY AUTO_INCREMENT,&lt;br /&gt;
    post_id INT,&lt;br /&gt;
    user_id INT,&lt;br /&gt;
    comment_text TEXT,&lt;br /&gt;
    created_at DATETIME,&lt;br /&gt;
    FOREIGN KEY (post_id) REFERENCES posts(id),&lt;br /&gt;
    FOREIGN KEY (user_id) REFERENCES users(id)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;In questo esempio:&lt;br /&gt;
&lt;br /&gt;
* Un utente può creare molti articoli (uno a molti)&lt;br /&gt;
* Ogni articolo può avere molti commenti (uno a molti)&lt;br /&gt;
* Ogni commento è collegato sia a un articolo che a un utente&lt;br /&gt;
&lt;br /&gt;
== Conclusione ==&lt;br /&gt;
I database relazionali sono uno strumento potente per organizzare i dati in un&amp;#039;applicazione. Comprendere i principi di base del loro funzionamento è essenziale per i principianti. Una struttura di database ben progettata rende un&amp;#039;applicazione più affidabile, efficiente e facile da mantenere.&lt;br /&gt;
&lt;br /&gt;
[[wj-en:Relational databases for beginners]]&lt;br /&gt;
[[wj-de:Relationale Datenbanken für Anfänger]] &lt;br /&gt;
[[wj-fr:Bases de données relationnelles pour débutants]] &lt;br /&gt;
[[wj-ru:Реляционные базы данных для начинающих]]&lt;br /&gt;
[[wj-es:Bases de datos relacionales para principiantes]]&lt;/div&gt;</summary>
		<author><name>Philip</name></author>
	</entry>
</feed>