Salta ai contenuti. | Salta alla navigazione

Strumenti personali

DATABASE MANAGEMENT SYSTEM AND LABORATORY

Academic year and teacher
If you can't find the course description that you're looking for in the above list, please see the following instructions >>
Versione italiana
Academic year
2022/2023
Teacher
GIACOMO PIVA
Credits
10
Didactic period
Secondo Semestre
SSD
INF/01

Training objectives

Give to the students a deep understanding of database systems from a point of view of both theory and practice.

The couse provides the following knowledges:

- architectures of database management systems
- Conceptual and Logic design of databases
_ introduction to physical layer: data structure, access and indexes.
- SQL language
- Three-tier client-server architecture in Web applications with databases
- HTML and PHP languages

The course provides the following skills:
- database design with relational model
- ability to implement and query relational databases using SQL
- design and realize Web interfaces to relational databases using PHP
- multi-thread and multi-process programming

Prerequisites

The exam of "Programmazione e Laboratorio" is compulsory.
Basic knowledge of Alghoritms and Data Structures are useful.

Course programme

Introduction to Databases and database's users
Basic concepts and database architecture, data modeling, schema. Two and Three-tier architecture, data indipendence. Languages and interfaces.

ER and EER models
Entities, relationships, attributes, cardinality, specializations, generalizations, categories and diagram notations.

Relational model
Constraints: on entities, on keys, referential. Keys and superkeys, Constraint's violation management.

Relational algebra
Unary and binary operations, expressions, selection, projection, union, intersection, difference, cross product, join (internal and external), equijoin, thetajoin, division.

Translation from ER (or EER) to relational model

SQL language
data types, data definition, create table, constraints on columns, drop and alter, basic query. Select-from-where structure, alias and variables. Comparison operators, ordering of results. Insert, update and dolete operations.

Complex queries in SQL
NULL value and three-value logic. Nested e nested-related queries. Exists, unique, join, aggregate function. Group by and having.


Security and user access in mysql
User, host and db tables. Insert and update user privileges. Privileges type, Grant and revoke commands.

Introduction to the HTTP protocol and three-tier architecture
GET and POST methods. Apache + MySQL + PHP.

HTML5, xhtml 1.0 strict and cascading style sheets CSS

PHP language
Connection to database via php. Query execution and results management.

Didactic methods

Lessons on course topics.
Practical lessons in laboratory with computers on SQL, PHP and mysql+php.

Learning assessment procedures

Written examination on the course topics. Solve 3-4 exercises in 2h.

Laboratory project (individually or in pairs) according to the specifications given during the course.

The mark of each exam is in the standard university interval.
Final mark is given by the weighted average of the 2 marks taken in the examinations above.

Reference texts

Elmasri, Navathe, Sistemi di Basi di Dati - Fondamenti, Pearson Education, Database System Concepts Seventh Edition, Avi Silberschatz, Henry F. Korth, S. Sudarshan - https://www.db-book.com/db7/index.html and teacher's lecture notes