DATABASES AND WEB PROGRAMMING A - L
Academic Year 2019/2020 - 3° Year- DATA-BASE: Daniela GIORDANO
- Web Programming: Simone PALAZZO
Scientific field: ING-INF/05 - Information processing systems
Taught classes: 70 hours
Exercise: 30 hours
Term / Semester: 1° and 2°
Learning Objectives
- DATA-BASE
The course covers the fundamental concepts of database systems management and design. Topics include: data models (ER and relational); query languages (SQL);
implementation techniques of database management systems (index structures and query processing); noSQL databases.In particular, the module addresses relational databases and implementation techniques based on the SQL language. The NO-SQL approach is introduced by pointing out relevant differences in data modelling.
The learning objectives are:
a) To understand and use the main technologies for database management.b) To design, starting from user requirements, a relational database (and not), from a conceptual, logical and physical perspective.
c) To use SQL language for performing efficient queries.
- Web Programming
The module deals with the methodological tools for the design of modern web-based information systems (Web Information Systems). In particular the module covers concepts for designing and developing back-end (server-side programming) and front-end (client-side programming), of a web application. Particular emphasis will be given to the development of "responsive" front-ends according to user-experience optimization criteria. The module covers also advanced design and implementation techniques based on the Model-View-Controller (MVC) architectural pattern.
Course Structure
- DATA-BASE
Lectures, hands-on exercises, laboratory and seminars.
- Web Programming
Lectures, hands-on exercises, laboratory and seminars.
Detailed Course Content
- DATA-BASE
1) Models and Languages for Database Management
- Fundamentals of Database Management Systems (DBMS)
- Relational Model: basic concepts, integrity constraints and keys.
- SQL language: data definition, data modification, queries, views, transactions. - Advanced SQL: triggers and procedures
- An example of relational DMBS: MySQL.
- NO-SQL database: MongoDB2) Design of databases
- Conceptual design: E/R model, conceptual design strategies, quality verification.
- Logical design: restructuring of the E / R schemes, translation into the relational model.
- Physical design: storage structures for tables and indices. Hashing techniques. Query execution and optimization
- Database normalization: normal forms (Boyce-Codd, third normal form)
- Data warehousing: multidimensional data models, data mart, ETL procedures, OLAP operators - Web Programming
Foundations of web programming and server-side development
- HTML 5, CSS and Document Object Model (DOM)*
- Apache-MySQL-Php (AMP)
- PHP language
- HTML and PHP: forms, sessions, cookies*
- PHP: Variables*, Arrays*, Procedures*, Interaction with HTML Form*, GET e POST methods*, sessions*, cookies*
- Database access with PHP
Web information Systems (WIS) design and client-side application development
- Design principles of front-end interfaces to support the user-experience (UX)
- Client side programming: JavaScript, jQuery, AJAX
- Javascript: forms, functions*, objects*, properties and methods, object model (window, document, form objects)*, events*
- Page manipulation: CSS Selectors*, Positition selectors and operations with objects (DOM manipulation)*, events and object-event functions*
- AJAX: fetch ,HTML/JSON responses
- The MVC (Model-View-Controller) pattern: examples of software design within an MVC-based framework
- Web Apps security (SQL injections)
Non-relational databases
- MongoDB, Redis: cache examples
* Minimum required knowledge for passing the exam.
Textbook Information
- DATA-BASE
1. Basi di dati - 4/ed, Modelli e linguaggi di interrogazione. Di: Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi e Riccardo Torlone, Casa editrice: Mc-Graw-HIll
2. High Performance MySQL: Optimization, Backups, and Replication (2011). Di Baron Schwartz e altri, Casa editrice: O'Reilly
- Web Programming
Programmazione Web lato server (2011). Di: Della Mea, Di Gaspero, Scagnetto, Casa editrice: APOGEO
Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5 (2014). Di: Robin Nixon, Casa editrice: O'Reilly
Instructor notes