BASI DI DATI E LABORATORIO WEB

Settore: INF/01Codice: 435AACrediti: 12Semestre: 1-2
Docenti: Baiardi Fabrizio, Guidi Barbara

Obiettivi di apprendimento

Conoscenze

DBMS relazionali

SQL DDL

SQL DML

Query

Query Annidate

Forme normali database

Normalizzazione di database

SQL: stored procedures, trigger. Modello ECA e database attivi.

Controllo degli accessi.

Affidabilità dei database SQL.

Progettazione di basi di dati

ll modello entità-relazioni.

Schema concettuale E-R

Algebra relazionale.

Basi di dati in forma normale

Progettazione fisica di basi di dati.

PHP

PHP-MySQL

Ajax

JQuery

Modalità di verifica delle conoscenze

Verifica mediante a) + b)

a) test scritto basato su formulazione di query e su normalizzazione di basi di dati per quanto riguarda la prima parte del corso

b) Sviluppo di un progetto di un sistema three tier per la gestione di un sito web per la produzione di blog. Alcune delle lezioni del laboratorio saranno dedicate al progetto 

Capacità

Capacità di utilizzare i concetti presentati nello sviluppo di un sito web realistico e di interesse teorico pratico. 

In particolare

a) capacità di sviluppare pagine dinamiche che prelevano contenuti da database

b) capacità di sviluppare pagine dinamiche che si interfacciano con utenti maliziosi che possono sottomettere dati falsi o per provocare il crash del sistema

c) capacità di integrare in un unico progetto nozioni fornite da questo corso e da quelli precedenti di informatica 

Modalità di verifica delle capacità

Capacità di formulare le query proposte nel test sulla prima parte del corso 

Valutazione del progetto svolto

Verifica della effettiva ed attiva partecipazione del singolo studente allo sviluppo del progetto.

Prerequisiti

Linguaggi di programmazione

         Variabili 

            Strutture dati 
Costrutti di programmazione

        iterazione determinata

        iterazione indeterminata 

Algoritmi e valutazione della complessità degli algoritmi 

Il web da un punto di vista umanistico e tecnologico

Programma

Programma Esame Modulo Basi di Dati

  1. Introduzione ai database ed ai database relazionale
  2. Introduzione ai database relazionale
    1. Chiavi
    2. Vincoli
  3. Linguaggio SQL –DDL esempi
  4. Linguaggio SQL – DML esempi
  5. Query semplici e query annidate
  6. SQL: stored procedures, trigger. Modello ECA e database attivi.
  7. Controllo degli accessi.
    1. Delega e revoca dei diritti Transazioni.
    2. Le proprietà ACID e la loro garanzia.
    3. Concetto di locking in lettura e scrittura
    4. Two phase lock
  8. Affidabilità dei database SQL.
    1. File di log, ripartenza a caldo e a freddo.
  9. Ragioni per adozione di database SQL
  10. Progettazione di basi di dati.
    1. Overview dei passi
    2. Analisi dei requisiti
  11. ll modello entità-relazioni.
  12. Progettazione di uno schema concettuale E-R a partire dalle specifiche
  13. Strategie di progettazione dello schema concettuale. Pattern e analisi delle prestazioni.
  14. Strategie di progettazione per diagramma E-R
  15. Traduzione di schema concettuale in schema logico. Strategie ed esempi
  16. Algebra relazionale:
    1. concetti di base,
    2. operatori primitivi e derivati.
    3. Operatori di join.
  17. Basi di dati in forma normale.
    1. Forma normale di Boyce e Codd.
    2. terza forma normale
    3. algoritmo di normalizzazione,
  18. Progettazione fisica di basi di dati.
    1. Blocco fisico,
    2. Località
    3. indici

 

Programma Modulo Laboratorio Programmazione Web

  1. Elaborazione client side e server side.
  2. PHP
    1. dichiarazioni variabili e funzioni
    2. vettori e stringhe
    3. Metodi Get e Post
    4. Form e trasmissione degli input
    5. Default deny
    6. Cookie e session
    7. PHP ADMIN
    8. Parametri di prestazione
    9. SQL injection
  3. Php-Mysql
    1. Esecuzione di query
    2. Accesso ai risultati
    3. Query buffered e unbuffered
    4. Politiche di caching
  4. JSON e Ajax
  5. JQuery
  6. jQuery e OpenStreetMap
  7. Criteri generali per la costruzione di un sito web
    1. Il metodo delle personae
    2. Creazione di modello informatico per creazione di un dbms.

 

Bibliografia

Sito web del corso

Materiale presentato a lezione

Può essere utile un testo universitario su basi di dati relazionali e query. Un qualunque testo contiene tutte le nozioni presentate a lezione. Durante le lezioni verranno suggeriti alcuni testi ma tali suggerimenti non sono da intendere come esclusivi 

Non frequentanti

Utilizzare la pagina web del corso 

Modalità di esame

Prova scritta sulla parte BD

Progetto per la parte LPW

Pagina del corso

https://elearning.humnet.unipi.it/course/view.php?id=3246

Fonte: ESSETRE e Portale esami