Come creare un Database da Plesk

Cosa è il database

Un database in ambito web è un sistema di gestione dati progettato specificamente per funzionare in un ambiente online. Rappresenta una componente fondamentale delle moderne applicazioni web, fungendo da repository centralizzato per l’archiviazione, l’organizzazione e il recupero di informazioni strutturate accessibili attraverso Internet o reti intranet aziendali.

La caratteristica principale di un database web è la sua capacità di interagire dinamicamente con le applicazioni web, consentendo la creazione di contenuti personalizzati in tempo reale in risposta alle richieste degli utenti. Questa interazione avviene tipicamente attraverso linguaggi di scripting lato server come PHP, Python, Ruby o Node.js, che eseguono query al database e formattano i risultati per la visualizzazione su pagine web. Il database è utilizzabile su più pannelli come Plesk o cPanel.

I database web possono essere classificati in diverse categorie, le più comuni delle quali sono:

  1. Database relazionali: Basati sul modello relazionale, utilizzano tabelle per organizzare i dati e relazioni tra queste tabelle. Esempi popolari includono MySQL, PostgreSQL e Microsoft SQL Server.
  2. Database NoSQL: Progettati per gestire grandi volumi di dati non strutturati o semi-strutturati. Includono database orientati ai documenti (come MongoDB), database chiave-valore (come Redis), database a colonne (come Cassandra) e database a grafo (come Neo4j).
  3. Database NewSQL: Combinano le caratteristiche dei database relazionali tradizionali con la scalabilità dei sistemi NoSQL.

Per approfondire le differenze tra i due modelli principali è disponibile anche la guida dedicata ai database NoSQL e SQL, dove vengono analizzati struttura dei dati, schema, scalabilità e principali casi di utilizzo.

Le caratteristiche chiave di un database web efficace includono:

  • Scalabilità: Capacità di gestire un numero crescente di utenti e volumi di dati senza compromettere le prestazioni.
  • Sicurezza: Implementazione di misure robuste per proteggere i dati sensibili da accessi non autorizzati e attacchi informatici.
  • Disponibilità: Garanzia di accesso continuo ai dati, spesso attraverso sistemi di replica e bilanciamento del carico.
  • Prestazioni: Ottimizzazione per query rapide e tempi di risposta minimi, cruciali per l’esperienza utente nelle applicazioni web.
  • Integrità dei dati: Meccanismi per garantire l’accuratezza e la coerenza dei dati memorizzati.

L’architettura tipica di un’applicazione web che utilizza un database comprende diversi livelli:

  1. Livello di presentazione: L’interfaccia utente, generalmente realizzata con HTML, CSS e JavaScript.
  2. Livello applicativo: La logica di business dell’applicazione, implementata con linguaggi di programmazione lato server.
  3. Livello di persistenza: Il database vero e proprio, che memorizza e gestisce i dati.

Questa architettura a livelli permette una separazione delle preoccupazioni, facilitando lo sviluppo, la manutenzione e la scalabilità dell’applicazione.

I database web trovano applicazione in una vasta gamma di scenari, tra cui:

  • E-commerce: Per gestire cataloghi di prodotti, ordini, informazioni sui clienti e inventario.
  • Social media: Per memorizzare profili utente, post, connessioni e interazioni.
  • Content Management Systems (CMS): Per organizzare e distribuire contenuti web dinamici.
  • Applicazioni aziendali: Per gestire dati relativi a clienti, vendite, risorse umane e operazioni.
  • Servizi di streaming: Per catalogare contenuti multimediali e tracciare le preferenze degli utenti.
  • Applicazioni mobili: Come backend per memorizzare e sincronizzare dati tra dispositivi.

L’evoluzione dei database web ha portato all’emergere di tecnologie e approcci innovativi, come:

  • Database distribuiti: Che distribuiscono i dati su più server per migliorare le prestazioni e la resilienza.
  • Database in-memory: Che mantengono i dati in memoria principale per accessi ultra-rapidi.
  • Database multimodello: Che supportano diversi modelli di dati all’interno dello stesso sistema.

