Merge (database): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m fix categorie Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione Android |
|||
(25 versioni intermedie di 15 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 8 ⟶ 10:
*Il file '''.MRG''' contiene i nomi delle tabelle MyISAM che compongono la Merge.
==
Due tabelle possono essere confrontate in base a uno o più campi. I record di queste colonne devono avere lo stesso formato e tipologia di dati, e fra di essi viene creato un vincolo di integrità referenziale.
Il merge fra due tabelle equivale a trovare l'[[intersezione]] di due insiemi, e il [[complemento a uno]] fra un [[insieme]] e l'intersezione, 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. ▼
Il legame fra lo stesso campo di due o più tabelle può essere in generale di quattro tipi:
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 orgine non ha in comune con l'altra. Una [[tabella pivot]] permette poi di contare le occorrenze di ciascua colonna comune, e filtrare quelli superiori a uno, che sono i valori ripetuti.▼
▲
*2) outer join, di tre tipi:
**2a) right outer join: selezione di tutti gli elementi della tabella più a destra e solo degli elementi identici a questi nelle altre tabelle;
**2b) left outer join: selezione di tutti gli elementi della tabella più a sinistra e solo degli elementi identici a questi nelle altre tabelle;;
**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 30 ⟶ 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 35 ⟶ 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++]]
|