Databases

Course objectives

General objectives The main objectives are: acquire the ability to identify the conceptual structure of a database and learn how to interact with a database management system (DBMS). Specific objectives a) Knowledge and ability to understand After attending the course the students know and understand the relational data model, they are able to cover all the phases of the design of a database (in particular the conceptual design) and are able to write and understand SQL commands for defining and querying a relational DB. They also know the basic DBMS administration tools. b) Ability to apply knowledge and understanding At the end of the course the students are able to derive the relational schema of a DB starting from the requirements of a database-based application. They are able to translate the informal description of the structure of data into an Entity-Relationship diagram that correctly represents the data and define the integrity constraints on the data object of the design. They are able to realize a relational DB using the SQL language, they are able to perform complex queries using the SQL language. c) Autonomy of judgment The students are able to apply the formalism of the ER diagrams in order to obtain an accurate description of the structure of the data that make up a database. They can distinguish the role of data definition language, data manipulation language and query language to interact with a DBMS. They manage to evaluate how different implementation choices can lead to more or less adequate solutions to represent the integrity constraints existing between the data. Through the articulated laboratory activities they acquire the ability to evaluate the efficiency of commands that define queries of various complexity levels. d) Communication skills Students acquire the formal rigor necessary to read and produce a conceptual scheme. They can understand the meaning of a query expressed in a formal language. e) Learning ability Students who pass the exam can easily understand formalisms for the definition of DB in non-relational models, they are able to understand how to use query languages ​​embedded in general-purpose programming languages.

Channel 1
UMBERTO FERRARO PETRILLO Lecturers' profile

Program - Frequency - Exams

Course program
Introduction (12 hours) Information systems and computer based information systems. Introduction to data bases: data models, DBMS's. The relational data model: relations, attributes, relation instances, tuples. Integrity constraints, keys. Formal languages on relations. Relational Algebra, operators. Null values The SQL language (22 hours) Data definition language: definition of tables, domains, indexes. Definition of simple integrity constraints. The query language: operators join- selection- projection, aggregate operators, grouping. Nested queries and correlated queries, set operators. Data manipulation language: insertion, deletion and update of tuples. Definition of views, generic integrity constraints. Access control to a data base. DB design (22 hours) The design process: lifecycle of an information system.Conceptual design: the Entity-Relationship model. Conceptual design methodologies: top-down, bottom-up, inside-out, mixed. Examples of conceptual design. Logical design: restructuring of an E-R schema, load model analysis,translation of an E-R schema into a relational schema. Conceptual design theory. Functional dependencies, closure of a set of dependencies and closure of a set of attributes. Normal forms (Boyce-Codd and 3-rd normal form), normalization of a relational schema. Laboratory (16 hours) Use of commercial and free DBMS's for designing and accessing a data base. DBMS administration tools.
Prerequisites
No particular prerequisites are required. Knowledge of a high level programming language is useful
Books
Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Basi di dati: Modelli e linguaggi di interrogazione McGraw-Hill Italia.
Teaching mode
Lectures on theoretical topics and on the SQL language, together with laboratory sessions on the use of the SQL language and on the interaction with a client-server DBMS.
Frequency
The course is taught in person however, under exceptional circumstances, it is possible to attend lessons remotely
Exam mode
An intermediate classwork is proposed on the SQL language, which in the positive case exempts the written test. In the second part of the course students are required to develop a DB design exercise, based on realistic requirements. The project is preferably carried out in small groups, under the supervision of the teacher. The exam ends with a written test (in case the intermediate classwork is not positive) and a colloquium on the second part of the course.
Lesson mode
Lectures on theoretical topics and on the SQL language, together with laboratory sessions on the use of the SQL language and on the interaction with a client-server DBMS.
  • Lesson code1023608
  • Academic year2024/2025
  • CourseStatistics for management
  • CurriculumSingle curriculum
  • Year2nd year
  • Semester1st semester
  • SSDINF/01
  • CFU9
  • Subject areaInformatico-matematico applicato