Corso Progettazione database

Iscriviti al corso

Molto spesso gli sviluppatori e i programmatori, in particolar modo coloro che sono web oriented, affrontano anche il compito di progettare e costruire il database su cui poggerà l'applicazione.

Molto spesso questo compito viene affrontato come una “routine” senza porre la dovuta attenzione ai passaggi che questo comporta. Il problema è che l'errore di progettazione del database molto spesso si manifesta a cosa fatte, quando l'applicazione è già in produzione e a volte magari da un certo periodo di tempo: la situazione più antipatica nella quale intervenire per risolvere un problema.

L'obiettivo di questo corso è quello di approfondire le nozioni necessarie alla corretta progettazione di un database relazionale indipendentemente da qual esso sia (mysql, oracle, sql server, etc) prendendo in esame eventualmente le soluzioni proprietarie dei singoli problemi.

Si porrà l'attenzione sui più comuni errori nella progettazione logica, e fisica del database, sull'esecuzione delle query e più in generale sullo sviluppo dell'applicazione.

Come in tutti i corsi di Triboo Academy, l'approccio teorico di base è bilanciato dall'applicazione pratica delle nozioni imparate.

A chi è rivolto

Il corso è rivolto a tutti coloro che vogliono imparare a progettare un database in modo professionale

Un'attenta lettura del programma consente di valutare se il corso risponde alle tue necessità. Se hai bisogno di consigli o informazioni, gli esperti di Triboo Academy sono a completa disposizione al numero verde gratuito 800.035.150.

Requisiti minimi

Il corso presuppone già la conoscenza di almeno un database fra i più diffusi almeno per quanto riguarda tutte le operazione di interazione più comuni (select, insert, update, create table, viste etc sono temi che non verranno affrontati ma dovranno già far parte delle conoscenze).

Conoscenza base di SQL e di un database fra i più noti.

Materiale didattico e gadget

Il corso Progettazione Database prevede la distribuzione del seguente materiale didattico:

SQL : Quello che i libri non dicono

di Karwin Bill

Editore Apogeo Informatica, 2010 Italiano


Attenzione: il libro di testo, in considerazione della reperibilità e delle ristampe disponibili al momento dell'inizio del corso, potrebbe essere sostituito da una pubblicazione simile.

Compresi nel prezzo del corso, saranno forniti:

Due coffee break per ogni giornata di corso,che ti permetteranno di mantenere la giusta concentrazione.
Ogni studente riceverà alcuni gadget con marchio Triboo Academy utili alla buona condotta del corso:

  • Un blocco notes per prendere appunti
  • Una penna

Dotazione hardware e software

Aule attrezzate con un personal computer per ogni studente saranno a disposizione dei partecipanti al corso.

Costo

Il corso Webmaster con PHP ha un costo di 300 euro + Iva.

Il costo include ogni aspetto inerente il corso.

Sono compresi nel prezzo:

  • i coffee break;
  • gadget;
  • il materiale didattico;
  • l'attestato di partecipazione.

Per chi ha già partecipato in passato a uno qualsiasi dei corsi Triboo Academy è previsto uno sconto del 10%.

Il corso viene svolto in 1 lezione da 8 ore ciascuna.

Progettazione logica di database

(alcuni errori comuni e le possibili soluzioni) 

La gestione delle chiavi esterne

1.1 Problema: memorizzare attributi a più valori

1.2 Errore comune: formato di elenchi separati da virgole

1.3 Soluzione: creare una tabella di riferimento incrociato

Informazioni ricorsive

2.1 Problema: memorizzare e recuperare gerarchie

2.2 Errore comune: far dipendere sempre dal padre

2.3 Soluzione: utilizzare modelli ad albero alternativi

La gestione dell'ID

3.1 convenzioni per la chiave primaria

3.2 Chiavi naturali e chiavi composte

Tabelle senza chiavi primarie

4.1 semplificare l’architettura del database

4.2 dichiarare i vincoli

Il problema Entità-Attributo-Valore

5.1 supportare gli attributi variabili

5.2 Errore: ENUM

5.3 modellare i sottotipi

Progettazione fisica di database

(problemi legati alla struttura fisica del database)

Gli arrotondamenti

6.1 utilizzare numeri frazionari invece degli interi

6.2 Il tipo  FLOAT

6.3 Il tipo NUMERIC

Limitazioni ai valori inseribili in un campo

7.1 specificare i valori nei dati  e non nella struttura

7.2 Query sull’insieme di valori inseribili

La perdita dei files collegati

8.1 La prassi nel memorizzare immagini

8.2 Il problema del backup

8.3 utilizzare tipi di dati BLOB quando servono

Errori nell'uso degli indici

9.1 ottimizzare le prestazioni

9.2 usare gli indici senza un piano

9.3 Soluzione: il paradigma M.E.N.T.O.R.

Problemi relativi alle query

Null è uguale a vuoto?

10.1 distinguere i valori mancanti

10.2 utilizzare null come valore normale, o viceversa

10.3 utilizzare null come valore unico

Gruppi ambigui

11.1 Problema: ottenere la riga con il valore massimo per il gruppo

11.2 La regola del valore singolo

11.3 Soluzione:utilizzare le colonne senza ambiguità

Selezione casuale dei dati

12.1 Estrarre una riga campione

12.2 Ordinare i dati a caso

Il motore di ricerca dei poveri

13.1 Le ricerche full-text

13.2 Estensioni per risolvere il problema

Eccesso di sinteticità

14.1 Ridurre le query SQL

14.2 Risolvere un problema complesso in un unico passaggio

14.3 Soluzione: suddividere in operazioni più semplici

Antipattern nello sviluppo di applicazioni

Password leggibili

15.1 Dilemma: recuperare o reimpostare le password?

15.2 Errore: memorizzare password in chiaro

15.3 Soluzione: memorizzare un hash della password

15.4 Le funzioni di hash

15.5 Usare un hash in SQL

15.6 Evitare le rainbow tables l’hash

SQL injection

16.1 Scrivere query SQL dinamiche ?

16.2 Pericolo: eseguire come codice input non verificato

16.3 Soluzione: non fidarsi di nessuno → Filtrare l’input

16.4 Isolare l’input dell’utente dal codice

Altri problemi

23.1 Scrivere meno codice?

23.2 Lavorare senza sfruttare gli strumenti giusti?

23.3 Recuperare gli errori in modo elegante

23.4 Impiegare le best practice

23.5 Sviluppare una cultura universale della qualità

23.6 Regole di normalizzazione

Le sedi