Progettare database con MySQL
Alla fine del corso l'allievo sarà in grado di progettare e realizzare qualsiasi database. Apprenderai i concetti teorici sui database e realizzati numerosi esempi pratici in MySQL
A chi è rivolto
Il corso è rivolto a chi vuole apprendere i principi teorici e pratici della progettazione dei database a livello professionale.
Il corso in breve
Scheda del corso
| Ore |
120 |
| Lezioni |
40 |
| Periodo | da Dicembre a Maggio |
| Livello |
professionale |
| Competenze richieste |
fondamenti di programmazione |
| Docenti |
Roberto Di Vito |
| Prezzo |
1.690 + IVA |
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.
Preparazione richiesta
Competenze
Per partecipare al corso progettare database con MySQL non è necessaria alcuna preparazione specifiaca. E' sufficiente impiegare al meglio il personal computer.
Tuttavia è consigliabile conoscere i concetti di base della programmazione. Queste competenze possono essere acquisite con il corso Fondamenti di programmazione.
Il materiale didatico
Il libro scelto per il corso
Il libro scelto per il corso è Corso rapido di MySQL di Ben Forta, edizioni McGraw-Hill. Il libro tratta in maniera dettagliata tutta la parte tecnica di MySQL.
Per alcuni argomenti come la configurazione di MySQL e i concetti teorici sui database saranno invece consegnate le dispense del docente.
Cancelleria e supporti
- una cartellina, una penna ad inchiostro liquido, un blocco note;
- una pen-drive USB da 512Mbyte.
Offerta speciale!
porta i tuoi amici
Se porti uno o più amici ci sono sconti per tutti.
- 10% a ciascuno con 1 amico
- 15% a ciascuno con 2 amici
- 20% a ciascuno con 3 amici
- la 5^ persona è gratis!
L'offerta vale anche per iscrizioni non contemporanee. E' sufficiente essere iscritti allo stesso corso.
note
Noi cerchiamo di:
- rendere i programmi dei corsi sempre migliori;
- tenerci sempre aggiornati con il materiale didattico;
- considerare le esigenze particolari dei corsisti
Per questo motivo il programma del corso e il materiale didattico (specialmente i libri di testo), possono subire variazioni dell'ultimo momento rispetto a quando indicato in questa pagina.