- Data Base Management Systems (objectives, requirements, architecture).
- The Relational data model (formal theory, first-order logic, constraints).
- Conceptual models (entity-relationship, object role modeling).
- Logical database design (normal forms & normalization, ER-To-Relational)
- Physical database design and storage (tables and keys, indexes, file structures).
- Querying databases (Relational Algebra, Relational Calculus, data structures, query optimization, SQL)
- ACID properties (Atomicity, Consistency, Isolation, Durability), Concurrency Control, Recovery techniques.
- Programming database applications (JDBC, Database Cursors, Object-Relational Mapping).
- Recent or more advanced trends in the database field (object-oriented databases, Big Data, NoSQL, NewSQL)
At the end of this learning unit, the student is able to : | |
1 | Given the learning outcomes of the "Master in Computer Science and Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
Given the learning outcomes of the "Master [120] in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
Given the learning outcomes of the "Master [60] in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
Students completing this course successfully will be able to :
|
The contribution of this Teaching Unit to the development and command of the skills and learning outcomes of the programme(s) can be accessed at the end of this sheet, in the section entitled “Programmes/courses offering this Teaching Unit”.
- Introduction to the entity-relationship model,
- Bases of the relational model: data structures and algebra,
- Logic-based relational languages to define and manipulate data,
- Critical study of the SQL language,
- Database application programming,
- Functions and architecture of database-management systems,
- Management of concurrent database accesses and associated techniques of recovery after failures.
- Understand: both the historical context, and recent challenges and developments in the database field; relational theory, why is has been invented and how it fits in practice; implementation techniques and major algorithms for data organization, query and transaction processing.
- Design: from conceptual modeling (e.g. Entity-Relationship, UML) down to physical database tuning (e.g. indexes, query plans), through logical database design (e.g. functional dependencies, normal forms, normalization algorithms) and reasoning (relational algebra, views and constraints).
- Use: installing and configuring database management systems, creating and tuning databases, using query languages in practice (e.g. SQL), connecting to databases (e.g. call interfaces, ORMs), integrating database systems in software designs.
- Theory is dispensed in the traditional way, through two-hours auditorium sessions during the second quarter. The theoretical course follows Elmasri & Navathe's textbook [EN10].
- Practice is acquired by students through projects of 2-3 weeks each.. Some missions are achieved by groups of four students.
- Both theory and pratical missions are dispensed in English.
- LSINF1225 : Basic knowledge of database management,
- LSINF1121 : good abilities in programming.
- Ramez Elmasri and Shamkant Navathe Fundamentals of Database Systems. Addison-Wesley Publishing Company, USA, 7th edition, 2010.
- Chris J. Date. An Introduction to Database Systems. Pearson Addison-Wesley, Boston, MA, 8 edition, 2004.
- Hugh Darwen, An Introduction To Relational Database Theory, 3th Edition, Bookboon, 2009
- Jean-Luc Hainaut, Bases de Données, Concepts, Utilisation et Développement, 2e Edition, Dunod, 2012
- T.M. Connolly and C.E. Begg. Database Systems: A Practical Approach to Design, Implementation, and Management. Number v. 1 in International computer science series. Addison-Wesley, 2005.