Databases and Web
A.Y. 2020/2021
Learning objectives
The course learning objective is to illustrate the main data management concepts and methodologies, focusing in particular on relational databases, the SQL language, and their role in Web architectures. Also, it has the objective to provide a hands-on experience to acquire the ability to implement a Web portal that dynamically gets data by querying a relational DBMS.
Expected learning outcomes
The students are expected to understand the relevance of appropriate data representation and management. They will learn how to design a relational DB, and how to use SQL to query and manage the data. By the hands-on experience they will also learn how to implement a dynamic Web site that acquires data by querying a relational DBMS.
Lesson period: Second semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.
Course syllabus and organization
Single session
Responsible
Lesson period
Second semester
In case the emergency situation extends to the second semester 2020/21, all classes will be online on the Zoom platform.
If necessary the final exam will also be online. The written exam will be given using Zoom for videoconferencing and Moodle for the test. The oral parts will be on Zoom.
If necessary the final exam will also be online. The written exam will be given using Zoom for videoconferencing and Moodle for the test. The oral parts will be on Zoom.
Course syllabus
Theory
- Introduction to data management
- WEB-DB architectures
- The relational model
- Conceptual modeling
- From conceptual to logical models
- Relational algebra
- Relational Calculus
- The SQL language
- Relational schema design (normalization)
- Introduction to new models and systems (temporal and spatial DB, no-SQL, ...)
Laboratory
- Designing, creating and querying a database
- Embedding SQL in Web programming languages
- Web Programming with access to a DBMS
- Introduction to data management
- WEB-DB architectures
- The relational model
- Conceptual modeling
- From conceptual to logical models
- Relational algebra
- Relational Calculus
- The SQL language
- Relational schema design (normalization)
- Introduction to new models and systems (temporal and spatial DB, no-SQL, ...)
Laboratory
- Designing, creating and querying a database
- Embedding SQL in Web programming languages
- Web Programming with access to a DBMS
Prerequisites for admission
The course requires knowledge of the basic notions of computer science, including computer architecture and operating systems, in addition to the ability to write programs in at least one programming language and the knowledge of HTML.
Students that have not passed the Programming course exam will not be admitted to the exam of this course. Students are strongly encouraged to pass the exam of Web and Cloud Applications before taking this course.
Students that have not passed the Programming course exam will not be admitted to the exam of this course. Students are strongly encouraged to pass the exam of Web and Cloud Applications before taking this course.
Teaching methods
The theory part consists in frontal teaching with slides, examples and exercises. The interaction with students is stimulated with questions and online quizzes.
The lab part alternates frontal teaching with individual practical activity in a computer lab.
The lab part alternates frontal teaching with individual practical activity in a computer lab.
Teaching Resources
Basi di dati: Modelli e linguaggi di interrogazione 4/ed, Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone, McGraw-Hill, 2013, ISBN: 978-88-386-6800-5
Assessment methods and Criteria
The evaluation of the students' profit for this course consists of two parts. The first part concerns the fundamental notions (theory) and is organised in a written test including a multiple choice quiz on all the topics covered in the theory module, followed by three kinds of exercises (open questions). This part is evaluated with a score from 0 to 32 with 18 as the minimum score to pass this part and be admitted to the lab part.
The abilities acquired in the lab module are evaluated by assigning an individual software project that can be prepared at home but will have to be modified at school during the final lab exam that is usually held 7-10 days after the theory part. Even in this case the student will obtain a score between 0 and 32 with 18 as the minimum score to pass.
The final score is obtained with a weighted sum (2/3 for theory and 1/3 for lab). The resulting score is the final with ay score above 30 registered as '30 with honor'.
NOTE: non-Italian speaking students that plan to give the exam must contact the instructors at the beginning of the course
The abilities acquired in the lab module are evaluated by assigning an individual software project that can be prepared at home but will have to be modified at school during the final lab exam that is usually held 7-10 days after the theory part. Even in this case the student will obtain a score between 0 and 32 with 18 as the minimum score to pass.
The final score is obtained with a weighted sum (2/3 for theory and 1/3 for lab). The resulting score is the final with ay score above 30 registered as '30 with honor'.
NOTE: non-Italian speaking students that plan to give the exam must contact the instructors at the beginning of the course
INF/01 - INFORMATICS - University credits: 12
Laboratories: 48 hours
Lessons: 72 hours
Lessons: 72 hours
Professors:
Bettini Claudio, Perlasca Paolo
Professor(s)