Scheda programma d'esame
DATA BASES AND WEB LABORATORY
BARBARA GUIDI
Academic year2023/24
CourseDIGITAL HUMANITIES
Code435AA
Credits12
PeriodSemester 1 & 2
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
BASI DI DATIINF/01LEZIONI42
ANDREA MICHIENZI unimap
LABORATORIO WEBINF/01LEZIONI42
BARBARA GUIDI unimap
Obiettivi di apprendimento
Learning outcomes
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.

Accenni a database non relazionali.

PHP

XAMPP

PHP-MySQL

Ajax

JQuery

Knowledge

Relational DBMS

SQL DDL

SQL DML

Query

Nested Query

Normal Forms

Database Normalization

SQL: stored procedures, trigger. ECA model and active databases.

Access control

Reliability of SQL databases.

Design of databases

The entity-relationship model.

Conceptual scheme E-R

Relational algebra.

Databases in normal form

Physical database design.

PHP

XAMPP

PHP-MySQL

Ajax

JQuery

Modalità di verifica delle conoscenze

Verifica mediante a) + b) + c)

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

c) Discussione orale per valutare competenze acquisite BD e LPW

Assessment criteria of knowledge

Exam a) + b):

a) written test based on query formulation and database normalization, for the first part of the course.

b) Development of a project of a three-tier system for the management of a website for the production of blogs. Some of the lessons will be dedicated to the project.

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

Skills

Ability to use the concepts presented in the development of a realistic website and of practical theoretical interest.

In particular:

a) ability to develop dynamic pages that take contents from databases

b) ability to develop dynamic pages that interface with malicious users who can submit false data or cause system crash

c) ability to integrate with a single project notions provided by this course and by the previous ones in computer science

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.

Assessment criteria of skills

Ability to formulate the queries proposed in the test on the first part of the course.

Evaluation of the project carried out.

Verification of the effective and active participation of the individual student in the development of the project.

Prerequisiti (conoscenze iniziali)

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

 - HTML

 - CSS

 - Javascript

Prerequisites

Programming languages

- Variables

- Data structures


Programming constructs

- determined iteration

- indeterminate iteration

 

Algorithms and evaluation of the complexity of algorithms.

 

The web from a humanistic and technological point of view

- HTML

- CSS

- Javascript

Programma (contenuti dell'insegnamento)

 Programma Esame Modulo Basi di Dati

  • Introduzione ai database ed ai database relazionale
  • Introduzione ai database relazionali
  1. Chiavi
  2. Vincoli
  • Linguaggio SQL – DDL esempi
  • Linguaggio SQL – DML esempi
  • Query semplici e query annidate
  • SQL: stored procedures, trigger. Modello ECA e database attivi.
  • 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
  • Affidabilità dei database SQL.
  1. File di log, ripartenza a caldo e a freddo.
  • Ragioni per adozione di database SQL
  • Progettazione di basi di dati.
  1. Overview dei passi
  2. Analisi dei requisiti
  • ll modello entità-relazioni.
  • Progettazione di uno schema concettuale E-R a partire dalle specifiche
  • Strategie di progettazione dello schema concettuale. Pattern e analisi delle prestazioni.
  • Strategie di progettazione per diagramma E-R
  • Traduzione di schema concettuale in schema logico. Strategie ed esempi
  • Algebra relazionale:
  1. concetti di base,
  2. operatori primitivi e derivati.
  3. Operatori di join.
  • Basi di dati in forma normale.
  1. Forma normale di Boyce e Codd.
  2. terza forma normale
  3. algoritmo di normalizzazione,
  • Progettazione fisica di basi di dati.
  1. Blocco fisico,
  2. Località
  3. Indici

 

Programma Modulo Laboratorio Programmazione Web

  • Elaborazione client side e server side.
  • 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
  • Php-Mysql
  1. Esecuzione di query
  2. Accesso ai risultati
  3. Query buffered e unbuffered
  4. Politiche di caching
  • JSON e Ajax
  • Ajax e MySQL
  • JQuery
  • Esempi di applicazione in Web Applications
Syllabus

1. Log file, hot and cold restart.

9. Reasons for adopting SQL databases

10. Design of databases.

1. Overview of the steps

2. Requirements analysis

11. The entity-relationship model.

12. Design of an E-R conceptual scheme starting from the specifications

13. Conceptual schema design strategies. Performance pattern and analysis.

14. Design strategies for E-R diagram

15. Translation of conceptual schema into the logical schema. Strategies and examples

16. Relational Algebra:

1. basic concepts,

2. primitive and derivative operators.

3. Join Operators.

17. Databases in normal form.

1. Normal form of Boyce and Codd.

2. third normal form

3. normalization algorithm,

18. Physical database design.

1. Physical block,

2. Location

3. indices

Program Module Web Programming

1. Client-side and server-side processing.

2. PHP

1. variable declarations and functions

2. vectors and strings

3. Get and Post methods

4. Form and transmission of inputs

5. Default deny

6. Cookies and session

7. PHP ADMIN

8. Performance parameters

9. SQL injection

3. PHP-MySql

1. Query execution

2 / 32. Access to results

3. Buffered and unbuffered queries

4. Caching Policies

4. JSON and Ajax

5. Ajax and MySQL

5. JQuery

7. Web Applications Examples

Bibliografia e materiale didattico

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

Bibliography

Course website

Slides and Materials presented by the professors

A university text on relational databases and queries may be useful. Any text contains all the

concepts presented in class. During the lessons, some texts will be suggested but these

suggestions are not to be understood as exclusive

Indicazioni per non frequentanti

Utilizzare la pagina web del corso 

Non-attending students info

Use the course web page

Modalità d'esame

Prova scritta sulla parte BD

Progetto per la parte LPW

Discussione del progetto per valutare competenze BD e LPW

Assessment methods

Written test on the BD part

Project for the LPW part

Project Discussion to evaluate the knowledge of both modules (BD and LPW)

Note

Commissione d'esame:

Barbara Guidi

Andrea Michienzi

Anna Bernasconi

 

Supplenti

Alessio Malizia

 

Letizia Milli

Vincenzo Ambriola

Notes

Commissione d'esame:

Barbara Guidi

Andrea Michienzi

Anna Bernasconi

 

Supplenti

Alessio Malizia

 

Letizia Milli

Vincenzo Ambriola

Updated: 04/08/2023 23:11