Insegnamento obbligatorio per la Laurea in Ingegneria Informatica, collocato al II pd del II anno. L'insegnamento descrive i sistemi per la gestione di basi di dati, considerando sia le metodologie di progettazione di basi di dati, sia lo sviluppo di applicazioni di interrogazione e gestione di basi di dati. L'attività di laboratorio permette di sperimentare l'uso dei prodotti commerciali e open-source più diffusi.
The course, compulsory for the Bachelor degree in Computer Engineering, is offered on the 2nd semester of the 2nd year. The course presents database management systems and introduces both database design methodologies and the development of applications for database querying and management. Laboratory sessions allow experimental activities on the most widespread commercial and open-source products.
- Conoscenza degli aspetti fondamentali di un sistema per la gestione di basi di dati
- Conoscenza della struttura e delle proprietà del modello relazionale dei dati
- Conoscenza dei linguaggi di interrogazione di una base di dati relazionale: algebra relazionale e linguaggio SQL
- Capacità di scrivere interrogazioni in algebra relazionale e in linguaggio SQL
- Conoscenza del modello concettuale Entità-Relazione per la rappresentazione dei dati e della metodologia per la progettazione concettuale e logica relazionale di una base di dati
- Capacità di progettare una base di dati relazionale
- Conoscenza dei costrutti SQL per la gestione delle viste, del controllo dell'accesso e per la gestione delle transazioni
- Conoscenza delle modalità di interazione tra SQL e linguaggi di programmazione
- Capacità di progettare e sviluppare un'applicazione che esegue l'accesso a una base di dati
- Conoscenza delle basi di dati attive e dei costrutti del linguaggio SQL per la definizione dei trigger
- Capacità di scrivere trigger nel linguaggio SQL.
- Knowledge of the main characteristics of a database management system
- Knowledge of the structure and properties of the relational model
- Knowledge of query languages for a relational database: Relational algebra and SQL language
- Ability to write queries in the relational algebra and SQL languages
- Knowledge of the conceptual Entity-Relationship model for data representation and of the methodology for conceptual and logical design of a relational database
- Ability to design a relational database
- Knowledge of the SQL statements for view management, data access control, and transaction management
- Knowledge of the interaction techniques between SQL statements and programming languages
- Ability to design and develop an application accessing a database
- Knowledge of active database systems and SQL statements for trigger definition
- Ability to write triggers in the SQL language.
Competenze di base di programmazione.
Basic programming skills.
Argomenti trattati nelle lezioni e relativo peso in crediti:
- Caratteristiche di un sistema per la gestione di basi di dati (0.2 cfu)
- Caratteristiche del modello relazionale dei dati (0.2 cfu)
- Algebra relazionale: operatori principali e definizione delle interrogazioni (0.4 cfu)
- Linguaggio SQL: istruzioni per la definizione delle basi di dati e l'elaborazione dei dati (1 cfu)
- Modello concettuale dei dati (modello Entità-Relazione) e metodologia di progettazione concettuale e logica relazionale di una base di dati (0.8 cfu)
- Linguaggio SQL: istruzioni per la gestione delle viste, del controllo dell'accesso, e per la gestione delle transazioni (0.4 cfu)
- SQL per le applicazioni: architetture client-server, integrazione delle istruzioni SQL in un linguaggio di programmazione, stored procedures, progettazione di un'applicazione client-server web-based con accesso a una base di dati (0.7 cfu)
- Basi di dati attive e costrutti del linguaggio SQL per la definizione dei trigger (1.05 cfu)
- Esercitazioni in aula inerenti gli argomenti trattati nelle lezioni, e in particolare il linguaggio SQL, l'algebra relazionale e la progettazione concettuale e logica di una base di dati, i trigger (2.2 cfu)
- Esercitazioni in laboratorio sull'utilizzo del linguaggio SQL, sulla progettazione di un'applicazione client-server con accesso a una base di dati, sui trigger (1.05 cfu)
Class topics and their weight in credits:
- Characteristics of a database management system (0.2 cr.)
- Characteristics of the relational model (0.2 cr.)
- Relational algebra (0.4 cr.): main operators and query definition
- SQL language: statements for data definition and processing (1 cr.)
- Conceptual data model (Entity-Relationship) and methodology for the conceptual and logical design of a relational database (0.8 cr.)
- SQL language: statements for view management, data access control, and transaction management (0.4 cr.)
- SQL for applications: client-server architectures, integration of SQL statements into a programming language, stored procedures, design of a client-server web-based architecture accessing a database (0.7 cr.)
- Active database systems and SQL statements for trigger definition (1.05 cr.)
L'insegnamento comprende lezioni in aula (sugli argomenti sopra descritti), ed esercitazioni inerenti gli argomenti trattati nelle lezioni, e in particolare il linguaggio SQL, l'algebra relazionale e la progettazione concettuale e logica di una base di dati, i trigger. Gli studenti svolgeranno inoltre esercitazioni individuali durante l'insegnamento, per cui dovranno predisporre una relazione individuale che contribuirà a determinare il voto finale.
L'insegnamento comprende esercitazioni in laboratorio sull'utilizzo del linguaggio SQL, sulla progettazione di un'applicazione client-server con accesso a una base di dati, sui trigger. L'attività di laboratorio permette di sperimentare l'uso dei prodotti commerciali e open-source più diffusi.
The course includes lectures in the classroom, whose topics are described earlier, and practices on the lecture topics, and in particular SQL language, relational algebra, and conceptual and logical database design, and triggers (2.2 cr.). Students will prepare an individual written report on the exercises proposed during the course. The report will contribute to the final exam grade. The course includes laboratory sessions on the SQL language, the design of a client-server architecture accessing a database, and triggers (1.05 cr.). Laboratory sessions allow experimental activities on the most widespread commercial and open-source products
Il testo di riferimento, che copre buona parte degli argomenti è: Atzeni, Ceri, Fraternali, Paraboschi, Torlone, 'Basi di dati', V edizione, McGraw Hill, 2018.
Il seguente testo è un supporto alle esercitazioni: Baralis, Belussi, Psaila, 'Basi di dati: temi d'esame svolti', Esculapio, 2000.
Sono disponibili copie dei lucidi utilizzati nelle lezioni, esempi di scritti di esame ed esercizi, e i manuali per le esercitazioni di laboratorio. Tutto il materiale didattico è scaricabile dal sito web dell'insegnamento o attraverso il Portale.
The reference book, covering the majority of the course topics, is: Atzeni, Ceri, Fraternali, Paraboschi, Torlone, 'Basi di dati', V edizione, McGraw Hill, 2018.
The following book supports practices: Baralis, Belussi, Psaila, "Basi di dati: temi d’esame svolti", Esculapio, 2000. Copies of the slides used during the lectures, examples of written exams and exercises, and manuals for the activities in the laboratory will be made available. All teaching material is downloadable from the course website or the Portal.
Slides; Libro di testo; Libro di esercitazione; Esercizi; Esercizi risolti; Esercitazioni di laboratorio; Esercitazioni di laboratorio risolte; Video lezioni dell’anno corrente; Video lezioni tratte da anni precedenti; Strumenti di auto-valutazione;
Lecture slides; Text book; Practice book; Exercises; Exercise with solutions ; Lab exercises; Lab exercises with solutions; Video lectures (current year); Video lectures (previous years); Self-assessment tools;
E' possibile sostenere l’esame in anticipo rispetto all’acquisizione della frequenza
You can take this exam before attending the course
Modalità di esame: Elaborato progettuale individuale; Prova scritta in aula tramite PC con l'utilizzo della piattaforma di ateneo;
Exam: Individual project; Computer-based written test in class using POLITO platform;
...
L'esame è costituito da una prova scritta della durata 90 minuti e dalla valutazione delle relazioni individuali sulle esercitazioni assegnate durante l'insegnamento. Le relazioni individuali sulle esercitazioni assegnate durante l'insegnamento sono facoltative.
La prova scritta sarà finalizzata a valutare
- il livello di conoscenza degli operatori dell'algebra relazionale, la capacità di formulare interrogazioni in linguaggio SQL, la conoscenza dei fondamenti di progettazione di basi di dati relazionali e le procedure per la gestione attiva di una base di dati relazionale
- l'abilità pratica di interagire con i principali sistemi per la gestione delle basi di dati presenti sul mercato, applicare il linguaggio SQL per rispondere a richieste mirate e integrare dichiarazioni SQL all'interno dei più comuni linguaggi di programmazione.
La valutazione delle relazioni sulle esercitazioni individuali consegnate sarà finalizzata a valutare l'abilità di
- progettare e sviluppare applicazioni Web che interagiscono con una base di dati relazionale,
- formulare interrogazioni in algebra relazionale e nel linguaggio SQL,
- progettare basi di dati relazionali e procedure per la gestione attiva delle basi di dati (trigger).
Lo prova scritta è costituita da domande di teoria a risposta chiusa e esercizi che prevedono una risposta aperta e/o risposta chiusa. Il valore di ogni esercizio/domanda sarà indicato prima del testo dell’esercizio/domanda. Le risposte errate alle domande a risposta chiusa possono comportare una penalizzazione. Le risposte mancanti valgono zero.
La prova scritta comprende:
- 2-4 domande a risposta chiusa relative agli argomenti trattati durante l'insegnamento (max 3 punti)
- 1-3 esercizi relativi alla scrittura di interrogazioni di accesso ai dati di una base di dati mediante algebra relazionale con risposta aperta e/o risposta chiusa (max 4 punti)
- 2-3 esercizi relativi alla scrittura di interrogazioni di accesso ai dati mediante linguaggio SQL con risposta aperta e/o risposta chiusa (max 10 punti)
- 1-2 esercizi relativi alla scrittura di trigger con risposta aperta e/o risposta chiusa (max 4 punti)
- 2-3 esercizi sulla progettazione concettuale di una base di dati relazionale con risposta aperta e/o risposta chiusa (max 7 punti).
- 1-2 esercizi sulla progettazione logica di una base di dati relazionale e la definizione dei vincoli d'integrità referenziale con risposta aperta e/o risposta chiusa (max 3 punti).
La valutazione degli esercizi si basa sulla correttezza del risultato e sull'appropriatezza delle metodologie di risoluzione applicate.
A discrezione del docente, potrà essere richiesta una prova integrativa a conferma della valutazione ottenuta. La prova integrativa verterà sugli stessi argomenti della prova scritta.
Durante la prova scritta gli studenti non possono consultare libri o appunti e non possono utilizzare dispositivi elettronici di nessun tipo.
Le relazioni individuali sulle esercitazioni assegnate durante l'insegnamento sono facoltative (max 2 punti). Il voto finale è definito in base alla valutazione della prova scritta e delle relazioni delle esercitazioni individuali assegnate durante l'insegnamento. Le relazioni delle esercitazioni individuali sono considerate solo se la valutazione della prova scritta è pari o superiore a 18.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Individual project; Computer-based written test in class using POLITO platform;
The exam includes a written part, which lasts 2 hours, an optional oral part, and the evaluation of the report on the individual practices assigned during the course.
The written part consists of
- 3 multiple-choice tests on the main course topics (theory of relation model, integrity constraints’ management, materialized views’ management, transactions’ management, security, SQL for applications (connection to databases, HTML, PHP)) (max 3 points)
- 3 exercises on writing queries to access data in a relational database (through relational algebra and SQL language) (max 13 points)
- 1 exercise on conceptual and logical database design and on the definition of referential integrity constraints (max 10 points)
- 1 exercise on trigger (max 5 points)
Students can consult textbooks or notes during the exam.
The optional oral part covers all the topics of the course.
The delivery of individual practices’ reports during the course is optional (max 2.5 points).
The final exam grade is defined by evaluating both the written part and the reports. The grade of the reports is considered only if the written part evaluation is 18 or above. Exercises are evaluated according to the correctness of the proposed solution and to the appropriateness of the adopted methodologies of resolution.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.