Scheda programma d'esame
DATA BASES AND WEB LABORATORY
ANDREA MICHIENZI
Academic year2022/23
CourseDIGITAL HUMANITIES
Code435AA
Credits12
PeriodSemester 1 & 2
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
BASI DI DATIINF/01LEZIONI42
FABRIZIO BAIARDI unimap
ANDREA MICHIENZI unimap
LABORATORIO WEBINF/01LABORATORI42
ANDREA MICHIENZI 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.

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)

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 

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

  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.

 

Syllabus

Databases Module Exam Program

1. Introduction to databases and relational databases
2. Introduction to relational databases
     1. Keys
     2. Constraints
3. SQL language –DDL examples
4. SQL language - DML examples
5. Simple queries and nested queries
6. SQL: stored procedures, trigger. ECA model and active database.
7. Access control.
    1. Delegation and Revocation of Rights Transactions.
    2. The ACID properties and their guarantee.
    3. Concept of locking in reading and writing
    4. Two-phase lock
8. Reliability of SQL databases.
    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. Access to results
    3. Buffered and unbuffered queries
    4. Caching Policies
4. JSON and Ajax
5. JQuery
6. jQuery and OpenStreetMap
7. General criteria for building a website
    1. The personae method
    2. Creation of a computer model for the creation of a DBMS.

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

Assessment methods

Written test on the BD part

Project for the LPW part

Updated: 31/08/2022 15:54