- Basi di Dati
- Introduzione
Syllabus del corso
Obiettivi
Alla fine del corso lo studente dovrebbe essere capace di modellare, progettare e realizzare una semplice applicazione base dati nel modello relazionale ed esprimere interrogazioni complesse su di essa.
Contenuti sintetici
Le basi di dati sono la tercnologia fondamentale nei moderni sistemi informativi e nel business. L'insegnamento ha lo scopo di introdurre lo studente ai concetti base delle basi di dati, ed in particolare modelli logici e concettuali di basi di dati, linguaggi di interrogazione, metodologie di progettazione logica e concettuale, qualità degli schemi, e il linguaggio SQL "embedded" nei linguaggi di programmazione.
Programma esteso
- Introduzione. Concetti generali. Concetto di informazione e dato. Introduzione a basi di dati e DBMS, modello dei dati, concetto di schema e istanza. Indipendenza logica e fisica dei dati e tipologia di linguaggi per basi di dati.
- Il modello relazionale: relazioni e tabelle, schemi ed istanze, informazione incompleta e valori nulli, chiavi, vincoli di integrità.
- Linguaggi di interrogazione. Algebra Relazionale, Select, Project, Natural Join, Prodotto Cartesiano, Theta-Join
- SQL. Definizione dei dati in SQL. Definizione di interrogazioni in SQL: interrogazioni semplici, con operatori insiemistici, nidificate e con raggruppamento. Operazioni di inserimento, modifica e cancellazione. Definizione di viste.
- Il modello Entità-Relazione (E-R) esteso con generalizzazioni. Metodologie di progettazione di basi di dati. La progettazione concettuale.
- La progettazione logica. Ristrutturazione e ottimizzazione di schemi E-R: eliminazione delle gerarchie, degli attributi composti e multivalore. Traduzione da schemi E-R a schemi relazionali
Prerequisiti
Insiemistica, elementi introduttivi di calcolo delle proposizioni, come insegnati nelle scuole superiori
Modalità didattica
L’insegnamento prevede una parte di lezioni teoriche svolte in modalità erogativa ed interattiva in presenza che si terranno in aula, una parte di esercitazioni in modalità erogativa ed interattiva in presenza che si terranno in aula e una parte di esercitazioni in modalità erogativa ed interattiva in presenza che si terranno in aula e/o laboratorio e che richiederanno l’uso del proprio PC (o quello a disposizione presso i laboratori informatici dell'Ateneo).
Materiale didattico
P.Atzeni Ceri, Paraboschi, Torlone, Basi di Dati – Modelli e linguaggi di interrogazione – terza edizione, McGraw-Hill, 2009
D. Braga, M. Brambilla, A. Campi - Eserciziario di Basi di Dati Progetto Leonardo Bologna.
L. Cabibbo, R. Torlone, C. Batini - Basi di dati, Progetti ed esercizi svolti, Pitagora Editrice Bologna.
slide e materiale on-line fornito dai docenti
Periodo di erogazione dell'insegnamento
secondo semestre
Modalità di verifica del profitto e valutazione
Scritto con domande aperte sul tutte le principali tematiche inerenti al corso: modello ER, progettazione concettuale, modello relazione, algebra relazionale, SQL, progettazione logica. Sono previsti due esoneri da sostenere in corso d'anno.
Prima prova scritta (esonero).
Modello Entita’ Relazione e progettazione concettuale
Modello relazionale
Seconda prova scritta (esonero)
Linguaggio SQL
Algebra relazionale
Progettazione logica
- Il voto minimo delle singole parti deve essere almeno 15/30. il voto finale e’ la media dei voti delle due parti (esoneri). L’esame e’ superato se la media e’ uguale o superiore a 18/30. Se il voto dell’esame e’ positivo (maggiore uguale a 18),
- al voto si somma algebricamente il punteggio ottenuto con la prova facoltativa di laboratorio (max 3 punti).
Tipicamente più dell'85% degli studenti supera l'esame attaverso gli esoneri o negli appelli di Giugno e Luglio.
Orario di ricevimento
Di seguito alle lezioni frontali e su appuntamento (R. Schettini e P. Napoletano)
Aims
At the end of the course the student should be able to model, design and implement a simple database application in the relational model and express complex queries .
Contents
To introduce basic concepts in the data base topics. Data bases are considered the "bedrock" of modern business, and are the core technology in practically every application of ICT. The skills provided by the course concern three different areas:
Models for databases, both at the conceptual level (the Entitiy Relationship model) and at the Data Base Management System logical level (Relational model).
Languages for querying and updating a data base, specifically, SQL and Query by Example.
Methodologies for data base design, both the conceptual phase and the logical phase.
Detailed program
- Introduction to data bases and Data Base Management Systems. The data base as an organizational and technological issue.
- Relational Model, Relations, Attributes, Domains, Integrity constraints, Keys, referential integrity.
- Relational Algebra, Select, Project, Natural Join, Cartesian Product, Theta-Join
- SQL, Data Description Language and Data Manipulation Language, syntax and semantics of commands.
- Entity Relationship model, Entities, Relationships, Attributes, IS-A relations, Generalizations, Cardinalities, Identifiers. Conceptual Database Design
- Logical Database Design, Transformation Phase and Translation Phase from ER model to relational model.
Prerequisites
Set theory and propositional calculus, as taught in high schools.
Teaching form
The teaching includes a part of theoretical lectures conducted in the in-person delivery and in-person interactive mode that will be held in the classroom, a part of exercises in the in-person delivery and in-person interactive mode that will be held in the classroom, and a part of exercises in the in-person delivery and in-person interactive mode that will be held in the classroom and/or laboratory and will require the use of one's own PC (or the one available at the University's computer labs).
Textbook and teaching resource
P.Atzeni Ceri, Paraboschi, Torlone, Basi di Dati – Modelli e linguaggi di interrogazione – terza edizione, McGraw-Hill, 2009
D. Braga, M. Brambilla, A. Campi - Eserciziario di Basi di Dati Progetto Leonardo Bologna.
L. Cabibbo, R. Torlone, C. Batini - Basi di dati, Progetti ed esercizi svolti, Pitagora Editrice Bologna.
slides and other materials provided by professors.
Semester
second semester
Assessment method
Written with open questions on all major topics inherent in the course: ER model, conceptual design, relation model, relational algebra, SQL, logical design. There are two exemptions to be taken during the year.
First written test (exemption).
Entity model Relation and conceptual design
Relational model
Second written test (exemption).
SQL language
Relational algebra
Logical design
- The minimum grade of the individual parts must be at least 15/30. The final grade is the average of the grades of the two parts (exemptions). The exam is passed if the average is 18/30 or higher. If the exam grade is positive (major equal to 18),
- the grade is algebraically added to the score obtained from the optional laboratory test (max 3 points).
Typically, more than 85% of the students pass the exam through the midterm tests or in the June and July tests.
Office hours
Following the class lessons and by appointment (R. Schettini and P. Napoletano)
Scheda del corso
Staff
-
Daniela D'Auria
-
Simone Melzi
-
Paolo Napoletano
-
Raimondo Schettini
-
Simone Zini