Modeling and Databases - Introduction to Databases for Business Informatics

2021/22 - #76404B

This is the Module 2 of the course Modeling and Databases (76404):
Students attending this course will study and put into practice languages, methodologies, and techniques for modeling data, business processes and decisions that are instrumental to the creation of information systems supporting contemporary organizations in their operations management. In addition, they will be able to translate a data model into a corresponding database, and learn how to make use of the basic functionalities (definition, update, and querying) of database management systems in the context of development and deployment of information systems. The course focuses specifically on relational databases, the SQL language, and software programs accessing them, but the taught methods and principles are of a more general nature, and can be applied also in those contexts where data models and database systems different from relational ones are adopted.

Office hours: Every Tuesday 10:00AM via Teams or other days/time if required (all by email appointment).


Teaching material

  • Course Slides. The slides will be made available during the course via Teams (Files folder of the Team).
  • Exercises done in class. Solutions will be made available typically on the next day on the course page in Teams.
  • Textbook. Database Management Systems (3rd edition). Raghu Ramakrishnan, Johannes Gehrke. McGraw-Hill, 2005. Available at University Library Bozen: 13-Textbook Collection (ST 271). The textbook is suggested, but not strictly necessary: all the necessary material will be covered by the slides.

News

none


Teaching Register


week topic wednesday friday
28/02 Intro, Relational model LEC 1 LEC 2 + LEC 3
07/03 SQL (from LEC 4 on) LAB 1 LEC 4 + LEC 5
14/03 SQL LAB 2 -
21/03 SQL LEC 6 LAB 3 + LAB 4
28/03 Conceptual design (except LAB 5) LEC 7 LEC 8 + LAB 5
04/04 Conceptual design LEC 9 LEC 10 + LAB 6
11/04 Practice LAB -
18/04 Conceptual design LEC 11 LAB 7
25/04 Conceptual design LEC 12 LEC 13 + LAB 8
02/05 Conceptual restructuring LEC 14 LEC 15 + LAB 9
09/05 Direct translation LEC 16 LAB 10 + LAB 11
16/05 Physical design LEC 17 LAB 12


LAB 12

Exam preparation
SQL statements for implementing logical schemas

LEC 17

Beyond the relational model
NoSQL and large-scale data

LAB 11

Physical design phase
Decomposition and merging
Exercises

LAB 10

Exercises on the direct translation of conceptual schemas into logical schemas

LEC 16

Direct translation a conceptual schema into a logical schema into logical schemas in the Relational Model
Translation of entities, relationships, entities with merging, constraints. Part 2

LAB 9

Exercises on the conceptual design pahse and on the restructuring of the conceptual diagram

LEC 15

Direct translation a conceptual schema into a logical schema into logical schemas in the Relational Model
Translation of entities, relationships, entities with merging, constraints. Part 1

LEC 14

Restructuring the ER schema.
Redundancy analysis.
Elimination of multi-valued attributes, elimination of composite attributes, elimination of ISA and of generalizations, choice of primary identifiers, specification of additional constraints

LAB 8

Exercises on conceptual design and quality control

LEC 13

Design methodology for ER diagrams
Restructuring the ER schema: volumes and redundancy analysis

LEC 12

Quality control of the conceptual schema (correctness, minimality, readability).
Design methodology for ER diagrams
Phases of logical design
Approaches for representing events and historicized entities
Equivalence-preserving transformations: composite attributes, attributes to entities, relationships to entities.

LAB 7

Exercises on conceptual design

LEC 11

Identification constraints for relationships
Derived and implicit identifiers

LAB 6

Conceptual modeling 1/2

LEC 10

ISA relation and generalization between relationships
Cardinality constraints on entities
Cardinality constraints on attributes
Identification constraints for entities

LEC 9

Generalization between entities
Inheritance
Graph of the hierarchies

LAB 5

The PL/pgSQL language
Stored procedures and triggers (in PL/pgSQL)

LEC 8

The notion of role
Exercises on conceptual modeling
Choice between modeling constructs of the ER model
ISA relation between entities

LEC 7

Life cycle of database applications
Introduction to conceptual database design
Conceptual models and the Entity-Relationship (ER) model
The notions of entity, attribute, and relation

LAB 4

Defining relations with constraints
Defining transactions to populate a database
Reaction to updates and deletes
Deferred constraints
Defining views
Transactions

LAB 3

Formulating nested queries in SQL
Formulating queries using inline views in SQL

LEC 6

Nested queries
Inline views SQL
Generic integrity constraints
Views in SQL
Access control and privileges
Transactions

LAB 2

Accessing a Postgres DBMS via PgAdmin
Formulating simple queries in SQL

LEC 5

SQL queries with explicit joins
Outer joins in SQL
SQL queries using aggregation operators and grouping
Set operators in SQL

LEC 4

Introduction to the SQL language
Data definition in SQL: creation, deletion, and modification of tables, definition of inter-relational and intra-relational constraints
Data manipulation in SQL: insertion, deletion, and update of tuples
Simple queries in SQL, which express selection, projection, renaming, and join
NULL values in SQL

LAB 1

Relational algebra

LEC 3

Relational Algebra: operators
Exercises

LEC 2

Schemata and instances
Incomplete information
Integrity constraints
Relational Algebra: operators

LEC 1

Introduction
The Relational Model
Mathematical relations
Relations in the RM

Paolo Felli, PhD
RTDB
University of Bologna
name.surname@unibo.it