WallPapers

Amazon Books

Driver Image Banner 728 x 90

Indice articoli

Progettare i database

Il primo passo è sempre creare il database, a meno che non usiate un database progettato da altri. Quando un database viene creato il proprietario è lo user che lo ha creato (di solito un superuser). Di solito solo il proprietario è autorizzato a far tutto sugli oggetti del database e, nell'ottica di consentire ad altri utenti di poterlo utilizzare, debbono essere assegnati dei privilegi.

Le applicazioni non debbono mai connettersi al database con lo user del proprietario o del superuser, perché questi user possono eseguire delle query che per esempio possono modificare lo schema del database o cancellarne l'intero contenuto.

Potete creare diversi user per il database, ognuno per i diversi aspetti della vostra applicazione, ognuno con privilegi molto limitati sull'utilizzo degli oggetti del database.

I privilegi richiesti dovrebbero essere assegnati soltanto per evitare che lo stesso utente possa interagire con il database nei diversi casi di uso.

Ciò significa che se gli intrusi accedono al vostro database usando uno di questi user, possono effettuare soltanto le modifiche consentite dalla vostra applicazione.

Vi suggeriamo di non implementare tutta la business logic nell'applicazione web (cioè nei vostri script), piuttosto fatelo nello schema del database, usando viste, triggers, regole (sempre se il vostro RDBMS ve lo consente).

Se il sistema evolve, significa che il database sarà aggiornato con nuove caratteristiche, e che voi dovrete re implementare la logica delle vostre applicazioni in ciascun componente di questa che accede al database .

I trigger (per esempio) possono essere usati per gestire in modo trasparente ed automatico i campi del database, e spesso forniscono un aiuto nel debug della applicazione o nel ricostruire il funzionamento di una transazione.