28652 - IT Systems T-1

Academic Year 2019/2020

  • Docente: Fabio Grandi
  • Credits: 9
  • SSD: ING-INF/05
  • Language: Italian
  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Engineering Management (cod. 0925)

Learning outcomes

Aim of the course is to provide the methodological tools which are necessary for the correct design and use of an information system and for the development of applications on a relational DBMS platform, and to provide some knowledge of the base technologies which are deployed in their implementation.

Course contents

Requirements/Prior knowledge

A prior knowledge and understanding of the basic organization and functionalities of a modern computer system is required to attend with profit this course. These notions are normally achieved by giving an exam of Foundations of Informatics.

Fluent spoken and written Italian is a necessary pre-requisite: all lectures and tutorials, and all study material will be in Italian.

 

Course Contents

1. Enterprise Information Systems and Data Base Management Systems (DBMS).

Introduction to the fundamental concepts on information systems and relational data bases. Relational theory: basic definitions, relational algebra, normal forms. The SQL language: DDL and DML. Simple and complex queries (including grouping and nesting), views. SQL for applications. 

2. Technology of Relational Systems.

The control of concurrent accesses and the management of transactions. Recovery of information after malfunctions. Advanced architectures: parallelism, replication. Distributed data bases: fragmentation, distributed transactions. Outline of physical organization (B+tree indexes, join methods, optimization).   

3. Design of Information Systems.

Analysis of enterprise organization, requirements collection. The conceptual design of data: the Entity-Relationship model and the data schemata. The flow and operation schemata: Data-Flow Diagrams and Workflows. Design methodologies. Integrated design of data and functions. relational logical  design. Design with ERP systems.

Readings/Bibliography

Recommended readings:

  • P. ATZENI, S. CERI, S. PARABOSCHI, R. TORLONE, Databases, McGraw-Hill, second edition, 1999 (free download at http://dbbook.dia.uniroma3.it/). 
  • F. GRANDI, Esercizi di Basi di Dati (in Italian), Esculapio, 2015. 
  • L. BARESI, C. FRANCALANCI, F.A. SCHREIBER, L. TANCA, Progettazione Integrata di Dati e Funzioni (in Italian), Esculapio, 2003.

Reference books:

  • R. VAN DER LANS, Introduction to SQL, Addison-Wesley, 2006.

Copy of the slides used during the lectures can be downloaded from the following link.

Teaching methods

Room lessons and exercises are given with the help of slides (through overhead projector or PC+projector).  

Students must prepare a project work (design of a relational database), by applying the methodologies learned form the lessons. 

Class attendance (which is required to take the mid-term partial test) is highly recommended.

Assessment methods

Verification of the design skills acquired is made through the oral discussion of a project work developed by the student.  

The final exam is mainly made of a written test (lasting 1h45', to be made without the aid of books or notes), containing theory questions and practical exercises (SQL queries and optimization).   

The written test is passed if it receives a 18/30 score on a total score of 33/30. Once the written test is passed, the student has to take a final talk where the written test is discussed and the project is evaluated. The oral exam has to be taken in the scheduled dates preceding the written test that will follow the passed one.

For students attending the lectures, it is possible to take the written test in two parts: a first partial test concerning the first half of the syllabus (SQL and relational theory) scheduled around the middle of the course and a second partial test to be taken during the scheduled written exams of the summer session (consisting of the second half of the complete written test).

To obtain a passing grade, students are required to at least demonstrate a knowledge of the key concepts of the subject, some ability for the solution of assigned problems (SQL language use and query optimization), autonomous design skills, and a comprehensible use of technical language. Higher grades will be awarded to students who demonstrate an organic understanding of the subject and a clear and concise presentation of the contents, a high ability for problem solving, and consistent design capabilities. A failing grade will be awarded if the student shows knowledge gaps in key-concepts of the subject, inappropriate use of language, logic failures in the analysis of the subject, inadequate operational and design skills.

Teaching tools

Downloadable informal notes (in Italian) on the course topics are available.

Links to further information

http://www-db.disi.unibo.it/~fgrandi/didattica.html

Office hours

See the website of Fabio Grandi