Advanced Database Systems
|
||||||||||||||||
The objective of this course is to introduce students with the theory and technology needed for the implementation of advanced database systems including relational, temporal, deductive, object-oriented, active and graph databases. Additionally, different techniques of indexing, partitioning, optimization and denormalization will be covered. Students will get to know new trends and open questions in the field of database theory.
|
||||||||||||||||
Planned ECTS: 3 | ||||||||||||||||
Number of learners: 30 | ||||||||||||||||
Mode of delivery: Online | ||||||||||||||||
Status: Completed | ||||||||||||||||
Course public access: Public | ||||||||||||||||
Contributors: Igor Balaban, Michal Kvet, Markus Schatten, Srdja Bjeladinovic, Sladjan Babarogic |
||||||||||||||||
Course learning outcome | Level | Weight | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Implement a basic data streaming system using a given data streaming system | Creating | 1 | ||||||||||||||
Creating database analysis using a specific data model | Creating | 1 | ||||||||||||||
Understanding database analytics in a practical SQL manner | Understanding | 1 | ||||||||||||||
Analyze conflicts in active databases | Analysing | 1 | ||||||||||||||
Implement an active database using a given database management system | Creating | 1 | ||||||||||||||
Understand basic concepts of data streaming systems | Understanding | 1 | ||||||||||||||
Design and implement a complex database application | Creating | 10 | ||||||||||||||
Applying different optimization techniques in complex database applications | Applying | 1 | ||||||||||||||
Temporal data management | Applying | 1 | ||||||||||||||
Understanding different optimization techniques | Understanding | 1 | ||||||||||||||
Understanding indexing and partitioning techniques | Understanding | 1 | ||||||||||||||
Total weight: 20 | ||||||||||||||||
Topic / Unit name | Workload | Learning type | Mode of delivery | Groups | Collaboration | Feedback | Mandatory activity | Assessment | ||||||||
Points | Type | Providers | ||||||||||||||
Project Creating Design and implement a complex database application (100%) |
||||||||||||||||
Project initiation | ||||||||||||||||
Introduction to the projects Overview, outcomes and requirements |
45 min | Discussion | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Teams creation and topic selection Teams creation and topic selection |
30 min | Discussion | Online | Synchronous | Teacher present | Yes | Yes | No | No | No | ||||||
Total unit workload | 1.25h | |||||||||||||||
Preparation for project | ||||||||||||||||
Analysis of the selected domain Analysis of the selected domain |
240 min | Investigation | Online | Asynchronous | Teacher not present | Yes | Yes | No | No | No | ||||||
Data model creation Data model creation |
240 min | Production | Online | Asynchronous | Teacher not present | Yes | Yes | Teacher | No | No | ||||||
Features analysis of selected DBMS and tools Features analysis of selected DBMS and tools |
240 min | Investigation | Online | Asynchronous | Teacher not present | Yes | Yes | No | No | No | ||||||
Analysis of potential APIs for data sources Analysis of potential APIs for data sources |
240 min | Investigation | Online | Asynchronous | Teacher not present | Yes | Yes | No | No | No | ||||||
Total unit workload | 16h | |||||||||||||||
Project implementation (realization) | ||||||||||||||||
Data base schema creation Database schema creation |
120 min | Production | Online | Asynchronous | Teacher not present | Yes | Yes | No | No | No | ||||||
Data generation and loading Data generation and loading |
240 min | Production | Online | Asynchronous | Teacher not present | Yes | Yes | No | No | No | ||||||
Use case selection Use case selection |
240 min | Production | Online | Synchronous | Teacher present | Yes | Yes | Teacher | No | No | ||||||
Initial benchmarking Initial benchmarking |
240 min | Production | Online | Asynchronous | Teacher not present | Yes | Yes | No | No | No | ||||||
Applying optimization techniques Applying optimization techniques |
240 min | Production | Online | Asynchronous | Teacher not present | Yes | Yes | No | No | No | ||||||
Final benchmarking Initial benchmarking |
240 min | Production | Online | Asynchronous | Teacher not present | Yes | Yes | No | No | No | ||||||
Total unit workload | 22h | |||||||||||||||
Dissemination | ||||||||||||||||
Preparing output for dissemination Preparing output for dissemination |
480 min | Production | Online | Asynchronous | Teacher not present | Yes | Yes | No | No | No | ||||||
Results presentation Results presentation |
30 min | Discussion | Online | Asynchronous | Teacher not present | Yes | Yes | Teacher | No | No | ||||||
Final grade Final grade |
10 min | Assessment | Online | Synchronous | Teacher present | No | No | No | No | 40 | Summative | Teacher | ||||
Total unit workload | 8.66h | |||||||||||||||
Joint topics Understanding Understanding database analytics in a practical SQL manner (8%), Understanding Understand basic concepts of data streaming systems (8%), Understanding Understanding different optimization techniques (8%), Understanding Understanding indexing and partitioning techniques (8%), Applying Applying different optimization techniques in complex database applications (8%), Applying Temporal data management (8%), Analysing Analyze conflicts in active databases (8%), Creating Implement a basic data streaming system using a given data streaming system (8%), Creating Creating database analysis using a specific data model (8%), Creating Implement an active database using a given database management system (8%) |
||||||||||||||||
Data Streaming | ||||||||||||||||
Introduction Introductory lecture on data streaming system and applications. |
90 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Environment setup Students will install the appropriate data streaming system (for example Kafka) and setup the necessary environment. |
30 min | Practice | Online | Asynchronous | Teacher not present | Yes | Yes | No | No | No | ||||||
Examples Students will go trough prepared examples and test each example on their environment. |
30 min | Practice | Online | Asynchronous | Teacher not present | Yes | Yes | Automated | No | No | ||||||
Question & Answer Session Students will be able to ask questions about the installation, examples, exercises. |
30 min | Discussion | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Exercise Students will solve a preprared exercise that builds upon the given theory and examples. |
120 min | Assessment | Online | Asynchronous | Teacher not present | Yes | Yes | Automated | No | 5 | Formative | Automated | ||||
Total unit workload | 5h | |||||||||||||||
Database Optimization Techniques | ||||||||||||||||
Logical optimization techniques Learning about different optimization techniques and how to apply them. |
45 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Overview of PL/SQL Lite overview of PL/SQL concepts |
35 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Optimization techniques practice Optimization techniques practice |
60 min | Practice | Online | Synchronous | Teacher present | No | Yes | Teacher | No | No | ||||||
Optimization techniques discussion Optimization techniques discussion |
30 min | Discussion | Online | Synchronous | Teacher present | No | Yes | Teacher | No | No | ||||||
Mini test Mini test about covered topics in lectures |
10 min | Assessment | Online | Asynchronous | Teacher not present | No | No | No | No | 5 | Formative | Automated | ||||
Total unit workload | 3h | |||||||||||||||
Indexing and partitioning | ||||||||||||||||
Indexing Getting to know different types of indices. |
45 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Partitioning Horizontal and vertical partitioning. |
35 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Indexing and partitioning practice Indexing and partitioning practice |
60 min | Practice | Online | Synchronous | Teacher present | No | Yes | Teacher | No | No | ||||||
Indexing and partitioning discussion Discussion about indexing and partitioning |
30 min | Discussion | Online | Synchronous | Teacher present | No | Yes | Teacher | No | No | ||||||
Mini test - Copy Mini test about covered topics in lectures |
10 min | Assessment | Online | Asynchronous | Teacher not present | No | No | No | No | 5 | Formative | Automated | ||||
Total unit workload | 3h | |||||||||||||||
Temporal databases | ||||||||||||||||
Data type specification Date, Timestamp, Interval + variants across database systems |
20 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Functions related to the date management Functions and packages dealing with the Date and Time management, focusing on the SYSDATE, SYSTIMESTAMP and client perspective |
30 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Duration management + interval Modeling duration using Interval, explicit definition, transformations and relationships |
20 min | Acquisition | Online | Synchronous | Teacher present | Yes | Yes | Teacher | No | No | ||||||
Time zone reflection + cloud Cloud management, migrations with emphasis on the time zone reflection, region management |
40 min | Discussion | Online | Synchronous | Teacher present | No | No | Teacher | No | No | ||||||
Question & Answer Session Students will be able to ask questions about the Date and Time management |
10 min | Discussion | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Date and time management lab Implementation (lab) |
40 min | Practice | Online | Synchronous | Teacher present | Yes | Yes | Teacher | No | No | ||||||
NLS parameter impacts National Language Support parameters - language, formats, territorial parameters |
30 min | Assessment | Online | Synchronous | Teacher present | Yes | Yes | Teacher | No | No | ||||||
Own study and implementation |
120 min | Investigation | Online | Asynchronous | Teacher not present | No | No | No | No | No | ||||||
Mini test Mini test about covered topics in lectures |
10 min | Assessment | Online | Asynchronous | Teacher not present | No | No | No | No | 5 | Formative | Automated | ||||
Total unit workload | 5.33h | |||||||||||||||
Active Databasess | ||||||||||||||||
Introduction to active databases |
10 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Events, actions and transactions |
30 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Production rules and triggers |
30 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Conflicts in active databases |
20 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Implementing active databases in SQL |
45 min | Practice | Hybrid | Synchronous | Teacher present | Yes | Yes | No | No | No | ||||||
Exercise Students will solve a preprared exercise that builds upon the given theory and examples. |
120 min | Assessment | Online | Asynchronous | Teacher not present | Yes | Yes | Automated | No | 5 | Formative | Automated | ||||
Total unit workload | 4.25h | |||||||||||||||
Database analytics | ||||||||||||||||
Data warehouses, analytical databases Principles of data warehousing, ETL |
40 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Database analytics - analytical functions + dynamic windows Aggregate and analytical functions, principles, dynamic windows |
60 min | Acquisition | Online | Synchronous | Teacher present | No | No | No | No | No | ||||||
Practical examples of database analytics Practical examples - race results, house building, managing markets |
60 min | Practice | Online | Synchronous | Teacher present | Yes | Yes | Teacher | No | No | ||||||
Database analytics - discussions Q&A |
20 min | Discussion | Online | Synchronous | Teacher present | No | Yes | Teacher, Peer | No | No | ||||||
Processing and analysing data from the student source |
90 min | Practice | Online | Asynchronous | Teacher not present | Yes | Yes | Teacher | No | 5 | Formative | Teacher | ||||
Own study and implementation |
120 min | Investigation | Online | Asynchronous | Teacher not present | No | No | No | No | No | ||||||
Total unit workload | 6.5h | |||||||||||||||
Total course workload | 75h |