DATABASE
3° Year of course - Second semester
Frequency Not mandatory
- 9 CFU
- 72 hours
- Italian
- Trieste
- Obbligatoria
- Standard teaching
- Oral Exam
- SSD ING-INF/05
Knowledge and understanding.
◦ To know what it means to persist data.
◦ To know the main methods for persisting data.
◦ To know the existing logical models and the differences between them.
◦ To know the SQL language, its syntax and its uses.
◦ To know the concepts of Prepared Statement, Stored Procedure and Trigger.
◦ To know the tools to access data.
◦ To understand how to represent a database conceptually.
Ability to apply knowledge and understanding.
◦ Design, develop and unitize a database, relational or non-SQL.
Autonomy of judgment.
◦ Decide which conceptual representation is suitable for persisting data.
◦ Judge which is the most suitable logical scheme to persist from.
Communication skills.
◦ Describe the reasons behind the design choices for a database.
◦ Understand, formulate and describe the specifications for a database.
Learning ability.
◦ Learn how to use any DMBS through the software documentation and usage examples.
◦ Learn the basics of languages and methods for querying databases.
-Computer Architectures
-Computer Programming Fundamentals
-Algorithms and Data Structures
-Computer Networks
◦ Fundamentals
◦ Database developing
◦ Conceptual model
◦ Logical modelling
◦ Relational model
◦ SQL Language
◦ SQL in programming languages
◦ Database normalization
◦ Database technologies
◦ Physical structures
◦ No-SQL
-P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone, “Basi di Dati – Modelli e Linguaggi di Interrogazione”, 3rd ed., McGraw-Hill
-J.D. Ullman, “Principles of Database and Knowledge-Base Systems”, Jackson
Other readings:
-H. Garcia-Molina, J.D. Ullman, J.D. Widom, “Database Systems: The Complete Book”, Prentice Hall
-H. Garcia-Molina, J.D. Ullman, J.D. Widom, “Database System Implementation”, Prentice Hall
◦ Fundamentals. Information systems and database management. Archives and databases: problems and solutions. Database Management Systems (DBMS). Data models. Abstraction levels and data independence. Languages and users of databases. DBMS requirements.
◦ Database Design. Information system lifecycle. Database design formalisms. Database design phases: conceptual design, logical design, physical design. Entity-Relationship model. Entity, relationship, attribute and generalization.
◦ Conceptual Design. Design of database schemas with the E/R model. Database schema requirements. Top-down, bottom-up and hybrid database design.
◦ Logical Design. Database logical design phases. Translation from the E/R model to the relational model.
◦ Relational Model. Structure of a relational database. Relation, relation with attributes, schema of a relation, schema of a database. Tuple. Relation instance and database instance. Referential integrity. Internal and external keys. Operations over relations and relation schemas. Procedural and declarative languages for data querying.
◦ SQL Language. Schema definitions. Updating schema and instances. Query and operations in SQL. View definitions. Check definitions. Data access control.
◦ SQL Embedded. SQL embedded: principles and programming models. Database programming with SQL embedded.
◦ Database Normalization. Redundancy and anomalies. Functional dependencies. Normal forms: Boyce-Codd normal form, third normal form. Normal form decomposition.
◦ Database Technology. Transactions and ACID properties.
◦ Physical Storage Structures. Data access models. Data structures for supporting efficient data access: Hash functions, indexes, B-trees.
◦ Np-SQL oriented database. BASE paradigm and document-based, graph-based and column-based technologies.
Lectures on slides prepared by the lecturer on each topic covered in the
course.
Practical exercises to be carried out independently by the students,
http://delorenzo.inginf.units.it/
Any possible changes that might become necessary to comply with safety procedures related to the COVID-19 emergency will be published on the web sites of the Department and of the course.
Project and oral test; complete project on the design and the development of a database application.
Multiple-choice test.
In any type of content produced by the student for admission to or participation in an exam (projects, reports, exercises, tests), the use of Large Language Model tools (such as ChatGPT and the like) must be explicitly declared. This requirement must be met even in the case of partial use.
Regardless of the method of assessment, the teacher reserves the right to further investigate the student's actual contribution with an oral exam for any type of content produced.
Industry, innovation and infrastructure