Merge (baza de date)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Merge , sau MRG_MyISAM , este un motor de stocare MySQL și furculițele sale. Un tabel Merge este o colecție de tabele MyISAM cu aceleași coloane și indici. Coloanele și indexurile trebuie să aibă aceleași nume, aceeași ordine și aceleași caracteristici în toate tabelele MyISAM care fac parte din aceeași Merge. Cu toate acestea, acestea nu trebuie neapărat să se afle în aceeași bază de date și pot avea diferite formate și opțiuni (PACK_KEYS, MAX_ROWS ...).

Acest tip de tabel a fost creat în versiunile mai vechi ale MySQL, în principal pentru a suplini lipsa de suport pentru vizualizări și partiționare, dar poate fi utilă și astăzi.

Licența este GNU GPL versiunea 2.

Structura fișierului

Fiecare tabel Merge este înregistrat în două fișiere diferite. Fiecare are un nume format din două părți: numele de bază este același cu numele tabelului, în timp ce extensia indică funcția fișierului.

  • Fișierul .frm conține definiția structurii tabelului, ca și pentru MyISAM.
  • Fișierul .MRG conține numele tabelelor MyISAM care alcătuiesc Merge.

Combinarea datelor

Două tabele pot fi comparate pe baza unuia sau mai multor câmpuri. Înregistrările acestor coloane trebuie să aibă același format și tip de date și se creează o constrângere referențială de integritate între ele.

Legătura dintre același câmp din două sau mai multe tabele poate fi în general de patru tipuri:

  • 1) îmbinare interioară: selectarea elementelor comune celor două câmpuri. Echivalent cu intersecția mulțimilor. În același timp, software - ul poate permite operația cu un singur complement între un set și intersecție, ceea ce este echivalent cu găsirea elementelor comune și mai puțin frecvente din două liste. Se poate face cu o foaie de calcul , fără a apela la codul SQL.
  • 2) îmbinare exterioară, de trei tipuri:
    • 2a) îmbinarea exterioară dreaptă: selectarea tuturor elementelor tabelei din dreapta și numai a elementelor identice cu acestea din celelalte tabele;
    • 2b) îmbinarea exterioară stângă: selectarea tuturor elementelor tabelei din stânga și numai a elementelor identice cu acestea din celelalte tabele ;;
    • 2c) îmbinare exterioară completă: selectarea tuturor elementelor tuturor tabelelor, indiferent dacă sunt comune sau nu. Această operațiune este echivalentă cu unirea mai multor seturi, a mai multor tabele într-unul singur, fără pierderi de informații.

Combinarea datelor se poate face prin combinarea tabelelor sursă într-un singur tabel, care va avea coloane comune cu același format și celule în câmpuri pe care fiecare tabel sursă nu le are în comun cu celălalt. Un tabel pivot vă permite apoi să numărați aparițiile fiecărei coloane comune și să le filtrați pe cele mai mari decât una, care sunt valori repetate.

Cum se creează un tabel Merge

Sintaxa pentru crearea unui tabel de îmbinare este următoarea:

 CREAȚI TABELUL t1 (
   o cheie primară INT NOT NULL AUTO_INCREMENT,
   b CHAR (20));
CREAȚI TABELUL t2 (
   a INT INT NULL AUTO_INCREMENT CHEIE PRIMARĂ,
   b CHAR (20));
CREAȚI TABEL total (
   a INT NOT NULL AUTO_INCREMENT,
   b CHAR (20), INDEX (a))
   MOTOR = MERGE
   UNION = (t1, t2)
   INSERT_METHOD = ULTIMA;

După cum puteți vedea, tabelul total are aceeași structură ca cele două tabele de mai jos. Câmpul a nu este declarat ca cheie primară deoarece motorul Merge nu poate garanta unicitatea datelor.

Următoarele două opțiuni sunt foarte importante:

  • UNION enumeră tabelele care fac parte din MERGE.
  • INSERT_METHOD specifică dacă MERGE poate accepta inserarea datelor și în ce tabel. Valorile posibile sunt:
    • PRIMUL - noile date sunt inserate în primul MyISAM listat în UNION
    • ULTIMUL - datele noi sunt inserate în cel mai recent MyISAM listat în UNION
    • NU - nu poate fi inserată nicio înregistrare nouă, tabelul MERGE este doar în citire (cu toate acestea, va fi posibil să introduceți date direct în MyISAM de mai jos)

Pentru a edita lista de tabele de mai jos:

 ALTER TABLE tbl_name UNION = (...)

Elemente conexe

linkuri externe

Software gratuit Portal Software gratuit Puteți ajuta Wikipedia extinzându-l Software-ul gratuit