DATABASE RELAZIONALI - MYSQL Obiettivi del corso: Internet è ormai diventata la nostra principale risorsa: informazioni, dati, consigli vengono cercati su Google – sempre più spesso dasmartphone otablet – e i link trovati ci conducono a siti internet accattivanti, ricchi e sofisticati. L’utente medio è attratto dagli aspetti grafici e dai contenuti. Spesso, però, dimentica che tutte le informazioni presenti su un sito web hanno bisogno di un archivio informatico ben organizzato – un database – nel quale vengono salvate, aggiornate e ripescate per poter essere presentate all’utente finale. Moltissimi siti internet utilizzano la Piattaforma LAMP (Linux / Apache / MySQL / PERL e PHP): un insieme di software liberamente utilizzabili, che forniscono tutte le componenti necessarie al funzionamento del sito. Si tratta di uno standard diffuso a livello mondiale, che viene utilizzato ad esempio per Facebook. Obiettivo del corso su Database Relazionali – MySQLè fornire ai partecipanti le nozioni di base sui sistemi informatici di archiviazione strutturata dei dati e sul software libero più diffuso in questo campo, MySQL. Grazie a queste informazioni e alla conoscenza di un ambiente di sviluppo per siti web, sarà possibile proporsi comeWebmaster junior, affiancandosi a professionisti esperti di grafica e di web design nella gestione di siti web realizzati con Wordpress, Joomla!,Drupal e altri CMS. Modulo 1. Programma e contesto del corso 4 ore t 4 ore p a. Obiettivi del corso e conoscenza dei partecipanti b. Scenario dell’informatica odierna: Cloud vs. On Premise c. Chi ha bisognodi utilizzareMySQL? d. Come funzionano i CMS (Content Management Systems) e. Lessico e terminologia: adottiamo un linguaggio comune f. Database relazionali vs.Clouddatabase Modulo 2. Progettare un database relazionale –4 ore t 4 ore p a. Definizione b. Modello Entity-Relationship c. Chiavi e attributi d. Le regole di integrità e. Operazioni relazionali f. Normalizzazione di tabelle Modulo 3.Concetti fondamentali– i capisaldi 4 ore t 4 ore p a. TABELLE b. RIGHE (tuple, record) c. COLONNE (campi, attributi di ogni oggetto) d. TIPI DI DATO e relative PROPRIETA’ (numerici, testo, data, valuta, VERO/FALSO, … ) e. CHIAVI PRIMARIE (identificativi univoci) f. INDICI g. RELAZIONI tra tabelle (1:1, 1:n) h. I vincoli di integrità relazionale (PRIMARY KEY, CONSTRAINT, FOREIGN KEY) i. Tipi di TRANSAZIONI su un database relazionale Modulo 4. SQL: il linguaggio dei database relazionali 4 ore t 4 ore p a. Querysui DATABASE / manipolazione dei dati b. Tipi di interazione coi DATABASE (DDL / DML) c. DDL: Creazione e cancellazione di oggetti di database (CREATE / DROP) d. Tipi di oggetti di database: TABELLE, VISTE, INDICI, CONSTRAINT, … e. DML: Operazioni sui dati (INSERT, DELETE, UPDATE) f. Operatori logici (AND, OR, WHERE, NULL) g. Semplici query di interrogazione sui database Modulo 5. Transazioni su un database relazionale 4 ore t 4 ore p a. Aggiunta di righe a tabelle (INSERT) b. Cancellazione condizionata di righe (DELETE… WHERE) c. Aggiornamento condizionato di righe (UPDATE… WHERE) d. Rendere effettivele transazioni (COMMIT / ROLLBACK) e. Le sotto-query e il loro utilizzo f. La gestione dell’errore nelle transazioni su un database g. Transazioni complesse: StoredProcedures e PreparedStatements Modulo 6. La piattaforma LAMP (Linux / Apache / MySQL / PHP-PERL) e l’utilizzo di MySQL 4 ore t 4 ore p a. Panoramica sulla Piattaforma LAMP b. MySQL: Generalità c. Le versioni di MySQL (MySQL Community Edition) d. Tipi di dati in MySQL e. La gestione delle immagini: il tipo di dati BLOB f. Installazione di una distribuzione MySQL per Windows g. I tool di base in MySQL h. Utilizzo di MySQL da riga di comando Modulo 7. Client web e grafici per l’interazione con un databaseMySQL 4 ore t 4 ore p a. Panoramica dei client più utilizzati (phpMyAdmin, HeidiSQL, MySQLWorkBench) b. Definire il modello dati e gli utenti di un database MySQL c. Creare un database MySQL tramitesoftware client d. Le funzioni di connessone a un database MySQL e. Semplici aggiornamenti di tabelle tramite software client f. Manutenzione di un database MySQL: backup, ripristino g. Trasportare un database MySQL da un server a un altro: i parametri di configurazione Modulo 8. Lavorare offline a un sito web e al suo database: esercitazione con XAMPP 4 ore t 4 ore p a. b. c. d. e. f. g. Esportare un database Importare un database su un altro server Migrazione di un database a versioni differenti di MySQL Modificare i parametri di connessione a un database Modificare tabelle Modificare utenti e amministratori Definire ruoli e azioni permesse a un utente Modulo 9. Il database SQL di un sito web: esercitazione con Wordpress 4 ore t 4 ore p a. Aggiornare il database di un sito web realizzato con Wordpress b. Le tabelle critiche del database MySQL associato a un sito web Wordpress c. Come operare su database MySQL utilizzando phpMyAdmin d. Trasferire un sito web Wordpress su un PC locale e. Semplici passi per aumentare la sicurezza di un sito web Wordpress Modulo10. Moduli obbligatori a. b. Diritti e Doveri dei Lavoratori temporanei 4 ore teoria Salute e Sicurezza sui luoghi di Lavoro 4 ore teoria N.B. Ogni modulo formativo sarà oggetto di esercitazioni pratiche in aula, con installazione e utilizzo dei pacchetti software più diffusi.