Corso database con SQL Server
Ormai è impossibile prescindere da un database per realizzare applicativi complessi. Il corso è pensato per imparare la progettazione dei database e la realizzazione con Microsoft SQL Server.
Roberto Di Vito mi ha aperto le vie d’accesso alla programmazione.
Andrea Gentile
Corso in aula
| Ore | 80 |
|---|---|
| Lezioni | 20 (4 ore ciascuna) |
| Prossimo corso | da Dicembre a Maggio |
| Livello | specialistico |
| Competenze richieste | fondamenti del web design |
| N. min partecipanti | 4 |
| scheda riferita al corso in aula | |
Corso via web
Da ora è possibile seguire i nostri corsi come seminari via web.
Con una straordianria offerta lancio: uno sconto del 20% per chi si iscrive durante tutto il 2011.
Il Docente
Stefano Antonucci
Laureato in Informatica presso l'Università degli studi di L'Aquila. Ha lavorato come sviluppatore di sistemi informativi presso alcune importanti aziende della regione, ora dirige la squadra di programmatori dell'azienda ricoprendo il ruolo di Project Manager. Ha 10 anni di esperienza come programmatore web per sistemi di gestione della qualità, amministratore DB Oracle, amministratore reti e server Linux. Fra i più esperti in ambito regionale del mondo Oracle Java si occupa nell'ambito della formazione di tutti i corsi relativi alla programmazione su questa piattaforma.
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/SQL Server.
- 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 SQL Server: World, Salila e Menagerie.
Preparazione richiesta
Competenze
Per partecipare al corso progettare database con SQL Server non è necessaria alcuna preparazione specifica. E' sufficiente impiegare al meglio il personal computer:
- accendere e spegnere il computer;
- aprire una cartella;
- avviare un programmare;
- gestione dei file (taglia, copia e incolla);
- salvataggio dati su una pen-drive USB.
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
Al momento non è satto scelto alcun libro per il corso
Cancelleria e supporti
- una cartellina, una penna ad inchiostro liquido, un blocco note;
- una pen-drive USB da 512Mbyte.
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.
segui lo studio su: