- Docente: Marco Di Felice
- Credits: 9
- SSD: INF/01
- Language: Italian
- Teaching Mode: In-person learning (entirely or partially)
- Campus: Bologna
- Corso: First cycle degree programme (L) in Information Science for Management (cod. 8014)
Learning outcomes
At the end of the course the student: - knows the relational data model and the basic constructors of 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 different but complementary topics in the area of database and information systems. During the first part, we introduce the main concepts of the course (e.g. data, information, data-base), the characteristics of the relational model and of the relational DBMS tools, and the main functionalities of the languages used to perform the operations (query/update) on a data-base. To this concern, we illustrate and detail the characteristics of the SQL language for the creation, update and query of a data-base. We also introduce briefly alternative approaches to the relational model (NoSQL database). The second part presents the most popular methodologies and tools used for the design of a database, starting from the analysis of requirements till the final implementation. More specifically, in this part of the course we analyze and present all the steps related to the software engineering of database systems, i.e. requirement analysis, conceptual design, logical design, performance evaluation of the models, normalization techniques. The third part provides a (brief) overview of algorithms and techniques for data-mining, focusing on supervised and unsupervised methods to deploy classification and prediction models from the information contained in a relational database. Example of applications of these techniques are provided in the context of data retrieval and analysis from the social media (e.g. Twitter). Finally, the fourth part of the course presents the characteristics and architectures of recent DMBS (focusing on open-source tools such as MySQL and PostgreeSQL), and also provides an overview of server-side scripting languages (e.g. PHP and/or .NET) to deploy Web application with data-retrieval functionalites from an SQL database. In the following, we provide a brief summary of the course content:
- Introduction Model and Languages
- The relational model
- Characteristics of relational Database Management Systems (DMBS)
- Relational algebra: main operators
- SQL Language: operators of scheme creation, queries, updates, transactions
- Alternatives to the relational model, NoSQL technologies (brief introduction)
- Conceptual design: requirements analysis, E/R model, model evaluation
- Logic design: translation of an E/R model into a relational model
- Normalization techniques: normal forms (Boyce-Codd, TFN) and decomposition algorithms
- Introduction to data-mining
- General definitions and application cases (e.g. analysis of social-media) of the data-mining techniques
- Supervised classification algorithms
- Unsupervised classification algorithms
- Architecture of DBMS: Postgres, MySQL.
- SQL and server-side scripting languages (PHP+MySQL e/o ASP.NET).
- SQL and Java: Java Database Connectivity (JDBC).
Readings/Bibliography
Reference books for the course are the following:
- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone,
"Basi di dati Modelli e linguaggi di interrogazione" 4/ed, 2009,
ISBN: 9788838668005
Moreover, the reading of these books is recommended for the
project development:
- Kevin Yank, "Sviluppare applicazioni con PHP e MySQL" 1/ed,
2012, ISBN: 9788850331826
- Paolo Giudici, "Data Mining - Metodi informatici,
statistici e applicazioni" 2ed, ISBN:
9788838672125
Teaching methods
The course foresee frontal lectures, and the utilization of a PC and a projector by the lecturer.
Assessment methods
The course foresees three assessment methods: a written exam (mandatory), a project (mandatory), and an oral exam (facultative). The written exam lasts for 3 hours, does not allow the utilization of any books, and requires a pre-registration made by the student through the ALMA-ESAMI web-site. The written exam is structured in different exercises (corresponding to the different sections of the course), and aims at testing the achievement of the didactic objectives. These latter are expressed in terms of acquired knowledge in the field of relational data-base, query languages (SQL, relational algebra), and of the database design. The result of the written exam, expressed in a range of values from 18 to 30, determines 2/3 of the final score. The project consists in the implementation of a database with a Web-interface, and aims at verifying the achievement of expertise in the field of design and implementation of database systems through the software tools, technologies and methodologies presented in class. The project determines 1/3 of the final score. Description of the projects, time scheduling and rules about the submission will be made available by the lecturer on the course web-page. The oral exam is facultative, and is based on exercises and questions on the topics of the course program.
Teaching tools
Teaching materials (slides, code) presented in class will be made
avalaible to students through the course web-page:
http://www.cs.unibo.it/~difelice/dbsi
In the same web-page, we will provide links to the software tools
used for the project development, and we will collect pointers to
general information source (e.g. forums, online journals) related
to the topics addressed by the course.
Links to further information
http://www.cs.unibo.it/~difelice/dbsi/
Office hours
See the website of Marco Di Felice