70155 - Data Bases

Course Unit Page

  • Teacher Marco Di Felice

  • Credits 9

  • SSD INF/01

  • Teaching Mode Traditional lectures

  • Language Italian

  • Campus of Bologna

  • Degree Programme First cycle degree programme (L) in Information Science for Management (cod. 8014)

  • Teaching resources on Virtuale

SDGs

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.

Quality education Industry, innovation and infrastructure

Academic Year 2020/2021

Learning outcomes

At the end of the course the student: - knows the relational data model and the SQL language; - is able to design and develop a relational database; - is capable of processing a project to implement an information system.

Course contents

The course program is structured in four parts, addressing complementary topics in the area of database and information systems. In the first part, we introduce the main concepts of the course (e.g. data, information, database), the characteristics of the relational model and of relational DBMS tools, and the main functionalities of data languages used to perform CRUD operations. To this concern, we illustrate and detail the characteristics of the SQL language for the creation, update and query of a relational database. We also introduce alternative approaches to the relational model (NoSQL database), and technologies for big-data management. The second part illustrates the most popular methodologies and tools used for database design, from the analysis of requirements till the final implementation. More specifically, we present all the steps related to database engineering, i.e. requirements analysis, conceptual design, logical design, performance evaluation of E-R models, normalization techniques. The third part provides a (brief) overview of algorithms and techniques for data-mining (DM), focusing on supervised and unsupervised methods to deploy classification and prediction models from the information contained in a relational database. Example of applications of DM techniques in industrial and business use-cases are discussed. Finally, the fourth part of the course presents the characteristics and architectures of recent DMBS (MySQL and MongoDB), and also provides an overview of server-side scripting languages to deploy Web Information Systems (WIS). In the following, we provide a brief summary of the course program:

Introduction to Database Management Systems (DBMS)

Model and Languages

  • The relational model
  • Characteristics of relational Database Management Systems (DMBS)
  • SQL Language: CRUD operations, transactions
  • Alternatives to the relational model, NoSQL technologies, big-data technologies

Database design

  • Conceptual design: requirements analysis, E/R model, model evaluation
  • Logic design: translation of the E/R model into a relational model
  • Physical design: indexes and storage techniques
  • Normalization techniques: normal forms (Boyce-Codd, TFN) and decomposition algorithms

Introduction to data-mining

  • General definitions and use-cases
  • Classification and clustering algorithms

SQL for Applications

  • Examples of DBMS: MySQL, MongoDB, Cassandra
  • SQL and server-side scripting languages (PHP+MySQL)
  • SQL and Java: JDBC, Hibernate

Readings/Bibliography

The reference textbook of the course is the following:

- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone, "Basi di dati" 5/ed, 2018, ISBN: 9788838694455

Moreover, these books are recommended for the project development:

- Kevin Yank, "Sviluppare applicazioni con PHP e MySQL" 1/ed, 2012, ISBN: 9788850331826

Teaching methods

The teaching methods include frontal lectures and classroom exercises.

Assessment methods

The course considers three assessment methods: a written exam (mandatory), a project (mandatory), and an oral exam (optional). The written exam requires a student registration via the ALMA-ESAMI service. Moreover, it is composed of different exercises (corresponding to the four sections of the course), and aims to test the achievement of the didactic objectives, in the field of relational database, query languages, and database design. The result of the written exam determines 2/3 of the final score. The project consists in the design and implementation of a Web information system, and aims to verify the achievement of expertise in the field of database design and server-side applications deployment. The project determines 1/3 of the final score. Description of the projects, deadlines and submission rules will be made available by the lecturer on the course web-page. The oral exam is optional, and is based on exercises and questions on the topics of the course program. We could envisage the assignments of bonus exercises which can be completed as facultative homeworks; their submissions  will contribute  to the final grade (average of project/oral exams), with a maximum bonus of  2 points.

Teaching tools

Teaching materials (slides, code examples) are made avalaible to students through the course web-page:

http://www.cs.unibo.it/~difelice/dbsi

Links to further information

http://www.cs.unibo.it/~difelice/dbsi

Office hours

See the website of Marco Di Felice