Merge (database): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m cambio catg |
m fix categorie Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione Android |
||
(21 versioni intermedie di 12 utenti non mostrate) | |||
Riga 1:
'''Merge''',
Questo tipo di tabella è stato creato nelle più vecchie versioni di MySQL principalmente per supplire
La licenza è la [[GNU General Public License|GNU GPL]] versione 2.
==Struttura dei file==
Line 13 ⟶ 15:
Il legame fra lo stesso campo di due o più tabelle può essere in generale di quattro tipi:
*1) inner join: selezione degli elementi comuni ai due campi. Equivale all'intersezione fra insiemi. Contestualmente il ''software'' può consentire l'operazione di [[complemento a uno]] fra un [[insieme]] e l'intersezione, che equivale a trovare gli elementi comuni e non comuni di due elenchi. Può essere fatto con un [[foglio di calcolo]], senza ricorrere a codice SQL.
*2) outer join, di tre tipi:
**2a) right outer join: selezione di tutti gli elementi della tabella più a destra e solo degli elementi
**2b) left outer join: selezione di tutti gli elementi della tabella più a sinistra e solo degli elementi
**2c) full outer join: selezione di tutti gli elementi di tutte le tabelle, che siano comuni o meno. Questa operazione equivale all'[[Unione (insiemistica)|unione]] di più insiemi, di più tabelle in una unica, senza perdita di informazione.
Il merge di dati può essere effettuato unendo le tabelle di origine in un'unica tabella, che avrà le colonne comuni con lo stesso formato, e delle celle nei campi che ciascuna tabella di
==Come creare una tabella di tipo Merge==
La sintassi per creare una tabella
CREATE TABLE t1 (
Line 39 ⟶ 40:
Come si può notare, la tabella totale ha la stessa struttura delle due tabelle sottostanti. Il campo a non è dichiarato come chiave primaria perché il motore Merge non può garantire l'unicità dei dati.
Le due opzioni seguenti sono molto importanti:
* UNION elenca le tabelle che fanno parte della MERGE.
* INSERT_METHOD specifica se la MERGE può accettare l'inserimento di dati, e in quale tabella. I valori possibili sono:
** FIRST - i nuovi dati vengono inseriti nella prima MyISAM elencata in UNION
** LAST - i nuovi dati vengono inseriti nell'ultima MyISAM elencata in UNION
** NO - nessun nuovo record può essere inserito, la tabella MERGE è di sola lettura (sarà però possibile inserire dati direttamente nelle MyISAM sottostanti)
Per modificare la lista delle tabelle sottostanti:
Line 44 ⟶ 52:
==Voci correlate==
*[[MySQL]]▼
*[[MyISAM]]
▲*[[MySQL]]
* [[MariaDB]]
==Collegamenti esterni==
*
* {{cita web|https://mariadb.org/|MariaDB}}
*[http://winmerge.sourceforge.net/ Plug-in gratuito e ''open-source'' per il merge di file Office, testo, Lotus Notes, Project]▼
* {{cita web|http://www.percona.com/software/percona-server|Percona Server}}
▲*
{{Portale|Software libero}}
[[Categoria:
[[Categoria:Librerie C++]]
|