70155 - Data Bases

Academic Year 2014/2015

  • 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)
    Database design
    • 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
    SQL for Web-applications
    • 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