CS6492 Advanced Database Systems

Part I

Course Duration: One semester
Credit Units: 3
Level: P6
Medium of Instruction: English
Prerequisites:
CS3402 Database Systems or
CS3462 Introduction to Database System or
Any equivalent database course at undergraduate level
Precursors: Nil
Equivalent Courses: Nil
Exclusive Courses
: Nil 

Part II

Course Aims
This course has two objectives.  First, it aims to enhance students’ understanding of relational databases, especially on index structures, query algorithms and optimization.  The second objective is to introduce the fundamental techniques of various types of databases, and to discuss selected topics in database research.

Course Intended Learning Outcomes (CILOs)
Upon successful completion of this course, students should be able to:

No.

CILOs

Weighting
(if applicable)

1.

develop in-depth understanding of relational databases that allows them to optimize  database performance in practice;

 

2.

identify the objective of each type of databases, and the applications where they are most useful;

 

3.

communicate advanced concepts in database systems to other professionals;

 

4.

apply the taught methodology to design fast algorithms for solving practical database problems;

 

5.

develop basic understanding of research topics in database.

 

Teaching and Learning Activities (TLAs)
(Indicative of likely activities and tasks designed to facilitate students’ achievement of the CILOs. Final details will be provided to students in their first week of attendance in this course)

  
Teaching pattern:
  
Suggested lecture/tutorial/laboratory mix: 2 hrs. lecture; 1 hr. tutorial.

CILO No.

TLAs

Hours/week
(if applicable)

CILO 1,
CILO 2

Lecture: The instructor will explain the course material in detail. Lectures support ILOs 1 and 2.

 

CILO 1,
CILO 2,
CILO 4

Assignment: Each student is required to independently work on 2-3 assignments.  Each assignment contains several questions designed to help students consolidate the concepts/algorithms learned.  This learning method supports ILOs 1, 2 and 4.

 

CILO 3

Case Study: In tutorials, some problem cases will be given to the student.  The student will be required to give a presentation that explains her/his solution to the problem case.  The instructor will guide the discussion during the presentation.  This method supports ILO 3 and encourages communication among students and class participation.

 

CILO 3,
CILO 5

Surveying Study: The student will be required to do a guided study in database.  The instructor will help the student to select some papers in database research to read.  The student will then conduct a surveying of the selected topic.  The student will submit a report and give a presentation at the end.  The surveying study supports ILO 3 & 5.  The study gives student a basic understanding of the research problem in database.  Moreover, it gives student an opportunity to present his idea and improve his communication skill.

 

Assessment Tasks/Activities
(Indicative of likely activities and tasks designed to assess how well the students achieve the CILOs. Final details will be provided to students in their first week of attendance in this course)

  
Examination duration:  2 hours
  
Percentage of coursework, examination, etc.:  30% CW; 70% Exam

The course CILOs are assessed using the following approaches:

CILO No.

Type of Assessment Tasks/Activities

Weighting
(if applicable)

Remarks

CILO 1

Develop in-depth understanding of relational databases that allows them to optimize database performance in practice.
Coursework: The questions in assignments will test students’ understanding about the topics covered in the course. These questions may request a student to compute the cost of particular execution plans, identify the best plan, and analyze how it can be further improved.
Exam: Students may be required to design an execution plan for processing a query, such that the cost of the plan does not exceed a certain threshold.  The design may need to take into account the available indexes and data statistics.

 

 

CILO 2

Identify the objective of each type of databases, and the applications where they are most useful.
Coursework: Students may be given various practical scenarios, and required to identify the best type of databases for each scenario.  In case a scenario can be implemented with different types of databases, students may also be requested to explain the advantages/disadvantages of each implementation.

 

 

CILO 3

Communicate advanced concepts in database systems to other professionals;
Coursework: The communication skill of a student will be assessed based on the quality of her/his presentation.  The quality concerns primarily the clarity of the presentation.

 

 

CILO 4

Apply the taught methodology to design fast algorithms for solving practical database problems.        
Exam: The final exam will contain 1-2 difficult problems that require a student to perform sophisticated and creative analysis using the taught knowledge.  These problems usually concern issues in practice that cannot be solved efficiently using the existing utilities in a commercial database system.  The student is expected to work out alternative solutions with lower cost.

 

 

CILO 5

Develop basic understanding of research topics in databases
Coursework: The student’s understanding of the research topic in database will be assessed based on the quality of her/his surveying study.  The quality is measured by the technical merit of his study.

 

 

Grading of Student Achievement: Refer to Grading of Courses in the Academic Regulations
Grading pattern: Standard (A+, A, A-…F)
For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.

Part III

Keyword Syllabus:

Advanced indexes. Query algorithm and optimization. Recovery. Object-oriented database. Object-relational database. Distributed database. Parallel database. Spatial database. Selected research topic.

Syllabus

1.

Introduction (review of fundamental database knowledge)
Relational concepts: Row, column, primary key, foreign key. SQL. Disk organization.
 

2.

Advanced indexes
Dense/sparse primary/non-primary index.  Dynamic hashing. R-tree.
 

3.

Query algorithm.
External sort.  Block nested loop.  Indexed nested loop.  Sort merge join.  Hash join.
 

4.

Query optimization.
Query cost analysis.  Pipelining.  Cost-based optimization.  Histogram. Sampling.
 

5.

Object-oriented and object-relational databases.
Advanced data structures.  Inheritance.  Data definition language.  Extended SQL.
 

6.

Distributed database
Horizontal/vertical partitioning.  Commit protocol.  Distributed concurrency control.  Semi-join.
 

7.

Parallel database
Data partitioning: round robin, hash partition, range partition.  Inter-query parallelism.  Intra-query parallelism.
 

8.

Spatial database (geographic information system)
Range search.  Nearest neighbor retrieval.  Spatial join.  Closest pair search.
 

9.

Research topic
A selected topic that is currently being actively investigated worldwide.

Related Links
Department of Computer Science