Progettare Data Base con MySQL
Scheda del corso
Partenza prossimo corso: Febbraio 2008
Lezioni: 40 lezioni di 4 ore ciascuna (160 ore).
Giorni: da definire
Orario: 9:00 - 13:00
Durata corso: 5 mesi.
Docente: Ing Vincenzo Di Luzio
Livello del corso: intermedio
Preparazione richiesta: uso di base del computer, della gestione dei file, della videoscrittura e buona conoscenza della navigazione su Internet e uso dei siti web. Equivalentemente: ECDL base Start
Corsi di approfondimento: Nessuno.
A chi è rivolto
Il corso è rivolto a chi vuole apprendere i principi teorici e pratici della progettazione dei database.
Alla fine del corso l'allievo sarà in grado di progettare e realizzare qualsiasi database.
Saranno introdotti i concetti teorici di SQL e realizzati numerosi esempi pratici in MySQL
Il progetto di formazione retribuito
Per poter perfezionare davvero la propria preparazione è necessario mettersi alla prova sul campo.
I migliori allievi potranno svolgere presso di me e presso o la società Di Luzio TPS Srl un progetto di formazione reale e retribuito.
Il progetto di formazione prevede l'assunzione con un regolare contratto a progetto per i migliori 2 allievi del corso.
nota: inizialmente avevo pensato di realizzare degli stage formativi non retribuiti. Successivamente ho preferito offrire molto di più ed optare per l'assunzione con un contratto a progetto regolare e retribuito.
Il programma del corso
- Introduzione alle Basi di dati
- Sistemi informativi e sistemi informatici. Le basi di dati. Il DBMS. Tipologie di utenti di un DBMS. Linguaggi per basi dati: DDL e DML.
- Architetture delle Basi di dati
- I modelli dei dati. Schemi e livelli di astrazione in una base di dati. L'architettura ANSI/SPARC a tre livelli. Linguaggi ed interfacce per basi dati. Architetture centralizzate e client/server.
- Modello ER per modellare i dati
- Modelli di dati concettuali ad alto livello per la modellazione dei dati. Applicazione di esempio. Tipi di entità, insiemi di entità, attributi e chiavi. Tipi di associazione, insiemi di associazioni, ruoli e vincoli. Entità deboli. Raffinamento progettazione ER.
- Modello EER e modellazione UML
- Sottoclassi, superclassi ed ereditarietà. Specializzazione/generalizzazione. Tipi di associazione di grado maggiore di due. Astrazione dati, rappresentazione della conoscenza e ontologia.
- Il modello relazionale
- Prodotto cartesiano e relazioni. Corrispondenze fra relazioni. Informazione incompleta e valori nulli. Vincoli di integrità. Vincoli intrarelazionali: vincoli di tupla, vincolo di chiave. Vincoli interrelazionali: vincoli di integrità referenziale. Aggiornamento egestione delle violazioni e dei vincoli.
- L'algebra relazionale
- Operatori dell'algebra relazionale: operatori insiemistici, ridenominazione, proiezione, selezione, join. Join naturale. Join esterno. Theta-join. Interrogazioni in algebra relazionale. Trasformazioni di equivalenza per espressioni in algebra relazionale. Algebra con valori nulli. Viste.
- Calcolo relazionale
- Calcolo su domini. Costruzione delle formule: operatori logici and, or e not; quantificatore esistenziale e universale; Interrogazioni in calcolo sui domini. Calcolo su tuple con dichiarazione di range. Interrogazioni in calcolo su tuple. Limitazioni del calcolo relazionale.
- Traduzione di schemi ER e EER a schemi relazionali
- Il processo di traduzione da ER a relazionale. Traduzione di costrutti EER in relazioni.
- Principi di SQL/MySQL.
- Lo standard SQL-2. Definizione di schemi in SQL: tipi di dato di base e definiti dall'utente, definizione di tabelle; definzione dello schema; definizione di vincoli (intrarelazionali semplici, di integrità referenziale, e generici). Definizione di indici. Istruzioni per la modifica dello schema. Interrogazioni in SQL: il comando select; formule di selezione; ordinamento del risultato; join di tabelle. Uso di variabili. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni nidificate. Operatori su insiemi. Istruzioni di inserimento, cancellazione e modifica. Le asserzioni. Le viste. Controllo degli accessi: identificazione, risorse e privilegi.
- SQL: asserzioni, viste, trigger e tecniche di programmazione
- Specificazione vincoli mediante asserzioni. Viste in SQL. Trigger e concetti di basi di dati attive. Problematiche programmazione basi di dati. SQL embedded ed SQL dinamico. Funzioni. Stored procedure per le basi di dati.
- Progettazione concettuale
- Fonti dei requisiti. Organizzazione e scrittura dei requisiti. Sviluppo del modello ER. Strategie di progetto: bottom-up, top-down, inside-out e ibrida. Qualità di uno schema concettuale. Strumenti CASE per la progettazione.
- Progettazione logica
- Analisi delle prestazioni su schemi ER. Volume dei dati. Caratteristiche delle operazioni: schema di operazioni e tavola degli accessi. Ristrutturazione di schemi ER: analisi delle ridondanze, eliminazione delle generalizzazioni, partizionamento/accorpamento di entità e associazioni, scelta degli identificatori primari. Traduzione verso il modello relazionale. Traduzione di relazioni molti-a-molti, uno-a-molti e uno-a-uno. Un esempio di progettazione logica. Uso di strumenti CASE per la progettazione logica.
- Dipendenze funzionali e normalizzazione per basi di dati relazionali
- Ridondanze e anomalie. Le dipendenze funzionali. Dipendenze non banali. Dipendenze e chiavi. Forma normale di Boyce e Codd. Normalizzazione in BCNF. Decomposizioni senza perdite. Decomposizioni con conservazione delle dipendenze. La terza forma normale. Decomposizione in 3FN. Normalizzazione e schemi concettuali.
- Strato fisico: memorizzazione di dati, indici, elaborazione delle interrogazioni e progettazione fisica
- Memoria secondaria. Collocazione sul disco dei record di un file. Operazioni su file. Techiche hash.
- Indici per file
- Tipi di indici ordinati a un solo livello e indici multilivello. Alberi B e alberi B1. Indici su chiavi multiple. Altri tipi di indici.
- Transazioni
- Introduzione alla gestione delle transazioni. Concetti di transazione e di sistema.
- Progetti da realizzare
- Supermarket. Videoteca. Internet Cafè. Progetti classici di MySQL: World, Salila e Menagerie.
Il materiale didatico
Ad ogni allievo sarà consegnato una cartella contenente:
- i libri scelti per il corso (in via di definizione)
- le dispense del docente;
- una cartellina, una penna ad inchiostro liquido, un blocco note;
- una pen-drive USB da 512Mbyte.
Tutti i corsi in catalogo
Patente Europea del computer
Web Design
Programmazione e DataBase
Fotografia Digitale e fotoritocco
E se non avete ancora trovato il vostro corso...
» catalogo completo
Perchè sceglierci?
Il fattore chiave è
la qualità degli insegnanti
La qualità di un corso sta nell'abilità di chi insegna; tutto il resto sono chiacchiere.

I nostri docenti sono selezionati con cura per garantire il massimo apprendimento.
I docenti sono tutti professionisti del settore con una esperienza di numerosi anni.
Non vi basta? Eccovi altri motivi.
I risultati ottenuti
Chi ha frequentato i corsi della patente europea del computer ha superato gli esami al primo tentativo e con una media di 93/100 contro i 75/100 richiesti.

La richezza della nostra offerta
Offriamo più di 15 corsi in catalogo. Abbiamo corsi:
- di tutti i livelli: dai corsi di base a quelli professionali;
- di tutti gli argomenti: dall'ufficio alla realizzazione di siti web, fino alla programmazione.
Il confort e la dotazione delle aule.
Le nostre aule dispongono di un computer per ogni studente.

Il materiale didattico completo.
Ogni studente riceverà almeno:
- i libri di testo del corso.
- Le dispense esclusive del docente.
- Una pen-drive USB dove salvare il lavoro svolto in classe.
- Una cartellina, un block notes ed una penna.