The course aims to bring students to knowing and understanding the theoretical and practical basis for the management of databases based on the relational model, and the basic techniques necessary for the development of web sites that interact with databases.
Students, at the end of the course, must demonstrate that they have acquired such knowledge, both theoretically and, practically, by using these tools to build a simple web site that solves a practical problem which requires querying and editing the contents of a database.
Course contents summary
Introduction to the DBMSs
The Relational Model
Web Programming and Tools
1 Introduction (2 hours)
2 Relational Databases: Model and languages (8 hours)
2.1 The relational model
2.2 Relational Algebra
3 SQL (14 hours)
3.1 basic concepts
3.2 SQL: advanced features
3.3 SQL for the applications
E1 SQL Lab (18 hours)
- In-classroom exercises in preparation of the written test
- Creating a database
- Populating a database
- Simple queries
- Nested queries
4 Database Design (12 hours)
4.1 Methods and models for database design
4.2 Conceptual design
4.3 Logical design
5 Web tools and programming (10 hours)
5.2 PHP basics
5.4 Apache, MySQL, PHP
5.5 Databases and the web
5.6 PHP-based access to a database
[All subjects dealt with in the course]:
Atzeni Ceri Paraboschi Torlone
Basi di dati: Modelli e linguaggi di interrogazione (3a Ed.)
McGraw-Hill Italia, 2009
[Newer and extended edition (includes many additional topics not dealt with in the course)
Atzeni Ceri Fraternali Paraboschi Torlone
Basi di Dati (4a Ed.)
McGraw-Hill Italia, 2014
Luke Welling Laura Thomson
Sams Publishing, 2003
J. Greenspan, B. Bulger
MySQL/PHP Database Applications
Theoretical knowledge will be acquired through lectures. At least 20 hours of laboratory practice will allow students to acquire practical skills about web programming and SQL querying.
Assessment methods and criteria
Two written tests also offered earlier as intermediate tests: the first concerns the theory of the relational model and SQL, and the second concerns database design.
Students who have passed both tests will be assigned a vote equal to the average of the marks obtained in the two tests. The full test is passed if the average is greater than or equal to 18 and if the lower vote in the written tests is greater than or equal to 15.
A student may also deliver a project on web-based database access.
The project assigns an additional score ranging from -2 (no project developed) to +3 points. Of course, in case of negative bonus, the total mark must still be greater or equal to 18.