Modules | Area | Type | Hours | Teacher(s) | |
LABORATORIO DI BASI DI DATI | INF/01 | LABORATORI | 48 |
|
Lo studente che completa il corso avrà la capacità di raccogliere i requisiti per un'applicazione basata su una base di dati. Avrà anche la capacità di progettare un database e un'applicazione basata su tale database e di implementarla come applicazione di internet, utilizzando la tecnologia commerciale.
The student who successfully completes the course will have the ability to collect requirements for a database application. He will also have the ability to design a database and an application based on such database, and to implement it as an internet application, using commercial technology.
Lo studente sarà valutato in base alla sua dimostrata capacità di discutere i principali contenuti del corso utilizzando la terminologia appropriata.
Lo studente sarà valutato sulla base della qualità degli artefatti che presenterà. I documenti di progettazione saranno giudicati sulla base della chiarezza, della completezza e dell'osservanza dei requisiti. Il codice sarà valutato sulla base dell'osservanza dei requisiti e degli standard del progetto, della robustezza e sulla base della qualità dell'interfaccia utente.
Metodi:
The student will be assessed on his/her demonstrated ability to discuss the main course contents using the appropriate terminology.
The student will be assessed on the basis of the quality of the artifacts that will be presented. The design documents will be judged on the basis of clarity, completeness, and adherence to the requirements. The code will be assessed on the basis of adherence to the requirements and to the project standards, robustness, and on the basis of the quality of its user interface.
Methods:
Identificare una serie di requisiti al fine di progettare e implementare una piccola applicazione basata su una base di dati.
Lo studente sarà in grado di presentare in una relazione scritta i risultati dell'attività progettuale svolta e di implementarla usando il PLSQL.
Identifying a set of requirements in order to design and implement a small application based on a database.
The student will be able to present in a written report the results of the design activity and implement it using PLSQL.
Le capacità saranno verificate principalmente attraverso lo sviluppo di un progetto di laboratorio. Le capacità saranno verificate principalmente in sede di esame orale
The capabilities will be verified mainly through the development of a laboratory project. Skills will be tested primarily during the oral examination.
Lo studente potrà acquisire e/o sviluppare sensibilità alle problematiche relative alle attività di raccolta e analisi di requisiti di una base di dati; quindi dovrà progettare e implementare un'applicazione funzionante che rispetta i requisiti iniziali. Inoltre, lo studente acquisirà anche la capacità di lavorare in gruppo.
The student can acquire and/or develop sensitivity to the issues related to data collection and requirements analysis of a database; then he/she have to design and implement a working application that meets the initial requirements. Moreover, the student will also acquire the ability to do group work.
Saranno valutati il grado di accuratezza e precisione delle attività svolte.
Saranno verificate le modalità di definizione delle responsabilità di gestione e organizzazione delle fasi progettuali all'interno di ciascun gruppo.
The degree of accuracy and precision of the activities will be assessed.
Methods for defining the responsibilities, management and organization of the design phases within each group will be verified.
La capacità di eseguire la progettazione concettuale di un database e di tradurla in uno schema relazionale.
La capacità di scrivere query SQL complesse.
The ability to execute the conceptual design of a database and to translate that into a relational schema.
The ability to write complex SQL queries.
Attività di apprendimento:
Frequenza: fortemente raccomandata
Metodi di insegnamento:
La lingua del corso sarà l'italiano.
Delivery: face to face
Learning activities:
Attendance: strongly advised
Teaching methods:
The course language will be Italian.
Raccolta e analisi dei requisiti per l'applicazione basata su una base di dati reale.
Progettazione concettuale e logica.
Progettazione e implementazione dell'applicazione basate su tale database.
Architettura di applicazioni di database Internet.
Programmazione del database, con riferimento specifico al linguaggio PL / SQL.
In questo corso si approfondiscono le nozioni relative ad analisi e progettazione di dati, procedure ed interfacce di applicazioni per basi di dati, ed alla loro realizzazione, introdotte nel corso di Basi di Dati. Tutte le nozioni introdotte vengono immediatamente sperimentate dagli studenti, utilizzando notazioni standard ed un sistema commerciale, quale ad esempio ORACLE DBMS ed ORACLE WebServer, sviluppando un case study che si conclude, alla fine del corso, con la realizzazione da parte degli studenti di un sistema funzionante.
Il corso inizia con la presentazione agli studenti di un problema applicativo, attraverso interviste. Fin dalle prime lezione, gli studenti, divisi in piccoli gruppi, preparano una specifica dei requisiti. Le diverse specifiche vengono valutate, ed una viene scelta come la specifica ufficiale. Agli studenti viene presentato il sistema ORACLE, il linguaggio PL/SQL, ed un'API per la costruzione di interfacce, basata su HTML. Le funzionalità definite nella specifica dei requisiti vengono distribuite tra gli studenti, divisi nuovamente in piccoli gruppi, per essere realizzate con gli strumenti visti durante il corso. Gli studenti preparano anche uno schema SQL comune sul quale si innesteranno tutti i pezzi di codice da loro prodotti. Il giorno dell'esame tutti i pezzi di codice prodotti vengono integrati in un unico sistema, e valutati separatamente per la valutazione finale degli studenti.
Requirements collection and analysis for real database application.
Conceptual and logical design.
Design and implementation of the database application.
Architecture of internet database applications.
Database programming, with specific reference to the PL/SQL language.
This course focuses on the concepts of data analysis and design, databases and interfaces for databases and their implementation, introduced in Database course. All the notions introduced are immediately tested by students using notations Standards and a commercial system, such as ORACLE DBMS and ORACLE WebServer, developing a case study that ends at the end of the course with the realization by students of a working system.
The course begins with the presentation to students of an application problem through interviews. From the first lessons, students, divided into small groups, prepare a specification of the requirements. The different specifications are evaluated, and one is chosen as the official specification. Students are presented with the ORACLE system, PL/SQL language, and a HTML-based interface building API. The features defined in the requirements specification are distributed among the students, divided again into small groups, to be realized with the tools seen during the course. Students also prepare a common SQL schema on which all the pieces of code from their products. On the day of exam, all pieces of product code are integrated into a single system, and evaluated separately for the final evaluation of the students.
A. Albano, G. Ghelli e R. Orsini, Fondamenti di basi di dati, Zanichelli, Bologna, 2005.
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati: modelli e linguaggi di interrogazione, McGraw-Hill Italia
PL/SQL reference manual.
Slide del corso.
Esercizi svolti.
A. Albano, G. Ghelli e R. Orsini, Fondamenti di basi di dati, Zanichelli, Bologna, 2005.
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati: modelli e linguaggi di interrogazione, McGraw-Hill Italia
PL/SQL reference manual.
Slide
Exercises
Per poter sostenere l’esame di Laboratorio di Basi di Dati è necessario contattare il docente al fine di ottenere il progetto da realizzare.
Il progetto prevede la progettazione di una base di dati, l'implementazione in PL-SQL della relativa applicazione web e la popolazione della base di dati con dei dati utili ad effettuare i test.
Oltre al codice in PL-SQL dovrà essere consegnata la relativa documentazione analoga a quella presentata durante il corso.
Contact the teacher to obtain the project to be carried out.
The project involves the design of a database, the implementation in PL-SQL of the related web application and the population of the database with the data useful for carrying out the tests.
In addition to the PL-SQL code, the student will have to deliver the relevant documentation similar to that presented during the course.
Valutazione di progetti (a casa e in classe) svolti in gruppo durante il corso.
In particolare:
Metodi:
Ulteriori informazioni:
Lo studente sarà valutato sulla base di alcuni manufatti - documenti di progettazione e codice di esecuzione - che saranno preparati durante il semestre in stretta collaborazione con altri studenti di un piccolo gruppo e con una forma di collaborazione più debole con tutti gli altri gruppi frequentanti lo stesso corso. Tutti questi manufatti dovranno essere pronti prima del giorno fissato per l'esame.
Evaluation of homeworks (at home and in class) carried out in groups during the course (project).
In particular:
Methods:
Further information:
The student will be evaluated on the basis of some artifacts - design documents and running code - which she/he will prepare during the semester in strict collaboration with other students of a small group, and with some weaker form of collaboration with all the other groups attending the same course. All such artifacts will have to be ready before the day that is fixed for the exam.
http://pages.di.unipi.it/rosone/LBD.html
Ogni informazione sul corso è reperibile sulla piattaforma Moodle.
Per ulteriori informazioni contattare il docente via email.
http://pages.di.unipi.it/rosone/LBD.html
Every information about the course can be found on the Moodle platform.
For further information contact the teacher by email.