THREE-DIMENSIONAL MODELING

Course objectives

General objectives: Expose students to solid methodologies for designing and building database applications. Specific objectives: Expose students to formal and scalable methodologies for conceptual analysis and design of database applications and to standard technologies for their implementation. Knowledge and understanding: Students will acquire fundamental methodological knowledge for the design of applications for non-trivial databases (in particular for the phases of: a) collection of requirements; b) conceptual analysis of data and functionalities, c) design of the database and functionalities) and for their implementation (use of DBMS and standard languages for defining, querying, and manipulating data). Apply knowledge and understanding: Students will be able to effectively apply the knowledge indicated in the previous point in real projects of applications for non-trivial databases. Critical and judgment skills: Students can independently make rational decisions at all stages of the database application design process. Communication skills: Students will be able to interact profitably with clients (as regards the collection of requirements) and with other analyzes and designers (as regards the analysis and design of non-trivial software systems). Learning ability: Students will be able to independently expand their knowledge by consulting, as necessary, technical manuals in database application design.

Channel 1
GIUSEPPE PERELLI Lecturers' profile

Program - Frequency - Exams

Course program
Relational algebra (12 hrs): Introduction, Definitions, Relational operators. Relational theory (18 hrs): Relational schemes, functional dependencies, closure operators, keys, normal forms, decompositions. Physical organization (20 hrs): Indexed files, B-trees, query implementation, query optimization Concurrency (10hrs): Transaction management, locking methods, timestamps.
Prerequisites
Basics of Mathematics, Logics and Computer Science obtained from the courses of the first year of the programme.
Books
Lemahieu, W., vanden Broucke, S., & Baesens, B. (2018). Principles of Database Management: The Practical Guide to Storing, Managing and Analyzing Big and Small Data. Cambridge University Press.
Teaching mode
The course will be taught in classes, which will be either in presence or online (according to the pandemic situation and decisions taken by the central government body of the university).
Frequency
Attendance is optional but strongly encouraged.
Exam mode
The exam will be split into a written and an oral test. The written test will consist to a set of exercises, each of them about one of the 4 parts of the course and it is mandatory to access the oral test. The oral test will be a brief discussion of the written test, together with questions about the main definitions and theorem presented in class.
Bibliography
- Abraham Silberschatz, Henry F. Korth, S. Sudarshan: Database System Concepts. - P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone: Database Systems - Concepts, Languages and Architectures, The McGraw-Hill Companies - J. D. Ullman: Principles of Database & Knowledge-Base Systems, Vol. 1: Classical Database Systems - Course material
Lesson mode
In class lectures.
Channel 2
MARIA DE MARSICO Lecturers' profile

Program - Frequency - Exams

Course program
Introduction to database management systems (2 hours) History Characteristics of database management systems Model and system evolution The relational model (30 hours) Foundamentals: domain, attribute, relation, n-uple, schema Query languages (relational algebra, relational complete languages) Normalization theory Functional dependencies Key of a relation Third normal form Armstrong axioms and closure of a set of dependencies Closure of a set of attributes Minimal cover of a set of functional dependencies Decompositions with a lossless join Decompositions that preserve dependncies Physical organization of data (14 hours) Secondary storage Physical and logical records Pointers Bloks Heap file Hash file Indexed file (dense and sparse indexes). B-tree Concurrency control (14 hours) Transactions Serial schedule Serializability Transaction models and locking protocols Livelock and deadlock. Two-phase protocols Conservative and aggressive protocols "Dirty" data Cascade rollback Timestamp
Prerequisites
A good proficiency in topics related to logic. A good proficiency in creating/understanding algorithms and in writing pseudo-code.
Books
1. R. A. Elmasri, S. B. Navathe, “Sistemi di basi di dati – Fondamenti”, Pearson – Addison Wesley, IV edizione, 2004. 2. J. D. Ullman, “Principles of database and knowledge-base systems”, vol. I, Computer Science Press, 1988. Course slides and stuff Examples of exam exercises
Teaching mode
Presentation of theoretical aspects. For each topic relevant for the written exam, examples will be discussed and exercises will be proposed in the class and their correct solution will be given
Frequency
Face-to-face frequency
Exam mode
The written exam includes exercises of relational algebra, relational theory and physical organization of data. The oral examination includes definitions and theorems discussed during the course lessons. The exam can be recorded only after passing both the course modules.
Lesson mode
Students have at their disposal handouts, video recordings of the lessons with the relative slides, and all the webinars of previous years as additional teaching material. Each year, a new group of webinars is recorded on questions asked by students or on solutions to exam exercises
  • Academic year2025/2026
  • CourseComputer Science
  • CurriculumMetodologico
  • Year2nd year
  • Semester1st semester
  • SSDINF/01
  • CFU6