La loro continua evoluzione riflette i cambiamenti nelle esigenze di gestione dei dati e nelle aspettative degli utenti, rendendo questo campo un’area di costante innovazione e sviluppo nel panorama tecnologico.

Come sono organizzati i dati in un database

Nei database relazionali le informazioni vengono organizzate principalmente in tabelle. Una tabella può essere immaginata come una struttura composta da righe e colonne: ogni riga rappresenta normalmente un singolo record, mentre le colonne definiscono le informazioni che possono essere memorizzate.

Un database utilizzato da WordPress permette di vedere concretamente questa organizzazione. WordPress utilizza diverse tabelle per conservare contenuti, utenti, configurazioni e altre informazioni necessarie al funzionamento del sito.

Tra le tabelle presenti in un’installazione standard si possono trovare, ad esempio, wp_posts, wp_users e wp_options. La tabella wp_posts viene utilizzata per diversi tipi di contenuto, mentre wp_users conserva i dati degli utenti e wp_options contiene numerose impostazioni del sito.

Il prefisso wp_ è quello predefinito di WordPress, ma può essere differente. Non bisogna quindi considerare questi nomi identici per qualsiasi installazione.

All’interno di una tabella, una riga rappresenta un record. Le colonne, invece, descrivono le proprietà di quel record. Nella tabella degli utenti, ad esempio, colonne differenti permettono di memorizzare informazioni come identificativo, nome utilizzato per il login ed email.

Le relazioni consentono infine di collegare logicamente informazioni conservate in tabelle differenti. È proprio questa organizzazione a caratterizzare il modello dei database relazionali.

Come comunica un sito web con il database

Il browser normalmente non interroga direttamente il database. Tra il visitatore e il database è presente l’applicazione web, che decide quali informazioni recuperare e come utilizzarle.

Prendendo WordPress come esempio, quando viene richiesta una pagina il server esegue il codice PHP necessario. WordPress determina quali dati servono per generare la risposta ed esegue le relative interrogazioni al database. I risultati vengono elaborati dall’applicazione e utilizzati per costruire la pagina restituita al browser.

Il percorso, semplificato, può essere rappresentato così:

Browser
   ↓
Web server / PHP
   ↓
WordPress
   ↓
Database MySQL/MariaDB
   ↓
WordPress
   ↓
Pagina HTML
   ↓
Browser

Il database, quindi, non contiene normalmente la pagina HTML completa così come viene visualizzata dal visitatore. Conserva invece le informazioni utilizzate dall’applicazione per costruire dinamicamente il contenuto richiesto.

Database e utente del database: qual è la differenza

Quando si crea un database da un pannello hosting vengono richiesti sia il nome del database sia un utente. Sono due elementi differenti.

Il database è il contenitore nel quale vengono organizzati e memorizzati i dati. L’utente del database è invece l’account utilizzato dall’applicazione per autenticarsi e accedere a quei dati.

All’utente vengono associate delle credenziali e dei permessi. Un’applicazione web utilizza quindi il nome del database per sapere a quale insieme di dati collegarsi e le credenziali dell’utente per autenticarsi.

Questa distinzione diventa evidente durante l’installazione manuale di un CMS: non basta indicare il database, ma occorre fornire anche un utente autorizzato ad accedervi.

Come creare un Database da Plesk

La prima cosa da fare è effettuare il login al pannello Plesk e cliccare sulla voce Database

Come creare un Database da Plesk

Nella pagina che si presenta cliccare su Aggiungi Database

Come creare un Database da Plesk

Bisognerà quindi configurare tutti i campi per il proprio Database, in ordine:

  • Nome del Database
  • Nome Utente del Database
  • Password relativa all’Utente creato, si potrà scegliere se impostare la propria password o generarla automaticamente cliccando su Genera

 

A questo punto si dovrà spuntare la voce Consenti connessioni remote da qualunque host e quindi cliccare su OK

Come creare un Database da Plesk

Come gestire le credenziali del database

