|Unit||Credits||Academic sector||Period||Academic staff|
|Laboratorio||2||INF/01-INFORMATICS||2° Q, 3° Q||
|Teoria: basi di dati||6||INF/01-INFORMATICS||2° Q, 3° Q||
|Teoria: siti web centrati sui dati||2||INF/01-INFORMATICS||3° Q||
The course “Databases and WEB” has the aim to provide the student with the necessary concepts and methods for the design of a database and its applications. In particular, it will be focused on the methodologies for the conceptual and logical design of a database and for the successive database implementation on a database system (DBMS). Some general techniques adopted in the implementation of database systems will be presented and the fundamental characteristics of the query language SQL and the relational algebra will be illustrated.
Moreover, some techniques for the design and implementation of data-intensive web applications will be presented. In particular, a methodology for the logical design of a web application that interacts with a database system (DBMS) will be illustrated.
Finally, the Model-View-Controller (MVC-2 servlet centric) approach for the implementation of web applications will be illustrated and applied to some examples.
Module: Teoria: basi di dati
* Introduction to database managemente systems (DBMS): architectures and functionalities of a DBMS. Phisical and logical data independence. Data models. Concepts of model, schema and instance of a database. Languages for database systems. DBMS vs. file system.
* Conceptual database design: conceptual data models. The Entity-Relationship model (ER). Elements of the ER model: entities, attributes, relationships, ISA hierarchies and cardinality constraints.
* Logical database design: logical data models, the relational data model. Elements of the relational data models: relations and integrity constraints. Mapping between conceptual schemas in ER model and logical schema in the relational model. Languages for data definition: SQL as DDL. Table creation and integrity constraints definition in SQL.
* Interacting with a database system: languages for the definition, querying and update of a database. The relational algebra. SQL: select-from-where statement, join in SQL, the GROUP BY and ORDER BY clauses, using subqueries. SQL for update: INSERT, DELETE and UPDATE statements. Views.
* The internal architecture of a DBMS. Transactions. Transactions properties. The concurrency control: schedules, view and conflict equivalence, the two-phase locking. Access methods (indexes): primary and secondary indexes, B-+tree, hashing based access methods.
Module: Teoria: siti web centrati sui dati
The module is organized in 16 hours of lessons and exercises carried out during the third period. The module will focuses on the logical design of a data-intensive web application and its implementation using: Postgresql, Servlet and Java Server Pages (JSP) technologies. In particolar, the following arguments will be illustrated:
* Web Server: basic internet, basic HTML (form), basic HTTP.
* Information systems on the Web: techniques for the interaction between a DBMS and a HTTP server (CGI, Servlet, JSP); JDBC library and Java data beans; the architecture proposed by the MVC-2 approach.
* a methodology for the logical design of a data-intesive web application.
The final examination of the course "Database and Web" is organized in three tests. The first covers the module "Teoria: basi di dati" and consists of some exercises on the conceptual and logical design of a database, SQL and relational algebra queries and questions about the theory. The second test covers the module "Laboratorio" and consists of some exercises on the design of a web application based on the MVC-2 approach using the JSP, Java data beans and Servlet technologies. The third one covers the module "Teoria: siti web centrati sui dati" and consists of some exercises on the logical design of a data-intensive web application .
The final grade is obtained by the weighted average of the grades collected on the three modules of the course: the module "Teoria: basi di dati" (weight 3/5), the module "Teoria: siti web centrati sui dati" (weight 1/5) and the module "Laboratorio" (weight 1/5).
|P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone||Basi di dati. Architetture e linee di evoluzione||McGraw-Hill||2003||88-386-603|
|P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone||Basi di dati, modelli e linguaggi di interrogazione||McGraw-Hill||2002||8838660085|
|E. Baralis, A. Belussi, G. Psaila||Basi di dati - Temi d'esame svolti (Edizione 1)||Progetto Leonardo Società Editrice Esculapio Bologna||1999||B135655713|
|Duane K. Fields, Mark A. Kolb, Shawn Bayern||Web development with Java Server Pages (2nd edition) (Edizione 2)||Manning||2002||193011012x|