PHP – CMS – Creazione ambiente InnoDB vs MyISAM e Collate

Creo il database che chiamerò GIORNALE.

Ecco il codice sorgente per la creazione del database

Creo due tabelle una delle news ed una degli autori.

Quindi ogni autore può creare più news.

Creo la tabella delle news:

utf8_unicode_ci significa usare le regole dell’Occial Unicode che è utilizzato nella maggior parte delle lingue. ci significa case insensitive.

Affermare che ENGINE=MyISAM significa creare una struttura del database diversa da quella di default che si chiama InnoDB.

MyISAM

  1. Ogni tabella può raggiungere al massimo 256TB.
  2. si creano su disco tre file: .frm che contiene il formato della tabella, .myd che contiene i dati, .myi che contiene gli indici
  3. il lock avviene a livello di tabella e non di record e va bene per tabelle che hanno poca movimentazione

InnoDB

  1. Storage di default
  2. il lock avviene a livello di record
  3. supporta il mondo transazionale ossia solo con l’operazione di commit avviene l’effettiva scrittura sul database
  4. creazione di foreign keys per mantenere un database relazionale
  5. permette di eseguire query su righe che, contemporaneamente, sono in fase di aggiornamento, leggendo i dati così come apparivano prima delle modifiche in corso
  6. ogni tabella può raggiungere i 64TB

COLLATE

Serve per dire al DBMS come scrivere i caratteri che sono memorizzati nella relativa colonna e quanto spazio essa deve occupare.

  1. utf8mb4 al massimo quattro byte per carattere
  2. utf8mb3 al massimo 3 byte per carattere
  3. utf8 è un alias utf8mb3

Vado a adesso a definire al seconda tabella, quella degli autori

Infine creo la chiave esterna nella tabella della news:

Da notare la sintassi per la creazione della chiave esterna, come buona pratica quindi prima si creano le tabelle e successivamente le chiavi esterne.

This entry was posted in Senza categoria. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *