Teaching in italian
Subject area
Reference degree course
Course type
Laurea Magistrale
Teaching hours
Ore Attività frontale: 42.0
Academic year
Year taught
Course year
Reference professor for teaching

Teaching description

Knowledge of basic computer science.

The course aims at providing the students coming from the humanities with the basics of Database Design. A particula focus will be placed on theories and tools that have become fundamental in their field of interest.
The following topics will be taught:
- Databases and Database Users
- Database System Concepts and Architecture
- Data Modeling Using the Entity-Relationship (ER) Model
- The Enhanced Entity Relationship (EER) Model
- The Relational Data Model and Relational Database Constraints
- Relational Database Design by ER- and EER-to-Relational Mapping
- Basic SQL

The student will be able to understand data model, to interact with existing databases and to collaborate with software engineers to design data-centric applications. Such skills will prove useful in other courses (ex. web technologies) to design online applications and online services for humanities. 

Frontal lessons and lectures, for theoretical aspects, will be followed by participatory learning sessions and hands-on sessions to reinforce the comprehension and to acquire the abilities relevant to field of database design.

The evaluation consists in the presentation of a project related to the design of a database. The project consists in the design of the Entity Relationship and of the Relational model and in the implementation of the Database with MySql language.


Chapter 1 Databases and Database Users

1.1       Introduction

1.2       An Example

1.3       Characteristics of the Database Approach

1.4       Actors on the Scene

1.5       Workers behind the Scene

1.6       Advantages of Using the DBMS Approach

1.7       A Brief History of Database Applications

1.8       When Not to Use a DBMS


Chapter 2 Database System Concepts and Architecture

2.1       Data Models, Schemas, and Instances

2.2       Three-Schema Architectureand Data Independence

2.3       Database Languages and Interfaces

2.4       The Database System Environment

2.6       Classification of Database Management Systems


Chapter  7 Data Modeling Using the Entity-Relationship (ER) Model

7.1       Using High-Level Conceptual Data Models for Database Design

7.2       A Sample Database Application

7.3       Entity Types, Entity Sets, Attributes, and Keys

7.4       Relationship Types, Relationship Sets, Roles, and Structural Constraints

7.5       Weak Entity Types

7.6       Refining the ER Design for the COMPANY Database

7.7       ER Diagrams, Naming Conventions, and Design Issues

7.9       Relationship Types of Degree Higher than Two


Chapter  8 The Enhanced Entity Relationship (EER) Model

8.1       Subclasses, Superclasses and Inheritance

8.2       Specialization and Generalization


Chapter  3 The Relational Data Model and Relational Database Constraints

3.1       Relational Model Concepts

3.2       Relational Model Constraints and Relational Database Schemas

3.3       Update Operations, Transactions, and Dealing with Constraint Violations


Chapter  9 Relational Database Design by ER- and EER-to-Relational Mapping

9.1       Relational Database Design Using ER-to-Relational Mapping

9.2       Mapping EER Model Constructs to Relations

9.2.1    Mapping of Specialization or Generalization


Chapter  4 Basic SQL

4.1       SQL Data Definition and Data Types

4.2       Specifying Constraints in SQL

4.3       Basic Retrieval Queries in SQL


MySql  (Use from the command line)

  •  Databases operations: Show, Create, Use, Drop.

  •  Tables operations: Show, Create, Describe. Alter Table: Rename-Modify-Change-Add-Drop.

  •  Input and Dropping Indexes and Constraints: Primary Key, Unique, Auto_Increment,, Foreign Key: On delete, On Update.

  •  Input data in tables: Insert Into, Load Data Infile. Examples of constraints violation with insert command.

  •  Updating data in tables: Update.  Examples of constraints violation with Update command.

  •  Deleting data in tables: Delete.  Examples of constraints violation with Delete command.

  •  Viewing data: Select, Order By, Limit, Distinct, Use of And-Or Operators, Round Function.

  •  Creating Views: Create View, Drop View.

Fundamental of Database Systems, Ramez Elmasri. 6th edition. Pearson ed.
All needed materials and lessons slides, are organized and constantly updated by the teacher and will be uploaded in the didactic section on this web site.

Primo Semestre (dal 21/09/2020 al 15/01/2021)

Exam type

Type of assessment
Orale - Voto Finale

Course timetable

Download teaching card (Apre una nuova finestra)(Apre una nuova finestra)