COURSE PRESENTATION FORM - DATABASE MANAGEMENT SYSTEMS - 2009/2010
COURSE NAME: Database Management Systems
COURSE CODE: 70098
LECTURER: Johann Gamper
TEACHING ASSISTANT: Bruno Cadonna
TEACHING LANGUAGE: English
CREDIT POINTS: 4
LECTURE HOURS: 24
EXERCISE HOURS: 12
TIMESPAN: 22.02.2010 - 12.06.2010
TIMETABLE: see
Timetable Page
OFFICE HOURS LECTURER: During the lecture time span:Tuesday, 11:00 – 12:00 Faculty of CS, Piazza Domenicani, office POS 215
OFFICE HOURS TEACHING ASSISTANT: Wednesday, 10:00 – 11:00 Faculty of CS, Piazza Domenicani, office POS 211
PREREQUISITES
Students should be familiar with basic concepts in databases (including relational databases, SQL, and relational algebra) and algorithms and have decent programming skills. This material is taught in the following courses: Introduction to Databases, Data Structures and Algorithms, Introduction to Programming.
OBJECTIVES
Based on the concepts gained in the introductory database course, students will develop a deeper understanding of database technology. Advanced concepts and techniques of database management systems are introduced. Specifically, we will focus on data storage, indexing, data querying, and transaction management.
SYLLABUS
Storage and file structure
• Indexing: basic concepts, ordered indexes, B+-tree index and file organization, hash index, bitmap index, grid index
• Query processing: general concepts, selection evaluation, sort-merge, join evaluation, materialization
• Query optimization: rule-based and cost-based optimization, materialized views and nested subqueries
• Transactions: ACID properties, serializability, isolation
• Concurrency control: lock-based protocols, timestamp-based protocols, graph-based protocol, multi-version protocol, deadlock handling
• Recovery system: log-based recovery, checkpoints, shadow paging
TEACHING FORMAT
Frontal classroom lecture plus exercises
ASSESSMENT
Written exam at the end (100%)
READING LIST
Textbook:
Silberschatz, Korth, Sudarshan: Database System Concepts, 4th edition, McGraw Hill, 2002
Further Reading:
Garcia-Molina, Ullman, Widom: Database Systems: The Complete Book, Prentice-Hall 2002
SOFTWARE USED
--
LEARNING OUTCOME
Students completing this course should:
• understand how files of records and relations are stored on disk;
• understand how different allocation methods affect the access methods;
• understand the basic concepts of database indexing and different indexing techniques, including B+-tree and hashing;
• be able to compare the index effectiveness in order to speed-up the retrieval of records in response to particular search conditions;
• understand the techniques used for processing and optimizing SQL queries, including cost estimation, evaluation plan and transformation rules;
• be able to compare the effectiveness of different query compilation strategies with respect to the execution query time;
• be able to compare different implementation of selected operations, e.g. different implementations of joins;
• understand the basic concepts of transaction management;
• understand concurrency control in environments with concurrent transaction;
• understand the various failures that may occur during transaction execution;
• know the techniques to recover from system failures.
COURSE PAGE
click here