Le credenziali create durante questa procedura vengono utilizzate dalle applicazioni che devono collegarsi al database. È quindi importante conservarle correttamente e non confonderle con quelle utilizzate per accedere a Plesk, a WordPress o ad altri servizi dell’hosting.

Quando si utilizza la funzione Genera di Plesk si può ottenere automaticamente una password da assegnare all’utente del database. La password dovrà poi essere utilizzata nella configurazione dell’applicazione che deve effettuare la connessione.

Nome del database, nome dell’utente, password e host del database costituiscono normalmente le informazioni fondamentali richieste da un’applicazione per stabilire la connessione.

È inoltre opportuno evitare di riutilizzare per il database password già impiegate per altri account o servizi. In questo modo le diverse credenziali rimangono separate.

Come utilizza WordPress le credenziali del database

WordPress offre un esempio pratico di come vengono utilizzati i dati appena configurati in Plesk. Durante l’installazione il CMS deve sapere quale database utilizzare e con quali credenziali effettuare l’accesso.

Queste informazioni vengono memorizzate nella configurazione di WordPress. Nel file wp-config.php si trovano, tra le altre, le costanti relative alla connessione al database:

define( 'DB_NAME', 'nome_database' );
define( 'DB_USER', 'nome_utente' );
define( 'DB_PASSWORD', 'password_database' );
define( 'DB_HOST', 'host_database' );

DB_NAME identifica il database da utilizzare. DB_USER contiene il nome dell’utente autorizzato, mentre DB_PASSWORD contiene la relativa password. DB_HOST indica invece l’host al quale WordPress deve collegarsi.

Il valore dell’host dipende dalla configurazione del servizio e va quindi utilizzato quello previsto per l’ambiente sul quale viene installato WordPress.

Durante la procedura guidata di installazione WordPress richiede proprio queste informazioni. La procedura completa è disponibile nella guida su come installare manualmente WordPress, dove viene mostrato anche il passaggio relativo alla configurazione del database.

Come accedere al database con phpMyAdmin da Plesk

Dopo aver creato il database può essere necessario visualizzarne il contenuto oppure effettuare operazioni di amministrazione. Per i database MySQL e MariaDB Plesk mette a disposizione phpMyAdmin, accessibile dalla gestione dei database.

phpMyAdmin fornisce un’interfaccia web per lavorare sul database senza dover utilizzare direttamente un client da riga di comando. Permette, tra le altre operazioni, di consultare la struttura delle tabelle, visualizzare i record, eseguire istruzioni SQL e utilizzare funzioni di importazione ed esportazione.

Si tratta comunque di uno strumento che opera direttamente sui dati. La modifica o l’eliminazione manuale di record e tabelle può influire immediatamente sull’applicazione che utilizza quel database.

Quando si lavora sul database di WordPress, ad esempio, una modifica eseguita tramite phpMyAdmin può riflettersi direttamente sul sito. Non esiste un ulteriore passaggio di conferma da parte di WordPress.

Perché fare un backup prima di modificare il database

Prima di effettuare interventi manuali su un database è opportuno avere a disposizione una copia recuperabile dei dati. Questo vale soprattutto quando si devono eliminare o modificare tabelle, eseguire istruzioni SQL che modificano molti record oppure importare dati provenienti da un’altra copia del database.

Un errore in una query o un’importazione non corretta può modificare informazioni utilizzate direttamente dall’applicazione. Il backup permette di disporre di uno stato precedente al quale tornare qualora l’operazione non produca il risultato previsto.

Plesk comprende funzioni dedicate al backup e al ripristino dei dati. La procedura viene trattata anche nella guida completa a Plesk, insieme alle altre operazioni principali disponibili nel pannello.

Il database è quindi qualcosa che si incontra continuamente nella gestione reale di un hosting. WordPress lo utilizza per contenuti e configurazioni, Plesk permette di crearlo e amministrarlo e phpMyAdmin consente di intervenire direttamente sui dati. Capire la differenza tra database, tabelle, utenti e credenziali rende molto più chiaro cosa succede quando si installa un CMS o si deve risolvere un problema di connessione al database.